From unknown Wed Jun 18 00:18:47 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#10374 <10374@debbugs.gnu.org> To: bug#10374 <10374@debbugs.gnu.org> Subject: Status: 3 test failures on fedora 16 Reply-To: bug#10374 <10374@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:18:47 +0000 retitle 10374 3 test failures on fedora 16 reassign 10374 automake submitter 10374 Jim Meyering severity 10374 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 17:10:54 2011 Received: (at submit) by debbugs.gnu.org; 26 Dec 2011 22:10:54 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfIkv-00055O-AO for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:10:54 -0500 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfIkq-00055F-3M for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:10:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RfIiF-0007H5-VL for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:08:13 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([140.186.70.17]:40008) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RfIiF-0007H1-TL for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:08:07 -0500 Received: from eggs.gnu.org ([140.186.70.92]:41901) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RfIiB-00066p-1z for bug-automake@gnu.org; Mon, 26 Dec 2011 17:08:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RfIi5-0007GK-Mo for bug-automake@gnu.org; Mon, 26 Dec 2011 17:08:03 -0500 Received: from mx.meyering.net ([88.168.87.75]:33650) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RfIi4-0007GA-QV for bug-automake@gnu.org; Mon, 26 Dec 2011 17:07:57 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 04A7C6001B for ; Mon, 26 Dec 2011 23:07:55 +0100 (CET) From: Jim Meyering To: bug-automake@gnu.org Subject: 3 test failures on fedora 16 Date: Mon, 26 Dec 2011 23:07:55 +0100 Message-ID: <87lipzasw4.fsf@rho.meyering.net> Lines: 1564 MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -4.7 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.7 (----) Hello, I was surprised to see test failures on Fedora 16. At least the color2 failure seems to be due to a difference in how expect works. + expect -f expect-make + cat stdout + spawn make -e check Here, its "expect -f expect-make" invocation produces only one line of output, while on Debian unstable it produces the expected colorized make output. The versions of expect are the same. Here's the full log. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D GNU Automake 1.11a: tests/test-suite.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 3 of 1112 tests failed. (38 tests were not run). .. contents:: :depth: 2 SKIP: get-sysconf.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/get-sysconf.dir + set -e + top_testsrcdir=3D/h/j/w/co/automake/tests/.. ++ cd .. ++ pwd + testbuilddir=3D/h/j/w/co/automake/tests ++ cd /h/j/w/co/automake/tests/.. ++ pwd + top_testbuilddir=3D/h/j/w/co/automake + st=3D0 + sed 20q /h/j/w/co/automake/tests/../ChangeLog 2011-12-24 Stefano Lattarini gitignore: use only one .gitignore file, in the top-level directory * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore, lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their contents merged into ... * .gitignore: ... this top-level file. Since we are at it, improve it by anchoring files where it makes sense. 2011-12-24 Stefano Lattarini tests: one more fixlet for gettext macros requirement * tests/gettext-macros.test (configure.in): Add calls to AC_INIT and AC_PROG_CC, to avoid a spurious failure in the later aclocal invocation. Luckily, this wart wasn't causing any spurious SKIP or FAIL, but only the redundant addition to the `-Wno-syntax' option to some aclocal invocations in the gettext tests. 2011-12-24 Stefano Lattarini + /usr/bin/perl -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=3Dlinux, osvers=3D2.6.32-220.el6.x86_64, archname=3Dx86_64-linux= -thread-multi uname=3D'linux x86-15.phx2.fedoraproject.org 2.6.32-220.el6.x86_64 #1 s= mp wed nov 9 08:03:13 est 2011 x86_64 x86_64 x86_64 gnulinux ' config_args=3D'-des -Doptimize=3D-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOUR= CE=3D2 -fexceptions -fstack-protector --param=3Dssp-buffer-size=3D4 -m64 -= mtune=3Dgeneric -Dccdlflags=3D-Wl,--enable-new-dtags -DDEBUGGING=3D-g -Dver= sion=3D5.14.2 -Dmyhostname=3Dlocalhost -Dperladmin=3Droot@localhost -Dcc=3D= gcc -Dcf_by=3DRed Hat, Inc. -Dprefix=3D/usr -Dvendorprefix=3D/usr -Dsitepre= fix=3D/usr/local -Dsitelib=3D/usr/local/share/perl5 -Dsitearch=3D/usr/local= /lib64/perl5 -Dprivlib=3D/usr/share/perl5 -Dvendorlib=3D/usr/share/perl5/ve= ndor_perl -Darchlib=3D/usr/lib64/perl5 -Dvendorarch=3D/usr/lib64/perl5/vend= or_perl -Darchname=3Dx86_64-linux-thread-multi -Dlibpth=3D/usr/local/lib64 = /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=3D/us= r/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_= shadow -Di_syslog -Dman3ext=3D3pm -Duseperlio -Dinstallusrbinperl=3Dn -Ubin= compat5005 -Uversiononly -Dpager=3D/usr/bin/less -isr -Dd_gethostent_r_prot= o -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud= _setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscript= dir=3D/usr/bin' hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine useithreads=3Ddefine, usemultiplicity=3Ddefine useperlio=3Ddefine, d_sfio=3Dundef, uselargefiles=3Ddefine, usesocks=3D= undef use64bitint=3Ddefine, use64bitall=3Ddefine, uselongdouble=3Dundef usemymalloc=3Dn, bincompat5005=3Dundef Compiler: cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing= -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_O= FFSET_BITS=3D64', optimize=3D'-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=3D2 -fexceptions -= fstack-protector --param=3Dssp-buffer-size=3D4 -m64 -mtune=3Dgeneric', cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fsta= ck-protector -I/usr/local/include' ccversion=3D'', gccversion=3D'4.6.2 20111027 (Red Hat 4.6.2-1)', gccosa= ndvers=3D'' intsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D123= 45678 d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize= =3D16 ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'of= f_t', lseeksize=3D8 alignbytes=3D8, prototype=3Ddefine Linker and Libraries: ld=3D'gcc', ldflags =3D' -fstack-protector' libpth=3D/usr/local/lib64 /lib64 /usr/lib64 libs=3D-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc= -lgdbm_compat perllibs=3D-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=3D, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibperl.so gnulibc_version=3D'2.14.90' Dynamic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D'-Wl,-= -enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE' cccdlflags=3D'-fPIC', lddlflags=3D'-shared -O2 -g -pipe -Wall -Wp,-D_FO= RTIFY_SOURCE=3D2 -fexceptions -fstack-protector --param=3Dssp-buffer-size= =3D4 -m64 -mtune=3Dgeneric' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_AT= OF USE_REENTRANT_API Built under linux Compiled at Dec 21 2011 13:00:29 @INC: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . + cat /h/j/w/co/automake/config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU Automake configure 1.11a, which was generated by GNU Autoconf 2.68.101-b8546. Invocation command line was $ ./configure --prefix=3D/p ## --------- ## ## Platform. ## ## --------- ## hostname =3D hx.meyering.net uname -m =3D x86_64 uname -r =3D 3.1.5-6.fc16.x86_64 uname -s =3D Linux uname -v =3D #1 SMP Thu Dec 15 16:14:44 UTC 2011 /usr/bin/uname -p =3D unknown /bin/uname -X =3D unknown /bin/arch =3D x86_64 /usr/bin/arch -k =3D unknown /usr/convex/getsysinfo =3D unknown /usr/bin/hostinfo =3D unknown /bin/machine =3D unknown /usr/bin/oslevel =3D unknown /bin/universe =3D unknown PATH: /opt/cov-sa-linux64-5.4.0/bin PATH: /usr/lib64/ccache PATH: /h/j/bin/perl PATH: /h/j/bin PATH: /p/p/git/bin PATH: /p/bin PATH: /sbin PATH: /usr/sbin PATH: /bin PATH: /usr/bin PATH: /usr/local PATH: /usr/local/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1749: checking build system type configure:1763: result: x86_64-unknown-linux-gnu configure:1815: checking for a BSD-compatible install configure:1883: result: /p/bin/install -c configure:1894: checking whether build environment is sane configure:1949: result: yes configure:2100: checking for a thread-safe mkdir -p configure:2139: result: /p/bin/mkdir -p configure:2152: checking for gawk configure:2168: found /bin/gawk configure:2179: result: gawk configure:2190: checking whether make sets $(MAKE) configure:2212: result: yes configure:2326: checking for perl configure:2344: found /usr/bin/perl configure:2356: result: /usr/bin/perl configure:2368: /usr/bin/perl --version This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-t= hread-multi Copyright 1987-2011, Larry Wall Perl may be copied only under the terms of either the Artistic License or t= he GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. configure:2371: $? =3D 0 configure:2381: checking whether /usr/bin/perl supports ithreads configure:2404: result: yes configure:2416: checking for tex configure:2432: found /usr/bin/tex configure:2443: result: tex configure:2454: tex --version , This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. configure:2480: $? =3D 0 configure:2488: result: yes configure:2495: checking whether autoconf works configure:2502: cd conftest && autoconf -o /dev/null conftest.ac configure:2505: $? =3D 0 configure:2514: result: yes configure:2521: checking whether autoconf is recent enough configure:2528: cd conftest && autoconf -o /dev/null conftest.ac configure:2531: $? =3D 0 configure:2540: result: yes configure:2547: checking whether ln works configure:2567: result: yes configure:2582: checking for grep that handles long lines and -e configure:2640: result: /p/bin/grep configure:2645: checking for egrep configure:2707: result: /p/bin/grep -E configure:2712: checking for fgrep configure:2774: result: /p/bin/grep -F configure:2780: checking whether /bin/sh has working 'set -e' with exit trap configure:2793: result: yes configure:2960: checking that generated files are newer than configure configure:2966: result: done configure:2974: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by GNU Automake config.status 1.11a, which was generated by GNU Autoconf 2.68.101-b8546. Invocation command line was CONFIG_FILES =3D CONFIG_HEADERS =3D CONFIG_LINKS =3D CONFIG_COMMANDS =3D $ ./config.status on hx.meyering.net config.status:796: creating Makefile config.status:796: creating doc/Makefile config.status:796: creating lib/Automake/Makefile config.status:796: creating lib/Automake/tests/Makefile config.status:796: creating lib/Makefile config.status:796: creating lib/am/Makefile config.status:796: creating m4/Makefile config.status:796: creating tests/Makefile config.status:796: creating tests/defs-static config.status:796: creating tests/aclocal-1.11a config.status:796: creating tests/automake-1.11a ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=3Dx86_64-unknown-linux-gnu ac_cv_env_build_alias_set=3D ac_cv_env_build_alias_value=3D ac_cv_env_host_alias_set=3D ac_cv_env_host_alias_value=3D ac_cv_env_target_alias_set=3D ac_cv_env_target_alias_value=3D ac_cv_path_EGREP=3D'/p/bin/grep -E' ac_cv_path_FGREP=3D'/p/bin/grep -F' ac_cv_path_GREP=3D/p/bin/grep ac_cv_path_PERL=3D/usr/bin/perl ac_cv_path_install=3D'/p/bin/install -c' ac_cv_path_mkdir=3D/p/bin/mkdir ac_cv_prog_AWK=3Dgawk ac_cv_prog_TEX=3Dtex ac_cv_prog_make_make_set=3Dyes am_cv_autoconf_installed=3Dyes am_cv_autoconf_version=3Dyes am_cv_autoconf_works=3Dyes am_cv_prog_PERL_ithreads=3Dyes am_cv_prog_ln=3Dln am_cv_sh_errexit_works=3Dyes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL=3D'perllibdir=3D"/h/j/w/co/automake/lib:./lib" "/h/j/w/co/automake/= aclocal" --acdir=3Dm4 -I m4' AMTAR=3D'${SHELL} /h/j/w/co/automake/lib/missing --run tar' AM_BACKSLASH=3D'\' AM_DEFAULT_VERBOSITY=3D'1' APIVERSION=3D'1.11a' AUTOCONF=3D'${SHELL} /h/j/w/co/automake/lib/missing --run autoconf' AUTOHEADER=3D'${SHELL} /h/j/w/co/automake/lib/missing --run autoheader' AUTOMAKE=3D'perllibdir=3D"/h/j/w/co/automake/lib:./lib" "/h/j/w/co/automake= /automake" --libdir=3Dlib' AWK=3D'gawk' CYGPATH_W=3D'echo' DEFS=3D'-DPACKAGE_NAME=3D\"GNU\ Automake\" -DPACKAGE_TARNAME=3D\"automake\"= -DPACKAGE_VERSION=3D\"1.11a\" -DPACKAGE_STRING=3D\"GNU\ Automake\ 1.11a\" = -DPACKAGE_BUGREPORT=3D\"bug-automake@gnu.org\" -DPACKAGE_URL=3D\"http://www= .gnu.org/software/automake/\" -DPACKAGE=3D\"automake\" -DVERSION=3D\"1.11a\= "' ECHO_C=3D'' ECHO_N=3D'-n' ECHO_T=3D'' EGREP=3D'/p/bin/grep -E' FGREP=3D'/p/bin/grep -F' GREP=3D'/p/bin/grep' HELP2MAN=3D'${SHELL} /h/j/w/co/automake/lib/missing --run help2man' INSTALL_DATA=3D'${INSTALL} -m 644' INSTALL_PROGRAM=3D'${INSTALL}' INSTALL_SCRIPT=3D'${INSTALL}' INSTALL_STRIP_PROGRAM=3D'$(install_sh) -c -s' LIBOBJS=3D'' LIBS=3D'' LN=3D'ln' LTLIBOBJS=3D'' MAKEINFO=3D'${SHELL} /h/j/w/co/automake/lib/missing --run makeinfo' MKDIR_P=3D'/p/bin/mkdir -p' MODIFICATION_DELAY=3D'2' PACKAGE=3D'automake' PACKAGE_BUGREPORT=3D'bug-automake@gnu.org' PACKAGE_NAME=3D'GNU Automake' PACKAGE_STRING=3D'GNU Automake 1.11a' PACKAGE_TARNAME=3D'automake' PACKAGE_URL=3D'http://www.gnu.org/software/automake/' PACKAGE_VERSION=3D'1.11a' PATH_SEPARATOR=3D':' PERL=3D'/usr/bin/perl' PERL_THREADS=3D'1' SET_MAKE=3D'' SHELL=3D'/bin/sh' STRIP=3D'' TEX=3D'tex' VERSION=3D'1.11a' am_AUTOCONF=3D'autoconf' am_AUTOHEADER=3D'autoheader' am_AUTOM4TE=3D'autom4te' am_AUTORECONF=3D'autoreconf' am_AUTOUPDATE=3D'autoupdate' am__isrc=3D'' am__leading_dot=3D'.' am__tar=3D'${AMTAR} chof - "$$tardir"' am__untar=3D'${AMTAR} xf -' bindir=3D'${exec_prefix}/bin' build=3D'x86_64-unknown-linux-gnu' build_alias=3D'' build_cpu=3D'x86_64' build_os=3D'linux-gnu' build_vendor=3D'unknown' datadir=3D'${datarootdir}' datarootdir=3D'${prefix}/share' docdir=3D'${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir=3D'${docdir}' exec_prefix=3D'${prefix}' host_alias=3D'' htmldir=3D'${docdir}' includedir=3D'${prefix}/include' infodir=3D'${datarootdir}/info' install_sh=3D'${SHELL} /h/j/w/co/automake/lib/install-sh' libdir=3D'${exec_prefix}/lib' libexecdir=3D'${exec_prefix}/libexec' localedir=3D'${datarootdir}/locale' localstatedir=3D'${prefix}/var' mandir=3D'${datarootdir}/man' mkdir_p=3D'/p/bin/mkdir -p' oldincludedir=3D'/usr/include' pdfdir=3D'${docdir}' pkgvdatadir=3D'${datadir}/automake-1.11a' prefix=3D'/p' program_transform_name=3D's,x,x,' psdir=3D'${docdir}' sbindir=3D'${exec_prefix}/sbin' sh_errexit_works=3D'yes' sharedstatedir=3D'${prefix}/com' sysconfdir=3D'${prefix}/etc' target_alias=3D'' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "GNU Automake" #define PACKAGE_TARNAME "automake" #define PACKAGE_VERSION "1.11a" #define PACKAGE_STRING "GNU Automake 1.11a" #define PACKAGE_BUGREPORT "bug-automake@gnu.org" #define PACKAGE_URL "http://www.gnu.org/software/automake/" #define PACKAGE "automake" #define VERSION "1.11a" configure: exit 0 + cat /h/j/w/co/automake/tests/aclocal-1.11a #!/bin/sh # tests/aclocal-1.11a. Generated from aclocal.in by configure. # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=3D: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'=3D'"$@"' fi perllibdir=3D"/h/j/w/co/automake/lib:/h/j/w/co/automake/lib" export perllibdir exec "/h/j/w/co/automake/aclocal" "--automake-acdir=3D/h/j/w/co/automake/m4= " \ "--system-acdir=3D/h/j/w/co/automake/m4/acdir" ${1+"$@"} + cat /h/j/w/co/automake/tests/automake-1.11a #!/bin/sh # tests/automake-1.11a. Generated from automake.in by configure. # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=3D: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'=3D'"$@"' fi perllibdir=3D"/h/j/w/co/automake/lib:/h/j/w/co/automake/lib" export perllibdir exec "/h/j/w/co/automake/automake" "--libdir=3D/h/j/w/co/automake/lib" ${1+= "$@"} + test 0 -eq 0 + Exit 77 + set +e + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'get-sysconf: exit 77' get-sysconf: exit 77 + exit 77 SKIP: amhello-cross-compile.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin amhello-cross-compile: running i586-mingw32msvc-gcc --version ./defs: line 595: i586-mingw32msvc-gcc: command not found SKIP: ar-lib5a.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ar-lib5a: running lib -out:defstest.lib ./defs: line 469: lib: command not found ar-lib5a: skipped test: Microsoft `lib' utility not available FAIL: color2.test (exit: 1) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/color2.dir + TERM=3Dansi + export TERM + red=3D'[0;31m' + grn=3D'[0;32m' + lgn=3D'[1;32m' + blu=3D'[1;34m' + std=3D'[m' + case `echo "$std" | grep .` in ++ echo '[m' ++ grep . + set +e + expect -c 'exit 77' + test 77 -eq 77 + cat + cat + MAKE=3Dmake + expect -f expect-check spawn make stdout is a tty + rm -f check Makefile + cat + cat + cat + cat + cat + cp fail xfail + cp pass xpass + chmod +x pass fail skip xpass xfail + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + cat + MAKE=3Dmake + expect -f expect-make + cat stdout spawn make -e check + test_color + cat stdout + /p/bin/grep -F '[0;32m' + grep ': pass' + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'color2: exit 1' color2: exit 1 + exit 1 SKIP: compile4.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin compile4: running cl -? ./defs: line 369: cl: command not found SKIP: compile5.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/compile5.dir + cp /h/j/w/co/automake/lib/compile . + cat + chmod +x ./cl + cat + : + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:4: installing `./config.guess' configure.in:4: installing `./config.sub' + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating check_host + ./check_host + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'compile5: exit 77' compile5: exit 77 + exit 77 SKIP: cscope.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/cscope.dir + cat + mkdir sub sub/subsub + cat + cat + echo 'int foo_func () { return 0; }' + echo 'int main () { return 0; }' + cat + : + echo 'int main () { return 0; }' + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall --add-missing Makefile.am:4: installing `./elisp-comp' + mkdir build + cd build + ../configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether we are using the GNU Fortran compiler... no checking whether accepts -g... no checking for gcj... no checking dependency style of gcj... none checking for emacs... emacs checking where .elc files should go... ${datarootdir}/emacs/site-lisp checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating sub/Makefile config.status: executing depfiles commands + make -n cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + : cscope + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + cat stderr + grep 'cannot find file' stderr + test -f cscope.files + /p/bin/grep -F foo.c cscope.files ./../foo.c + /p/bin/grep -F bar.cpp cscope.files ./../bar.cpp + /p/bin/grep -F sub/subsub/dist.c cscope.files sub/../../sub/subsub/dist.c + /p/bin/grep -F sub/subsub/gen.c cscope.files sub/subsub/gen.c + cp cscope.files cscope.files1 + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + diff cscope.files cscope.files1 + make distclean Making distclean in sub make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' test -z "bar" || rm -f bar test -z "subsub/gen.c" || rm -f subsub/gen.c rm -f *.o rm -f *.tab.c test -z "" || rm -f test . =3D "../../sub" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -rf ./.deps rm -f Makefile make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' Making distclean in . make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build' test -z "foo" || rm -f foo rm -f elc-stamp foo.elc rm -f *.o rm -f *.tab.c test -z "" || rm -f test . =3D ".." || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build' rm -f config.status config.cache config.log configure.lineno config.status.= lineno rm -rf ./.deps rm -f Makefile + test '!' -f cscope.files + test '!' -f cscope.out + test '!' -f cscope.in.out + test '!' -f cscope.po.out ++ pwd + /h/j/w/co/automake/tests/cscope.dir/build/../configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether we are using the GNU Fortran compiler... no checking whether accepts -g... no checking for gcj... no checking dependency style of gcj... none checking for emacs... emacs checking where .elc files should go... ${datarootdir}/emacs/site-lisp checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating sub/Makefile config.status: executing depfiles commands + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "/h/j/w/co/automake/tests/cscope.dir/build/../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"/h/j/w/co/automake/tests/cscope.dir/build/../s= ub" ;; \ *) sdir=3Dsub//h/j/w/co/automake/tests/cscope.dir/build/../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case "/h/j/w/co/automake/tests/cscope.dir/build/.." in \ [\\/]* | ?:[\\/]*) sdir=3D"/h/j/w/co/automake/tests/cscope.dir/build/.." = ;; \ *) sdir=3D.//h/j/w/co/automake/tests/cscope.dir/build/.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + cat stderr + grep 'cannot find file' stderr + make Making all in sub make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/../sub -g -O2 -MT dist.o -MD -M= P -MF .deps/dist.Tpo -c -o dist.o `test -f 'subsub/dist.c' || echo '/h/j/w/= co/automake/tests/cscope.dir/build/../sub/'`subsub/dist.c mv -f .deps/dist.Tpo .deps/dist.Po gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/../sub -g -O2 -MT gen.o -MD -MP= -MF .deps/gen.Tpo -c -o gen.o `test -f 'subsub/gen.c' || echo '/h/j/w/co/a= utomake/tests/cscope.dir/build/../sub/'`subsub/gen.c mv -f .deps/gen.Tpo .deps/gen.Po gcc -g -O2 -o bar dist.o gen.o make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build' gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/.. -g -O2 -MT foo.o -MD -MP -MF= .deps/foo.Tpo -c -o foo.o /h/j/w/co/automake/tests/cscope.dir/build/../foo= .c mv -f .deps/foo.Tpo .deps/foo.Po g++ -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/.. -g -O2 -MT bar.o -MD -MP -MF= .deps/bar.Tpo -c -o bar.o /h/j/w/co/automake/tests/cscope.dir/build/../bar= .cpp mv -f .deps/bar.Tpo .deps/bar.Po c -o baz.o /h/j/w/co/automake/tests/cscope.dir/build/../baz.f90 make[1]: c: Command not found make[1]: [baz.o] Error 127 (ignored) g++ -g -O2 -o foo foo.o bar.o baz.o g++: error: baz.o: No such file or directory make[1]: *** [foo] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build' make: *** [all-recursive] Error 1 + Exit 77 + set +e + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'cscope: exit 77' cscope: exit 77 + exit 77 SKIP: depcomp5.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin depcomp5: running icc -V -help ./defs: line 448: icc: command not found SKIP: depcomp10.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin depcomp10: determine if make is GNU make GNU Make 3.82 License GPLv3+: GNU GPL version 3 or later ++ set -e ++ pwd /h/j/w/co/automake/tests/depcomp10.dir + mkdir src src/sub build + cat + cat + cat + cat + cat + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:5: installing `./compile' + cd build + ../configure am_cv_CC_dependencies_compiler_type=3Dhp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depcomp10.dir/build/s= rc' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depcomp10\" -DPACKAGE_TARNAME=3D\"depcomp10\" -DPACK= AGE_VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depcomp10\ 1.0\" -DPACKAGE_BUGRE= PORT=3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depcomp10\" -DVERSION=3D\"1.= 0\" -I. -I../../src -g -O2 -c -o foo.o ../../src/foo.c cc1: error: unrecognized command line option '-M.deps/foo.TPo' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depcomp10.dir/build/sr= c' make: *** [all-recursive] Error 1 + Exit 77 + set +e + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'depcomp10: exit 77' depcomp10: exit 77 + exit 77 SKIP: fort4.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin fort4: running g77 --version ./defs: line 432: g77: command not found fort4: skipped test: GNU Fortran 77 compiler not available SKIP: fort5.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin fort5: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. fort5: running g77 --version ./defs: line 432: g77: command not found fort5: skipped test: GNU Fortran 77 compiler not available SKIP: gcj4.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin gcj4: running gcj --version ./defs: line 404: gcj: command not found SKIP: gcj6.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin gcj6: running gcj --version ./defs: line 404: gcj: command not found SKIP: instdir-java.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin instdir-java: running javac -version -help ./defs: line 456: javac: command not found instdir-java: skipped test: java compiler not found SKIP: instfail-java.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin instfail-java: running javac -version -help ./defs: line 456: javac: command not found instfail-java: skipped test: java compiler not found SKIP: java.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java: running javac -version -help ./defs: line 456: javac: command not found java: skipped test: java compiler not found SKIP: java-check.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-check: running javac -version -help ./defs: line 456: javac: command not found java-check: skipped test: java compiler not found SKIP: java-clean.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-clean: running javac -version -help ./defs: line 456: javac: command not found java-clean: skipped test: java compiler not found SKIP: java-empty-classpath.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-empty-classpath: running javac -version -help ./defs: line 456: javac: command not found java-empty-classpath: skipped test: java compiler not found SKIP: java-extra.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-extra: running javac -version -help ./defs: line 456: javac: command not found java-extra: skipped test: java compiler not found SKIP: java-noinst.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-noinst: running javac -version -help ./defs: line 456: javac: command not found java-noinst: skipped test: java compiler not found SKIP: java-nobase.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-nobase: running javac -version -help ./defs: line 456: javac: command not found java-nobase: skipped test: java compiler not found SKIP: java-compile-install.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-compile-install: running javac -version -help ./defs: line 456: javac: command not found java-compile-install: skipped test: java compiler not found SKIP: java-compile-run-flat.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-compile-run-flat: running java -version -help java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-61.1.10.4.fc16-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) java-compile-run-flat: running javac -version -help ./defs: line 456: javac: command not found java-compile-run-flat: skipped test: java compiler not found SKIP: java-compile-run-nested.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-compile-run-nested: running java -version -help java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-61.1.10.4.fc16-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) java-compile-run-nested: running javac -version -help ./defs: line 456: javac: command not found java-compile-run-nested: skipped test: java compiler not found SKIP: java-uninstall.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-uninstall: running javac -version -help ./defs: line 456: javac: command not found java-uninstall: skipped test: java compiler not found SKIP: java-rebuild.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin java-rebuild: running javac -version -help ./defs: line 456: javac: command not found java-rebuild: skipped test: java compiler not found FAIL: lex3.test (exit: 2) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin lex3: running gcc --version gcc (GCC) 4.7.0 20111202 (experimental) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. lex3: running gcc -v Using built-in specs. COLLECT_GCC=3D/p/bin/gcc COLLECT_LTO_WRAPPER=3D/p/p/gcc-2011-12-02.12h37/libexec/gcc/x86_64-unknown-= linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /h/j/w/co/gcc-svn/configure --prefix=3D/p/p/gcc-2011-12-02= .12h37 --disable-multilib --disable-libmudflap --disable-nls --enable-langu= ages=3Dc Thread model: posix gcc version 4.7.0 20111202 (experimental) (GCC) lex3: running flex --version flex 2.5.35 lex3: determine if make is GNU make GNU Make 3.82 License GPLv3+: GNU GPL version 3 or later ++ set -e ++ pwd /h/j/w/co/automake/tests/lex3.dir + CFLAGS=3D + export CFLAGS + cat + cat + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in: installing `./ylwrap' + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for flex... flex checking lex output file root... lex.yy checking lex library... none needed checking whether yytext is a pointer... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make /bin/sh ./ylwrap foo.l lex.yy.c foo.c -- flex gcc -DPACKAGE_NAME=3D\"lex3\" -DPACKAGE_TARNAME=3D\"lex3\" -DPACKAGE_VERSIO= N=3D\"1.0\" -DPACKAGE_STRING=3D\"lex3\ 1.0\" -DPACKAGE_BUGREPORT=3D\"\" -DP= ACKAGE_URL=3D\"\" -DPACKAGE=3D\"lex3\" -DVERSION=3D\"1.0\" -I. -MT foo= .o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c foo.l:24:5: error: redefinition of 'yywrap' foo.l:18:5: note: previous definition of 'yywrap' was here make: *** [foo.o] Error 1 + exit_status=3D2 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'lex3: exit 2' lex3: exit 2 + exit 2 SKIP: lzip.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin lzip: running lzip --version ./defs: line 595: lzip: command not found SKIP: python-virtualenv.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin python-virtualenv: running python -V Python 2.7.2 python-virtualenv: running virtualenv --version ./defs: line 595: virtualenv: command not found SKIP: silentf77.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin silentf77: running gfortran --version ./defs: line 420: gfortran: command not found silentf77: skipped test: GNU Fortran compiler not available SKIP: silentf90.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin silentf90: running gfortran --version ./defs: line 420: gfortran: command not found silentf90: skipped test: GNU Fortran compiler not available SKIP: silent-many-gcc.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin silent-many-gcc: running gcc --version gcc (GCC) 4.7.0 20111202 (experimental) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. silent-many-gcc: running gcc -v Using built-in specs. COLLECT_GCC=3D/p/bin/gcc COLLECT_LTO_WRAPPER=3D/p/p/gcc-2011-12-02.12h37/libexec/gcc/x86_64-unknown-= linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /h/j/w/co/gcc-svn/configure --prefix=3D/p/p/gcc-2011-12-02= .12h37 --disable-multilib --disable-libmudflap --disable-nls --enable-langu= ages=3Dc Thread model: posix gcc version 4.7.0 20111202 (experimental) (GCC) silent-many-gcc: running g++ --version g++ (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. silent-many-gcc: running g++ -v Using built-in specs. COLLECT_GCC=3D/usr/bin/g++ COLLECT_LTO_WRAPPER=3D/usr/libexec/gcc/x86_64-redhat-linux/4.6.2/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=3D/usr --mandir=3D/usr/share/man --i= nfodir=3D/usr/share/info --with-bugurl=3Dhttp://bugzilla.redhat.com/bugzill= a --enable-bootstrap --enable-shared --enable-threads=3Dposix --enable-chec= king=3Drelease --with-system-zlib --enable-__cxa_atexit --disable-libunwind= -exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-la= nguages=3Dc,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enab= le-java-awt=3Dgtk --disable-dssi --with-java-home=3D/usr/lib/jvm/java-1.5.0= -gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --= with-ecj-jar=3D/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib -= -with-ppl --with-cloog --with-tune=3Dgeneric --with-arch_32=3Di686 --build= =3Dx86_64-redhat-linux Thread model: posix gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) silent-many-gcc: running gfortran --version ./defs: line 420: gfortran: command not found silent-many-gcc: skipped test: GNU Fortran compiler not available SKIP: silent-many-generic.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin silent-many-generic: running g++ --version g++ (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. silent-many-generic: running g++ -v Using built-in specs. COLLECT_GCC=3D/usr/bin/g++ COLLECT_LTO_WRAPPER=3D/usr/libexec/gcc/x86_64-redhat-linux/4.6.2/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=3D/usr --mandir=3D/usr/share/man --i= nfodir=3D/usr/share/info --with-bugurl=3Dhttp://bugzilla.redhat.com/bugzill= a --enable-bootstrap --enable-shared --enable-threads=3Dposix --enable-chec= king=3Drelease --with-system-zlib --enable-__cxa_atexit --disable-libunwind= -exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-la= nguages=3Dc,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enab= le-java-awt=3Dgtk --disable-dssi --with-java-home=3D/usr/lib/jvm/java-1.5.0= -gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --= with-ecj-jar=3D/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib -= -with-ppl --with-cloog --with-tune=3Dgeneric --with-arch_32=3Di686 --build= =3Dx86_64-redhat-linux Thread model: posix gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) silent-many-generic: running gfortran --version ./defs: line 420: gfortran: command not found silent-many-generic: skipped test: GNU Fortran compiler not available SKIP: upc.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/upc.dir + cat + cat + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for upcc... no checking for upc... no configure: error: no Unified Parallel C compiler was found + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'upc: exit 77' upc: exit 77 + exit 77 SKIP: upc3.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin ++ set -e ++ pwd /h/j/w/co/automake/tests/upc3.dir + cat + cat + cat + cat + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for upcc... no checking for upc... no configure: error: no Unified Parallel C compiler was found + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'upc3: exit 77' upc3: exit 77 + exit 77 SKIP: vala2.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin vala2: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala2: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala2: running pkg-config --version 0.25 vala2: running valac --version ./defs: line 595: valac: command not found SKIP: vala3.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin vala3: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala3: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala3: running pkg-config --version 0.25 vala3: running valac --version ./defs: line 595: valac: command not found SKIP: vala5.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin vala5: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala5: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala5: running pkg-config --version 0.25 vala5: running valac --version ./defs: line 595: valac: command not found SKIP: vala-vpath.test (exit: 77) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin vala-vpath: running valac --version ./defs: line 595: valac: command not found FAIL: color2-p.test (exit: 1) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h= /j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr= /local:/usr/local/bin +++ set -e +++ pwd /h/j/w/co/automake/tests/color2-p.dir ++ TERM=3Dansi ++ export TERM ++ red=3D'[0;31m' ++ grn=3D'[0;32m' ++ lgn=3D'[1;32m' ++ blu=3D'[1;34m' ++ std=3D'[m' ++ case `echo "$std" | grep .` in +++ echo '[m' +++ grep . ++ set +e ++ expect -c 'exit 77' ++ test 77 -eq 77 ++ cat ++ cat ++ MAKE=3Dmake ++ expect -f expect-check spawn make stdout is a tty ++ rm -f check Makefile ++ cat ++ cat ++ cat ++ cat ++ cat ++ cp fail xfail ++ cp pass xpass ++ chmod +x pass fail skip xpass xfail ++ aclocal-1.11a -Werror ++ automake-1.11a --foreign -Werror -Wall ++ autoconf -B /no/such/dir -B /no/such/dir ++ ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile ++ cat ++ MAKE=3Dmake ++ expect -f expect-make ++ cat stdout spawn make -e check ++ test_color ++ cat stdout ++ grep ': pass' ++ /p/bin/grep -F '[0;32m' + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + case $exit_status,$keep_testdirs in + test 0 '!=3D' 0 + echo 'color2-p: exit 1' color2-p: exit 1 + exit 1 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 17:17:14 2011 Received: (at 10374) by debbugs.gnu.org; 26 Dec 2011 22:17:14 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfIr4-000600-8W for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:17:14 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfIr2-0005zt-Py for 10374@debbugs.gnu.org; Mon, 26 Dec 2011 17:17:13 -0500 Received: by eekc14 with SMTP id c14so11756343eek.3 for <10374@debbugs.gnu.org>; Mon, 26 Dec 2011 14:14:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=/ubq7s9qzYI5Cy+fv4sb8b9GAsUla/z5HK1MlA77S6o=; b=Y6h9s0fbohhFy+iUNW4Ia6UOur60m8KbzEhpCfEBt+u33qUq9KV7ToGxQzW6tyz0Rh l/ycdl/anCaRYyABAIvOKyzbWOXZt8COGKCFb2E6mvhEMTEFSsqfnTzQFAMJ3aGU8LhM QxmNvFrrsOsL5JgUUhVSBCLEaALwZbNeddgZE= Received: by 10.14.17.91 with SMTP id i67mr3287801eei.10.1324937677177; Mon, 26 Dec 2011 14:14:37 -0800 (PST) Received: from [87.2.103.80] (host80-103-dynamic.2-87-r.retail.telecomitalia.it. [87.2.103.80]) by mx.google.com with ESMTPS id z54sm97699957eeh.5.2011.12.26.14.14.35 (version=SSLv3 cipher=OTHER); Mon, 26 Dec 2011 14:14:36 -0800 (PST) Message-ID: <4EF8F1C5.4080000@gmail.com> Date: Mon, 26 Dec 2011 23:14:29 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> In-Reply-To: <87lipzasw4.fsf@rho.meyering.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) Hi Jim. On 12/26/2011 11:07 PM, Jim Meyering wrote: > Hello, > I was surprised to see test failures on Fedora 16. > > At least the color2 failure seems to be due to a difference > in how expect works. > > + expect -f expect-make > + cat stdout > + spawn make -e check > > Here, its "expect -f expect-make" invocation > produces only one line of output, while on Debian unstable it > produces the expected colorized make output. > I think this might have been fixed by commit `v1.11-1581-g1ca9efa'; since I've just merged the `testsuite-work' branch into master, the fix should be now on master as well; could you give it a try? > The versions of expect are the same. > FAIL: lex3.test (exit: 2) > ========================= > > [SNIP] > > config.status: executing depfiles commands > + make > /bin/sh ./ylwrap foo.l lex.yy.c foo.c -- flex > gcc -DPACKAGE_NAME=\"lex3\" -DPACKAGE_TARNAME=\"lex3\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"lex3\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lex3\" -DVERSION=\"1.0\" -I. -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c > foo.l:24:5: error: redefinition of 'yywrap' > foo.l:18:5: note: previous definition of 'yywrap' was here > make: *** [foo.o] Error 1 > + exit_status=2 > + set +e > + cd /h/j/w/co/automake/tests > + case $exit_status,$keep_testdirs in > + test 0 '!=' 0 > + echo 'lex3: exit 2' > lex3: exit 2 > + exit 2 > Similarly, this should be fixed by commit `v1.11-1580-g18bdec7'. Care to double-check? Thanks, and sorry for the noise, Stefano From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 26 17:30:24 2011 Received: (at 10374) by debbugs.gnu.org; 26 Dec 2011 22:30:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfJ3S-0006IT-3H for submit@debbugs.gnu.org; Mon, 26 Dec 2011 17:30:24 -0500 Received: from mx.meyering.net ([88.168.87.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfJ2o-0006HL-8x for 10374@debbugs.gnu.org; Mon, 26 Dec 2011 17:29:59 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 7A2976001B; Mon, 26 Dec 2011 23:26:46 +0100 (CET) From: Jim Meyering To: Stefano Lattarini Subject: Re: bug#10374: 3 test failures on fedora 16 In-Reply-To: <4EF8F1C5.4080000@gmail.com> (Stefano Lattarini's message of "Mon, 26 Dec 2011 23:14:29 +0100") References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> Date: Mon, 26 Dec 2011 23:26:46 +0100 Message-ID: <87aa6fas0p.fsf@rho.meyering.net> Lines: 21637 MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Stefano Lattarini wrote: > On 12/26/2011 11:07 PM, Jim Meyering wrote: >> Hello, >> I was surprised to see test failures on Fedora 16. >> >> At least the color2 failure seems to be due to a difference >> in how expect works. >> >> + expect -f expect-make >> + cat stdout >> + spawn make -e check >> >> Here, its "expect -f expect-make" invocation >> produces only one line of output, while on Debian unstable it >> produces the expected colorized make output. Hi Stefano, Thanks for the quick reply. > I think this might have been fixed by commit `v1.11-1581-g1ca9efa'; > since I've just merged the `testsuite-work' branch into master, the Great! > fix should be now on master as well; could you give it a try? Sure. They were fixed, indeed. However there are a few new failures: FAIL: depmod FAIL: depmod.tap 50 - tru64 [long VPATH] make & remake FAIL: depmod.tap 84 - tru64 [absolute VPATH] make & remake FAIL: cond29 FAIL: parallel-tests-interrupt FAIL: parallel-tests-interrupt.tap 2 - logfile contains output from test = script [SIG 1] FAIL: parallel-tests-interrupt.tap 6 - logfile contains output from test = script [SIG 2] FAIL: parallel-tests-interrupt.tap 10 - logfile contains output from test= script [SIG 13] FAIL: parallel-tests-interrupt.tap 14 - logfile contains output from test= script [SIG 15] FAIL: tap-no-spurious-w FAIL: tap-bad-prog-w FAIL: tap-bad-prog-w.tap 2 - non-existent test is reported FAIL: tap-bad-prog-w.tap 3 - non-executable test is reported FAIL: tap-bad-prog-w.tap 4 - non-readable test is reported Here's the full output: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D GNU Automake 1.11a: tests/test-suite.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D # TOTAL: 2478 # PASS: 2377 # SKIP: 61 # XFAIL: 29 # FAIL: 11 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 SKIP: get-sysconf =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/get-sysconf.dir + st=3D0 + sed 20q /h/j/w/co/automake/ChangeLog 2011-12-24 Stefano Lattarini gitignore: use only one .gitignore file, in the top-level directory * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore, lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their contents merged into ... * .gitignore: ... this top-level file. Since we are at it, improve it by anchoring files where it makes sense. 2011-12-24 Stefano Lattarini tests: one more fixlet for gettext macros requirement * tests/gettext-macros.test (configure.in): Add calls to AC_INIT and AC_PROG_CC, to avoid a spurious failure in the later aclocal invocation. Luckily, this wart wasn't causing any spurious SKIP or FAIL, but only the redundant addition to the `-Wno-syntax' option to some aclocal invocations in the gettext tests. 2011-12-24 Stefano Lattarini + /usr/bin/perl -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=3Dlinux, osvers=3D2.6.32-220.el6.x86_64, archname=3Dx86_64-linux= -thread-multi uname=3D'linux x86-15.phx2.fedoraproject.org 2.6.32-220.el6.x86_64 #1 s= mp wed nov 9 08:03:13 est 2011 x86_64 x86_64 x86_64 gnulinux ' config_args=3D'-des -Doptimize=3D-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOUR= CE=3D2 -fexceptions -fstack-protector --param=3Dssp-buffer-size=3D4 -m64 -= mtune=3Dgeneric -Dccdlflags=3D-Wl,--enable-new-dtags -DDEBUGGING=3D-g -Dver= sion=3D5.14.2 -Dmyhostname=3Dlocalhost -Dperladmin=3Droot@localhost -Dcc=3D= gcc -Dcf_by=3DRed Hat, Inc. -Dprefix=3D/usr -Dvendorprefix=3D/usr -Dsitepre= fix=3D/usr/local -Dsitelib=3D/usr/local/share/perl5 -Dsitearch=3D/usr/local= /lib64/perl5 -Dprivlib=3D/usr/share/perl5 -Dvendorlib=3D/usr/share/perl5/ve= ndor_perl -Darchlib=3D/usr/lib64/perl5 -Dvendorarch=3D/usr/lib64/perl5/vend= or_perl -Darchname=3Dx86_64-linux-thread-multi -Dlibpth=3D/usr/local/lib64 = /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=3D/us= r/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_= shadow -Di_syslog -Dman3ext=3D3pm -Duseperlio -Dinstallusrbinperl=3Dn -Ubin= compat5005 -Uversiononly -Dpager=3D/usr/bin/less -isr -Dd_gethostent_r_prot= o -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud= _setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscript= dir=3D/usr/bin' hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine useithreads=3Ddefine, usemultiplicity=3Ddefine useperlio=3Ddefine, d_sfio=3Dundef, uselargefiles=3Ddefine, usesocks=3D= undef use64bitint=3Ddefine, use64bitall=3Ddefine, uselongdouble=3Dundef usemymalloc=3Dn, bincompat5005=3Dundef Compiler: cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing= -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_O= FFSET_BITS=3D64', optimize=3D'-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=3D2 -fexceptions -= fstack-protector --param=3Dssp-buffer-size=3D4 -m64 -mtune=3Dgeneric', cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fsta= ck-protector -I/usr/local/include' ccversion=3D'', gccversion=3D'4.6.2 20111027 (Red Hat 4.6.2-1)', gccosa= ndvers=3D'' intsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D123= 45678 d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize= =3D16 ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'of= f_t', lseeksize=3D8 alignbytes=3D8, prototype=3Ddefine Linker and Libraries: ld=3D'gcc', ldflags =3D' -fstack-protector' libpth=3D/usr/local/lib64 /lib64 /usr/lib64 libs=3D-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc= -lgdbm_compat perllibs=3D-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=3D, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibperl.so gnulibc_version=3D'2.14.90' Dynamic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D'-Wl,-= -enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE' cccdlflags=3D'-fPIC', lddlflags=3D'-shared -O2 -g -pipe -Wall -Wp,-D_FO= RTIFY_SOURCE=3D2 -fexceptions -fstack-protector --param=3Dssp-buffer-size= =3D4 -m64 -mtune=3Dgeneric' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_AT= OF USE_REENTRANT_API Built under linux Compiled at Dec 21 2011 13:00:29 @INC: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . + cat /h/j/w/co/automake/config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU Automake configure 1.11a, which was generated by GNU Autoconf 2.68.101-b8546. Invocation command line was $ ./configure --prefix=3D/p --no-create --no-recursion ## --------- ## ## Platform. ## ## --------- ## hostname =3D hx.meyering.net uname -m =3D x86_64 uname -r =3D 3.1.5-6.fc16.x86_64 uname -s =3D Linux uname -v =3D #1 SMP Thu Dec 15 16:14:44 UTC 2011 /usr/bin/uname -p =3D unknown /bin/uname -X =3D unknown /bin/arch =3D x86_64 /usr/bin/arch -k =3D unknown /usr/convex/getsysinfo =3D unknown /usr/bin/hostinfo =3D unknown /bin/machine =3D unknown /usr/bin/oslevel =3D unknown /bin/universe =3D unknown PATH: /opt/cov-sa-linux64-5.4.0/bin PATH: /usr/lib64/ccache PATH: /h/j/bin/perl PATH: /h/j/bin PATH: /p/p/git/bin PATH: /p/bin PATH: /sbin PATH: /usr/sbin PATH: /bin PATH: /usr/bin PATH: /usr/local PATH: /usr/local/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1758: checking build system type configure:1772: result: x86_64-unknown-linux-gnu configure:1792: checking host system type configure:1805: result: x86_64-unknown-linux-gnu configure:1858: checking for a BSD-compatible install configure:1926: result: /p/bin/install -c configure:1937: checking whether build environment is sane configure:1992: result: yes configure:2143: checking for a thread-safe mkdir -p configure:2182: result: /p/bin/mkdir -p configure:2195: checking for gawk configure:2211: found /bin/gawk configure:2222: result: gawk configure:2233: checking whether make sets $(MAKE) configure:2255: result: yes configure:2376: checking for perl configure:2394: found /usr/bin/perl configure:2406: result: /usr/bin/perl configure:2418: /usr/bin/perl --version This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-t= hread-multi Copyright 1987-2011, Larry Wall Perl may be copied only under the terms of either the Artistic License or t= he GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. configure:2421: $? =3D 0 configure:2431: checking whether /usr/bin/perl supports ithreads configure:2454: result: yes configure:2466: checking for tex configure:2482: found /usr/bin/tex configure:2493: result: tex configure:2504: tex --version , This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. configure:2530: $? =3D 0 configure:2538: result: yes configure:2545: checking whether autoconf works configure:2552: cd conftest && autoconf -o /dev/null conftest.ac configure:2555: $? =3D 0 configure:2564: result: yes configure:2571: checking whether autoconf is recent enough configure:2578: cd conftest && autoconf -o /dev/null conftest.ac configure:2581: $? =3D 0 configure:2590: result: yes configure:2597: checking whether ln works configure:2617: result: yes configure:2632: checking for grep that handles long lines and -e configure:2690: result: /p/bin/grep configure:2695: checking for egrep configure:2757: result: /p/bin/grep -E configure:2762: checking for fgrep configure:2824: result: /p/bin/grep -F configure:2830: checking whether /bin/sh has working 'set -e' with exit trap configure:2843: result: yes configure:3010: checking that generated files are newer than configure configure:3016: result: done configure:3024: creating ./config.status ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=3Dx86_64-unknown-linux-gnu ac_cv_env_build_alias_set=3D ac_cv_env_build_alias_value=3D ac_cv_env_host_alias_set=3D ac_cv_env_host_alias_value=3D ac_cv_env_target_alias_set=3D ac_cv_env_target_alias_value=3D ac_cv_host=3Dx86_64-unknown-linux-gnu ac_cv_path_EGREP=3D'/p/bin/grep -E' ac_cv_path_FGREP=3D'/p/bin/grep -F' ac_cv_path_GREP=3D/p/bin/grep ac_cv_path_PERL=3D/usr/bin/perl ac_cv_path_install=3D'/p/bin/install -c' ac_cv_path_mkdir=3D/p/bin/mkdir ac_cv_prog_AWK=3Dgawk ac_cv_prog_TEX=3Dtex ac_cv_prog_make_make_set=3Dyes am_cv_autoconf_installed=3Dyes am_cv_autoconf_version=3Dyes am_cv_autoconf_works=3Dyes am_cv_prog_PERL_ithreads=3Dyes am_cv_prog_ln=3Dln am_cv_sh_errexit_works=3Dyes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL=3D'perllibdir=3D"/h/j/w/co/automake/lib:./lib" "/h/j/w/co/automake/= aclocal" --acdir=3Dm4 -I m4' AMTAR=3D'${SHELL} /h/j/w/co/automake/lib/missing --run tar' AM_BACKSLASH=3D'\' AM_DEFAULT_VERBOSITY=3D'1' APIVERSION=3D'1.11a' AUTOCONF=3D'${SHELL} /h/j/w/co/automake/lib/missing --run autoconf' AUTOHEADER=3D'${SHELL} /h/j/w/co/automake/lib/missing --run autoheader' AUTOMAKE=3D'perllibdir=3D"/h/j/w/co/automake/lib:./lib" "/h/j/w/co/automake= /automake" --libdir=3Dlib' AWK=3D'gawk' CYGPATH_W=3D'echo' DEFS=3D'-DPACKAGE_NAME=3D\"GNU\ Automake\" -DPACKAGE_TARNAME=3D\"automake\"= -DPACKAGE_VERSION=3D\"1.11a\" -DPACKAGE_STRING=3D\"GNU\ Automake\ 1.11a\" = -DPACKAGE_BUGREPORT=3D\"bug-automake@gnu.org\" -DPACKAGE_URL=3D\"http://www= .gnu.org/software/automake/\" -DPACKAGE=3D\"automake\" -DVERSION=3D\"1.11a\= "' ECHO_C=3D'' ECHO_N=3D'-n' ECHO_T=3D'' EGREP=3D'/p/bin/grep -E' FGREP=3D'/p/bin/grep -F' GREP=3D'/p/bin/grep' HELP2MAN=3D'${SHELL} /h/j/w/co/automake/lib/missing --run help2man' INSTALL_DATA=3D'${INSTALL} -m 644' INSTALL_PROGRAM=3D'${INSTALL}' INSTALL_SCRIPT=3D'${INSTALL}' INSTALL_STRIP_PROGRAM=3D'$(install_sh) -c -s' LIBOBJS=3D'' LIBS=3D'' LN=3D'ln' LTLIBOBJS=3D'' MAKEINFO=3D'${SHELL} /h/j/w/co/automake/lib/missing --run makeinfo' MKDIR_P=3D'/p/bin/mkdir -p' MODIFICATION_DELAY=3D'2' PACKAGE=3D'automake' PACKAGE_BUGREPORT=3D'bug-automake@gnu.org' PACKAGE_NAME=3D'GNU Automake' PACKAGE_STRING=3D'GNU Automake 1.11a' PACKAGE_TARNAME=3D'automake' PACKAGE_URL=3D'http://www.gnu.org/software/automake/' PACKAGE_VERSION=3D'1.11a' PATH_SEPARATOR=3D':' PERL=3D'/usr/bin/perl' PERL_THREADS=3D'1' SET_MAKE=3D'' SHELL=3D'/bin/sh' STRIP=3D'' TEX=3D'tex' VERSION=3D'1.11a' am_AUTOCONF=3D'autoconf' am_AUTOHEADER=3D'autoheader' am_AUTOM4TE=3D'autom4te' am_AUTORECONF=3D'autoreconf' am_AUTOUPDATE=3D'autoupdate' am__isrc=3D'' am__leading_dot=3D'.' am__tar=3D'${AMTAR} chof - "$$tardir"' am__untar=3D'${AMTAR} xf -' amdir=3D'${pkgvdatadir}/am' automake_acdir=3D'${datadir}/aclocal-1.11a' bindir=3D'${exec_prefix}/bin' build=3D'x86_64-unknown-linux-gnu' build_alias=3D'' build_cpu=3D'x86_64' build_os=3D'linux-gnu' build_vendor=3D'unknown' datadir=3D'${datarootdir}' datarootdir=3D'${prefix}/share' docdir=3D'${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir=3D'${docdir}' exec_prefix=3D'${prefix}' host=3D'x86_64-unknown-linux-gnu' host_alias=3D'' host_cpu=3D'x86_64' host_os=3D'linux-gnu' host_vendor=3D'unknown' htmldir=3D'${docdir}' includedir=3D'${prefix}/include' infodir=3D'${datarootdir}/info' install_sh=3D'${SHELL} /h/j/w/co/automake/lib/install-sh' libdir=3D'${exec_prefix}/lib' libexecdir=3D'${exec_prefix}/libexec' localedir=3D'${datarootdir}/locale' localstatedir=3D'${prefix}/var' mandir=3D'${datarootdir}/man' mkdir_p=3D'/p/bin/mkdir -p' oldincludedir=3D'/usr/include' pdfdir=3D'${docdir}' pkgvdatadir=3D'${datadir}/automake-1.11a' prefix=3D'/p' program_transform_name=3D's,x,x,' psdir=3D'${docdir}' sbindir=3D'${exec_prefix}/sbin' scriptdir=3D'${pkgvdatadir}' sh_errexit_works=3D'yes' sharedstatedir=3D'${prefix}/com' sysconfdir=3D'${prefix}/etc' system_acdir=3D'${datadir}/aclocal' target_alias=3D'' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "GNU Automake" #define PACKAGE_TARNAME "automake" #define PACKAGE_VERSION "1.11a" #define PACKAGE_STRING "GNU Automake 1.11a" #define PACKAGE_BUGREPORT "bug-automake@gnu.org" #define PACKAGE_URL "http://www.gnu.org/software/automake/" #define PACKAGE "automake" #define VERSION "1.11a" configure: exit 0 ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by GNU Automake config.status 1.11a, which was generated by GNU Autoconf 2.68.101-b8546. Invocation command line was CONFIG_FILES =3D CONFIG_HEADERS =3D CONFIG_LINKS =3D CONFIG_COMMANDS =3D $ ./config.status on hx.meyering.net config.status:803: creating Makefile config.status:803: creating doc/Makefile config.status:803: creating lib/Automake/Makefile config.status:803: creating lib/Automake/tests/Makefile config.status:803: creating lib/Makefile config.status:803: creating lib/am/Makefile config.status:803: creating m4/Makefile config.status:803: creating tests/Makefile config.status:803: creating tests/aclocal-1.11a config.status:803: creating tests/automake-1.11a + cat /h/j/w/co/automake/tests/aclocal-1.11a #!/bin/sh # tests/aclocal-1.11a. Generated from aclocal.in by configure. # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=3D: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'=3D'"$@"' fi perllibdir=3D"/h/j/w/co/automake/lib:/h/j/w/co/automake/lib" export perllibdir exec "/h/j/w/co/automake/aclocal" "--automake-acdir=3D/h/j/w/co/automake/m4= " \ "--system-acdir=3D/h/j/w/co/automake/m4/acdir" ${1+"$@"} + cat /h/j/w/co/automake/tests/automake-1.11a #!/bin/sh # tests/automake-1.11a. Generated from automake.in by configure. # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=3D: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'=3D'"$@"' fi perllibdir=3D"/h/j/w/co/automake/lib:/h/j/w/co/automake/lib" export perllibdir exec "/h/j/w/co/automake/automake" "--libdir=3D/h/j/w/co/automake/lib" ${1+= "$@"} + test 0 -eq 0 + Exit 77 + set +e + test 77 =3D 77 + am__test_skipped=3Dyes + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x get-sysconf: exit 77 FAIL: depmod =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/depmod.dir ++ grep -v '^none$' ++ sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' + all_depmodes=3D'gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosideeffect dashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys' + : Turn newlines and tabs into spaces, and strip extra whitespace. ++ echo gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosideeffect dash= mstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys + all_depmodes=3D'gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosidee= ffect dashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys' + test -n 'gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosideeffect d= ashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys' + test 0 -gt 0 + tested_depmodes=3D'gcc3 gcc hp sgi aix icc hp2 tru64 msvc7 msvc7msys nosi= deeffect dashmstdout dashXmstdout makedepend cpp msvisualcpp msvcmsys' + plan_ 102 + test 1 -eq 0 + test 1 -ge 2 + test x102 =3D xunknown + test x102 =3D xlater + test x102 =3D xlazy + test x102 =3D xnow + test 102 -ge 0 + echo 1..102 1..102 + have_tap_plan_=3Dyes ++ pwd + ocwd=3D/h/j/w/co/automake/tests/depmod.dir + srctree=3Ddepmod-1.0 + mkdir depmod-1.0 + mv missing install-sh depcomp configure.in depmod-1.0 + cd depmod-1.0 + mkdir src src/sub + cat + echo 'SUBDIRS =3D src' + cat + echo 'extern int subfoo (void);' + cat + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:6: installing `./compile' + grep am_cv_CC_dependencies_compiler_type configure if ${am_cv_CC_dependencies_compiler_type+:} false; then : am_cv_CC_dependencies_compiler_type=3Dnone am_cv_CC_dependencies_compiler_type=3D$depmode am_cv_CC_dependencies_compiler_type=3Dnone { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_com= piler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=3Ddepmode=3D$am_cv_CC_dependencies_compiler_type && test "$am_cv_CC_dependencies_compiler_type" =3D gcc3; then + cd /h/j/w/co/automake/tests/depmod.dir + longpath=3Dthis-is/a-path/which-have/quite-a/long_long_name + depmod-1.0/install-sh -d this-is/a-path/which-have/quite-a/long_long_name + cp -pR depmod-1.0/Makefile.am depmod-1.0/Makefile.in depmod-1.0/aclocal.m= 4 depmod-1.0/autom4te.cache depmod-1.0/compile depmod-1.0/configure depmod-= 1.0/configure.in depmod-1.0/depcomp depmod-1.0/install-sh depmod-1.0/missin= g depmod-1.0/src this-is/a-path/which-have/quite-a/long_long_name + cp -pR depmod-1.0/Makefile.am depmod-1.0/Makefile.in depmod-1.0/aclocal.m= 4 depmod-1.0/autom4te.cache depmod-1.0/compile depmod-1.0/configure depmod-= 1.0/configure.in depmod-1.0/depcomp depmod-1.0/install-sh depmod-1.0/missin= g depmod-1.0/src . + for vpath in simple long absolute + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'gcc3 [simple VPATH]' + mkdir gcc3-simple.d + cd gcc3-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dgcc3 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc3 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc3 [simple VPATH] configure' + set +x ok 1 - gcc3 [simple VPATH] configure PASS: depmod.tap 1 - gcc3 [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -MT foo.o -MD -MP -MF $depbase.Tpo -c -o foo.o ../../src= /foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -MT sub/subfoo.o -MD -MP -MF $depbase.Tpo -c -o sub/subf= oo.o ../../src/sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -MT foo.o -MD -MP -MF $depbase.Tpo -c -o foo.o ../../src= /foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -MT sub/subfoo.o -MD -MP -MF $depbase.Tpo -c -o sub/subf= oo.o ../../src/sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simpl= e.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-simple= .d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc3 [simple VPATH] make & remake' + set +x ok 2 - gcc3 [simple VPATH] make & remake PASS: depmod.tap 2 - gcc3 [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc3-simple.d + test 1 -gt 0 + find gcc3-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc3-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'gcc [simple VPATH]' + mkdir gcc-simple.d + cd gcc-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dgcc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc [simple VPATH] configure' + set +x ok 3 - gcc [simple VPATH] configure PASS: depmod.tap 3 - gcc [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-simple.= d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc [simple VPATH] make & remake' + set +x ok 4 - gcc [simple VPATH] make & remake PASS: depmod.tap 4 - gcc [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc-simple.d + test 1 -gt 0 + find gcc-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'hp [simple VPATH]' + mkdir hp-simple.d + cd hp-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dhp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp [simple VPATH] configure' + set +x ok 5 - hp [simple VPATH] configure PASS: depmod.tap 5 - hp [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp-simple.= d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c cc1: error: unrecognized command line option '-M.deps/foo.TPo' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp-simple.d= /src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp [simple VPATH] make & = remake' + set +x ok 6 - hp [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 6 - hp [simple VPATH] make & remake # SKIP can't force dep= mode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'sgi [simple VPATH]' + mkdir sgi-simple.d + cd sgi-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dsgi checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) sgi checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'sgi [simple VPATH] configure' + set +x ok 7 - sgi [simple VPATH] configure PASS: depmod.tap 7 - sgi [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/sgi-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dsgi /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c gcc: error: unrecognized command line option '-MDupdate' gcc: error: .deps/foo.TPo: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/sgi-simple.= d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'sgi [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'sgi [simple VPATH] make &= remake' + set +x ok 8 - sgi [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 8 - sgi [simple VPATH] make & remake # SKIP can't force de= pmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'aix [simple VPATH]' + mkdir aix-simple.d + cd aix-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Daix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) aix checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'aix [simple VPATH] configure' + set +x ok 9 - aix [simple VPATH] configure PASS: depmod.tap 9 - aix [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/aix-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o /usr/bin/ld:foo.o: file format not recognized; treating as linker script /usr/bin/ld:foo.o:1: syntax error collect2: error: ld returned 1 exit status make[1]: *** [foo] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/aix-simple.= d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'aix [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'aix [simple VPATH] make &= remake' + set +x ok 10 - aix [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 10 - aix [simple VPATH] make & remake # SKIP can't force d= epmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'icc [simple VPATH]' + mkdir icc-simple.d + cd icc-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dicc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) icc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'icc [simple VPATH] configure' + set +x ok 11 - icc [simple VPATH] configure PASS: depmod.tap 11 - icc [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-simple.= d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'icc [simple VPATH] make & remake' + set +x ok 12 - icc [simple VPATH] make & remake PASS: depmod.tap 12 - icc [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ icc-simple.d + test 1 -gt 0 + find icc-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf icc-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'hp2 [simple VPATH]' + mkdir hp2-simple.d + cd hp2-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dhp2 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp2 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp2 [simple VPATH] configure' + set +x ok 13 - hp2 [simple VPATH] configure PASS: depmod.tap 13 - hp2 [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp2-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp2 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c gcc: error: +Maked: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp2-simple.= d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp2 [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp2 [simple VPATH] make &= remake' + set +x ok 14 - hp2 [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 14 - hp2 [simple VPATH] make & remake # SKIP can't force d= epmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'tru64 [simple VPATH]' + mkdir tru64-simple.d + cd tru64-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dtru64 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) tru64 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'tru64 [simple VPATH] configure' + set +x ok 15 - tru64 [simple VPATH] configure PASS: depmod.tap 15 - tru64 [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simp= le.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-simpl= e.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'tru64 [simple VPATH] make & remake' + set +x ok 16 - tru64 [simple VPATH] make & remake PASS: depmod.tap 16 - tru64 [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ tru64-simple.d + test 1 -gt 0 + find tru64-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf tru64-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'msvc7 [simple VPATH]' + mkdir msvc7-simple.d + cd msvc7-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dmsvc7 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7 [simple VPATH] configure' + set +x ok 17 - msvc7 [simple VPATH] configure PASS: depmod.tap 17 - msvc7 [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-simp= le.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7 /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-simpl= e.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7 [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7 [simple VPATH] make= & remake' + set +x ok 18 - msvc7 [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 18 - msvc7 [simple VPATH] make & remake # SKIP can't force= depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'msvc7msys [simple VPATH]' + mkdir msvc7msys-simple.d + cd msvc7msys-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dmsvc7msys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7msys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7msys [simple VPATH] configure' + set +x ok 19 - msvc7msys [simple VPATH] configure PASS: depmod.tap 19 - msvc7msys [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-= simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7msys /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-s= imple.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7msys [simple VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7msys [simple VPATH] = make & remake' + set +x ok 20 - msvc7msys [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 20 - msvc7msys [simple VPATH] make & remake # SKIP can't f= orce depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'nosideeffect [simple VPATH]' + mkdir nosideeffect-simple.d + cd nosideeffect-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dnosideeffect checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) nosideeffect checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'nosideeffect [simple VPATH] configure' + set +x ok 21 - nosideeffect [simple VPATH] configure PASS: depmod.tap 21 - nosideeffect [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffe= ct-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dnosideeffect /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c Unknown depmode nosideeffect make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffec= t-simple.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'nosideeffect [simple VPATH] make & rem= ake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'nosideeffect [simple VPAT= H] make & remake' + set +x ok 22 - nosideeffect [simple VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 22 - nosideeffect [simple VPATH] make & remake # SKIP can'= t force depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'dashmstdout [simple VPATH]' + mkdir dashmstdout-simple.d + cd dashmstdout-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Ddashmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashmstdout [simple VPATH] configure' + set +x ok 23 - dashmstdout [simple VPATH] configure PASS: depmod.tap 23 - dashmstdout [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -simple.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashmstdout [simple VPATH] make & remake' + set +x ok 24 - dashmstdout [simple VPATH] make & remake PASS: depmod.tap 24 - dashmstdout [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashmstdout-simple.d + test 1 -gt 0 + find dashmstdout-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' '= ;' + rm -rf dashmstdout-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'dashXmstdout [simple VPATH]' + mkdir dashXmstdout-simple.d + cd dashXmstdout-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3DdashXmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashXmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashXmstdout [simple VPATH] configure' + set +x ok 25 - dashXmstdout [simple VPATH] configure PASS: depmod.tap 25 - dashXmstdout [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-simple.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashXmstdout [simple VPATH] make & remake' + set +x ok 26 - dashXmstdout [simple VPATH] make & remake PASS: depmod.tap 26 - dashXmstdout [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashXmstdout-simple.d + test 1 -gt 0 + find dashXmstdout-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' = ';' + rm -rf dashXmstdout-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'makedepend [simple VPATH]' + mkdir makedepend-simple.d + cd makedepend-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dmakedepend checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) makedepend checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'makedepend [simple VPATH] configure' + set +x ok 27 - makedepend [simple VPATH] configure PASS: depmod.tap 27 - makedepend [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= simple.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'makedepend [simple VPATH] make & remake' + set +x ok 28 - makedepend [simple VPATH] make & remake PASS: depmod.tap 28 - makedepend [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ makedepend-simple.d + test 1 -gt 0 + find makedepend-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf makedepend-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'cpp [simple VPATH]' + mkdir cpp-simple.d + cd cpp-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) cpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'cpp [simple VPATH] configure' + set +x ok 29 - cpp [simple VPATH] configure PASS: depmod.tap 29 - cpp [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-simple.= d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'cpp [simple VPATH] make & remake' + set +x ok 30 - cpp [simple VPATH] make & remake PASS: depmod.tap 30 - cpp [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ cpp-simple.d + test 1 -gt 0 + find cpp-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf cpp-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'msvisualcpp [simple VPATH]' + mkdir msvisualcpp-simple.d + cd msvisualcpp-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dmsvisualcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvisualcpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvisualcpp [simple VPATH] configure' + set +x ok 31 - msvisualcpp [simple VPATH] configure PASS: depmod.tap 31 - msvisualcpp [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c ../../depcomp: line 652: cygpath: command not found source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c ../../depcomp: line 652: cygpath: command not found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c ../../depcomp: line 652: cygpath: command not found source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c ../../depcomp: line 652: cygpath: command not found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-simple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -simple.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvisualcpp [simple VPATH] make & remake' + set +x ok 32 - msvisualcpp [simple VPATH] make & remake PASS: depmod.tap 32 - msvisualcpp [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvisualcpp-simple.d + test 1 -gt 0 + find msvisualcpp-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' '= ;' + rm -rf msvisualcpp-simple.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D.. + pfx=3D'msvcmsys [simple VPATH]' + mkdir msvcmsys-simple.d + cd msvcmsys-simple.d + ../configure am_cv_CC_dependencies_compiler_type=3Dmsvcmsys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvcmsys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvcmsys [simple VPATH] configure' + set +x ok 33 - msvcmsys [simple VPATH] configure PASS: depmod.tap 33 - msvcmsys [simple VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d/src' source=3D'../../src/foo.c' object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o foo.o ../../src/foo.c source=3D'../../src/sub/subfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../src -g -O2 -c -o sub/subfoo.o ../../src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-s= imple.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-si= mple.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvcmsys [simple VPATH] make & remake' + set +x ok 34 - msvcmsys [simple VPATH] make & remake PASS: depmod.tap 34 - msvcmsys [simple VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvcmsys-simple.d + test 1 -gt 0 + find msvcmsys-simple.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf msvcmsys-simple.d + for vpath in simple long absolute + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'gcc3 [long VPATH]' + mkdir gcc3-long.d + cd gcc3-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dgcc3 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc3 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc3 [long VPATH] configure' + set +x ok 35 - gcc3 [long VPATH] configure PASS: depmod.tap 35 - gcc3 [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -MT foo= .o -MD -MP -MF $depbase.Tpo -c -o foo.o ../../this-is/a-path/which-have/qui= te-a/long_long_name/src/foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -MT sub= /subfoo.o -MD -MP -MF $depbase.Tpo -c -o sub/subfoo.o ../../this-is/a-path/= which-have/quite-a/long_long_name/src/sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d= /src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d= /src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -MT foo= .o -MD -MP -MF $depbase.Tpo -c -o foo.o ../../this-is/a-path/which-have/qui= te-a/long_long_name/src/foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -MT sub= /subfoo.o -MD -MP -MF $depbase.Tpo -c -o sub/subfoo.o ../../this-is/a-path/= which-have/quite-a/long_long_name/src/sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d= /src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.= d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc3 [long VPATH] make & remake' + set +x ok 36 - gcc3 [long VPATH] make & remake PASS: depmod.tap 36 - gcc3 [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc3-long.d + test 1 -gt 0 + find gcc3-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc3-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'gcc [long VPATH]' + mkdir gcc-long.d + cd gcc-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dgcc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc [long VPATH] configure' + set +x ok 37 - gcc [long VPATH] configure PASS: depmod.tap 37 - gcc [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d= /src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d/= src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc [long VPATH] make & remake' + set +x ok 38 - gcc [long VPATH] make & remake PASS: depmod.tap 38 - gcc [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc-long.d + test 1 -gt 0 + find gcc-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'hp [long VPATH]' + mkdir hp-long.d + cd hp-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dhp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp [long VPATH] configure' + set +x ok 39 - hp [long VPATH] configure PASS: depmod.tap 39 - hp [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp-long.d/= src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp /bin/sh ../../this-is/a-path/which-have/quite-a= /long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c cc1: error: unrecognized command line option '-M.deps/foo.TPo' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp-long.d/s= rc' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp [long VPATH] make & re= make' + set +x ok 40 - hp [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 40 - hp [long VPATH] make & remake # SKIP can't force depm= ode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'sgi [long VPATH]' + mkdir sgi-long.d + cd sgi-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dsgi checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) sgi checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'sgi [long VPATH] configure' + set +x ok 41 - sgi [long VPATH] configure PASS: depmod.tap 41 - sgi [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/sgi-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dsgi /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c gcc: error: unrecognized command line option '-MDupdate' gcc: error: .deps/foo.TPo: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/sgi-long.d/= src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'sgi [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'sgi [long VPATH] make & r= emake' + set +x ok 42 - sgi [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 42 - sgi [long VPATH] make & remake # SKIP can't force dep= mode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'aix [long VPATH]' + mkdir aix-long.d + cd aix-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Daix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) aix checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'aix [long VPATH] configure' + set +x ok 43 - aix [long VPATH] configure PASS: depmod.tap 43 - aix [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/aix-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o /usr/bin/ld:foo.o: file format not recognized; treating as linker script /usr/bin/ld:foo.o:1: syntax error collect2: error: ld returned 1 exit status make[1]: *** [foo] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/aix-long.d/= src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'aix [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'aix [long VPATH] make & r= emake' + set +x ok 44 - aix [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 44 - aix [long VPATH] make & remake # SKIP can't force dep= mode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'icc [long VPATH]' + mkdir icc-long.d + cd icc-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dicc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) icc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'icc [long VPATH] configure' + set +x ok 45 - icc [long VPATH] configure PASS: depmod.tap 45 - icc [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d= /src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d/= src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'icc [long VPATH] make & remake' + set +x ok 46 - icc [long VPATH] make & remake PASS: depmod.tap 46 - icc [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ icc-long.d + test 1 -gt 0 + find icc-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf icc-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'hp2 [long VPATH]' + mkdir hp2-long.d + cd hp2-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dhp2 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp2 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp2 [long VPATH] configure' + set +x ok 47 - hp2 [long VPATH] configure PASS: depmod.tap 47 - hp2 [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp2-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp2 /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c gcc: error: +Maked: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp2-long.d/= src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp2 [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp2 [long VPATH] make & r= emake' + set +x ok 48 - hp2 [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 48 - hp2 [long VPATH] make & remake # SKIP can't force dep= mode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'tru64 [long VPATH]' + mkdir tru64-long.d + cd tru64-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dtru64 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) tru64 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'tru64 [long VPATH] configure' + set +x ok 49 - tru64 [long VPATH] configure PASS: depmod.tap 49 - tru64 [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long= .d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../this-is/a-path/which-have/quit= e-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh ../../this-is/a-path/which-have/quit= e-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long.= d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long= .d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long.= d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long= .d/src' .deps/foo.Po:3: *** missing separator. Stop. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-long.= d/src' make: *** [clean-recursive] Error 1 + result_ 'not ok' 'tru64 [long VPATH] make & remake' + set +x not ok 50 - tru64 [long VPATH] make & remake FAIL: depmod.tap 50 - tru64 [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'msvc7 [long VPATH]' + mkdir msvc7-long.d + cd msvc7-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dmsvc7 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7 [long VPATH] configure' + set +x ok 51 - msvc7 [long VPATH] configure PASS: depmod.tap 51 - msvc7 [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-long= .d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7 /bin/sh ../../this-is/a-path/which-have/quit= e-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-long.= d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7 [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7 [long VPATH] make &= remake' + set +x ok 52 - msvc7 [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 52 - msvc7 [long VPATH] make & remake # SKIP can't force d= epmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'msvc7msys [long VPATH]' + mkdir msvc7msys-long.d + cd msvc7msys-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dmsvc7msys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7msys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7msys [long VPATH] configure' + set +x ok 53 - msvc7msys [long VPATH] configure PASS: depmod.tap 53 - msvc7msys [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-= long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7msys /bin/sh ../../this-is/a-path/which-have/= quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-l= ong.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7msys [long VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7msys [long VPATH] ma= ke & remake' + set +x ok 54 - msvc7msys [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 54 - msvc7msys [long VPATH] make & remake # SKIP can't for= ce depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'nosideeffect [long VPATH]' + mkdir nosideeffect-long.d + cd nosideeffect-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dnosideeffect checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) nosideeffect checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'nosideeffect [long VPATH] configure' + set +x ok 55 - nosideeffect [long VPATH] configure PASS: depmod.tap 55 - nosideeffect [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffe= ct-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dnosideeffect /bin/sh ../../this-is/a-path/which-ha= ve/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c Unknown depmode nosideeffect make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffec= t-long.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'nosideeffect [long VPATH] make & remak= e' + result_ ok -D SKIP -r 'can'\''t force depmode' 'nosideeffect [long VPATH]= make & remake' + set +x ok 56 - nosideeffect [long VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 56 - nosideeffect [long VPATH] make & remake # SKIP can't = force depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'dashmstdout [long VPATH]' + mkdir dashmstdout-long.d + cd dashmstdout-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Ddashmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashmstdout [long VPATH] configure' + set +x ok 57 - dashmstdout [long VPATH] configure PASS: depmod.tap 57 - dashmstdout [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashmstdout [long VPATH] make & remake' + set +x ok 58 - dashmstdout [long VPATH] make & remake PASS: depmod.tap 58 - dashmstdout [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashmstdout-long.d + test 1 -gt 0 + find dashmstdout-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf dashmstdout-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'dashXmstdout [long VPATH]' + mkdir dashXmstdout-long.d + cd dashXmstdout-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3DdashXmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashXmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashXmstdout [long VPATH] configure' + set +x ok 59 - dashXmstdout [long VPATH] configure PASS: depmod.tap 59 - dashXmstdout [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../this-is/a-path/which-ha= ve/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../this-is/a-path/which-ha= ve/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../this-is/a-path/which-ha= ve/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh ../../this-is/a-path/which-ha= ve/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashXmstdout [long VPATH] make & remake' + set +x ok 60 - dashXmstdout [long VPATH] make & remake PASS: depmod.tap 60 - dashXmstdout [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashXmstdout-long.d + test 1 -gt 0 + find dashXmstdout-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf dashXmstdout-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'makedepend [long VPATH]' + mkdir makedepend-long.d + cd makedepend-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dmakedepend checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) makedepend checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'makedepend [long VPATH] configure' + set +x ok 61 - makedepend [long VPATH] configure PASS: depmod.tap 61 - makedepend [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../this-is/a-path/which-have= /quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../this-is/a-path/which-have= /quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../this-is/a-path/which-have= /quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh ../../this-is/a-path/which-have= /quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'makedepend [long VPATH] make & remake' + set +x ok 62 - makedepend [long VPATH] make & remake PASS: depmod.tap 62 - makedepend [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ makedepend-long.d + test 1 -gt 0 + find makedepend-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf makedepend-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'cpp [long VPATH]' + mkdir cpp-long.d + cd cpp-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) cpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'cpp [long VPATH] configure' + set +x ok 63 - cpp [long VPATH] configure PASS: depmod.tap 63 - cpp [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d= /src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d/= src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d= /src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh ../../this-is/a-path/which-have/quite-= a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d/= src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'cpp [long VPATH] make & remake' + set +x ok 64 - cpp [long VPATH] make & remake PASS: depmod.tap 64 - cpp [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ cpp-long.d + test 1 -gt 0 + find cpp-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf cpp-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'msvisualcpp [long VPATH]' + mkdir msvisualcpp-long.d + cd msvisualcpp-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dmsvisualcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvisualcpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvisualcpp [long VPATH] configure' + set +x ok 65 - msvisualcpp [long VPATH] configure PASS: depmod.tap 65 - msvisualcpp [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c ../../this-is/a-path/which-have/quite-a/long_long_name/depcomp: line 652: c= ygpath: command not found source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c ../../this-is/a-path/which-have/quite-a/long_long_name/depcomp: line 652: c= ygpath: command not found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c ../../this-is/a-path/which-have/quite-a/long_long_name/depcomp: line 652: c= ygpath: command not found source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh ../../this-is/a-path/which-hav= e/quite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c ../../this-is/a-path/which-have/quite-a/long_long_name/depcomp: line 652: c= ygpath: command not found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-long.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -long.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvisualcpp [long VPATH] make & remake' + set +x ok 66 - msvisualcpp [long VPATH] make & remake PASS: depmod.tap 66 - msvisualcpp [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvisualcpp-long.d + test 1 -gt 0 + find msvisualcpp-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf msvisualcpp-long.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D../this-is/a-path/which-have/quite-a/long_long_name + pfx=3D'msvcmsys [long VPATH]' + mkdir msvcmsys-long.d + cd msvcmsys-long.d + ../this-is/a-path/which-have/quite-a/long_long_name/configure am_cv_CC_de= pendencies_compiler_type=3Dmsvcmsys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvcmsys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvcmsys [long VPATH] configure' + set +x ok 67 - msvcmsys [long VPATH] configure PASS: depmod.tap 67 - msvcmsys [long VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../this-is/a-path/which-have/q= uite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../this-is/a-path/which-have/q= uite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d/src' source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c'= object=3D'foo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../this-is/a-path/which-have/q= uite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o f= oo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/foo.c source=3D'../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/su= bfoo.c' object=3D'sub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh ../../this-is/a-path/which-have/q= uite-a/long_long_name/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I..= /../this-is/a-path/which-have/quite-a/long_long_name/src -g -O2 -c -o s= ub/subfoo.o ../../this-is/a-path/which-have/quite-a/long_long_name/src/sub/= subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-l= ong.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-lo= ng.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvcmsys [long VPATH] make & remake' + set +x ok 68 - msvcmsys [long VPATH] make & remake PASS: depmod.tap 68 - msvcmsys [long VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvcmsys-long.d + test 1 -gt 0 + find msvcmsys-long.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf msvcmsys-long.d + for vpath in simple long absolute + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'gcc3 [absolute VPATH]' + mkdir gcc3-absolute.d + cd gcc3-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dgcc3 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc3 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc3 [absolute VPATH] configure' + set +x ok 69 - gcc3 [absolute VPATH] configure PASS: depmod.tap 69 - gcc3 [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -MT foo.o -MD -MP -MF $dep= base.Tpo -c -o foo.o /h/j/w/co/automake/tests/depmod.dir/src/foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -MT sub/subfoo.o -MD -MP -= MF $depbase.Tpo -c -o sub/subfoo.o /h/j/w/co/automake/tests/depmod.dir/src/= sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d/src' depbase=3D`echo foo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -MT foo.o -MD -MP -MF $dep= base.Tpo -c -o foo.o /h/j/w/co/automake/tests/depmod.dir/src/foo.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=3D`echo sub/subfoo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -MT sub/subfoo.o -MD -MP -= MF $depbase.Tpo -c -o sub/subfoo.o /h/j/w/co/automake/tests/depmod.dir/src/= sub/subfoo.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absol= ute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc3-absolu= te.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc3 [absolute VPATH] make & remake' + set +x ok 70 - gcc3 [absolute VPATH] make & remake PASS: depmod.tap 70 - gcc3 [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc3-absolute.d + test 1 -gt 0 + find gcc3-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc3-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'gcc [absolute VPATH]' + mkdir gcc-absolute.d + cd gcc-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dgcc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) gcc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'gcc [absolute VPATH] configure' + set +x ok 71 - gcc [absolute VPATH] configure PASS: depmod.tap 71 - gcc [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dgcc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/gcc-absolut= e.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'gcc [absolute VPATH] make & remake' + set +x ok 72 - gcc [absolute VPATH] make & remake PASS: depmod.tap 72 - gcc [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ gcc-absolute.d + test 1 -gt 0 + find gcc-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf gcc-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'hp [absolute VPATH]' + mkdir hp-absolute.d + cd hp-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dhp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp [absolute VPATH] configure' + set +x ok 73 - hp [absolute VPATH] configure PASS: depmod.tap 73 - hp [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp-absolut= e.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp /bin/sh /h/j/w/co/automake/tests/depmod.dir/dep= comp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c cc1: error: unrecognized command line option '-M.deps/foo.TPo' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp-absolute= .d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp [absolute VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp [absolute VPATH] make = & remake' + set +x ok 74 - hp [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 74 - hp [absolute VPATH] make & remake # SKIP can't force = depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'sgi [absolute VPATH]' + mkdir sgi-absolute.d + cd sgi-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dsgi checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) sgi checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'sgi [absolute VPATH] configure' + set +x ok 75 - sgi [absolute VPATH] configure PASS: depmod.tap 75 - sgi [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/sgi-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dsgi /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c gcc: error: unrecognized command line option '-MDupdate' gcc: error: .deps/foo.TPo: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/sgi-absolut= e.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'sgi [absolute VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'sgi [absolute VPATH] make= & remake' + set +x ok 76 - sgi [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 76 - sgi [absolute VPATH] make & remake # SKIP can't force= depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'aix [absolute VPATH]' + mkdir aix-absolute.d + cd aix-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Daix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) aix checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'aix [absolute VPATH] configure' + set +x ok 77 - aix [absolute VPATH] configure PASS: depmod.tap 77 - aix [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/aix-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Daix /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o /usr/bin/ld:foo.o: file format not recognized; treating as linker script /usr/bin/ld:foo.o:1: syntax error collect2: error: ld returned 1 exit status make[1]: *** [foo] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/aix-absolut= e.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'aix [absolute VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'aix [absolute VPATH] make= & remake' + set +x ok 78 - aix [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 78 - aix [absolute VPATH] make & remake # SKIP can't force= depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'icc [absolute VPATH]' + mkdir icc-absolute.d + cd icc-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dicc checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) icc checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'icc [absolute VPATH] configure' + set +x ok 79 - icc [absolute VPATH] configure PASS: depmod.tap 79 - icc [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dicc /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/icc-absolut= e.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'icc [absolute VPATH] make & remake' + set +x ok 80 - icc [absolute VPATH] make & remake PASS: depmod.tap 80 - icc [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ icc-absolute.d + test 1 -gt 0 + find icc-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf icc-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'hp2 [absolute VPATH]' + mkdir hp2-absolute.d + cd hp2-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dhp2 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) hp2 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'hp2 [absolute VPATH] configure' + set +x ok 81 - hp2 [absolute VPATH] configure PASS: depmod.tap 81 - hp2 [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/hp2-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dhp2 /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c gcc: error: +Maked: No such file or directory make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/hp2-absolut= e.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'hp2 [absolute VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'hp2 [absolute VPATH] make= & remake' + set +x ok 82 - hp2 [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 82 - hp2 [absolute VPATH] make & remake # SKIP can't force= depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'tru64 [absolute VPATH]' + mkdir tru64-absolute.d + cd tru64-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dtru64 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) tru64 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'tru64 [absolute VPATH] configure' + set +x ok 83 - tru64 [absolute VPATH] configure PASS: depmod.tap 83 - tru64 [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-abso= lute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh /h/j/w/co/automake/tests/depmod.dir/= depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dtru64 /bin/sh /h/j/w/co/automake/tests/depmod.dir/= depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-absol= ute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-abso= lute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-absol= ute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/tru64-abso= lute.d/src' .deps/foo.Po:3: *** missing separator. Stop. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/tru64-absol= ute.d/src' make: *** [clean-recursive] Error 1 + result_ 'not ok' 'tru64 [absolute VPATH] make & remake' + set +x not ok 84 - tru64 [absolute VPATH] make & remake FAIL: depmod.tap 84 - tru64 [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'msvc7 [absolute VPATH]' + mkdir msvc7-absolute.d + cd msvc7-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dmsvc7 checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7 checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7 [absolute VPATH] configure' + set +x ok 85 - msvc7 [absolute VPATH] configure PASS: depmod.tap 85 - msvc7 [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-abso= lute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7 /bin/sh /h/j/w/co/automake/tests/depmod.dir/= depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7-absol= ute.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7 [absolute VPATH] make & remake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7 [absolute VPATH] ma= ke & remake' + set +x ok 86 - msvc7 [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 86 - msvc7 [absolute VPATH] make & remake # SKIP can't for= ce depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'msvc7msys [absolute VPATH]' + mkdir msvc7msys-absolute.d + cd msvc7msys-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dmsvc7msys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvc7msys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvc7msys [absolute VPATH] configure' + set +x ok 87 - msvc7msys [absolute VPATH] configure PASS: depmod.tap 87 - msvc7msys [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-= absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvc7msys /bin/sh /h/j/w/co/automake/tests/depmod.= dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c gcc: error: unrecognized command line option '-showIncludes' make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvc7msys-a= bsolute.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'msvc7msys [absolute VPATH] make & rema= ke' + result_ ok -D SKIP -r 'can'\''t force depmode' 'msvc7msys [absolute VPATH= ] make & remake' + set +x ok 88 - msvc7msys [absolute VPATH] make & remake # SKIP can't force depmode SKIP: depmod.tap 88 - msvc7msys [absolute VPATH] make & remake # SKIP can't= force depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'nosideeffect [absolute VPATH]' + mkdir nosideeffect-absolute.d + cd nosideeffect-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dnosideeffect checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) nosideeffect checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'nosideeffect [absolute VPATH] configure' + set +x ok 89 - nosideeffect [absolute VPATH] configure PASS: depmod.tap 89 - nosideeffect [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffe= ct-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dnosideeffect /bin/sh /h/j/w/co/automake/tests/depm= od.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c Unknown depmode nosideeffect make[1]: *** [foo.o] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/nosideeffec= t-absolute.d/src' make: *** [all-recursive] Error 1 + skip_ -r 'can'\''t force depmode' 'nosideeffect [absolute VPATH] make & r= emake' + result_ ok -D SKIP -r 'can'\''t force depmode' 'nosideeffect [absolute VP= ATH] make & remake' + set +x ok 90 - nosideeffect [absolute VPATH] make & remake # SKIP can't force depm= ode SKIP: depmod.tap 90 - nosideeffect [absolute VPATH] make & remake # SKIP ca= n't force depmode + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'ok,not ok' =3D ok,ok + : For lesser shells with broken 'set -e.' + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'dashmstdout [absolute VPATH]' + mkdir dashmstdout-absolute.d + cd dashmstdout-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Ddashmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashmstdout [absolute VPATH] configure' + set +x ok 91 - dashmstdout [absolute VPATH] configure PASS: depmod.tap 91 - dashmstdout [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Ddashmstdout /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdou= t-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashmstdout= -absolute.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashmstdout [absolute VPATH] make & remake' + set +x ok 92 - dashmstdout [absolute VPATH] make & remake PASS: depmod.tap 92 - dashmstdout [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashmstdout-absolute.d + test 1 -gt 0 + find dashmstdout-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}'= ';' + rm -rf dashmstdout-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'dashXmstdout [absolute VPATH]' + mkdir dashXmstdout-absolute.d + cd dashXmstdout-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3DdashXmstdout checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) dashXmstdout checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'dashXmstdout [absolute VPATH] configure' + set +x ok 93 - dashXmstdout [absolute VPATH] configure PASS: depmod.tap 93 - dashXmstdout [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh /h/j/w/co/automake/tests/depm= od.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh /h/j/w/co/automake/tests/depm= od.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh /h/j/w/co/automake/tests/depm= od.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3DdashXmstdout /bin/sh /h/j/w/co/automake/tests/depm= od.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdo= ut-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/dashXmstdou= t-absolute.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'dashXmstdout [absolute VPATH] make & remake' + set +x ok 94 - dashXmstdout [absolute VPATH] make & remake PASS: depmod.tap 94 - dashXmstdout [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ dashXmstdout-absolute.d + test 1 -gt 0 + find dashXmstdout-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}= ' ';' + rm -rf dashXmstdout-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'makedepend [absolute VPATH]' + mkdir makedepend-absolute.d + cd makedepend-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dmakedepend checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) makedepend checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'makedepend [absolute VPATH] configure' + set +x ok 95 - makedepend [absolute VPATH] configure PASS: depmod.tap 95 - makedepend [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh /h/j/w/co/automake/tests/depmod= .dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh /h/j/w/co/automake/tests/depmod= .dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh /h/j/w/co/automake/tests/depmod= .dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmakedepend /bin/sh /h/j/w/co/automake/tests/depmod= .dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/makedepend= -absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/makedepend-= absolute.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'makedepend [absolute VPATH] make & remake' + set +x ok 96 - makedepend [absolute VPATH] make & remake PASS: depmod.tap 96 - makedepend [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ makedepend-absolute.d + test 1 -gt 0 + find makedepend-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' = ';' + rm -rf makedepend-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'cpp [absolute VPATH]' + mkdir cpp-absolute.d + cd cpp-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) cpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'cpp [absolute VPATH] configure' + set +x ok 97 - cpp [absolute VPATH] configure PASS: depmod.tap 97 - cpp [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dcpp /bin/sh /h/j/w/co/automake/tests/depmod.dir/de= pcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolu= te.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/cpp-absolut= e.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'cpp [absolute VPATH] make & remake' + set +x ok 98 - cpp [absolute VPATH] make & remake PASS: depmod.tap 98 - cpp [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ cpp-absolute.d + test 1 -gt 0 + find cpp-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf cpp-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'msvisualcpp [absolute VPATH]' + mkdir msvisualcpp-absolute.d + cd msvisualcpp-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dmsvisualcpp checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvisualcpp checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvisualcpp [absolute VPATH] configure' + set +x ok 99 - msvisualcpp [absolute VPATH] configure PASS: depmod.tap 99 - msvisualcpp [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c /h/j/w/co/automake/tests/depmod.dir/depcomp: line 652: cygpath: command not= found source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c /h/j/w/co/automake/tests/depmod.dir/depcomp: line 652: cygpath: command not= found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c /h/j/w/co/automake/tests/depmod.dir/depcomp: line 652: cygpath: command not= found source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvisualcpp /bin/sh /h/j/w/co/automake/tests/depmo= d.dir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c /h/j/w/co/automake/tests/depmod.dir/depcomp: line 652: cygpath: command not= found gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcp= p-absolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvisualcpp= -absolute.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvisualcpp [absolute VPATH] make & remake' + set +x ok 100 - msvisualcpp [absolute VPATH] make & remake PASS: depmod.tap 100 - msvisualcpp [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvisualcpp-absolute.d + test 1 -gt 0 + find msvisualcpp-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}'= ';' + rm -rf msvisualcpp-absolute.d + for depmode in '$tested_depmodes' + case $vpath in + srcdir=3D/h/j/w/co/automake/tests/depmod.dir + pfx=3D'msvcmsys [absolute VPATH]' + mkdir msvcmsys-absolute.d + cd msvcmsys-absolute.d + /h/j/w/co/automake/tests/depmod.dir/configure am_cv_CC_dependencies_compi= ler_type=3Dmsvcmsys checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... (cached) msvcmsys checking whether gcc and cc understand -c and -o together... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: executing depfiles commands + r0=3Dok + result_ ok 'msvcmsys [absolute VPATH] configure' + set +x ok 101 - msvcmsys [absolute VPATH] configure PASS: depmod.tap 101 - msvcmsys [absolute VPATH] configure + r1=3D'not ok' + make Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh /h/j/w/co/automake/tests/depmod.d= ir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh /h/j/w/co/automake/tests/depmod.d= ir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d' + make clean Making clean in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d/src' test -z "foo" || rm -f foo rm -f *.o rm -f sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d/src' Making clean in . make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d' make[1]: Nothing to be done for `clean-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d' + e=3D0 + make + cat output Making all in src make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d/src' source=3D'/h/j/w/co/automake/tests/depmod.dir/src/foo.c' object=3D'foo.o' l= ibtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh /h/j/w/co/automake/tests/depmod.d= ir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o foo.o /h/j/w/co/auto= make/tests/depmod.dir/src/foo.c source=3D'/h/j/w/co/automake/tests/depmod.dir/src/sub/subfoo.c' object=3D's= ub/subfoo.o' libtool=3Dno \ DEPDIR=3D.deps depmode=3Dmsvcmsys /bin/sh /h/j/w/co/automake/tests/depmod.d= ir/depcomp \ gcc -DPACKAGE_NAME=3D\"depmod\" -DPACKAGE_TARNAME=3D\"depmod\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"depmod\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"depmod\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/depmod.dir/src -g -O2 -c -o sub/subfoo.o /h/j/w/= co/automake/tests/depmod.dir/src/sub/subfoo.c gcc -g -O2 -o foo foo.o sub/subfoo.o make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d/src' make[1]: Entering directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-a= bsolute.d' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/h/j/w/co/automake/tests/depmod.dir/msvcmsys-ab= solute.d' + test 0 -eq 0 + grep 'src/[._]deps' output + : + r1=3Dok + result_ ok 'msvcmsys [absolute VPATH] make & remake' + set +x ok 102 - msvcmsys [absolute VPATH] make & remake PASS: depmod.tap 102 - msvcmsys [absolute VPATH] make & remake + cd /h/j/w/co/automake/tests/depmod.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok,ok =3D ok,ok + rm_rf_ msvcmsys-absolute.d + test 1 -gt 0 + find msvcmsys-absolute.d -type d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf msvcmsys-absolute.d + : + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 79 -eq 102 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x depmod: exit 0 PASS: instspc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/instspc.dir + all_test_names_list=3D + builddir_xfails=3D + destdir_xfails=3D + bs=3D$'\b' + cr=3D$'\r' + ff=3D$'\f' + ht=3D' ' + lf=3D' ' + def=3Ddefine_problematic_string + define_problematic_string squote ''\''' fail-builddir fail-destdir + tst=3Dsquote + shift + eval 'instspc__squote=3D$1' ++ instspc__squote=3D''\''' + shift + all_test_names_list=3D' squote' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote' + define_problematic_string dquote '"' fail-builddir fail-destdir + tst=3Ddquote + shift + eval 'instspc__dquote=3D$1' ++ instspc__dquote=3D'"' + shift + all_test_names_list=3D' squote dquote' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote' + define_problematic_string bquote '`' fail-builddir fail-destdir + tst=3Dbquote + shift + eval 'instspc__bquote=3D$1' ++ instspc__bquote=3D'`' + shift + all_test_names_list=3D' squote dquote bquote' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote bquote' + define_problematic_string sharp '#' fail-builddir fail-destdir + tst=3Dsharp + shift + eval 'instspc__sharp=3D$1' ++ instspc__sharp=3D'#' + shift + all_test_names_list=3D' squote dquote bquote sharp' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote bquote sharp' + define_problematic_string dollar '$' fail-builddir fail-destdir + tst=3Ddollar + shift + eval 'instspc__dollar=3D$1' ++ instspc__dollar=3D'$' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote bquote sharp dollar' + define_problematic_string bang '!' + tst=3Dbang + shift + eval 'instspc__bang=3D$1' ++ instspc__bang=3D'!' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string bslash '\' fail-builddir + tst=3Dbslash + shift + eval 'instspc__bslash=3D$1' ++ instspc__bslash=3D'\' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash' + is_in_list fail-builddir fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar bslash' + is_in_list fail-destdir fail-builddir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string ampersand '&' fail-builddir + tst=3Dampersand + shift + eval 'instspc__ampersand=3D$1' ++ instspc__ampersand=3D'&' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand' + is_in_list fail-builddir fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar bslash ampersand' + is_in_list fail-destdir fail-builddir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string percent % + tst=3Dpercent + shift + eval 'instspc__percent=3D$1' ++ instspc__percent=3D% + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string leftpar '(' + tst=3Dleftpar + shift + eval 'instspc__leftpar=3D$1' ++ instspc__leftpar=3D'(' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string rightpar ')' + tst=3Drightpar + shift + eval 'instspc__rightpar=3D$1' ++ instspc__rightpar=3D')' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string pipe '|' + tst=3Dpipe + shift + eval 'instspc__pipe=3D$1' ++ instspc__pipe=3D'|' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string caret '^' + tst=3Dcaret + shift + eval 'instspc__caret=3D$1' ++ instspc__caret=3D'^' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string tilde '~' + tst=3Dtilde + shift + eval 'instspc__tilde=3D$1' ++ instspc__tilde=3D'~' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string qmark '?' + tst=3Dqmark + shift + eval 'instspc__qmark=3D$1' ++ instspc__qmark=3D'?' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string star '*' + tst=3Dstar + shift + eval 'instspc__star=3D$1' ++ instspc__star=3D'*' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string plus + + tst=3Dplus + shift + eval 'instspc__plus=3D$1' ++ instspc__plus=3D+ + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string minus - + tst=3Dminus + shift + eval 'instspc__minus=3D$1' ++ instspc__minus=3D- + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string comma , + tst=3Dcomma + shift + eval 'instspc__comma=3D$1' ++ instspc__comma=3D, + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string colon : + tst=3Dcolon + shift + eval 'instspc__colon=3D$1' ++ instspc__colon=3D: + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string semicol ';' + tst=3Dsemicol + shift + eval 'instspc__semicol=3D$1' ++ instspc__semicol=3D';' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string equal =3D + tst=3Dequal + shift + eval 'instspc__equal=3D$1' ++ instspc__equal=3D=3D + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string less '<' + tst=3Dless + shift + eval 'instspc__less=3D$1' ++ instspc__less=3D'<' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string more '>' + tst=3Dmore + shift + eval 'instspc__more=3D$1' ++ instspc__more=3D'>' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string at @ + tst=3Dat + shift + eval 'instspc__at=3D$1' ++ instspc__at=3D@ + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string lqbrack '[' + tst=3Dlqbrack + shift + eval 'instspc__lqbrack=3D$1' ++ instspc__lqbrack=3D'[' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string rqbrack ']' + tst=3Drqbrack + shift + eval 'instspc__rqbrack=3D$1' ++ instspc__rqbrack=3D']' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string lcbrack '{' + tst=3Dlcbrack + shift + eval 'instspc__lcbrack=3D$1' ++ instspc__lcbrack=3D'{' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string rcbrack '}' + tst=3Drcbrack + shift + eval 'instspc__rcbrack=3D$1' ++ instspc__rcbrack=3D'}' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string space ' ' + tst=3Dspace + shift + eval 'instspc__space=3D$1' ++ instspc__space=3D' ' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string tab ' ' + tst=3Dtab + shift + eval 'instspc__tab=3D$1' ++ instspc__tab=3D' ' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string linefeed ' ' fail-builddir fail-destdir + tst=3Dlinefeed + shift + eval 'instspc__linefeed=3D$1' ++ instspc__linefeed=3D' ' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar bslash ampersand li= nefeed' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote bquote sharp dollar linefeed' + define_problematic_string backspace $'\b' + tst=3Dbackspace + shift + eval 'instspc__backspace=3D$1' ++ instspc__backspace=3D$'\b' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string formfeed $'\f' + tst=3Dformfeed + shift + eval 'instspc__formfeed=3D$1' ++ instspc__formfeed=3D$'\f' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string carriageret $'\r' + tst=3Dcarriageret + shift + eval 'instspc__carriageret=3D$1' ++ instspc__carriageret=3D$'\r' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string quadrigraph0 '@&t@' fail-builddir + tst=3Dquadrigraph0 + shift + eval 'instspc__quadrigraph0=3D$1' ++ instspc__quadrigraph0=3D'@&t@' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0' + is_in_list fail-builddir fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0' + is_in_list fail-destdir fail-builddir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string quadrigraph1 '@<:@' + tst=3Dquadrigraph1 + shift + eval 'instspc__quadrigraph1=3D$1' ++ instspc__quadrigraph1=3D'@<:@' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string quadrigraph2 '@:>@' + tst=3Dquadrigraph2 + shift + eval 'instspc__quadrigraph2=3D$1' ++ instspc__quadrigraph2=3D'@:>@' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string quadrigraph3 '@S|@' + tst=3Dquadrigraph3 + shift + eval 'instspc__quadrigraph3=3D$1' ++ instspc__quadrigraph3=3D'@S|@' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string quadrigraph4 @%:@ + tst=3Dquadrigraph4 + shift + eval 'instspc__quadrigraph4=3D$1' ++ instspc__quadrigraph4=3D@%:@ + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string a_b 'a b' + tst=3Da_b + shift + eval 'instspc__a_b=3D$1' ++ instspc__a_b=3D'a b' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string a__b 'a b' + tst=3Da__b + shift + eval 'instspc__a__b=3D$1' ++ instspc__a__b=3D'a b' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string a_lf_b 'a b' fail-builddir fail-destdir + tst=3Da_lf_b + shift + eval 'instspc__a_lf_b=3D$1' ++ instspc__a_lf_b=3D'a b' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b' + is_in_list fail-builddir fail-builddir fail-destdir + item=3Dfail-builddir + shift + case " $* " in + return 0 + builddir_xfails=3D' squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0 a_lf_b' + is_in_list fail-destdir fail-builddir fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 0 + destdir_xfails=3D' squote dquote bquote sharp dollar linefeed a_lf_b' + define_problematic_string dotdotdot ... + tst=3Ddotdotdot + shift + eval 'instspc__dotdotdot=3D$1' ++ instspc__dotdotdot=3D... + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b dotdotdot' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string dosdrive a: + tst=3Ddosdrive + shift + eval 'instspc__dosdrive=3D$1' ++ instspc__dosdrive=3Da: + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b dotdotdot dosdrive' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string miscglob1 '?[a-z]*' + tst=3Dmiscglob1 + shift + eval 'instspc__miscglob1=3D$1' ++ instspc__miscglob1=3D'?[a-z]*' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b dotdotdot dosdrive miscglob= 1' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + define_problematic_string miscglob2 '.*?[0-9]' + tst=3Dmiscglob2 + shift + eval 'instspc__miscglob2=3D$1' ++ instspc__miscglob2=3D'.*?[0-9]' + shift + all_test_names_list=3D' squote dquote bquote sharp dollar bang bslash amp= ersand percent leftpar rightpar pipe caret tilde qmark star plus minus comm= a colon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space ta= b linefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrig= raph2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b dotdotdot dosdrive miscglob= 1 miscglob2' + is_in_list fail-builddir + item=3Dfail-builddir + shift + case " $* " in + return 1 + is_in_list fail-destdir + item=3Dfail-destdir + shift + case " $* " in + return 1 + unset def + test 0 -gt 0 + test_names_list=3D' squote dquote bquote sharp dollar bang bslash ampersa= nd percent leftpar rightpar pipe caret tilde qmark star plus minus comma co= lon semicol equal less more at lqbrack rqbrack lcbrack rcbrack space tab li= nefeed backspace formfeed carriageret quadrigraph0 quadrigraph1 quadrigraph= 2 quadrigraph3 quadrigraph4 a_b a__b a_lf_b dotdotdot dosdrive miscglob1 mi= scglob2' + plan_ 94 + test 1 -eq 0 + test 1 -ge 2 + test x94 =3D xunknown + test x94 =3D xlater + test x94 =3D xlazy + test x94 =3D xnow + test 94 -ge 0 + echo 1..94 1..94 + have_tap_plan_=3Dyes ++ pwd + ocwd=3D/h/j/w/co/automake/tests/instspc.dir + create_input_data + mkdir sub + unindent + test x =3D x ++ printf '%s\n' ' /^$/b # Nothing to do for empty lines. x # Get x into pattern space. /^$/{ # No prior x, go prepare it. g # Copy this 1st non-blank line into pattern spac= e. s/^\([ ]*\).*/x\1/ # Prepare x in pattern space. } # Now: x in pattern and in hold. G # Build x\n in pattern space, and h # duplicate it into hold space. s/\n.*$// # Restore x in pattern space, and x # exchange with the above duplicate in hold spac= e. s/^x\(.*\)\n\1// # Remove leading from . s/^x.*\n// # Restore when there is no leading . ' ++ sed -e 's/ *# .*//' + sed_unindent_prog=3D' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + : + : + : + : + : + : + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:5: installing `./ar-lib' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__squote}' ++ test_string=3D''\''' + test 'x'\''' '!=3D' x + mkdir './'\''' + for where in build dest + case $where in + build=3D'./'\''' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-squote + cd './'\''' + r=3Dok + ../configure --prefix '/'\''-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'squote in builddir' + expected_to_fail build squote + case $1 in + is_in_list squote squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Dsquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'squote in buil= ddir' + set +x not ok 1 - squote in builddir # TODO long-standing limitation XFAIL: instspc.tap 1 - squote in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-squote + dest=3D'/h/j/w/co/automake/tests/instspc.dir/'\''' + mkdir build-squote + cd build-squote + r=3Dok + ../configure --prefix '/'\''-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/'\''' + file=3D'./'\''' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-squ= ote' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/'/'= -prefix/foo' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/'/'-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo' && ranlib libba= se.a ) test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/'/'-pref= ix/foo' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/'= /'-prefix/foo/sub/' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/'/'-pr= efix/foo/sub/' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/'/'-prefix/foo' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/'/'-prefix/foo' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/'/'-prefix/foo/sub' test -z "/'-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/'/'-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/'/'-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-squo= te' test -f '/h/j/w/co/automake/tests/instspc.dir/'/./'-prefix/foo/sub/nobase= .h' make: *** [test-inst] Error 1 + r=3D'not ok' + description=3D'squote in destdir' + expected_to_fail dest squote + case $1 in + is_in_list squote squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dsquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'squote in dest= dir' + set +x not ok 2 - squote in destdir # TODO long-standing limitation XFAIL: instspc.tap 2 - squote in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__dquote}' ++ test_string=3D'"' + test 'x"' '!=3D' x + mkdir './"' + for where in build dest + case $where in + build=3D'./"' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-dquote + cd './"' + r=3Dok + ../configure --prefix '/"-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'dquote in builddir' + expected_to_fail build dquote + case $1 in + is_in_list dquote squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Ddquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'dquote in buil= ddir' + set +x not ok 3 - dquote in builddir # TODO long-standing limitation XFAIL: instspc.tap 3 - dquote in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-dquote + dest=3D'/h/j/w/co/automake/tests/instspc.dir/"' + mkdir build-dquote + cd build-dquote + r=3Dok + ../configure --prefix '/"-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/"' + file=3D'./"' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-dqu= ote' test -z "/"-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/"/"-prefix/foo" /bin/sh: -c: line 0: unexpected EOF while looking for matching `"' /bin/sh: -c: line 1: syntax error: unexpected end of file make[1]: *** [install-dist_fooexecSCRIPTS] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-dquo= te' make: *** [install-am] Error 2 + r=3D'not ok' + description=3D'dquote in destdir' + expected_to_fail dest dquote + case $1 in + is_in_list dquote squote dquote bquote sharp dollar linefeed a_lf_b + item=3Ddquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'dquote in dest= dir' + set +x not ok 4 - dquote in destdir # TODO long-standing limitation XFAIL: instspc.tap 4 - dquote in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__bquote}' ++ test_string=3D'`' + test 'x`' '!=3D' x + mkdir './`' + for where in build dest + case $where in + build=3D'./`' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-bquote + cd './`' + r=3Dok + ../configure --prefix '/`-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'bquote in builddir' + expected_to_fail build bquote + case $1 in + is_in_list bquote squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Dbquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'bquote in buil= ddir' + set +x not ok 5 - bquote in builddir # TODO long-standing limitation XFAIL: instspc.tap 5 - bquote in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-bquote + dest=3D'/h/j/w/co/automake/tests/instspc.dir/`' + mkdir build-bquote + cd build-bquote + r=3Dok + ../configure --prefix '/`-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/`' + file=3D'./`' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-bqu= ote' test -z "/`-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/`/`-prefix/foo" /bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of file make[1]: *** [install-dist_fooexecSCRIPTS] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-bquo= te' make: *** [install-am] Error 2 + r=3D'not ok' + description=3D'bquote in destdir' + expected_to_fail dest bquote + case $1 in + is_in_list bquote squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dbquote + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'bquote in dest= dir' + set +x not ok 6 - bquote in destdir # TODO long-standing limitation XFAIL: instspc.tap 6 - bquote in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__sharp}' ++ test_string=3D'#' + test x# '!=3D' x + mkdir ./# + for where in build dest + case $where in + build=3D./# + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-sharp + cd ./# + r=3Dok + ../configure --prefix /#-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'sharp in builddir' + expected_to_fail build sharp + case $1 in + is_in_list sharp squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dsharp + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'sharp in build= dir' + set +x not ok 7 - sharp in builddir # TODO long-standing limitation XFAIL: instspc.tap 7 - sharp in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-sharp + dest=3D/h/j/w/co/automake/tests/instspc.dir/# + mkdir build-sharp + cd build-sharp + r=3Dok + ../configure --prefix /#-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/# + file=3D./# + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-sha= rp' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/#//= foo' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/#//foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/#//foo' && ranlib libbase.a ) test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/#//foo' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/#//foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/#= //foo/sub/' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/#//foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/#//foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/#//foo' && ranlib sub/libnobase= .a ) test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/#//foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/#//foo= /sub/' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/#//foo' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/#//foo' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/#//foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/#//foo/sub' test -z "//foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.dir/#/= /foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/#//foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/#//foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-shar= p' test -f '/h/j/w/co/automake/tests/instspc.dir/#/./#-prefix/foo/sub/nobase= .h' make: *** [test-inst] Error 1 + r=3D'not ok' + description=3D'sharp in destdir' + expected_to_fail dest sharp + case $1 in + is_in_list sharp squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dsharp + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'sharp in destd= ir' + set +x not ok 8 - sharp in destdir # TODO long-standing limitation XFAIL: instspc.tap 8 - sharp in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__dollar}' ++ test_string=3D'$' + test 'x$' '!=3D' x + mkdir './$' + for where in build dest + case $where in + build=3D'./$' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-dollar + cd './$' + r=3Dok + ../configure --prefix '/$-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'dollar in builddir' + expected_to_fail build dollar + case $1 in + is_in_list dollar squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Ddollar + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'dollar in buil= ddir' + set +x not ok 9 - dollar in builddir # TODO long-standing limitation XFAIL: instspc.tap 9 - dollar in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-dollar + dest=3D'/h/j/w/co/automake/tests/instspc.dir/$' + mkdir build-dollar + cd build-dollar + r=3Dok + ../configure --prefix '/$-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/$' + file=3D'./$' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-dol= lar' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir//pr= efix/foo' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir//prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir//prefix/foo' && ranlib libbase.= a ) test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir//prefix/= foo' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir//= prefix/foo/sub/' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir//prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir//prefix/foo' && ranlib sub/libn= obase.a ) test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir//prefi= x/foo/sub/' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir//prefix/foo' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir//prefix/foo' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir//prefix/foo/sub' test -z "/prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc.= dir//prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir//prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-doll= ar' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase.h' make: *** [test-inst] Error 1 + r=3D'not ok' + description=3D'dollar in destdir' + expected_to_fail dest dollar + case $1 in + is_in_list dollar squote dquote bquote sharp dollar linefeed a_lf_b + item=3Ddollar + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'dollar in dest= dir' + set +x not ok 10 - dollar in destdir # TODO long-standing limitation XFAIL: instspc.tap 10 - dollar in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__bang}' ++ test_string=3D'!' + test 'x!' '!=3D' x + mkdir './!' + for where in build dest + case $where in + build=3D'./!' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-bang + cd './!' + r=3Dok + ../configure --prefix '/!-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-bang + file=3D'./!' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/!' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-bang/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-bang/!-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/foo' && ranl= ib libbase.a ) test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-ban= g/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-bang/!-prefix/foo/sub/' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-b= ang/!-prefix/foo/sub/' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-bang/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-bang/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-bang/!-prefix/foo/sub' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-bang/!-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-bang/!-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/!' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-bang/./!-prefix/foo/li= bbase.a' + description=3D'bang in builddir' + expected_to_fail build bang + case $1 in + is_in_list bang squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dbang + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'bang in builddir' + set +x ok 11 - bang in builddir PASS: instspc.tap 11 - bang in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './!' /h/j/w/co/automake/tests/instspc.dir/dest-bang + test 2 -gt 0 + find './!' /h/j/w/co/automake/tests/instspc.dir/dest-bang -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf './!' /h/j/w/co/automake/tests/instspc.dir/dest-bang + for where in build dest + case $where in + build=3Dbuild-bang + dest=3D'/h/j/w/co/automake/tests/instspc.dir/!' + mkdir build-bang + cd build-bang + r=3Dok + ../configure --prefix '/!-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/!' + file=3D'./!' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-ban= g' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/!/!= -prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/!/!-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo' && ranlib libba= se.a ) test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/!/!-pref= ix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/!= /!-prefix/foo/sub/' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/!/!-pr= efix/foo/sub/' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/!/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/!/!-prefix/foo' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/!/!-prefix/foo/sub' test -z "/!-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/!/!-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/!/!-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-bang' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/!/./!-prefix/foo/libbase.a' + description=3D'bang in destdir' + expected_to_fail dest bang + case $1 in + is_in_list bang squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dbang + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'bang in destdir' + set +x ok 12 - bang in destdir PASS: instspc.tap 12 - bang in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-bang '/h/j/w/co/automake/tests/instspc.dir/!' + test 2 -gt 0 + find build-bang '/h/j/w/co/automake/tests/instspc.dir/!' -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf build-bang '/h/j/w/co/automake/tests/instspc.dir/!' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__bslash}' ++ test_string=3D'\' + test 'x\' '!=3D' x + mkdir './\' + for where in build dest + case $where in + build=3D'./\' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-bslash + cd './\' + r=3Dok + ../configure --prefix '/\-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'bslash in builddir' + expected_to_fail build bslash + case $1 in + is_in_list bslash squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Dbslash + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'bslash in buil= ddir' + set +x not ok 13 - bslash in builddir # TODO long-standing limitation XFAIL: instspc.tap 13 - bslash in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-bslash + dest=3D'/h/j/w/co/automake/tests/instspc.dir/\' + mkdir build-bslash + cd build-bslash + r=3Dok + ../configure --prefix '/\-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/\' + file=3D'./\' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-bsl= ash' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/\/\= -prefix/foo' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/\/\-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo' && ranlib libba= se.a ) test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/\/\-pref= ix/foo' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/\= /\-prefix/foo/sub/' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/\/\-pr= efix/foo/sub/' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/\/\-prefix/foo' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/\/\-prefix/foo' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/\/\-prefix/foo/sub' test -z "/\-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/\/\-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/\/\-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-bsla= sh' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/\/./\-prefix/foo/libbase.a' + description=3D'bslash in destdir' + expected_to_fail dest bslash + case $1 in + is_in_list bslash squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dbslash + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'bslash in destdir' + set +x ok 14 - bslash in destdir PASS: instspc.tap 14 - bslash in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-bslash '/h/j/w/co/automake/tests/instspc.dir/\' + test 2 -gt 0 + find build-bslash '/h/j/w/co/automake/tests/instspc.dir/\' -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-bslash '/h/j/w/co/automake/tests/instspc.dir/\' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__ampersand}' ++ test_string=3D'&' + test 'x&' '!=3D' x + mkdir './&' + for where in build dest + case $where in + build=3D'./&' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-ampersand + cd './&' + r=3Dok + ../configure --prefix '/&-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'ampersand in builddir' + expected_to_fail build ampersand + case $1 in + is_in_list ampersand squote dquote bquote sharp dollar bslash ampersand l= inefeed quadrigraph0 a_lf_b + item=3Dampersand + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'ampersand in b= uilddir' + set +x not ok 15 - ampersand in builddir # TODO long-standing limitation XFAIL: instspc.tap 15 - ampersand in builddir # TODO long-standing limitati= on + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-ampersand + dest=3D'/h/j/w/co/automake/tests/instspc.dir/&' + mkdir build-ampersand + cd build-ampersand + r=3Dok + ../configure --prefix '/&-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/&' + file=3D'./&' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-amp= ersand' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/&/&= -prefix/foo' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/&/&-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo' && ranlib libba= se.a ) test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/&/&-pref= ix/foo' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/&= /&-prefix/foo/sub/' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/&/&-pr= efix/foo/sub/' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/&/&-prefix/foo' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/&/&-prefix/foo' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/&/&-prefix/foo/sub' test -z "/&-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/&/&-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/&/&-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-ampe= rsand' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/&/./&-prefix/foo/libbase.a' + description=3D'ampersand in destdir' + expected_to_fail dest ampersand + case $1 in + is_in_list ampersand squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dampersand + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'ampersand in destdir' + set +x ok 16 - ampersand in destdir PASS: instspc.tap 16 - ampersand in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-ampersand '/h/j/w/co/automake/tests/instspc.dir/&' + test 2 -gt 0 + find build-ampersand '/h/j/w/co/automake/tests/instspc.dir/&' -type d '!'= -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-ampersand '/h/j/w/co/automake/tests/instspc.dir/&' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__percent}' ++ test_string=3D% + test x% '!=3D' x + mkdir ./% + for where in build dest + case $where in + build=3D./% + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-percent + cd ./% + r=3Dok + ../configure --prefix /%-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-percent + file=3D./% + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/%' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-percent/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-percent/%-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefix/foo' && r= anlib libbase.a ) test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-per= cent/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-percent/%-prefix/foo/sub/' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-p= ercent/%-prefix/foo/sub/' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-percent/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-percent/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-percent/%-prefix/foo/sub' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-percent/%-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-percent/%-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/%' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-percent/./%-prefix/foo= /libbase.a' + description=3D'percent in builddir' + expected_to_fail build percent + case $1 in + is_in_list percent squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Dpercent + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'percent in builddir' + set +x ok 17 - percent in builddir PASS: instspc.tap 17 - percent in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./% /h/j/w/co/automake/tests/instspc.dir/dest-percent + test 2 -gt 0 + find ./% /h/j/w/co/automake/tests/instspc.dir/dest-percent -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf ./% /h/j/w/co/automake/tests/instspc.dir/dest-percent + for where in build dest + case $where in + build=3Dbuild-percent + dest=3D/h/j/w/co/automake/tests/instspc.dir/% + mkdir build-percent + cd build-percent + r=3Dok + ../configure --prefix /%-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/% + file=3D./% + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-per= cent' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/%/%= -prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/%/%-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo' && ranlib libba= se.a ) test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/%/%-pref= ix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/%= /%-prefix/foo/sub/' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/%/%-pr= efix/foo/sub/' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/%/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/%/%-prefix/foo' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/%/%-prefix/foo/sub' test -z "/%-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/%/%-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/%/%-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-perc= ent' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/%/./%-prefix/foo/libbase.a' + description=3D'percent in destdir' + expected_to_fail dest percent + case $1 in + is_in_list percent squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dpercent + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'percent in destdir' + set +x ok 18 - percent in destdir PASS: instspc.tap 18 - percent in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-percent /h/j/w/co/automake/tests/instspc.dir/% + test 2 -gt 0 + find build-percent /h/j/w/co/automake/tests/instspc.dir/% -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-percent /h/j/w/co/automake/tests/instspc.dir/% + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__leftpar}' ++ test_string=3D'(' + test 'x(' '!=3D' x + mkdir './(' + for where in build dest + case $where in + build=3D'./(' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-leftpar + cd './(' + r=3Dok + ../configure --prefix '/(-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-leftpar + file=3D'./(' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/(' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-leftpar/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-leftpar/(-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefix/foo' && r= anlib libbase.a ) test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-lef= tpar/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-leftpar/(-prefix/foo/sub/' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-l= eftpar/(-prefix/foo/sub/' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-leftpar/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-leftpar/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-leftpar/(-prefix/foo/sub' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/(-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-leftpar/(-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/(' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-leftpar/./(-prefix/foo= /libbase.a' + description=3D'leftpar in builddir' + expected_to_fail build leftpar + case $1 in + is_in_list leftpar squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Dleftpar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'leftpar in builddir' + set +x ok 19 - leftpar in builddir PASS: instspc.tap 19 - leftpar in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './(' /h/j/w/co/automake/tests/instspc.dir/dest-leftpar + test 2 -gt 0 + find './(' /h/j/w/co/automake/tests/instspc.dir/dest-leftpar -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './(' /h/j/w/co/automake/tests/instspc.dir/dest-leftpar + for where in build dest + case $where in + build=3Dbuild-leftpar + dest=3D'/h/j/w/co/automake/tests/instspc.dir/(' + mkdir build-leftpar + cd build-leftpar + r=3Dok + ../configure --prefix '/(-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/(' + file=3D'./(' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-lef= tpar' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/(/(= -prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/(/(-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo' && ranlib libba= se.a ) test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/(/(-pref= ix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/(= /(-prefix/foo/sub/' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/(/(-pr= efix/foo/sub/' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/(/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/(/(-prefix/foo' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/(/(-prefix/foo/sub' test -z "/(-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/(/(-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/(/(-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-left= par' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/(/./(-prefix/foo/libbase.a' + description=3D'leftpar in destdir' + expected_to_fail dest leftpar + case $1 in + is_in_list leftpar squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dleftpar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'leftpar in destdir' + set +x ok 20 - leftpar in destdir PASS: instspc.tap 20 - leftpar in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-leftpar '/h/j/w/co/automake/tests/instspc.dir/(' + test 2 -gt 0 + find build-leftpar '/h/j/w/co/automake/tests/instspc.dir/(' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-leftpar '/h/j/w/co/automake/tests/instspc.dir/(' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__rightpar}' ++ test_string=3D')' + test 'x)' '!=3D' x + mkdir './)' + for where in build dest + case $where in + build=3D'./)' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-rightpar + cd './)' + r=3Dok + ../configure --prefix '/)-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-rightpar + file=3D'./)' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/)' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-rightpar/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-rightpar/)-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-prefix/foo' && = ranlib libbase.a ) test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-rig= htpar/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-pref= ix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-rightpar/)-prefix/foo/sub/' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-prefi= x/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-prefix/foo' && = ranlib sub/libnobase.a ) test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-pref= ix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-r= ightpar/)-prefix/foo/sub/' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-rightpar/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-rightpar/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-rightpar/)-prefix/foo/sub' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/)-prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-rightpar/)-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/)' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rightpar/./)-prefix/fo= o/libbase.a' + description=3D'rightpar in builddir' + expected_to_fail build rightpar + case $1 in + is_in_list rightpar squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0 a_lf_b + item=3Drightpar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rightpar in builddir' + set +x ok 21 - rightpar in builddir PASS: instspc.tap 21 - rightpar in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './)' /h/j/w/co/automake/tests/instspc.dir/dest-rightpar + test 2 -gt 0 + find './)' /h/j/w/co/automake/tests/instspc.dir/dest-rightpar -type d '!'= -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './)' /h/j/w/co/automake/tests/instspc.dir/dest-rightpar + for where in build dest + case $where in + build=3Dbuild-rightpar + dest=3D'/h/j/w/co/automake/tests/instspc.dir/)' + mkdir build-rightpar + cd build-rightpar + r=3Dok + ../configure --prefix '/)-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/)' + file=3D'./)' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-rig= htpar' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/)/)= -prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/)/)-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo' && ranlib libba= se.a ) test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/)/)-pref= ix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/)= /)-prefix/foo/sub/' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/)/)-pr= efix/foo/sub/' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/)/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/)/)-prefix/foo' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/)/)-prefix/foo/sub' test -z "/)-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/)/)-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/)/)-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-righ= tpar' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/)/./)-prefix/foo/libbase.a' + description=3D'rightpar in destdir' + expected_to_fail dest rightpar + case $1 in + is_in_list rightpar squote dquote bquote sharp dollar linefeed a_lf_b + item=3Drightpar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rightpar in destdir' + set +x ok 22 - rightpar in destdir PASS: instspc.tap 22 - rightpar in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-rightpar '/h/j/w/co/automake/tests/instspc.dir/)' + test 2 -gt 0 + find build-rightpar '/h/j/w/co/automake/tests/instspc.dir/)' -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-rightpar '/h/j/w/co/automake/tests/instspc.dir/)' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__pipe}' ++ test_string=3D'|' + test 'x|' '!=3D' x + mkdir './|' + for where in build dest + case $where in + build=3D'./|' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-pipe + cd './|' + r=3Dok + ../configure --prefix '/|-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-pipe + file=3D'./|' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/|' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-pipe/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-pipe/|-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/foo' && ranl= ib libbase.a ) test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-pip= e/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-pipe/|-prefix/foo/sub/' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-p= ipe/|-prefix/foo/sub/' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-pipe/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-pipe/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-pipe/|-prefix/foo/sub' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/|-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-pipe/|-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/|' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-pipe/./|-prefix/foo/li= bbase.a' + description=3D'pipe in builddir' + expected_to_fail build pipe + case $1 in + is_in_list pipe squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dpipe + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'pipe in builddir' + set +x ok 23 - pipe in builddir PASS: instspc.tap 23 - pipe in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './|' /h/j/w/co/automake/tests/instspc.dir/dest-pipe + test 2 -gt 0 + find './|' /h/j/w/co/automake/tests/instspc.dir/dest-pipe -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf './|' /h/j/w/co/automake/tests/instspc.dir/dest-pipe + for where in build dest + case $where in + build=3Dbuild-pipe + dest=3D'/h/j/w/co/automake/tests/instspc.dir/|' + mkdir build-pipe + cd build-pipe + r=3Dok + ../configure --prefix '/|-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/|' + file=3D'./|' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-pip= e' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/|/|= -prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/|/|-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo' && ranlib libba= se.a ) test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/|/|-pref= ix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/|= /|-prefix/foo/sub/' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/|/|-pr= efix/foo/sub/' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/|/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/|/|-prefix/foo' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/|/|-prefix/foo/sub' test -z "/|-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/|/|-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/|/|-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-pipe' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/|/./|-prefix/foo/libbase.a' + description=3D'pipe in destdir' + expected_to_fail dest pipe + case $1 in + is_in_list pipe squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dpipe + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'pipe in destdir' + set +x ok 24 - pipe in destdir PASS: instspc.tap 24 - pipe in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-pipe '/h/j/w/co/automake/tests/instspc.dir/|' + test 2 -gt 0 + find build-pipe '/h/j/w/co/automake/tests/instspc.dir/|' -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf build-pipe '/h/j/w/co/automake/tests/instspc.dir/|' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__caret}' ++ test_string=3D'^' + test 'x^' '!=3D' x + mkdir './^' + for where in build dest + case $where in + build=3D'./^' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-caret + cd './^' + r=3Dok + ../configure --prefix '/^-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-caret + file=3D'./^' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/^' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-caret/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-caret/^-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/foo' && ran= lib libbase.a ) test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-car= et/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-caret/^-prefix/foo/sub/' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-c= aret/^-prefix/foo/sub/' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-caret/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-caret/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-caret/^-prefix/foo/sub' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-caret/^-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-caret/^-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/^' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-caret/./^-prefix/foo/l= ibbase.a' + description=3D'caret in builddir' + expected_to_fail build caret + case $1 in + is_in_list caret squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dcaret + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'caret in builddir' + set +x ok 25 - caret in builddir PASS: instspc.tap 25 - caret in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './^' /h/j/w/co/automake/tests/instspc.dir/dest-caret + test 2 -gt 0 + find './^' /h/j/w/co/automake/tests/instspc.dir/dest-caret -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf './^' /h/j/w/co/automake/tests/instspc.dir/dest-caret + for where in build dest + case $where in + build=3Dbuild-caret + dest=3D'/h/j/w/co/automake/tests/instspc.dir/^' + mkdir build-caret + cd build-caret + r=3Dok + ../configure --prefix '/^-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/^' + file=3D'./^' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-car= et' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/^/^= -prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/^/^-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo' && ranlib libba= se.a ) test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/^/^-pref= ix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/^= /^-prefix/foo/sub/' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/^/^-pr= efix/foo/sub/' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/^/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/^/^-prefix/foo' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/^/^-prefix/foo/sub' test -z "/^-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/^/^-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/^/^-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-care= t' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/^/./^-prefix/foo/libbase.a' + description=3D'caret in destdir' + expected_to_fail dest caret + case $1 in + is_in_list caret squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dcaret + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'caret in destdir' + set +x ok 26 - caret in destdir PASS: instspc.tap 26 - caret in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-caret '/h/j/w/co/automake/tests/instspc.dir/^' + test 2 -gt 0 + find build-caret '/h/j/w/co/automake/tests/instspc.dir/^' -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-caret '/h/j/w/co/automake/tests/instspc.dir/^' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__tilde}' ++ test_string=3D'~' + test x~ '!=3D' x + mkdir ./~ + for where in build dest + case $where in + build=3D./~ + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-tilde + cd ./~ + r=3Dok + ../configure --prefix /~-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-tilde + file=3D./~ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/~' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-tilde/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-tilde/~-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/foo' && ran= lib libbase.a ) test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-til= de/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-tilde/~-prefix/foo/sub/' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-t= ilde/~-prefix/foo/sub/' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-tilde/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-tilde/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-tilde/~-prefix/foo/sub' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/~-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-tilde/~-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/~' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tilde/./~-prefix/foo/l= ibbase.a' + description=3D'tilde in builddir' + expected_to_fail build tilde + case $1 in + is_in_list tilde squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dtilde + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'tilde in builddir' + set +x ok 27 - tilde in builddir PASS: instspc.tap 27 - tilde in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./~ /h/j/w/co/automake/tests/instspc.dir/dest-tilde + test 2 -gt 0 + find ./~ /h/j/w/co/automake/tests/instspc.dir/dest-tilde -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf ./~ /h/j/w/co/automake/tests/instspc.dir/dest-tilde + for where in build dest + case $where in + build=3Dbuild-tilde + dest=3D/h/j/w/co/automake/tests/instspc.dir/~ + mkdir build-tilde + cd build-tilde + r=3Dok + ../configure --prefix /~-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/~ + file=3D./~ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-til= de' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/~/~= -prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/~/~-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo' && ranlib libba= se.a ) test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/~/~-pref= ix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/~= /~-prefix/foo/sub/' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/~/~-pr= efix/foo/sub/' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/~/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/~/~-prefix/foo' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/~/~-prefix/foo/sub' test -z "/~-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/~/~-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/~/~-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-tild= e' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/~/./~-prefix/foo/libbase.a' + description=3D'tilde in destdir' + expected_to_fail dest tilde + case $1 in + is_in_list tilde squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dtilde + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'tilde in destdir' + set +x ok 28 - tilde in destdir PASS: instspc.tap 28 - tilde in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-tilde /h/j/w/co/automake/tests/instspc.dir/~ + test 2 -gt 0 + find build-tilde /h/j/w/co/automake/tests/instspc.dir/~ -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf build-tilde /h/j/w/co/automake/tests/instspc.dir/~ + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__qmark}' ++ test_string=3D'?' + test 'x?' '!=3D' x + mkdir './?' + for where in build dest + case $where in + build=3D'./?' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-qmark + cd './?' + r=3Dok + ../configure --prefix '/?-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-qmark + file=3D'./?' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/?' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-qmark/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-qmark/?-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/foo' && ran= lib libbase.a ) test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-qma= rk/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-qmark/?-prefix/foo/sub/' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-q= mark/?-prefix/foo/sub/' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-qmark/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-qmark/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-qmark/?-prefix/foo/sub' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/?-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-qmark/?-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/?' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-qmark/./?-prefix/foo/l= ibbase.a' + description=3D'qmark in builddir' + expected_to_fail build qmark + case $1 in + is_in_list qmark squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dqmark + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'qmark in builddir' + set +x ok 29 - qmark in builddir PASS: instspc.tap 29 - qmark in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './?' /h/j/w/co/automake/tests/instspc.dir/dest-qmark + test 2 -gt 0 + find './?' /h/j/w/co/automake/tests/instspc.dir/dest-qmark -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf './?' /h/j/w/co/automake/tests/instspc.dir/dest-qmark + for where in build dest + case $where in + build=3Dbuild-qmark + dest=3D'/h/j/w/co/automake/tests/instspc.dir/?' + mkdir build-qmark + cd build-qmark + r=3Dok + ../configure --prefix '/?-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/?' + file=3D'./?' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qma= rk' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/?/?= -prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/?/?-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo' && ranlib libba= se.a ) test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/?/?-pref= ix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/?= /?-prefix/foo/sub/' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/?/?-pr= efix/foo/sub/' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/?/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/?/?-prefix/foo' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/?/?-prefix/foo/sub' test -z "/?-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?/?-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/?/?-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-qmar= k' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/?/./?-prefix/foo/libbase.a' + description=3D'qmark in destdir' + expected_to_fail dest qmark + case $1 in + is_in_list qmark squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dqmark + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'qmark in destdir' + set +x ok 30 - qmark in destdir PASS: instspc.tap 30 - qmark in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-qmark '/h/j/w/co/automake/tests/instspc.dir/?' + test 2 -gt 0 + find build-qmark '/h/j/w/co/automake/tests/instspc.dir/?' -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-qmark '/h/j/w/co/automake/tests/instspc.dir/?' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__star}' ++ test_string=3D'*' + test 'x*' '!=3D' x + mkdir './*' + for where in build dest + case $where in + build=3D'./*' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-star + cd './*' + r=3Dok + ../configure --prefix '/*-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-star + file=3D'./*' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/*' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-star/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-star/*-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/foo' && ranl= ib libbase.a ) test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-sta= r/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-star/*-prefix/foo/sub/' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-s= tar/*-prefix/foo/sub/' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-star/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-star/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-star/*-prefix/foo/sub' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-star/*-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-star/*-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/*' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-star/./*-prefix/foo/li= bbase.a' + description=3D'star in builddir' + expected_to_fail build star + case $1 in + is_in_list star squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dstar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'star in builddir' + set +x ok 31 - star in builddir PASS: instspc.tap 31 - star in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './*' /h/j/w/co/automake/tests/instspc.dir/dest-star + test 2 -gt 0 + find './*' /h/j/w/co/automake/tests/instspc.dir/dest-star -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf './*' /h/j/w/co/automake/tests/instspc.dir/dest-star + for where in build dest + case $where in + build=3Dbuild-star + dest=3D'/h/j/w/co/automake/tests/instspc.dir/*' + mkdir build-star + cd build-star + r=3Dok + ../configure --prefix '/*-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/*' + file=3D'./*' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-sta= r' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/*/*= -prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/*/*-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo' && ranlib libba= se.a ) test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/*/*-pref= ix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/*= /*-prefix/foo/sub/' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/*/*-pr= efix/foo/sub/' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/*/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/*/*-prefix/foo' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/*/*-prefix/foo/sub' test -z "/*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/*/*-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/*/*-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-star' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/*/./*-prefix/foo/libbase.a' + description=3D'star in destdir' + expected_to_fail dest star + case $1 in + is_in_list star squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dstar + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'star in destdir' + set +x ok 32 - star in destdir PASS: instspc.tap 32 - star in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-star '/h/j/w/co/automake/tests/instspc.dir/*' + test 2 -gt 0 + find build-star '/h/j/w/co/automake/tests/instspc.dir/*' -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf build-star '/h/j/w/co/automake/tests/instspc.dir/*' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__plus}' ++ test_string=3D+ + test x+ '!=3D' x + mkdir ./+ + for where in build dest + case $where in + build=3D./+ + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-plus + cd ./+ + r=3Dok + ../configure --prefix /+-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-plus + file=3D./+ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/+' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-plus/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-plus/+-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/foo' && ranl= ib libbase.a ) test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-plu= s/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-plus/+-prefix/foo/sub/' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-p= lus/+-prefix/foo/sub/' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-plus/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-plus/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-plus/+-prefix/foo/sub' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-plus/+-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-plus/+-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/+' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-plus/./+-prefix/foo/li= bbase.a' + description=3D'plus in builddir' + expected_to_fail build plus + case $1 in + is_in_list plus squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dplus + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'plus in builddir' + set +x ok 33 - plus in builddir PASS: instspc.tap 33 - plus in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./+ /h/j/w/co/automake/tests/instspc.dir/dest-plus + test 2 -gt 0 + find ./+ /h/j/w/co/automake/tests/instspc.dir/dest-plus -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf ./+ /h/j/w/co/automake/tests/instspc.dir/dest-plus + for where in build dest + case $where in + build=3Dbuild-plus + dest=3D/h/j/w/co/automake/tests/instspc.dir/+ + mkdir build-plus + cd build-plus + r=3Dok + ../configure --prefix /+-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/+ + file=3D./+ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-plu= s' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/+/+= -prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/+/+-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo' && ranlib libba= se.a ) test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/+/+-pref= ix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/+= /+-prefix/foo/sub/' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/+/+-pr= efix/foo/sub/' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/+/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/+/+-prefix/foo' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/+/+-prefix/foo/sub' test -z "/+-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/+/+-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/+/+-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-plus' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/+/./+-prefix/foo/libbase.a' + description=3D'plus in destdir' + expected_to_fail dest plus + case $1 in + is_in_list plus squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dplus + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'plus in destdir' + set +x ok 34 - plus in destdir PASS: instspc.tap 34 - plus in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-plus /h/j/w/co/automake/tests/instspc.dir/+ + test 2 -gt 0 + find build-plus /h/j/w/co/automake/tests/instspc.dir/+ -type d '!' -perm = -700 -exec chmod u+rwx '{}' ';' + rm -rf build-plus /h/j/w/co/automake/tests/instspc.dir/+ + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__minus}' ++ test_string=3D- + test x- '!=3D' x + mkdir ./- + for where in build dest + case $where in + build=3D./- + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-minus + cd ./- + r=3Dok + ../configure --prefix /--prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-minus + file=3D./- + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/-' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-minus/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-minus/--prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/foo' && ran= lib libbase.a ) test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-min= us/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-minus/--prefix/foo/sub/' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/foo' && ran= lib sub/libnobase.a ) test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-m= inus/--prefix/foo/sub/' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-minus/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-minus/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-minus/--prefix/foo/sub' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-minus/--prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-minus/--prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/-' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-minus/./--prefix/foo/l= ibbase.a' + description=3D'minus in builddir' + expected_to_fail build minus + case $1 in + is_in_list minus squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dminus + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'minus in builddir' + set +x ok 35 - minus in builddir PASS: instspc.tap 35 - minus in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./- /h/j/w/co/automake/tests/instspc.dir/dest-minus + test 2 -gt 0 + find ./- /h/j/w/co/automake/tests/instspc.dir/dest-minus -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf ./- /h/j/w/co/automake/tests/instspc.dir/dest-minus + for where in build dest + case $where in + build=3Dbuild-minus + dest=3D/h/j/w/co/automake/tests/instspc.dir/- + mkdir build-minus + cd build-minus + r=3Dok + ../configure --prefix /--prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/- + file=3D./- + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-min= us' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/-/-= -prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/-/--prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo' && ranlib libba= se.a ) test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/-/--pref= ix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/-= /--prefix/foo/sub/' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/-/--pr= efix/foo/sub/' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/-/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/-/--prefix/foo' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/-/--prefix/foo/sub' test -z "/--prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/-/--prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/-/--prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-minu= s' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/-/./--prefix/foo/libbase.a' + description=3D'minus in destdir' + expected_to_fail dest minus + case $1 in + is_in_list minus squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dminus + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'minus in destdir' + set +x ok 36 - minus in destdir PASS: instspc.tap 36 - minus in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-minus /h/j/w/co/automake/tests/instspc.dir/- + test 2 -gt 0 + find build-minus /h/j/w/co/automake/tests/instspc.dir/- -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf build-minus /h/j/w/co/automake/tests/instspc.dir/- + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__comma}' ++ test_string=3D, + test x, '!=3D' x + mkdir ./, + for where in build dest + case $where in + build=3D./, + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-comma + cd ./, + r=3Dok + ../configure --prefix /,-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-comma + file=3D./, + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/,' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-comma/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-comma/,-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/foo' && ran= lib libbase.a ) test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-com= ma/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-comma/,-prefix/foo/sub/' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-c= omma/,-prefix/foo/sub/' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-comma/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-comma/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-comma/,-prefix/foo/sub' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-comma/,-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-comma/,-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/,' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-comma/./,-prefix/foo/l= ibbase.a' + description=3D'comma in builddir' + expected_to_fail build comma + case $1 in + is_in_list comma squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dcomma + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'comma in builddir' + set +x ok 37 - comma in builddir PASS: instspc.tap 37 - comma in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./, /h/j/w/co/automake/tests/instspc.dir/dest-comma + test 2 -gt 0 + find ./, /h/j/w/co/automake/tests/instspc.dir/dest-comma -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf ./, /h/j/w/co/automake/tests/instspc.dir/dest-comma + for where in build dest + case $where in + build=3Dbuild-comma + dest=3D/h/j/w/co/automake/tests/instspc.dir/, + mkdir build-comma + cd build-comma + r=3Dok + ../configure --prefix /,-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/, + file=3D./, + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-com= ma' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/,/,= -prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/,/,-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo' && ranlib libba= se.a ) test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/,/,-pref= ix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/,= /,-prefix/foo/sub/' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/,/,-pr= efix/foo/sub/' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/,/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/,/,-prefix/foo' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/,/,-prefix/foo/sub' test -z "/,-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/,/,-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/,/,-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-comm= a' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/,/./,-prefix/foo/libbase.a' + description=3D'comma in destdir' + expected_to_fail dest comma + case $1 in + is_in_list comma squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dcomma + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'comma in destdir' + set +x ok 38 - comma in destdir PASS: instspc.tap 38 - comma in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-comma /h/j/w/co/automake/tests/instspc.dir/, + test 2 -gt 0 + find build-comma /h/j/w/co/automake/tests/instspc.dir/, -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf build-comma /h/j/w/co/automake/tests/instspc.dir/, + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__colon}' ++ test_string=3D: + test x: '!=3D' x + mkdir ./: + for where in build dest + case $where in + build=3D./: + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-colon + cd ./: + r=3Dok + ../configure --prefix /:-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-colon + file=3D./: + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/:' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-colon/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-colon/:-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/foo' && ran= lib libbase.a ) test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-col= on/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-colon/:-prefix/foo/sub/' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-c= olon/:-prefix/foo/sub/' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-colon/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-colon/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-colon/:-prefix/foo/sub' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-colon/:-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-colon/:-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/:' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-colon/./:-prefix/foo/l= ibbase.a' + description=3D'colon in builddir' + expected_to_fail build colon + case $1 in + is_in_list colon squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dcolon + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'colon in builddir' + set +x ok 39 - colon in builddir PASS: instspc.tap 39 - colon in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./: /h/j/w/co/automake/tests/instspc.dir/dest-colon + test 2 -gt 0 + find ./: /h/j/w/co/automake/tests/instspc.dir/dest-colon -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf ./: /h/j/w/co/automake/tests/instspc.dir/dest-colon + for where in build dest + case $where in + build=3Dbuild-colon + dest=3D/h/j/w/co/automake/tests/instspc.dir/: + mkdir build-colon + cd build-colon + r=3Dok + ../configure --prefix /:-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/: + file=3D./: + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-col= on' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/:/:= -prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/:/:-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo' && ranlib libba= se.a ) test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/:/:-pref= ix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/:= /:-prefix/foo/sub/' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/:/:-pr= efix/foo/sub/' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/:/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/:/:-prefix/foo' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/:/:-prefix/foo/sub' test -z "/:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/:/:-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/:/:-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-colo= n' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/:/./:-prefix/foo/libbase.a' + description=3D'colon in destdir' + expected_to_fail dest colon + case $1 in + is_in_list colon squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dcolon + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'colon in destdir' + set +x ok 40 - colon in destdir PASS: instspc.tap 40 - colon in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-colon /h/j/w/co/automake/tests/instspc.dir/: + test 2 -gt 0 + find build-colon /h/j/w/co/automake/tests/instspc.dir/: -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf build-colon /h/j/w/co/automake/tests/instspc.dir/: + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__semicol}' ++ test_string=3D';' + test 'x;' '!=3D' x + mkdir './;' + for where in build dest + case $where in + build=3D'./;' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-semicol + cd './;' + r=3Dok + ../configure --prefix '/;-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-semicol + file=3D'./;' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/;' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-semicol/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-semicol/;-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefix/foo' && r= anlib libbase.a ) test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-sem= icol/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-semicol/;-prefix/foo/sub/' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-s= emicol/;-prefix/foo/sub/' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-semicol/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-semicol/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-semicol/;-prefix/foo/sub' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/;-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-semicol/;-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/;' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-semicol/./;-prefix/foo= /libbase.a' + description=3D'semicol in builddir' + expected_to_fail build semicol + case $1 in + is_in_list semicol squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Dsemicol + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'semicol in builddir' + set +x ok 41 - semicol in builddir PASS: instspc.tap 41 - semicol in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './;' /h/j/w/co/automake/tests/instspc.dir/dest-semicol + test 2 -gt 0 + find './;' /h/j/w/co/automake/tests/instspc.dir/dest-semicol -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './;' /h/j/w/co/automake/tests/instspc.dir/dest-semicol + for where in build dest + case $where in + build=3Dbuild-semicol + dest=3D'/h/j/w/co/automake/tests/instspc.dir/;' + mkdir build-semicol + cd build-semicol + r=3Dok + ../configure --prefix '/;-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/;' + file=3D'./;' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-sem= icol' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/;/;= -prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/;/;-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo' && ranlib libba= se.a ) test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/;/;-pref= ix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/;= /;-prefix/foo/sub/' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/;/;-pr= efix/foo/sub/' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/;/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/;/;-prefix/foo' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/;/;-prefix/foo/sub' test -z "/;-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/;/;-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/;/;-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-semi= col' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/;/./;-prefix/foo/libbase.a' + description=3D'semicol in destdir' + expected_to_fail dest semicol + case $1 in + is_in_list semicol squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dsemicol + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'semicol in destdir' + set +x ok 42 - semicol in destdir PASS: instspc.tap 42 - semicol in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-semicol '/h/j/w/co/automake/tests/instspc.dir/;' + test 2 -gt 0 + find build-semicol '/h/j/w/co/automake/tests/instspc.dir/;' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-semicol '/h/j/w/co/automake/tests/instspc.dir/;' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__equal}' ++ test_string=3D=3D + test x=3D '!=3D' x + mkdir ./=3D + for where in build dest + case $where in + build=3D./=3D + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-equal + cd ./=3D + r=3Dok + ../configure --prefix /=3D-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-equal + file=3D./=3D + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/=3D' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-equal/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-equal/=3D-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefix/foo' && r= anlib libbase.a ) test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-equ= al/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-equal/=3D-prefix/foo/sub/' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-equal/=3D-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-e= qual/=3D-prefix/foo/sub/' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-equal/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-equal/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo/sub' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-equal/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-equal/=3D-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-equal/=3D-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/=3D' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-equal/./=3D-prefix/foo= /libbase.a' + description=3D'equal in builddir' + expected_to_fail build equal + case $1 in + is_in_list equal squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dequal + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'equal in builddir' + set +x ok 43 - equal in builddir PASS: instspc.tap 43 - equal in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./=3D /h/j/w/co/automake/tests/instspc.dir/dest-equal + test 2 -gt 0 + find ./=3D /h/j/w/co/automake/tests/instspc.dir/dest-equal -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf ./=3D /h/j/w/co/automake/tests/instspc.dir/dest-equal + for where in build dest + case $where in + build=3Dbuild-equal + dest=3D/h/j/w/co/automake/tests/instspc.dir/=3D + mkdir build-equal + cd build-equal + r=3Dok + ../configure --prefix /=3D-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/=3D + file=3D./=3D + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-equ= al' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/=3D= /=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/=3D/=3D-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo' && ranlib l= ibbase.a ) test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-= prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo/s= ub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/= =3D/=3D-prefix/foo/sub/' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo/su= b' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/=3D/=3D-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo' && ranlib s= ub/libnobase.a ) test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo/s= ub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/=3D/= =3D-prefix/foo/sub/' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/=3D/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/=3D/=3D-prefix/foo' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo/sub' test -z "/=3D-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/=3D/=3D-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/=3D/=3D-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/=3D/=3D-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-equa= l' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/sub/no= base.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/nobase= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/sub/no= base.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/nobase= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/base.d= at' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/sub/no= base.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/nobase= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/base.s= h' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/sub/no= base' test ! -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/sub/li= bnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/libnob= ase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/=3D/./=3D-prefix/foo/libbas= e.a' + description=3D'equal in destdir' + expected_to_fail dest equal + case $1 in + is_in_list equal squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dequal + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'equal in destdir' + set +x ok 44 - equal in destdir PASS: instspc.tap 44 - equal in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-equal /h/j/w/co/automake/tests/instspc.dir/=3D + test 2 -gt 0 + find build-equal /h/j/w/co/automake/tests/instspc.dir/=3D -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-equal /h/j/w/co/automake/tests/instspc.dir/=3D + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__less}' ++ test_string=3D'<' + test 'x<' '!=3D' x + mkdir './<' + for where in build dest + case $where in + build=3D'./<' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-less + cd './<' + r=3Dok + ../configure --prefix '/<-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-less + file=3D'./<' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/<' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-less/<-prefix/foo' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-less/<-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/foo' && ranl= ib libbase.a ) test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-les= s/<-prefix/foo' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-less/<-prefix/foo/sub/' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-l= ess/<-prefix/foo/sub/' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-less/<-prefix/foo' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-less/<-prefix/foo' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-less/<-prefix/foo/sub' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-less/<-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-less/<-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/<' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-less/./<-prefix/foo/li= bbase.a' + description=3D'less in builddir' + expected_to_fail build less + case $1 in + is_in_list less squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dless + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'less in builddir' + set +x ok 45 - less in builddir PASS: instspc.tap 45 - less in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './<' /h/j/w/co/automake/tests/instspc.dir/dest-less + test 2 -gt 0 + find './<' /h/j/w/co/automake/tests/instspc.dir/dest-less -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf './<' /h/j/w/co/automake/tests/instspc.dir/dest-less + for where in build dest + case $where in + build=3Dbuild-less + dest=3D'/h/j/w/co/automake/tests/instspc.dir/<' + mkdir build-less + cd build-less + r=3Dok + ../configure --prefix '/<-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/<' + file=3D'./<' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-les= s' test -z "/<-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/' + test 'x>' '!=3D' x + mkdir './>' + for where in build dest + case $where in + build=3D'./>' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-more + cd './>' + r=3Dok + ../configure --prefix '/>-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-more + file=3D'./>' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/>' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-more/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-more/>-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/foo' && ranl= ib libbase.a ) test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-mor= e/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/f= oo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-more/>-prefix/foo/sub/' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/fo= o/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/foo' && ranl= ib sub/libnobase.a ) test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/f= oo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-m= ore/>-prefix/foo/sub/' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-more/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-more/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-more/>-prefix/foo/sub' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-more/>-prefix/fo= o/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-more/>-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/>' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/su= b/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/no= base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/ba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/su= b/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/no= base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/ba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/su= b/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/no= base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/ba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/su= b/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/no= base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/ba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/su= b/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/li= bnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-more/./>-prefix/foo/li= bbase.a' + description=3D'more in builddir' + expected_to_fail build more + case $1 in + is_in_list more squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Dmore + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'more in builddir' + set +x ok 47 - more in builddir PASS: instspc.tap 47 - more in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './>' /h/j/w/co/automake/tests/instspc.dir/dest-more + test 2 -gt 0 + find './>' /h/j/w/co/automake/tests/instspc.dir/dest-more -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf './>' /h/j/w/co/automake/tests/instspc.dir/dest-more + for where in build dest + case $where in + build=3Dbuild-more + dest=3D'/h/j/w/co/automake/tests/instspc.dir/>' + mkdir build-more + cd build-more + r=3Dok + ../configure --prefix '/>-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/>' + file=3D'./>' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-mor= e' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/>/>= -prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/>/>-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo' && ranlib libba= se.a ) test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/>/>-pref= ix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/>= />-prefix/foo/sub/' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/>/>-pr= efix/foo/sub/' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/>/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/>/>-prefix/foo' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/>/>-prefix/foo/sub' test -z "/>-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/>/>-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/>/>-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-more' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/>/./>-prefix/foo/libbase.a' + description=3D'more in destdir' + expected_to_fail dest more + case $1 in + is_in_list more squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dmore + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'more in destdir' + set +x ok 48 - more in destdir PASS: instspc.tap 48 - more in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-more '/h/j/w/co/automake/tests/instspc.dir/>' + test 2 -gt 0 + find build-more '/h/j/w/co/automake/tests/instspc.dir/>' -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf build-more '/h/j/w/co/automake/tests/instspc.dir/>' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__at}' ++ test_string=3D@ + test x@ '!=3D' x + mkdir ./@ + for where in build dest + case $where in + build=3D./@ + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-at + cd ./@ + r=3Dok + ../configure --prefix /@-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-at + file=3D./@ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/@' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-at/@-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-at/@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo' && ranlib= libbase.a ) test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-at/= @-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-at/@-prefix/foo/sub/' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-a= t/@-prefix/foo/sub/' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-at/@-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-at/@-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-at/@-prefix/foo/sub' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-at/@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-at/@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/@' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-at/./@-prefix/foo/libb= ase.a' + description=3D'at in builddir' + expected_to_fail build at + case $1 in + is_in_list at squote dquote bquote sharp dollar bslash ampersand linefeed= quadrigraph0 a_lf_b + item=3Dat + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'at in builddir' + set +x ok 49 - at in builddir PASS: instspc.tap 49 - at in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./@ /h/j/w/co/automake/tests/instspc.dir/dest-at + test 2 -gt 0 + find ./@ /h/j/w/co/automake/tests/instspc.dir/dest-at -type d '!' -perm -= 700 -exec chmod u+rwx '{}' ';' + rm -rf ./@ /h/j/w/co/automake/tests/instspc.dir/dest-at + for where in build dest + case $where in + build=3Dbuild-at + dest=3D/h/j/w/co/automake/tests/instspc.dir/@ + mkdir build-at + cd build-at + r=3Dok + ../configure --prefix /@-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/@ + file=3D./@ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-at' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@/@= -prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@/@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo' && ranlib libba= se.a ) test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@/@-pref= ix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= /@-prefix/foo/sub/' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@/@-pr= efix/foo/sub/' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@/@-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@/@-prefix/foo' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@/@-prefix/foo/sub' test -z "/@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@/@-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@/@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-at' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/@/./@-prefix/foo/libbase.a' + description=3D'at in destdir' + expected_to_fail dest at + case $1 in + is_in_list at squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dat + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'at in destdir' + set +x ok 50 - at in destdir PASS: instspc.tap 50 - at in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-at /h/j/w/co/automake/tests/instspc.dir/@ + test 2 -gt 0 + find build-at /h/j/w/co/automake/tests/instspc.dir/@ -type d '!' -perm -7= 00 -exec chmod u+rwx '{}' ';' + rm -rf build-at /h/j/w/co/automake/tests/instspc.dir/@ + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__lqbrack}' ++ test_string=3D'[' + test 'x[' '!=3D' x + mkdir './[' + for where in build dest + case $where in + build=3D'./[' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack + cd './[' + r=3Dok + ../configure --prefix '/[-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack + file=3D'./[' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/[' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-lqbrack/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-lqbrack/[-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefix/foo' && r= anlib libbase.a ) test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-lqb= rack/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-lqbrack/[-prefix/foo/sub/' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-l= qbrack/[-prefix/foo/sub/' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-lqbrack/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-lqbrack/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-lqbrack/[-prefix/foo/sub' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/[-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-lqbrack/[-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/[' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lqbrack/./[-prefix/foo= /libbase.a' + description=3D'lqbrack in builddir' + expected_to_fail build lqbrack + case $1 in + is_in_list lqbrack squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Dlqbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'lqbrack in builddir' + set +x ok 51 - lqbrack in builddir PASS: instspc.tap 51 - lqbrack in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './[' /h/j/w/co/automake/tests/instspc.dir/dest-lqbrack + test 2 -gt 0 + find './[' /h/j/w/co/automake/tests/instspc.dir/dest-lqbrack -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './[' /h/j/w/co/automake/tests/instspc.dir/dest-lqbrack + for where in build dest + case $where in + build=3Dbuild-lqbrack + dest=3D'/h/j/w/co/automake/tests/instspc.dir/[' + mkdir build-lqbrack + cd build-lqbrack + r=3Dok + ../configure --prefix '/[-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/[' + file=3D'./[' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-lqb= rack' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/[/[= -prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/[/[-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo' && ranlib libba= se.a ) test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/[/[-pref= ix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/[= /[-prefix/foo/sub/' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/[/[-pr= efix/foo/sub/' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/[/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/[/[-prefix/foo' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/[/[-prefix/foo/sub' test -z "/[-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/[/[-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/[/[-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-lqbr= ack' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/[/./[-prefix/foo/libbase.a' + description=3D'lqbrack in destdir' + expected_to_fail dest lqbrack + case $1 in + is_in_list lqbrack squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dlqbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'lqbrack in destdir' + set +x ok 52 - lqbrack in destdir PASS: instspc.tap 52 - lqbrack in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-lqbrack '/h/j/w/co/automake/tests/instspc.dir/[' + test 2 -gt 0 + find build-lqbrack '/h/j/w/co/automake/tests/instspc.dir/[' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-lqbrack '/h/j/w/co/automake/tests/instspc.dir/[' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__rqbrack}' ++ test_string=3D']' + test 'x]' '!=3D' x + mkdir './]' + for where in build dest + case $where in + build=3D'./]' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack + cd './]' + r=3Dok + ../configure --prefix '/]-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack + file=3D'./]' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/]' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-rqbrack/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-rqbrack/]-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefix/foo' && r= anlib libbase.a ) test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-rqb= rack/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-rqbrack/]-prefix/foo/sub/' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-r= qbrack/]-prefix/foo/sub/' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-rqbrack/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-rqbrack/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-rqbrack/]-prefix/foo/sub' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/]-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-rqbrack/]-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/]' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rqbrack/./]-prefix/foo= /libbase.a' + description=3D'rqbrack in builddir' + expected_to_fail build rqbrack + case $1 in + is_in_list rqbrack squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Drqbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rqbrack in builddir' + set +x ok 53 - rqbrack in builddir PASS: instspc.tap 53 - rqbrack in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './]' /h/j/w/co/automake/tests/instspc.dir/dest-rqbrack + test 2 -gt 0 + find './]' /h/j/w/co/automake/tests/instspc.dir/dest-rqbrack -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './]' /h/j/w/co/automake/tests/instspc.dir/dest-rqbrack + for where in build dest + case $where in + build=3Dbuild-rqbrack + dest=3D'/h/j/w/co/automake/tests/instspc.dir/]' + mkdir build-rqbrack + cd build-rqbrack + r=3Dok + ../configure --prefix '/]-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/]' + file=3D'./]' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-rqb= rack' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/]/]= -prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/]/]-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo' && ranlib libba= se.a ) test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/]/]-pref= ix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/]= /]-prefix/foo/sub/' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/]/]-pr= efix/foo/sub/' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/]/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/]/]-prefix/foo' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/]/]-prefix/foo/sub' test -z "/]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/]/]-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/]/]-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-rqbr= ack' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/]/./]-prefix/foo/libbase.a' + description=3D'rqbrack in destdir' + expected_to_fail dest rqbrack + case $1 in + is_in_list rqbrack squote dquote bquote sharp dollar linefeed a_lf_b + item=3Drqbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rqbrack in destdir' + set +x ok 54 - rqbrack in destdir PASS: instspc.tap 54 - rqbrack in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-rqbrack '/h/j/w/co/automake/tests/instspc.dir/]' + test 2 -gt 0 + find build-rqbrack '/h/j/w/co/automake/tests/instspc.dir/]' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-rqbrack '/h/j/w/co/automake/tests/instspc.dir/]' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__lcbrack}' ++ test_string=3D'{' + test 'x{' '!=3D' x + mkdir './{' + for where in build dest + case $where in + build=3D'./{' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack + cd './{' + r=3Dok + ../configure --prefix '/{-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack + file=3D'./{' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/{' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-lcbrack/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-lcbrack/{-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefix/foo' && r= anlib libbase.a ) test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-lcb= rack/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-lcbrack/{-prefix/foo/sub/' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-l= cbrack/{-prefix/foo/sub/' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-lcbrack/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-lcbrack/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-lcbrack/{-prefix/foo/sub' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/{-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-lcbrack/{-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/{' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-lcbrack/./{-prefix/foo= /libbase.a' + description=3D'lcbrack in builddir' + expected_to_fail build lcbrack + case $1 in + is_in_list lcbrack squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Dlcbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'lcbrack in builddir' + set +x ok 55 - lcbrack in builddir PASS: instspc.tap 55 - lcbrack in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './{' /h/j/w/co/automake/tests/instspc.dir/dest-lcbrack + test 2 -gt 0 + find './{' /h/j/w/co/automake/tests/instspc.dir/dest-lcbrack -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './{' /h/j/w/co/automake/tests/instspc.dir/dest-lcbrack + for where in build dest + case $where in + build=3Dbuild-lcbrack + dest=3D'/h/j/w/co/automake/tests/instspc.dir/{' + mkdir build-lcbrack + cd build-lcbrack + r=3Dok + ../configure --prefix '/{-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/{' + file=3D'./{' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-lcb= rack' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/{/{= -prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/{/{-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo' && ranlib libba= se.a ) test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/{/{-pref= ix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/{= /{-prefix/foo/sub/' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/{/{-pr= efix/foo/sub/' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/{/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/{/{-prefix/foo' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/{/{-prefix/foo/sub' test -z "/{-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/{/{-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/{/{-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-lcbr= ack' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/{/./{-prefix/foo/libbase.a' + description=3D'lcbrack in destdir' + expected_to_fail dest lcbrack + case $1 in + is_in_list lcbrack squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dlcbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'lcbrack in destdir' + set +x ok 56 - lcbrack in destdir PASS: instspc.tap 56 - lcbrack in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-lcbrack '/h/j/w/co/automake/tests/instspc.dir/{' + test 2 -gt 0 + find build-lcbrack '/h/j/w/co/automake/tests/instspc.dir/{' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-lcbrack '/h/j/w/co/automake/tests/instspc.dir/{' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__rcbrack}' ++ test_string=3D'}' + test 'x}' '!=3D' x + mkdir './}' + for where in build dest + case $where in + build=3D'./}' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack + cd './}' + r=3Dok + ../configure --prefix '/}-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack + file=3D'./}' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/}' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-rcbrack/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-rcbrack/}-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefix/foo' && r= anlib libbase.a ) test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-rcb= rack/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-rcbrack/}-prefix/foo/sub/' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-r= cbrack/}-prefix/foo/sub/' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-rcbrack/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-rcbrack/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-rcbrack/}-prefix/foo/sub' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/}-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-rcbrack/}-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/}' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-rcbrack/./}-prefix/foo= /libbase.a' + description=3D'rcbrack in builddir' + expected_to_fail build rcbrack + case $1 in + is_in_list rcbrack squote dquote bquote sharp dollar bslash ampersand lin= efeed quadrigraph0 a_lf_b + item=3Drcbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rcbrack in builddir' + set +x ok 57 - rcbrack in builddir PASS: instspc.tap 57 - rcbrack in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './}' /h/j/w/co/automake/tests/instspc.dir/dest-rcbrack + test 2 -gt 0 + find './}' /h/j/w/co/automake/tests/instspc.dir/dest-rcbrack -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './}' /h/j/w/co/automake/tests/instspc.dir/dest-rcbrack + for where in build dest + case $where in + build=3Dbuild-rcbrack + dest=3D'/h/j/w/co/automake/tests/instspc.dir/}' + mkdir build-rcbrack + cd build-rcbrack + r=3Dok + ../configure --prefix '/}-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/}' + file=3D'./}' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-rcb= rack' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/}/}= -prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/}/}-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo' && ranlib libba= se.a ) test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/}/}-pref= ix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/}= /}-prefix/foo/sub/' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/}/}-pr= efix/foo/sub/' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/}/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/}/}-prefix/foo' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/}/}-prefix/foo/sub' test -z "/}-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/}/}-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/}/}-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-rcbr= ack' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/}/./}-prefix/foo/libbase.a' + description=3D'rcbrack in destdir' + expected_to_fail dest rcbrack + case $1 in + is_in_list rcbrack squote dquote bquote sharp dollar linefeed a_lf_b + item=3Drcbrack + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'rcbrack in destdir' + set +x ok 58 - rcbrack in destdir PASS: instspc.tap 58 - rcbrack in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-rcbrack '/h/j/w/co/automake/tests/instspc.dir/}' + test 2 -gt 0 + find build-rcbrack '/h/j/w/co/automake/tests/instspc.dir/}' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-rcbrack '/h/j/w/co/automake/tests/instspc.dir/}' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__space}' ++ test_string=3D' ' + test 'x ' '!=3D' x + mkdir './ ' + for where in build dest + case $where in + build=3D'./ ' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-space + cd './ ' + r=3Dok + ../configure --prefix '/ -prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-space + file=3D'./ ' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-space/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-space/ -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/foo' && ran= lib libbase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-spa= ce/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-space/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/foo' && ran= lib sub/libnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-s= pace/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-space/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-space/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-space/ -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-space/ -prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-space/ -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-space/./ -prefix/foo/l= ibbase.a' + description=3D'space in builddir' + expected_to_fail build space + case $1 in + is_in_list space squote dquote bquote sharp dollar bslash ampersand linef= eed quadrigraph0 a_lf_b + item=3Dspace + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'space in builddir' + set +x ok 59 - space in builddir PASS: instspc.tap 59 - space in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './ ' /h/j/w/co/automake/tests/instspc.dir/dest-space + test 2 -gt 0 + find './ ' /h/j/w/co/automake/tests/instspc.dir/dest-space -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf './ ' /h/j/w/co/automake/tests/instspc.dir/dest-space + for where in build dest + case $where in + build=3Dbuild-space + dest=3D'/h/j/w/co/automake/tests/instspc.dir/ ' + mkdir build-space + cd build-space + r=3Dok + ../configure --prefix '/ -prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/ ' + file=3D'./ ' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-spa= ce' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/ / = -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/ / -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib libba= se.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/ / -pref= ix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/ = / -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/ / -pr= efix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/ / -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-spac= e' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libbase.a' + description=3D'space in destdir' + expected_to_fail dest space + case $1 in + is_in_list space squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dspace + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'space in destdir' + set +x ok 60 - space in destdir PASS: instspc.tap 60 - space in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-space '/h/j/w/co/automake/tests/instspc.dir/ ' + test 2 -gt 0 + find build-space '/h/j/w/co/automake/tests/instspc.dir/ ' -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-space '/h/j/w/co/automake/tests/instspc.dir/ ' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__tab}' ++ test_string=3D' ' + test 'x ' '!=3D' x + mkdir './ ' + for where in build dest + case $where in + build=3D'./ ' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-tab + cd './ ' + r=3Dok + ../configure --prefix '/ -prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-tab + file=3D'./ ' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-tab/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-tab/ -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/foo' && ranli= b libbase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-tab= / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/fo= o/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-tab/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/foo= /sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/foo' && ranli= b sub/libnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/fo= o/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-t= ab/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-tab/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-tab/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/foo= /sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-tab/ -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-tab/ -prefix/foo= /sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-tab/ -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/sub= /nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/nob= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/bas= e.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/sub= /nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/nob= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/bas= e.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/sub= /nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/nob= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/bas= e.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/sub= /nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/nob= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/bas= e' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/sub= /libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/lib= nobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-tab/./ -prefix/foo/lib= base.a' + description=3D'tab in builddir' + expected_to_fail build tab + case $1 in + is_in_list tab squote dquote bquote sharp dollar bslash ampersand linefee= d quadrigraph0 a_lf_b + item=3Dtab + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'tab in builddir' + set +x ok 61 - tab in builddir PASS: instspc.tap 61 - tab in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './ ' /h/j/w/co/automake/tests/instspc.dir/dest-tab + test 2 -gt 0 + find './ ' /h/j/w/co/automake/tests/instspc.dir/dest-tab -type d '!' -per= m -700 -exec chmod u+rwx '{}' ';' + rm -rf './ ' /h/j/w/co/automake/tests/instspc.dir/dest-tab + for where in build dest + case $where in + build=3Dbuild-tab + dest=3D'/h/j/w/co/automake/tests/instspc.dir/ ' + mkdir build-tab + cd build-tab + r=3Dok + ../configure --prefix '/ -prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/ ' + file=3D'./ ' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-tab' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/ / = -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/ / -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib libba= se.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/ / -pref= ix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/ = / -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/ / -pr= efix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/ / -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-tab' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libbase.a' + description=3D'tab in destdir' + expected_to_fail dest tab + case $1 in + is_in_list tab squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dtab + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'tab in destdir' + set +x ok 62 - tab in destdir PASS: instspc.tap 62 - tab in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-tab '/h/j/w/co/automake/tests/instspc.dir/ ' + test 2 -gt 0 + find build-tab '/h/j/w/co/automake/tests/instspc.dir/ ' -type d '!' -perm= -700 -exec chmod u+rwx '{}' ';' + rm -rf build-tab '/h/j/w/co/automake/tests/instspc.dir/ ' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__linefeed}' ++ test_string=3D' ' + test 'x ' '!=3D' x + mkdir './ ' + for where in build dest + case $where in + build=3D'./ ' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-linefeed + cd './ ' + r=3Dok + ../configure --prefix '/ -prefix' configure: error: pwd does not report name of working directory + r=3D'not ok' + description=3D'linefeed in builddir' + expected_to_fail build linefeed + case $1 in + is_in_list linefeed squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0 a_lf_b + item=3Dlinefeed + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'linefeed in bu= ilddir' + set +x not ok 63 - linefeed in builddir # TODO long-standing limitation XFAIL: instspc.tap 63 - linefeed in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-linefeed + dest=3D'/h/j/w/co/automake/tests/instspc.dir/ ' + mkdir build-linefeed + cd build-linefeed + r=3Dok + ../configure --prefix '/ -prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all Makefile:216: *** missing separator. Stop. + r=3D'not ok' + description=3D'linefeed in destdir' + expected_to_fail dest linefeed + case $1 in + is_in_list linefeed squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dlinefeed + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'linefeed in de= stdir' + set +x not ok 64 - linefeed in destdir # TODO long-standing limitation XFAIL: instspc.tap 64 - linefeed in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__backspace}' ++ test_string=3D$'\b' + test $'x\b' '!=3D' x + mkdir $'./\b' + for where in build dest + case $where in + build=3D$'./\b' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-backspace + cd $'./\b' + r=3Dok + ../configure --prefix $'/\b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-backspace + file=3D$'./\b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-backspace/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-backspace/-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-prefix/foo' &&= ranlib libbase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-bac= kspace/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-pre= fix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-backspace/-prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-pref= ix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-prefix/foo' &&= ranlib sub/libnobase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-pre= fix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-b= ackspace/-prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-backspace/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-backspace/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-pref= ix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-backspace/-prefix/foo/sub' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/-pref= ix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-backspace/-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-backspace/./-prefix/f= oo/libbase.a' + description=3D'backspace in builddir' + expected_to_fail build backspace + case $1 in + is_in_list backspace squote dquote bquote sharp dollar bslash ampersand l= inefeed quadrigraph0 a_lf_b + item=3Dbackspace + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'backspace in builddir' + set +x ok 65 - backspace in builddir PASS: instspc.tap 65 - backspace in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ $'./\b' /h/j/w/co/automake/tests/instspc.dir/dest-backspace + test 2 -gt 0 + find $'./\b' /h/j/w/co/automake/tests/instspc.dir/dest-backspace -type d = '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf $'./\b' /h/j/w/co/automake/tests/instspc.dir/dest-backspace + for where in build dest + case $where in + build=3Dbuild-backspace + dest=3D$'/h/j/w/co/automake/tests/instspc.dir/\b' + mkdir build-backspace + cd build-backspace + r=3Dok + ../configure --prefix $'/\b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D$'/h/j/w/co/automake/tests/instspc.dir/\b' + file=3D$'./\b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-bac= kspace' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir//= -prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir//-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo' && ranlib libba= se.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir//-pref= ix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub/'= /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/= /-prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub/'= /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir//-pr= efix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir//-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir//-prefix/foo/sub' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-back= space' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.dat= ' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.sh'= test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase= ' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/libbase.a'= + description=3D'backspace in destdir' + expected_to_fail dest backspace + case $1 in + is_in_list backspace squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dbackspace + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'backspace in destdir' + set +x ok 66 - backspace in destdir PASS: instspc.tap 66 - backspace in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-backspace $'/h/j/w/co/automake/tests/instspc.dir/\b' + test 2 -gt 0 + find build-backspace $'/h/j/w/co/automake/tests/instspc.dir/\b' -type d '= !' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-backspace $'/h/j/w/co/automake/tests/instspc.dir/\b' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__formfeed}' ++ test_string=3D$'\f' + test $'x\f' '!=3D' x + mkdir $'./\f' + for where in build dest + case $where in + build=3D$'./\f' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-formfeed + cd $'./\f' + r=3Dok + ../configure --prefix $'/\f-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-formfeed + file=3D$'./\f' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-formfeed/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-formfeed/ -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -prefix/foo' && = ranlib libbase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-for= mfeed/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -pref= ix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-formfeed/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -prefi= x/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -prefix/foo' && = ranlib sub/libnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -pref= ix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-f= ormfeed/ -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-formfeed/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-formfeed/ -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-formfeed/ -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/ -prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-formfeed/ -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/ ' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-formfeed/./ -prefix/fo= o/libbase.a' + description=3D'formfeed in builddir' + expected_to_fail build formfeed + case $1 in + is_in_list formfeed squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0 a_lf_b + item=3Dformfeed + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'formfeed in builddir' + set +x ok 67 - formfeed in builddir PASS: instspc.tap 67 - formfeed in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ $'./\f' /h/j/w/co/automake/tests/instspc.dir/dest-formfeed + test 2 -gt 0 + find $'./\f' /h/j/w/co/automake/tests/instspc.dir/dest-formfeed -type d '= !' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf $'./\f' /h/j/w/co/automake/tests/instspc.dir/dest-formfeed + for where in build dest + case $where in + build=3Dbuild-formfeed + dest=3D$'/h/j/w/co/automake/tests/instspc.dir/\f' + mkdir build-formfeed + cd build-formfeed + r=3Dok + ../configure --prefix $'/\f-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D$'/h/j/w/co/automake/tests/instspc.dir/\f' + file=3D$'./\f' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-for= mfeed' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/ / = -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/ / -prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib libba= se.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/ / -pref= ix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/'= /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/ = / -prefix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo' && ranlib sub/l= ibnobase.a ) test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub/'= /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/ / -pr= efix/foo/sub/' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/ / -prefix/foo' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/ / -prefix/foo/sub' test -z "/ -prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/ / -prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/ / -prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-form= feed' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.dat= ' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= .sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase.sh'= test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/nobase= ' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/sub/libnob= ase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libnobase.= a' test -f '/h/j/w/co/automake/tests/instspc.dir/ /./ -prefix/foo/libbase.a'= + description=3D'formfeed in destdir' + expected_to_fail dest formfeed + case $1 in + is_in_list formfeed squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dformfeed + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'formfeed in destdir' + set +x ok 68 - formfeed in destdir PASS: instspc.tap 68 - formfeed in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-formfeed $'/h/j/w/co/automake/tests/instspc.dir/\f' + test 2 -gt 0 + find build-formfeed $'/h/j/w/co/automake/tests/instspc.dir/\f' -type d '!= ' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-formfeed $'/h/j/w/co/automake/tests/instspc.dir/\f' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__carriageret}' ++ test_string=3D$'\r' + test $'x\r' '!=3D' x + mkdir $'./\r' + for where in build dest + case $where in + build=3D$'./\r' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-carriageret + cd $'./\r' + r=3Dok + ../configure --prefix $'/\r-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-carriageret + file=3D$'./\r' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-carriageret/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-carriageret/-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-prefix/foo' &= & ranlib libbase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-car= riageret/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-pr= efix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-carriageret/-prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-pre= fix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-carriageret/-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-prefix/foo' &= & ranlib sub/libnobase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-pr= efix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-c= arriageret/-prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-carriageret/-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-pre= fix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-carriageret/-prefix/foo/sub' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir/dest-carriageret/-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/-pre= fix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-carriageret/-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-carriageret/./-prefix/= foo/libbase.a' + description=3D'carriageret in builddir' + expected_to_fail build carriageret + case $1 in + is_in_list carriageret squote dquote bquote sharp dollar bslash ampersand= linefeed quadrigraph0 a_lf_b + item=3Dcarriageret + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'carriageret in builddir' + set +x ok 69 - carriageret in builddir PASS: instspc.tap 69 - carriageret in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ $'./\r' /h/j/w/co/automake/tests/instspc.dir/dest-carriageret + test 2 -gt 0 + find $'./\r' /h/j/w/co/automake/tests/instspc.dir/dest-carriageret -type = d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf $'./\r' /h/j/w/co/automake/tests/instspc.dir/dest-carriageret + for where in build dest + case $where in + build=3Dbuild-carriageret + dest=3D$'/h/j/w/co/automake/tests/instspc.dir/\r' + mkdir build-carriageret + cd build-carriageret + r=3Dok + ../configure --prefix $'/\r-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D$'/h/j/w/co/automake/tests/instspc.dir/\r' + file=3D$'./\r' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-car= riageret' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir//-p= refix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir//-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo' && ranlib libbase= .a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir//-prefix= /foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir//= -prefix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo' && ranlib sub/lib= nobase.a ) test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir//-pref= ix/foo/sub/' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir//-prefix/foo' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir//-prefix/foo/sub' test -z "/-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/instspc= .dir//-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir//-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir//-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-carr= iageret' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase.d= at' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase.s= h' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/sub/libnobas= e.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir//./-prefix/foo/libbase.a' + description=3D'carriageret in destdir' + expected_to_fail dest carriageret + case $1 in + is_in_list carriageret squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dcarriageret + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'carriageret in destdir' + set +x ok 70 - carriageret in destdir PASS: instspc.tap 70 - carriageret in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-carriageret $'/h/j/w/co/automake/tests/instspc.dir/\r' + test 2 -gt 0 + find build-carriageret $'/h/j/w/co/automake/tests/instspc.dir/\r' -type d= '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-carriageret $'/h/j/w/co/automake/tests/instspc.dir/\r' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__quadrigraph0}' ++ test_string=3D'@&t@' + test 'x@&t@' '!=3D' x + mkdir './@&t@' + for where in build dest + case $where in + build=3D'./@&t@' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph0 + cd './@&t@' + r=3Dok + ../configure --prefix '/@&t@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'quadrigraph0 in builddir' + expected_to_fail build quadrigraph0 + case $1 in + is_in_list quadrigraph0 squote dquote bquote sharp dollar bslash ampersan= d linefeed quadrigraph0 a_lf_b + item=3Dquadrigraph0 + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'quadrigraph0 i= n builddir' + set +x not ok 71 - quadrigraph0 in builddir # TODO long-standing limitation XFAIL: instspc.tap 71 - quadrigraph0 in builddir # TODO long-standing limit= ation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-quadrigraph0 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/@&t@' + mkdir build-quadrigraph0 + cd build-quadrigraph0 + r=3Dok + ../configure --prefix '/@&t@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/@&t@' + file=3D'./@&t@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qua= drigraph0' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@&t= @/@&t@-prefix/foo' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@&t@/@&t@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo' && ranlib= libbase.a ) test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t= @-prefix/foo' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= &t@/@&t@-prefix/foo/sub/' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@&t@/@&t@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@&t@/@= &t@-prefix/foo/sub/' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@&t@/@&t@-prefix/foo' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@&t@/@&t@-prefix/foo' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@&t@/@&t@-prefix/foo/sub' test -z "/@&t@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@&t@/@&t@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@&t@/@&t@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@&t@/@&t@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-quad= rigraph0' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/@&t@/./@&t@-prefix/foo/libb= ase.a' + description=3D'quadrigraph0 in destdir' + expected_to_fail dest quadrigraph0 + case $1 in + is_in_list quadrigraph0 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dquadrigraph0 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph0 in destdir' + set +x ok 72 - quadrigraph0 in destdir PASS: instspc.tap 72 - quadrigraph0 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-quadrigraph0 '/h/j/w/co/automake/tests/instspc.dir/@&t@' + test 2 -gt 0 + find build-quadrigraph0 '/h/j/w/co/automake/tests/instspc.dir/@&t@' -type= d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-quadrigraph0 '/h/j/w/co/automake/tests/instspc.dir/@&t@' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__quadrigraph1}' ++ test_string=3D'@<:@' + test 'x@<:@' '!=3D' x + mkdir './@<:@' + for where in build dest + case $where in + build=3D'./@<:@' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1 + cd './@<:@' + r=3Dok + ../configure --prefix '/@<:@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1 + file=3D'./@<:@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/@<:@' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-quadrigraph1/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-quadrigraph1/@<:@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<:@-prefix/f= oo' && ranlib libbase.a ) test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-qua= drigraph1/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<= :@-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-quadrigraph1/@<:@-prefix/foo/sub/' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<:= @-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph1/@<:@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<:@-prefix/f= oo' && ranlib sub/libnobase.a ) test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<= :@-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-q= uadrigraph1/@<:@-prefix/foo/sub/' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-quadrigraph1/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-quadrigraph1/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<:= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-quadrigraph1/@<:@-prefix/foo/sub' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph1/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/@<:= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph1/@<:@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/@<:@' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1/./@<:@-pr= efix/foo/libbase.a' + description=3D'quadrigraph1 in builddir' + expected_to_fail build quadrigraph1 + case $1 in + is_in_list quadrigraph1 squote dquote bquote sharp dollar bslash ampersan= d linefeed quadrigraph0 a_lf_b + item=3Dquadrigraph1 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph1 in builddir' + set +x ok 73 - quadrigraph1 in builddir PASS: instspc.tap 73 - quadrigraph1 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './@<:@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1 + test 2 -gt 0 + find './@<:@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1 -typ= e d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './@<:@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph1 + for where in build dest + case $where in + build=3Dbuild-quadrigraph1 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/@<:@' + mkdir build-quadrigraph1 + cd build-quadrigraph1 + r=3Dok + ../configure --prefix '/@<:@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/@<:@' + file=3D'./@<:@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qua= drigraph1' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@<:= @/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@<:@/@<:@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo' && ranlib= libbase.a ) test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:= @-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= <:@/@<:@-prefix/foo/sub/' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@<:@/@<:@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@<:@/@= <:@-prefix/foo/sub/' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@<:@/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@<:@/@<:@-prefix/foo' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@<:@/@<:@-prefix/foo/sub' test -z "/@<:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@<:@/@<:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@<:@/@<:@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@<:@/@<:@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-quad= rigraph1' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/@<:@/./@<:@-prefix/foo/libb= ase.a' + description=3D'quadrigraph1 in destdir' + expected_to_fail dest quadrigraph1 + case $1 in + is_in_list quadrigraph1 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dquadrigraph1 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph1 in destdir' + set +x ok 74 - quadrigraph1 in destdir PASS: instspc.tap 74 - quadrigraph1 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-quadrigraph1 '/h/j/w/co/automake/tests/instspc.dir/@<:@' + test 2 -gt 0 + find build-quadrigraph1 '/h/j/w/co/automake/tests/instspc.dir/@<:@' -type= d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-quadrigraph1 '/h/j/w/co/automake/tests/instspc.dir/@<:@' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__quadrigraph2}' ++ test_string=3D'@:>@' + test 'x@:>@' '!=3D' x + mkdir './@:>@' + for where in build dest + case $where in + build=3D'./@:>@' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2 + cd './@:>@' + r=3Dok + ../configure --prefix '/@:>@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2 + file=3D'./@:>@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/@:>@' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-quadrigraph2/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-quadrigraph2/@:>@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:>@-prefix/f= oo' && ranlib libbase.a ) test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-qua= drigraph2/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:= >@-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-quadrigraph2/@:>@-prefix/foo/sub/' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:>= @-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph2/@:>@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:>@-prefix/f= oo' && ranlib sub/libnobase.a ) test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:= >@-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-q= uadrigraph2/@:>@-prefix/foo/sub/' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-quadrigraph2/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-quadrigraph2/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:>= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-quadrigraph2/@:>@-prefix/foo/sub' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph2/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/@:>= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph2/@:>@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/@:>@' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2/./@:>@-pr= efix/foo/libbase.a' + description=3D'quadrigraph2 in builddir' + expected_to_fail build quadrigraph2 + case $1 in + is_in_list quadrigraph2 squote dquote bquote sharp dollar bslash ampersan= d linefeed quadrigraph0 a_lf_b + item=3Dquadrigraph2 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph2 in builddir' + set +x ok 75 - quadrigraph2 in builddir PASS: instspc.tap 75 - quadrigraph2 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './@:>@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2 + test 2 -gt 0 + find './@:>@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2 -typ= e d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './@:>@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph2 + for where in build dest + case $where in + build=3Dbuild-quadrigraph2 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/@:>@' + mkdir build-quadrigraph2 + cd build-quadrigraph2 + r=3Dok + ../configure --prefix '/@:>@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/@:>@' + file=3D'./@:>@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qua= drigraph2' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@:>= @/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@:>@/@:>@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo' && ranlib= libbase.a ) test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>= @-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= :>@/@:>@-prefix/foo/sub/' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@:>@/@:>@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@:>@/@= :>@-prefix/foo/sub/' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@:>@/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@:>@/@:>@-prefix/foo' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@:>@/@:>@-prefix/foo/sub' test -z "/@:>@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@:>@/@:>@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@:>@/@:>@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@:>@/@:>@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-quad= rigraph2' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/@:>@/./@:>@-prefix/foo/libb= ase.a' + description=3D'quadrigraph2 in destdir' + expected_to_fail dest quadrigraph2 + case $1 in + is_in_list quadrigraph2 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dquadrigraph2 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph2 in destdir' + set +x ok 76 - quadrigraph2 in destdir PASS: instspc.tap 76 - quadrigraph2 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-quadrigraph2 '/h/j/w/co/automake/tests/instspc.dir/@:>@' + test 2 -gt 0 + find build-quadrigraph2 '/h/j/w/co/automake/tests/instspc.dir/@:>@' -type= d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-quadrigraph2 '/h/j/w/co/automake/tests/instspc.dir/@:>@' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__quadrigraph3}' ++ test_string=3D'@S|@' + test 'x@S|@' '!=3D' x + mkdir './@S|@' + for where in build dest + case $where in + build=3D'./@S|@' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3 + cd './@S|@' + r=3Dok + ../configure --prefix '/@S|@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3 + file=3D'./@S|@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/@S|@' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-quadrigraph3/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-quadrigraph3/@S|@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S|@-prefix/f= oo' && ranlib libbase.a ) test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-qua= drigraph3/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S= |@-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-quadrigraph3/@S|@-prefix/foo/sub/' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S|= @-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph3/@S|@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S|@-prefix/f= oo' && ranlib sub/libnobase.a ) test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S= |@-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-q= uadrigraph3/@S|@-prefix/foo/sub/' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-quadrigraph3/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-quadrigraph3/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S|= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-quadrigraph3/@S|@-prefix/foo/sub' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph3/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/@S|= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph3/@S|@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/@S|@' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3/./@S|@-pr= efix/foo/libbase.a' + description=3D'quadrigraph3 in builddir' + expected_to_fail build quadrigraph3 + case $1 in + is_in_list quadrigraph3 squote dquote bquote sharp dollar bslash ampersan= d linefeed quadrigraph0 a_lf_b + item=3Dquadrigraph3 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph3 in builddir' + set +x ok 77 - quadrigraph3 in builddir PASS: instspc.tap 77 - quadrigraph3 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './@S|@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3 + test 2 -gt 0 + find './@S|@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3 -typ= e d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './@S|@' /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph3 + for where in build dest + case $where in + build=3Dbuild-quadrigraph3 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/@S|@' + mkdir build-quadrigraph3 + cd build-quadrigraph3 + r=3Dok + ../configure --prefix '/@S|@-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/@S|@' + file=3D'./@S|@' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qua= drigraph3' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@S|= @/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@S|@/@S|@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo' && ranlib= libbase.a ) test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|= @-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= S|@/@S|@-prefix/foo/sub/' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@S|@/@S|@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@S|@/@= S|@-prefix/foo/sub/' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@S|@/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@S|@/@S|@-prefix/foo' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@S|@/@S|@-prefix/foo/sub' test -z "/@S|@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@S|@/@S|@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@S|@/@S|@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@S|@/@S|@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-quad= rigraph3' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/@S|@/./@S|@-prefix/foo/libb= ase.a' + description=3D'quadrigraph3 in destdir' + expected_to_fail dest quadrigraph3 + case $1 in + is_in_list quadrigraph3 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dquadrigraph3 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph3 in destdir' + set +x ok 78 - quadrigraph3 in destdir PASS: instspc.tap 78 - quadrigraph3 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-quadrigraph3 '/h/j/w/co/automake/tests/instspc.dir/@S|@' + test 2 -gt 0 + find build-quadrigraph3 '/h/j/w/co/automake/tests/instspc.dir/@S|@' -type= d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-quadrigraph3 '/h/j/w/co/automake/tests/instspc.dir/@S|@' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__quadrigraph4}' ++ test_string=3D@%:@ + test x@%:@ '!=3D' x + mkdir ./@%:@ + for where in build dest + case $where in + build=3D./@%:@ + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4 + cd ./@%:@ + r=3Dok + ../configure --prefix /@%:@-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4 + file=3D./@%:@ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/@%:@' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-quadrigraph4/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-quadrigraph4/@%:@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%:@-prefix/f= oo' && ranlib libbase.a ) test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-qua= drigraph4/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%= :@-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-quadrigraph4/@%:@-prefix/foo/sub/' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%:= @-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph4/@%:@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%:@-prefix/f= oo' && ranlib sub/libnobase.a ) test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%= :@-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-q= uadrigraph4/@%:@-prefix/foo/sub/' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-quadrigraph4/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-quadrigraph4/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%:= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-quadrigraph4/@%:@-prefix/foo/sub' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-quadrigraph4/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/@%:= @-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-quadrigraph4/@%:@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/@%:@' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4/./@%:@-pr= efix/foo/libbase.a' + description=3D'quadrigraph4 in builddir' + expected_to_fail build quadrigraph4 + case $1 in + is_in_list quadrigraph4 squote dquote bquote sharp dollar bslash ampersan= d linefeed quadrigraph0 a_lf_b + item=3Dquadrigraph4 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph4 in builddir' + set +x ok 79 - quadrigraph4 in builddir PASS: instspc.tap 79 - quadrigraph4 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./@%:@ /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4 + test 2 -gt 0 + find ./@%:@ /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4 -type = d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf ./@%:@ /h/j/w/co/automake/tests/instspc.dir/dest-quadrigraph4 + for where in build dest + case $where in + build=3Dbuild-quadrigraph4 + dest=3D/h/j/w/co/automake/tests/instspc.dir/@%:@ + mkdir build-quadrigraph4 + cd build-quadrigraph4 + r=3Dok + ../configure --prefix /@%:@-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/@%:@ + file=3D./@%:@ + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-qua= drigraph4' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/@%:= @/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/@%:@/@%:@-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo' && ranlib= libbase.a ) test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:= @-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/@= %:@/@%:@-prefix/foo/sub/' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/@%:@/@%:@-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/@%:@/@= %:@-prefix/foo/sub/' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/@%:@/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/@%:@/@%:@-prefix/foo' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/@%:@/@%:@-prefix/foo/sub' test -z "/@%:@-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/@%:@/@%:@-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/@%:@/@%:@-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/@%:@/@%:@-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-quad= rigraph4' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/@%:@/./@%:@-prefix/foo/libb= ase.a' + description=3D'quadrigraph4 in destdir' + expected_to_fail dest quadrigraph4 + case $1 in + is_in_list quadrigraph4 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dquadrigraph4 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'quadrigraph4 in destdir' + set +x ok 80 - quadrigraph4 in destdir PASS: instspc.tap 80 - quadrigraph4 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-quadrigraph4 /h/j/w/co/automake/tests/instspc.dir/@%:@ + test 2 -gt 0 + find build-quadrigraph4 /h/j/w/co/automake/tests/instspc.dir/@%:@ -type d= '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-quadrigraph4 /h/j/w/co/automake/tests/instspc.dir/@%:@ + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__a_b}' ++ test_string=3D'a b' + test 'xa b' '!=3D' x + mkdir './a b' + for where in build dest + case $where in + build=3D'./a b' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-a_b + cd './a b' + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-a_b + file=3D'./a b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/a b' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-a_b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-a_b/a b-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/foo' && ran= lib libbase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-a_b= /a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/= foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-a_b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/f= oo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-a_b/a b-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/foo' && ran= lib sub/libnobase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/= foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-a= _b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-a_b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-a_b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo/sub' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-a_b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/a b-prefix/f= oo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-a_b/a b-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/a b' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/s= ub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/n= obase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/b= ase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/s= ub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/n= obase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/b= ase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/s= ub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/n= obase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/b= ase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/s= ub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/n= obase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/b= ase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/s= ub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/l= ibnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a_b/./a b-prefix/foo/l= ibbase.a' + description=3D'a_b in builddir' + expected_to_fail build a_b + case $1 in + is_in_list a_b squote dquote bquote sharp dollar bslash ampersand linefee= d quadrigraph0 a_lf_b + item=3Da_b + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'a_b in builddir' + set +x ok 81 - a_b in builddir PASS: instspc.tap 81 - a_b in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a_b + test 2 -gt 0 + find './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a_b -type d '!' -p= erm -700 -exec chmod u+rwx '{}' ';' + rm -rf './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a_b + for where in build dest + case $where in + build=3Dbuild-a_b + dest=3D'/h/j/w/co/automake/tests/instspc.dir/a b' + mkdir build-a_b + cd build-a_b + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/a b' + file=3D'./a b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-a_b' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/a b= /a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/a b/a b-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo' && ranlib l= ibbase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/a b/a b-= prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/s= ub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/a= b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/su= b' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/a b/a b-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo' && ranlib s= ub/libnobase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/s= ub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/a b/a = b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/a b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/a b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo/sub' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/a b/a b-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-a_b' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/no= base.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/nobase= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/no= base.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/nobase= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base.d= at' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/no= base.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/nobase= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base.s= h' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/no= base' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/li= bnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/libnob= ase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/libbas= e.a' + description=3D'a_b in destdir' + expected_to_fail dest a_b + case $1 in + is_in_list a_b squote dquote bquote sharp dollar linefeed a_lf_b + item=3Da_b + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'a_b in destdir' + set +x ok 82 - a_b in destdir PASS: instspc.tap 82 - a_b in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-a_b '/h/j/w/co/automake/tests/instspc.dir/a b' + test 2 -gt 0 + find build-a_b '/h/j/w/co/automake/tests/instspc.dir/a b' -type d '!' -pe= rm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-a_b '/h/j/w/co/automake/tests/instspc.dir/a b' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__a__b}' ++ test_string=3D'a b' + test 'xa b' '!=3D' x + mkdir './a b' + for where in build dest + case $where in + build=3D'./a b' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-a__b + cd './a b' + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-a__b + file=3D'./a b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/a b' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-a__b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-a__b/a b-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefix/foo' && r= anlib libbase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-a__= b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefi= x/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-a__b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefix= /foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-a__b/a b-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefix/foo' && r= anlib sub/libnobase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefi= x/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-a= __b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-a__b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-a__b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-a__b/a b-prefix/foo/sub' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/dest-a__b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/a b-prefix= /foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-a__b/a b-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/a b' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-a__b/./a b-prefix/foo= /libbase.a' + description=3D'a__b in builddir' + expected_to_fail build a__b + case $1 in + is_in_list a__b squote dquote bquote sharp dollar bslash ampersand linefe= ed quadrigraph0 a_lf_b + item=3Da__b + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'a__b in builddir' + set +x ok 83 - a__b in builddir PASS: instspc.tap 83 - a__b in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a__b + test 2 -gt 0 + find './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a__b -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './a b' /h/j/w/co/automake/tests/instspc.dir/dest-a__b + for where in build dest + case $where in + build=3Dbuild-a__b + dest=3D'/h/j/w/co/automake/tests/instspc.dir/a b' + mkdir build-a__b + cd build-a__b + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/a b' + file=3D'./a b' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-a__= b' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/a = b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/a b/a b-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo' && ranlib= libbase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/a b/a = b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo= /sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/a= b/a b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/= sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/a b/a b-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo' && ranlib= sub/libnobase.a ) test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo= /sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/a b/a= b-prefix/foo/sub/' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/a b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/a b/a b-prefix/foo' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/a b/a b-prefix/foo/sub' test -z "/a b-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/ins= tspc.dir/a b/a b-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a b/a b-prefix/foo/= sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/a b/a b-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-a__b' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/= nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/noba= se.h' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/= nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/noba= se.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/= nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/noba= se.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/= nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/noba= se' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/sub/= libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/libn= obase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/a b/./a b-prefix/foo/libb= ase.a' + description=3D'a__b in destdir' + expected_to_fail dest a__b + case $1 in + is_in_list a__b squote dquote bquote sharp dollar linefeed a_lf_b + item=3Da__b + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'a__b in destdir' + set +x ok 84 - a__b in destdir PASS: instspc.tap 84 - a__b in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-a__b '/h/j/w/co/automake/tests/instspc.dir/a b' + test 2 -gt 0 + find build-a__b '/h/j/w/co/automake/tests/instspc.dir/a b' -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-a__b '/h/j/w/co/automake/tests/instspc.dir/a b' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__a_lf_b}' ++ test_string=3D'a b' + test 'xa b' '!=3D' x + mkdir './a b' + for where in build dest + case $where in + build=3D'./a b' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-a_lf_b + cd './a b' + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... configure: error: unsafe abso= lute working directory name + r=3D'not ok' + description=3D'a_lf_b in builddir' + expected_to_fail build a_lf_b + case $1 in + is_in_list a_lf_b squote dquote bquote sharp dollar bslash ampersand line= feed quadrigraph0 a_lf_b + item=3Da_lf_b + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'a_lf_b in buil= ddir' + set +x not ok 85 - a_lf_b in builddir # TODO long-standing limitation XFAIL: instspc.tap 85 - a_lf_b in builddir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for where in build dest + case $where in + build=3Dbuild-a_lf_b + dest=3D'/h/j/w/co/automake/tests/instspc.dir/a b' + mkdir build-a_lf_b + cd build-a_lf_b + r=3Dok + ../configure --prefix '/a b-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all Makefile:216: *** missing separator. Stop. + r=3D'not ok' + description=3D'a_lf_b in destdir' + expected_to_fail dest a_lf_b + case $1 in + is_in_list a_lf_b squote dquote bquote sharp dollar linefeed a_lf_b + item=3Da_lf_b + shift + case " $* " in + return 0 + directive=3DTODO + reason=3D'long-standing limitation' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'a_lf_b in dest= dir' + set +x not ok 86 - a_lf_b in destdir # TODO long-standing limitation XFAIL: instspc.tap 86 - a_lf_b in destdir # TODO long-standing limitation + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test 'not ok' =3D ok + : For lesser shells with broken 'set -e.' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__dotdotdot}' ++ test_string=3D... + test x... '!=3D' x + mkdir ./... + for where in build dest + case $where in + build=3D./... + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot + cd ./... + r=3Dok + ../configure --prefix /...-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot + file=3D./... + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/...' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-dotdotdot/...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-dotdotdot/...-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-prefix/foo' = && ranlib libbase.a ) test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-dot= dotdot/...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-p= refix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-dotdotdot/...-prefix/foo/sub/' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-pr= efix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-dotdotdot/...-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-prefix/foo' = && ranlib sub/libnobase.a ) test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-p= refix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-d= otdotdot/...-prefix/foo/sub/' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-dotdotdot/...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-dotdotdot/...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-pr= efix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo/sub' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/dest-dotdotdot/...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/...-pr= efix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-dotdotdot/...-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/...' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot/./...-prefix= /foo/libbase.a' + description=3D'dotdotdot in builddir' + expected_to_fail build dotdotdot + case $1 in + is_in_list dotdotdot squote dquote bquote sharp dollar bslash ampersand l= inefeed quadrigraph0 a_lf_b + item=3Ddotdotdot + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'dotdotdot in builddir' + set +x ok 87 - dotdotdot in builddir PASS: instspc.tap 87 - dotdotdot in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./... /h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot + test 2 -gt 0 + find ./... /h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot -type d '!= ' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf ./... /h/j/w/co/automake/tests/instspc.dir/dest-dotdotdot + for where in build dest + case $where in + build=3Dbuild-dotdotdot + dest=3D/h/j/w/co/automake/tests/instspc.dir/... + mkdir build-dotdotdot + cd build-dotdotdot + r=3Dok + ../configure --prefix /...-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/... + file=3D./... + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-dot= dotdot' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/...= /...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/.../...-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo' && ranlib l= ibbase.a ) test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/.../...-= prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo/s= ub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/.= ../...-prefix/foo/sub/' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo/su= b' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/.../...-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo' && ranlib s= ub/libnobase.a ) test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo/s= ub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/.../..= .-prefix/foo/sub/' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/.../...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/.../...-prefix/foo' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo/sub' test -z "/...-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/inst= spc.dir/.../...-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.../...-prefix/foo/su= b' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/.../...-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-dotd= otdot' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/sub/no= base.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/nobase= .h' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/sub/no= base.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/nobase= .dat' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/base.d= at' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/sub/no= base.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/nobase= .sh' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/base.s= h' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/sub/no= base' test ! -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/sub/li= bnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/libnob= ase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/..././...-prefix/foo/libbas= e.a' + description=3D'dotdotdot in destdir' + expected_to_fail dest dotdotdot + case $1 in + is_in_list dotdotdot squote dquote bquote sharp dollar linefeed a_lf_b + item=3Ddotdotdot + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'dotdotdot in destdir' + set +x ok 88 - dotdotdot in destdir PASS: instspc.tap 88 - dotdotdot in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-dotdotdot /h/j/w/co/automake/tests/instspc.dir/... + test 2 -gt 0 + find build-dotdotdot /h/j/w/co/automake/tests/instspc.dir/... -type d '!'= -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-dotdotdot /h/j/w/co/automake/tests/instspc.dir/... + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__dosdrive}' ++ test_string=3Da: + test xa: '!=3D' x + mkdir ./a: + for where in build dest + case $where in + build=3D./a: + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive + cd ./a: + r=3Dok + ../configure --prefix /a:-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive + file=3D./a: + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/a:' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-dosdrive/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-dosdrive/a:-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-prefix/foo' &&= ranlib libbase.a ) test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-dos= drive/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-pre= fix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-dosdrive/a:-prefix/foo/sub/' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-pref= ix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-dosdrive/a:-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-prefix/foo' &&= ranlib sub/libnobase.a ) test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-pre= fix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-d= osdrive/a:-prefix/foo/sub/' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-dosdrive/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-dosdrive/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-pref= ix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-dosdrive/a:-prefix/foo/sub' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/dest-dosdrive/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/a:-pref= ix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-dosdrive/a:-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/a:' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-dosdrive/./a:-prefix/f= oo/libbase.a' + description=3D'dosdrive in builddir' + expected_to_fail build dosdrive + case $1 in + is_in_list dosdrive squote dquote bquote sharp dollar bslash ampersand li= nefeed quadrigraph0 a_lf_b + item=3Ddosdrive + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'dosdrive in builddir' + set +x ok 89 - dosdrive in builddir PASS: instspc.tap 89 - dosdrive in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ ./a: /h/j/w/co/automake/tests/instspc.dir/dest-dosdrive + test 2 -gt 0 + find ./a: /h/j/w/co/automake/tests/instspc.dir/dest-dosdrive -type d '!' = -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf ./a: /h/j/w/co/automake/tests/instspc.dir/dest-dosdrive + for where in build dest + case $where in + build=3Dbuild-dosdrive + dest=3D/h/j/w/co/automake/tests/instspc.dir/a: + mkdir build-dosdrive + cd build-dosdrive + r=3Dok + ../configure --prefix /a:-prefix checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/a: + file=3D./a: + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-dos= drive' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/a:/= a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/a:/a:-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo' && ranlib lib= base.a ) test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/a:/a:-pr= efix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo/sub= /' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/a= :/a:-prefix/foo/sub/' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/a:/a:-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo' && ranlib sub= /libnobase.a ) test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo/sub= /' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/a:/a:-= prefix/foo/sub/' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/a:/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/a:/a:-prefix/foo' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/a:/a:-prefix/foo/sub' test -z "/a:-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/insts= pc.dir/a:/a:-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/a:/a:-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/a:/a:-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-dosd= rive' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/sub/noba= se.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/sub/noba= se.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/nobase.d= at' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/sub/noba= se.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/nobase.s= h' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/sub/noba= se' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/sub/libn= obase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/libnobas= e.a' test -f '/h/j/w/co/automake/tests/instspc.dir/a:/./a:-prefix/foo/libbase.= a' + description=3D'dosdrive in destdir' + expected_to_fail dest dosdrive + case $1 in + is_in_list dosdrive squote dquote bquote sharp dollar linefeed a_lf_b + item=3Ddosdrive + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'dosdrive in destdir' + set +x ok 90 - dosdrive in destdir PASS: instspc.tap 90 - dosdrive in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-dosdrive /h/j/w/co/automake/tests/instspc.dir/a: + test 2 -gt 0 + find build-dosdrive /h/j/w/co/automake/tests/instspc.dir/a: -type d '!' -= perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-dosdrive /h/j/w/co/automake/tests/instspc.dir/a: + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__miscglob1}' ++ test_string=3D'?[a-z]*' + test 'x?[a-z]*' '!=3D' x + mkdir './?[a-z]*' + for where in build dest + case $where in + build=3D'./?[a-z]*' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1 + cd './?[a-z]*' + r=3Dok + ../configure --prefix '/?[a-z]*-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1 + file=3D'./?[a-z]*' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-miscglob1/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-miscglob1/?[a-z]*-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z]*-prefix/f= oo' && ranlib libbase.a ) test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-mis= cglob1/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z= ]*-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-miscglob1/?[a-z]*-prefix/foo/sub/' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z]= *-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-miscglob1/?[a-z]*-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z]*-prefix/f= oo' && ranlib sub/libnobase.a ) test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z= ]*-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-m= iscglob1/?[a-z]*-prefix/foo/sub/' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-miscglob1/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-miscglob1/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z]= *-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-miscglob1/?[a-z]*-prefix/foo/sub' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/dest-miscglob1/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/?[a-z]= *-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-miscglob1/?[a-z]*-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob1/./?[a-z]*-pr= efix/foo/libbase.a' + description=3D'miscglob1 in builddir' + expected_to_fail build miscglob1 + case $1 in + is_in_list miscglob1 squote dquote bquote sharp dollar bslash ampersand l= inefeed quadrigraph0 a_lf_b + item=3Dmiscglob1 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'miscglob1 in builddir' + set +x ok 91 - miscglob1 in builddir PASS: instspc.tap 91 - miscglob1 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './?[a-z]*' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob1 + test 2 -gt 0 + find './?[a-z]*' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob1 -typ= e d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './?[a-z]*' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob1 + for where in build dest + case $where in + build=3Dbuild-miscglob1 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' + mkdir build-miscglob1 + cd build-miscglob1 + r=3Dok + ../configure --prefix '/?[a-z]*-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' + file=3D'./?[a-z]*' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-mis= cglob1' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/?[a= -z]*/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/?[a-z]*/?[a-z]*-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-prefix/foo' && = ranlib libbase.a ) test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/= ?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-pref= ix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/?= [a-z]*/?[a-z]*-prefix/foo/sub/' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-prefi= x/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/?[a-z]*/?[a-z]*-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-prefix/foo' && = ranlib sub/libnobase.a ) test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-pref= ix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/?[a-z]= */?[a-z]*-prefix/foo/sub/' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/?[a-z]*/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/?[a-z]*/?[a-z]*-prefix/foo' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/?[a-z]*/?[a-z]*-prefix/foo/sub' test -z "/?[a-z]*-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests/= instspc.dir/?[a-z]*/?[a-z]*-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/?[a-z]*-prefi= x/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/?[a-z]*/?[a-z]*-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-misc= glob1' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/base' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*/./?[a-z]*-prefix/fo= o/libbase.a' + description=3D'miscglob1 in destdir' + expected_to_fail dest miscglob1 + case $1 in + is_in_list miscglob1 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dmiscglob1 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'miscglob1 in destdir' + set +x ok 92 - miscglob1 in destdir PASS: instspc.tap 92 - miscglob1 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-miscglob1 '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' + test 2 -gt 0 + find build-miscglob1 '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' -type= d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-miscglob1 '/h/j/w/co/automake/tests/instspc.dir/?[a-z]*' + for test_name in '$test_names_list' + eval 'test_string=3D${instspc__miscglob2}' ++ test_string=3D'.*?[0-9]' + test 'x.*?[0-9]' '!=3D' x + mkdir './.*?[0-9]' + for where in build dest + case $where in + build=3D'./.*?[0-9]' + dest=3D/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2 + cd './.*?[0-9]' + r=3Dok + ../configure --prefix '/.*?[0-9]-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2 + file=3D'./.*?[0-9]' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/des= t-miscglob2/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/dest-miscglob2/.*?[0-9]-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0-9]-prefix/= foo' && ranlib libbase.a ) test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/dest-mis= cglob2/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0= -9]-prefix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/d= est-miscglob2/.*?[0-9]-prefix/foo/sub/' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0-= 9]-prefix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/dest-miscglob2/.*?[0-9]-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0-9]-prefix/= foo' && ranlib sub/libnobase.a ) test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0= -9]-prefix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/dest-m= iscglob2/.*?[0-9]-prefix/foo/sub/' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/dest-miscglob2/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/dest-miscglob2/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0-= 9]-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/dest-miscglob2/.*?[0-9]-prefix/foo/sub' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/dest-miscglob2/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/.*?[0-= 9]-prefix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/dest-miscglob2/.*?[0-9]-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/dest-miscglob2/./.*?[0-9]-p= refix/foo/libbase.a' + description=3D'miscglob2 in builddir' + expected_to_fail build miscglob2 + case $1 in + is_in_list miscglob2 squote dquote bquote sharp dollar bslash ampersand l= inefeed quadrigraph0 a_lf_b + item=3Dmiscglob2 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'miscglob2 in builddir' + set +x ok 93 - miscglob2 in builddir PASS: instspc.tap 93 - miscglob2 in builddir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ './.*?[0-9]' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob2 + test 2 -gt 0 + find './.*?[0-9]' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob2 -ty= pe d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf './.*?[0-9]' /h/j/w/co/automake/tests/instspc.dir/dest-miscglob2 + for where in build dest + case $where in + build=3Dbuild-miscglob2 + dest=3D'/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' + mkdir build-miscglob2 + cd build-miscglob2 + r=3Dok + ../configure --prefix '/.*?[0-9]-prefix' checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ar... ar checking the archiver (ar) interface... ar checking for ranlib... ranlib checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make all gcc -DPACKAGE_NAME=3D\"instspc\" -DPACKAGE_TARNAME=3D\"instspc\" -DPACKAGE_= VERSION=3D\"1.0\" -DPACKAGE_STRING=3D\"instspc\ 1.0\" -DPACKAGE_BUGREPORT= =3D\"\" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"instspc\" -DVERSION=3D\"1.0\" -I= . -I.. -g -O2 -MT source.o -MD -MP -MF .deps/source.Tpo -c -o source.o = ../source.c mv -f .deps/source.Tpo .deps/source.Po rm -f sub/libbase.a ar cru sub/libbase.a source.o ranlib sub/libbase.a rm -f sub/libnobase.a ar cru sub/libnobase.a source.o ranlib sub/libnobase.a gcc -g -O2 -o sub/base source.o gcc -g -O2 -o sub/nobase source.o + DESTDIR=3D'/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' + file=3D'./.*?[0-9]' + make -e test-inst make[1]: Entering directory `/h/j/w/co/automake/tests/instspc.dir/build-mis= cglob2' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/install -c ../sub/base.sh '/h/j/w/co/automake/tests/instspc.dir/.*?= [0-9]/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 sub/libbase.a '/h/j/w/co/automake/tests/instspc.= dir/.*?[0-9]/.*?[0-9]-prefix/foo' ( cd '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo' &= & ranlib libbase.a ) test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/install -c sub/base '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]= /.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-pr= efix/foo/sub/' /p/bin/install -c ../sub/nobase.sh '/h/j/w/co/automake/tests/instspc.dir/.= *?[0-9]/.*?[0-9]-prefix/foo/sub/' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-pre= fix/foo/sub' /p/bin/install -c -m 644 sub/libnobase.a '/h/j/w/co/automake/tests/instsp= c.dir/.*?[0-9]/.*?[0-9]-prefix/foo/sub' ( cd '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo' &= & ranlib sub/libnobase.a ) test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-pr= efix/foo/sub/' /p/bin/install -c sub/nobase '/h/j/w/co/automake/tests/instspc.dir/.*?[0-= 9]/.*?[0-9]-prefix/foo/sub/' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.dat '/h/j/w/co/automake/tests/instspc= .dir/.*?[0-9]/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/install -c -m 644 ../sub/base.h '/h/j/w/co/automake/tests/instspc.d= ir/.*?[0-9]/.*?[0-9]-prefix/foo' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-pre= fix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.dat '/h/j/w/co/automake/tests/inst= spc.dir/.*?[0-9]/.*?[0-9]-prefix/foo/sub' test -z "/.*?[0-9]-prefix/foo" || /p/bin/mkdir -p "/h/j/w/co/automake/tests= /instspc.dir/.*?[0-9]/.*?[0-9]-prefix/foo" /p/bin/mkdir -p '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/.*?[0-9]-pre= fix/foo/sub' /p/bin/install -c -m 644 ../sub/nobase.h '/h/j/w/co/automake/tests/instsp= c.dir/.*?[0-9]/.*?[0-9]-prefix/foo/sub' make[1]: Leaving directory `/h/j/w/co/automake/tests/instspc.dir/build-misc= glob2' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/sub/nobase.h' test ! -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/nobase.h' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/base.h' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/sub/nobase.dat' test ! -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/nobase.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/base.dat' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/sub/nobase.sh' test ! -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/nobase.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/base.sh' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/sub/nobase' test ! -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/nobase' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/base' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/sub/libnobase.a' test ! -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/libnobase.a' test -f '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]/./.*?[0-9]-prefix/= foo/libbase.a' + description=3D'miscglob2 in destdir' + expected_to_fail dest miscglob2 + case $1 in + is_in_list miscglob2 squote dquote bquote sharp dollar linefeed a_lf_b + item=3Dmiscglob2 + shift + case " $* " in + return 1 + directive=3D + reason=3D + result_ ok -D '' -r '' -- 'miscglob2 in destdir' + set +x ok 94 - miscglob2 in destdir PASS: instspc.tap 94 - miscglob2 in destdir + cd /h/j/w/co/automake/tests/instspc.dir + not am_keeping_testdirs + am_keeping_testdirs + case $keep_testdirs in + return 1 + return 0 + test ok =3D ok + rm_rf_ build-miscglob2 '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' + test 2 -gt 0 + find build-miscglob2 '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' -typ= e d '!' -perm -700 -exec chmod u+rwx '{}' ';' + rm -rf build-miscglob2 '/h/j/w/co/automake/tests/instspc.dir/.*?[0-9]' + : + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 77 -eq 94 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x instspc: exit 0 XFAIL: all =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/all.dir + targets=3D'all install-exec install-data uninstall' + echo 'all install-exec install-data uninstall:' + sed -e 's/[ :]/-local&/g' + cat Makefile.am all-local install-exec-local install-data-local uninstall-local: + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + for target in '$targets' + grep all-local Makefile.in all-local install-exec-local install-data-local uninstall-local: + grep 'all-am:.*all-local' Makefile.in + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x all: exit 1 SKIP: amhello-cross-compile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin amhello-cross-compile: running i586-mingw32msvc-gcc --version ./defs: line 905: i586-mingw32msvc-gcc: command not found SKIP: ar-lib5a =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ar-lib5a: running lib -out:defstest.lib ./defs: line 777: lib: command not found PASS: auxdir-computed =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/auxdir-computed.dir + plan_ 3 + test 1 -eq 0 + test 1 -ge 2 + test x3 =3D xunknown + test x3 =3D xlater + test x3 =3D xlazy + test x3 =3D xnow + test 3 -ge 0 + echo 1..3 1..3 + have_tap_plan_=3Dyes + cat + : + command_ok_ aclocal aclocal-1.11a -Werror + tap_directive_=3D + tap_reason_=3D + test 3 -gt 0 + tap_description_=3Daclocal + shift + test 2 -gt 0 + case $1 in + break + tap_result_=3Dok + aclocal-1.11a -Werror + result_ ok -D '' -r '' -- aclocal + set +x ok 1 - aclocal PASS: auxdir-computed.tap 1 - aclocal + command_ok_ 'automake -a' -D TODO -r 'long-standing limitation' automake-= 1.11a --foreign -Werror -Wall -a + tap_directive_=3D + tap_reason_=3D + test 10 -gt 0 + tap_description_=3D'automake -a' + shift + test 9 -gt 0 + case $1 in + tap_directive_=3DTODO + shift + shift + test 7 -gt 0 + case $1 in + tap_reason_=3D'long-standing limitation' + shift + shift + test 5 -gt 0 + case $1 in + break + tap_result_=3Dok + automake-1.11a --foreign -Werror -Wall -a configure.in:2: error: required directory ./$foo does not exist configure.in:3: error: installing `$foo/install-sh'; error while making lin= k: No such file or directory configure.in:3: error: installing `$foo/missing'; error while making link: = No such file or directory + tap_result_=3D'not ok' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- 'automake -a' + set +x not ok 2 - automake -a # TODO long-standing limitation XFAIL: auxdir-computed.tap 2 - automake -a # TODO long-standing limitation + command_ok_ automake -D TODO -r 'long-standing limitation' automake-1.11a= --foreign -Werror -Wall + tap_directive_=3D + tap_reason_=3D + test 9 -gt 0 + tap_description_=3Dautomake + shift + test 8 -gt 0 + case $1 in + tap_directive_=3DTODO + shift + shift + test 6 -gt 0 + case $1 in + tap_reason_=3D'long-standing limitation' + shift + shift + test 4 -gt 0 + case $1 in + break + tap_result_=3Dok + automake-1.11a --foreign -Werror -Wall configure.in:2: error: required directory ./$foo does not exist configure.in:3: error: required file `$foo/install-sh' not found configure.in:3: `automake --add-missing' can install `install-sh' configure.in:3: error: required file `$foo/missing' not found configure.in:3: `automake --add-missing' can install `missing' + tap_result_=3D'not ok' + result_ 'not ok' -D TODO -r 'long-standing limitation' -- automake + set +x not ok 3 - automake # TODO long-standing limitation XFAIL: auxdir-computed.tap 3 - automake # TODO long-standing limitation + : + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 1 -eq 3 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x auxdir-computed: exit 0 SKIP: compile4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin compile4: running cl -? ./defs: line 668: cl: command not found SKIP: compile5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/compile5.dir + get_shell_script compile + test x =3D xyes + cp /h/j/w/co/automake/lib/compile . + sed 10q compile #! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=3D2010-11-15.09; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify + cat + chmod +x ./cl + cat + : + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:4: installing `./config.guess' configure.in:4: installing `./config.sub' + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating check_host + . ./check_host ++ case 'linux-gnu' in ++ skip_ 'target OS is not MinGW' ++ warn_ 'compile5: skipped test: target OS is not MinGW' ++ echo 'compile5: skipped test: target OS is not MinGW' ++ Exit 77 ++ set +e ++ test 77 =3D 77 ++ am__test_skipped=3Dyes ++ exit 77 ++ exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x compile5: exit 77 XFAIL: cond17 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/cond17.dir + cat + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall -a Makefile.am: error: object `foo.$(OBJEXT)' created by `foo.cc' and `foo.c' + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x cond17: exit 1 FAIL: cond29 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/cond29.dir + echo AC_PROG_CC + cat + ulimit -v 1 + sh -c : ./cond29.test: line 35: /bin/sh: Argument list too long + ulimit -v 20000 + sh -c : + ulimit -v 20000 + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test x =3D x ++ printf '%s\n' ' /^$/b # Nothing to do for empty lines. x # Get x into pattern space. /^$/{ # No prior x, go prepare it. g # Copy this 1st non-blank line into pattern spac= e. s/^\([ ]*\).*/x\1/ # Prepare x in pattern space. } # Now: x in pattern and in hold. G # Build x\n in pattern space, and h # duplicate it into hold space. s/\n.*$// # Restore x in pattern space, and x # exchange with the above duplicate in hold spac= e. s/^x\(.*\)\n\1// # Remove leading from . s/^x.*\n// # Restore when there is no leading . ' ++ sed -e 's/ *# .*//' + sed_unindent_prog=3D' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C01], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C02], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C03], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C04], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C05], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C06], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C07], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C08], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C09], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C10], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C11], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C12], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C13], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C14], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C15], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C16], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C17], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C18], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C19], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C20], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C21], [:])' + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 + unindent + test 'x /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' =3D x + sed ' /^$/b x /^$/{ g s/^\([ ]*\).*/x\1/ } G h s/\n.*$// x s/^x\(.*\)\n\1// s/^x.*\n//' + echo 'AM_CONDITIONAL([C22], [:])' + aclocal-1.11a -Werror /usr/bin/perl: error while loading shared libraries: libc.so.6: failed to m= ap segment from shared object: Cannot allocate memory + exit_status=3D127 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 127 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x cond29: exit 127 SKIP: cscope =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/cscope.dir + cat + mkdir sub sub/subsub + cat + cat + echo 'int foo_func () { return 0; }' + echo 'int main () { return 0; }' + cat + : + echo 'int main () { return 0; }' + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall --add-missing Makefile.am:4: installing `./elisp-comp' + mkdir build + cd build + ../configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether we are using the GNU Fortran compiler... no checking whether accepts -g... no checking for gcj... no checking dependency style of gcj... none checking for emacs... emacs checking where .elc files should go... ${datarootdir}/emacs/site-lisp checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating sub/Makefile config.status: executing depfiles commands + make -n cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + : cscope + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + cat stderr + grep 'cannot find file' stderr + test -f cscope.files + /p/bin/grep -F foo.c cscope.files ./../foo.c + /p/bin/grep -F bar.cpp cscope.files ./../bar.cpp + /p/bin/grep -F sub/subsub/dist.c cscope.files sub/../../sub/subsub/dist.c + /p/bin/grep -F sub/subsub/gen.c cscope.files sub/subsub/gen.c + cp cscope.files cscope.files1 + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'subsub/dist.c subsub/gen.c '; \ case "../../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"../../sub" ;; \ *) sdir=3Dsub/../../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case ".." in \ [\\/]* | ?:[\\/]*) sdir=3D".." ;; \ *) sdir=3D./.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + diff cscope.files cscope.files1 + make distclean Making distclean in sub make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' test -z "bar" || rm -f bar test -z "subsub/gen.c" || rm -f subsub/gen.c rm -f *.o rm -f *.tab.c test -z "" || rm -f test . =3D "../../sub" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -rf ./.deps rm -f Makefile make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' Making distclean in . make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build' test -z "foo" || rm -f foo rm -f elc-stamp foo.elc rm -f *.o rm -f *.tab.c test -z "" || rm -f test . =3D ".." || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f cscope.out cscope.in.out cscope.po.out cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build' rm -f config.status config.cache config.log configure.lineno config.status.= lineno rm -rf ./.deps rm -f Makefile + test '!' -f cscope.files + test '!' -f cscope.out + test '!' -f cscope.in.out + test '!' -f cscope.po.out ++ pwd + /h/j/w/co/automake/tests/cscope.dir/build/../configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether we are using the GNU Fortran compiler... no checking whether accepts -g... no checking for gcj... no checking dependency style of gcj... none checking for emacs... emacs checking where .elc files should go... ${datarootdir}/emacs/site-lisp checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating sub/Makefile config.status: executing depfiles commands + make cscope rm -f cscope.files list=3D'sub'; for subdir in $list; do \ test "$subdir" =3D . || (CDPATH=3D"${ZSH_VERSION+.}:" && cd $subdir && ma= ke cscopelist); \ done make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' /p/bin/mkdir -p subsub echo 'int generated_subsub () { return 0; }' > subsub/gen.c list=3D'subsub/dist.c subsub/gen.c '; \ case "/h/j/w/co/automake/tests/cscope.dir/build/../sub" in \ [\\/]* | ?:[\\/]*) sdir=3D"/h/j/w/co/automake/tests/cscope.dir/build/../s= ub" ;; \ *) sdir=3Dsub//h/j/w/co/automake/tests/cscope.dir/build/../sub ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "sub/$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ../cscope.files make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' list=3D'foo.c bar.cpp baz.f90 foo.el'; \ case "/h/j/w/co/automake/tests/cscope.dir/build/.." in \ [\\/]* | ?:[\\/]*) sdir=3D"/h/j/w/co/automake/tests/cscope.dir/build/.." = ;; \ *) sdir=3D.//h/j/w/co/automake/tests/cscope.dir/build/.. ;; \ esac; \ for i in $list; do \ if test -f "$i"; then \ echo "./$i"; \ else \ echo "$sdir/$i"; \ fi; \ done >> ./cscope.files test ! -s cscope.files \ || cscope -b -q -i cscope.files + cat stderr + grep 'cannot find file' stderr + make Making all in sub make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/../sub -g -O2 -MT dist.o -MD -M= P -MF .deps/dist.Tpo -c -o dist.o `test -f 'subsub/dist.c' || echo '/h/j/w/= co/automake/tests/cscope.dir/build/../sub/'`subsub/dist.c mv -f .deps/dist.Tpo .deps/dist.Po gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/../sub -g -O2 -MT gen.o -MD -MP= -MF .deps/gen.Tpo -c -o gen.o `test -f 'subsub/gen.c' || echo '/h/j/w/co/a= utomake/tests/cscope.dir/build/../sub/'`subsub/gen.c mv -f .deps/gen.Tpo .deps/gen.Po gcc -g -O2 -o bar dist.o gen.o make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build/sub' make[1]: Entering directory `/h/j/w/co/automake/tests/cscope.dir/build' gcc -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/.. -g -O2 -MT foo.o -MD -MP -MF= .deps/foo.Tpo -c -o foo.o /h/j/w/co/automake/tests/cscope.dir/build/../foo= .c mv -f .deps/foo.Tpo .deps/foo.Po g++ -DPACKAGE_NAME=3D\"cscope\" -DPACKAGE_TARNAME=3D\"cscope\" -DPACKAGE_VE= RSION=3D\"1.0\" -DPACKAGE_STRING=3D\"cscope\ 1.0\" -DPACKAGE_BUGREPORT=3D\"= \" -DPACKAGE_URL=3D\"\" -DPACKAGE=3D\"cscope\" -DVERSION=3D\"1.0\" -I. -I/h= /j/w/co/automake/tests/cscope.dir/build/.. -g -O2 -MT bar.o -MD -MP -MF= .deps/bar.Tpo -c -o bar.o /h/j/w/co/automake/tests/cscope.dir/build/../bar= .cpp mv -f .deps/bar.Tpo .deps/bar.Po c -o baz.o /h/j/w/co/automake/tests/cscope.dir/build/../baz.f90 make[1]: c: Command not found make[1]: [baz.o] Error 127 (ignored) g++ -g -O2 -o foo foo.o bar.o baz.o g++: error: baz.o: No such file or directory make[1]: *** [foo] Error 1 make[1]: Leaving directory `/h/j/w/co/automake/tests/cscope.dir/build' make: *** [all-recursive] Error 1 + Exit 77 + set +e + test 77 =3D 77 + am__test_skipped=3Dyes + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x cscope: exit 77 SKIP: depcomp5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin depcomp5: running icc -V -help ./defs: line 756: icc: command not found SKIP: fort4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin fort4: running g77 --version ./defs: line 740: g77: command not found SKIP: fort5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin fort5: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. fort5: running g77 --version ./defs: line 740: g77: command not found SKIP: gcj4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin gcj4: running gcj --version ./defs: line 712: gcj: command not found SKIP: gcj6 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin gcj6: running gcj --version ./defs: line 712: gcj: command not found SKIP: instdir-java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin instdir-java: running javac -version -help ./defs: line 764: javac: command not found SKIP: instfail-java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin instfail-java: running javac -version -help ./defs: line 764: javac: command not found SKIP: java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-check =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-check: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-clean =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-clean: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-compile-install =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-compile-install: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-compile-run-flat =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-compile-run-flat: running java -version -help java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-61.1.10.4.fc16-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) java-compile-run-flat: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-compile-run-nested =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-compile-run-nested: running java -version -help java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-61.1.10.4.fc16-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) java-compile-run-nested: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-empty-classpath =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-empty-classpath: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-extra =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-extra: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-nobase =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-nobase: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-noinst =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-noinst: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-rebuild =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-rebuild: running javac -version -help ./defs: line 764: javac: command not found SKIP: java-uninstall =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin java-uninstall: running javac -version -help ./defs: line 764: javac: command not found XFAIL: lex-subobj-nodep =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin lex-subobj-nodep: running flex --version flex 2.5.35 ++ pwd /h/j/w/co/automake/tests/lex-subobj-nodep.dir + cat + cat + mkdir sub1 sub2 + cat + cp sub1/s1.l sub2/s2.l + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in:5: installing `./compile' configure.in: installing `./ylwrap' + mkdir build + cd build + ../configure --disable-dependency-tracking checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... none checking whether gcc and cc understand -c and -o together... yes checking for flex... flex checking lex output file root... lex.yy checking lex library... none needed checking whether yytext is a pointer... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make sub1/s1.c /bin/sh ../ylwrap ../sub1/s1.l lex.yy.c sub1/s1.c -- flex ../ylwrap: line 182: ../sub1/s1.c: No such file or directory make: *** [sub1/s1.c] Error 1 + exit_status=3D2 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 2 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x lex-subobj-nodep: exit 2 SKIP: lex-lib-external =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin lex-lib-external: running flex --version flex 2.5.35 ++ pwd /h/j/w/co/automake/tests/lex-lib-external.dir + cat + cat + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall -a configure.in: installing `./ylwrap' + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ranlib... ranlib checking for flex... flex checking lex output file root... lex.yy checking lex library... none needed checking whether yytext is a pointer... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: executing depfiles commands + make have-lexlib test x'' !=3D x make: *** [have-lexlib] Error 1 + skip_ 'no system-wide lex library found' + warn_ 'lex-lib-external: skipped test: no system-wide lex library found' + echo 'lex-lib-external: skipped test: no system-wide lex library found' + Exit 77 + set +e + test 77 =3D 77 + am__test_skipped=3Dyes + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x lex-lib-external: exit 77 SKIP: lzip =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin lzip: running lzip --version ./defs: line 905: lzip: command not found XFAIL: override-conditional-2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/override-conditional-2.dir + cat + cat + aclocal-1.11a -Werror + AUTOMAKE_fails + AUTOMAKE_run -e 1 + am__desc=3D + am__exp_rc=3D0 + test 2 -gt 0 + case $1 in + am__exp_rc=3D1 + shift + shift + test 0 -gt 0 + am__got_rc=3D0 + automake-1.11a --foreign -Werror -Wall + cat stderr + cat stdout + test no '!=3D' yes + test 0 -eq 1 + Exit 1 + set +e + test 77 =3D 1 + exit 1 + exit 1 + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x override-conditional-2: exit 1 FAIL: parallel-tests-interrupt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/parallel-tests-interrupt.dir + plan_ 16 + test 1 -eq 0 + test 1 -ge 2 + test x16 =3D xunknown + test x16 =3D xlater + test x16 =3D xlazy + test x16 =3D xnow + test 16 -ge 0 + echo 1..16 1..16 + have_tap_plan_=3Dyes + cat + cat + cat - /h/j/w/co/automake/lib/test-driver + cat + chmod a+x foo.test + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + trapped_signals=3D'1 2 13 15' + for sig in '$trapped_signals' + is_blocked_signal 1 + /usr/bin/perl -w -e ' use strict; use warnings FATAL =3D> "all"; use POSIX; my %oldsigaction =3D (); sigaction(1, 0, \%oldsigaction); exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); ' + test 77 -eq 77 + return 1 + rm -f pid fail config.log + r=3Dok + env sig=3D1 make check make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' total 284 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rw-------. 1 meyering meyering 63 Dec 26 23:18 foo.log -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + echo 'foo is starting to run' foo is starting to run + ls -l + test 1 -gt 0 + res=3Dok + cat foo.log ok - logfile created and readable [SIG 1] PASS: parallel-tests-interrupt.tap 1 - logfile created and readable [SIG 1] not ok - logfile contains output from test script [SIG 1] FAIL: parallel-tests-interrupt.tap 2 - logfile contains output from test sc= ript [SIG 1] 2070 make[2]: *** [foo.log] Error 129 make[2]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make[1]: *** [check-TESTS] Error 2 make[1]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make: *** [check-am] Error 2 + echo 'ok - signal 1 to test driver causes "make check" to fail' ok - signal 1 to test driver causes "make check" to fail PASS: parallel-tests-interrupt.tap 3 - signal 1 to test driver causes "make= check" to fail + ls -l total 280 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + cat foo.log cat: foo.log: No such file or directory + : + cat test-suite.log cat: test-suite.log: No such file or directory + : + r=3Dok + ls + /p/bin/grep -E 'foo.*\.(log|tmp)' + echo 'ok - test driver clean up log and tmp files after signal 1' ok - test driver clean up log and tmp files after signal 1 PASS: parallel-tests-interrupt.tap 4 - test driver clean up log and tmp fil= es after signal 1 + for sig in '$trapped_signals' + is_blocked_signal 2 + /usr/bin/perl -w -e ' use strict; use warnings FATAL =3D> "all"; use POSIX; my %oldsigaction =3D (); sigaction(2, 0, \%oldsigaction); exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); ' + test 77 -eq 77 + return 1 + rm -f pid fail '*.log' + r=3Dok + env sig=3D2 make check make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' total 284 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rw-------. 1 meyering meyering 63 Dec 26 23:18 foo.log -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + echo 'foo is starting to run' foo is starting to run + ls -l + test 2 -gt 0 + res=3Dok + cat foo.log ok - logfile created and readable [SIG 2] PASS: parallel-tests-interrupt.tap 5 - logfile created and readable [SIG 2] not ok - logfile contains output from test script [SIG 2] FAIL: parallel-tests-interrupt.tap 6 - logfile contains output from test sc= ript [SIG 2] 2774 make[2]: *** [foo.log] Error 130 make[2]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make[1]: *** [check-TESTS] Error 2 make[1]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make: *** [check-am] Error 2 + echo 'ok - signal 2 to test driver causes "make check" to fail' ok - signal 2 to test driver causes "make check" to fail PASS: parallel-tests-interrupt.tap 7 - signal 2 to test driver causes "make= check" to fail + ls -l total 280 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + cat foo.log cat: foo.log: No such file or directory + : + cat test-suite.log cat: test-suite.log: No such file or directory + : + r=3Dok + /p/bin/grep -E 'foo.*\.(log|tmp)' + ls + echo 'ok - test driver clean up log and tmp files after signal 2' ok - test driver clean up log and tmp files after signal 2 PASS: parallel-tests-interrupt.tap 8 - test driver clean up log and tmp fil= es after signal 2 + for sig in '$trapped_signals' + is_blocked_signal 13 + /usr/bin/perl -w -e ' use strict; use warnings FATAL =3D> "all"; use POSIX; my %oldsigaction =3D (); sigaction(13, 0, \%oldsigaction); exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); ' + test 77 -eq 77 + return 1 + rm -f pid fail '*.log' + r=3Dok + env sig=3D13 make check make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' total 284 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rw-------. 1 meyering meyering 63 Dec 26 23:18 foo.log -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + echo 'foo is starting to run' foo is starting to run + ls -l + test 13 -gt 0 + res=3Dok + cat foo.log ok - logfile created and readable [SIG 13] PASS: parallel-tests-interrupt.tap 9 - logfile created and readable [SIG 13] not ok - logfile contains output from test script [SIG 13] FAIL: parallel-tests-interrupt.tap 10 - logfile contains output from test s= cript [SIG 13] 3445 make[2]: *** [foo.log] Error 141 make[2]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make[1]: *** [check-TESTS] Error 2 make[1]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make: *** [check-am] Error 2 + echo 'ok - signal 13 to test driver causes "make check" to fail' ok - signal 13 to test driver causes "make check" to fail PASS: parallel-tests-interrupt.tap 11 - signal 13 to test driver causes "ma= ke check" to fail + ls -l total 280 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + cat foo.log cat: foo.log: No such file or directory + : + cat test-suite.log cat: test-suite.log: No such file or directory + : + r=3Dok + /p/bin/grep -E 'foo.*\.(log|tmp)' + ls + echo 'ok - test driver clean up log and tmp files after signal 13' ok - test driver clean up log and tmp files after signal 13 PASS: parallel-tests-interrupt.tap 12 - test driver clean up log and tmp fi= les after signal 13 + for sig in '$trapped_signals' + is_blocked_signal 15 + /usr/bin/perl -w -e ' use strict; use warnings FATAL =3D> "all"; use POSIX; my %oldsigaction =3D (); sigaction(15, 0, \%oldsigaction); exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); ' + test 77 -eq 77 + return 1 + rm -f pid fail '*.log' + r=3Dok + env sig=3D15 make check make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/parallel-tests-interr= upt.dir' total 284 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rw-------. 1 meyering meyering 63 Dec 26 23:18 foo.log -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + echo 'foo is starting to run' foo is starting to run + ls -l + test 15 -gt 0 + res=3Dok + cat foo.log ok - logfile created and readable [SIG 15] PASS: parallel-tests-interrupt.tap 13 - logfile created and readable [SIG 1= 5] not ok - logfile contains output from test script [SIG 15] FAIL: parallel-tests-interrupt.tap 14 - logfile contains output from test s= cript [SIG 15] 3962 make[2]: *** [foo.log] Error 143 make[2]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make[1]: *** [check-TESTS] Error 2 make[1]: Leaving directory `/h/j/w/co/automake/tests/parallel-tests-interru= pt.dir' make: *** [check-am] Error 2 + echo 'ok - signal 15 to test driver causes "make check" to fail' ok - signal 15 to test driver causes "make check" to fail PASS: parallel-tests-interrupt.tap 15 - signal 15 to test driver causes "ma= ke check" to fail + ls -l total 280 -rw-------. 1 meyering meyering 26566 Dec 26 23:18 Makefile -rw-------. 1 meyering meyering 145 Dec 26 23:18 Makefile.am -rw-------. 1 meyering meyering 25659 Dec 26 23:18 Makefile.in -rw-------. 1 meyering meyering 22835 Dec 26 23:18 aclocal.m4 drwx------. 2 meyering meyering 4096 Dec 26 23:18 autom4te.cache -rwx------. 1 meyering meyering 25785 Dec 26 23:18 config.status -rwx------. 1 meyering meyering 99869 Dec 26 23:18 configure -rw-------. 1 meyering meyering 116 Dec 26 23:18 configure.in -rwx------. 1 meyering meyering 20334 Dec 26 23:18 depcomp -rwx--x--x. 1 meyering meyering 548 Dec 26 23:18 foo.test -rwx------. 1 meyering meyering 13997 Dec 26 23:18 install-sh -rwx------. 1 meyering meyering 11251 Dec 26 23:18 missing -rw-------. 1 meyering meyering 5 Dec 26 23:18 pid -rw-------. 1 meyering meyering 4019 Dec 26 23:18 test-driver + cat foo.log cat: foo.log: No such file or directory + : + cat test-suite.log cat: test-suite.log: No such file or directory + : + r=3Dok + /p/bin/grep -E 'foo.*\.(log|tmp)' + ls + echo 'ok - test driver clean up log and tmp files after signal 15' ok - test driver clean up log and tmp files after signal 15 PASS: parallel-tests-interrupt.tap 16 - test driver clean up log and tmp fi= les after signal 15 + : + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 0 -eq 0 + am_keeping_testdirs + case $keep_testdirs in + return 1 + rm_rf_ parallel-tests-interrupt.dir + test 1 -gt 0 + find parallel-tests-interrupt.dir -type d '!' -perm -700 -exec chmod u+rw= x '{}' ';' + rm -rf parallel-tests-interrupt.dir + set +x parallel-tests-interrupt: exit 0 SKIP: python-virtualenv =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin python-virtualenv: running python -V Python 2.7.2 python-virtualenv: running virtualenv --version ./defs: line 905: virtualenv: command not found XFAIL: remake-am-pr10111 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/remake-am-pr10111.dir + cat + : + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall automake: warnings are treated as errors Makefile.am:2: warning: user target `$(srcdir)/foobar.am' defined here ... /h/j/w/co/automake/lib/am/configure.am: ... overrides Automake target `$(sr= cdir)/foobar.am' defined here + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x remake-am-pr10111: exit 1 XFAIL: remake-m4-pr10111 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/remake-m4-pr10111.dir + cat + : + cat + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + make distdir { test ! -d "remake-m4-pr10111-1.0" || { find "remake-m4-pr10111-1.0" -type= d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "remake-m4-pr10111-1.0"; }= ; } test -d "remake-m4-pr10111-1.0" || mkdir "remake-m4-pr10111-1.0" test -n "" \ || find "remake-m4-pr10111-1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /h/j/w/co/automake/tests/remake-m4-p= r10111.dir/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "remake-m4-pr10111-1.0" + cd remake-m4-pr10111-1.0 + mkdir build + cd build + ../configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + rm -f ../foobar.m4 + make make: Nothing to be done for `all'. + grep ': foobar was here :' ../configure + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x remake-m4-pr10111: exit 1 XFAIL: pr8365-remake-timing =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/pr8365-remake-timing.dir + stat /dev/null File: `/dev/null' Size: 0 Blocks: 0 IO Block: 4096 character special fi= le Device: 5h/5d Inode: 1028 Links: 1 Device type: 1,3 Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:null_device_t:s0 Access: 2011-12-17 19:58:41.050694003 +0100 Modify: 2011-12-17 19:58:41.050694003 +0100 Change: 2011-12-17 19:58:41.050694003 +0100 Birth: - + stat=3Dstat + cat + : + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + make Makefile make: `Makefile' is up to date. + /p/bin/grep -E 'FOOBAR|zardoz' Makefile + echo 'AC_SUBST([FOOBAR])' + stat config.status Makefile configure.in File: `config.status' Size: 25713 Blocks: 56 IO Block: 4096 regular file Device: 808h/2056d Inode: 577640 Links: 1 Access: (0700/-rwx------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:21.899518163 +0100 Modify: 2011-12-26 23:19:21.898518136 +0100 Change: 2011-12-26 23:19:21.898518136 +0100 Birth: - File: `Makefile' Size: 15042 Blocks: 32 IO Block: 4096 regular file Device: 808h/2056d Inode: 576298 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:21.992520578 +0100 Modify: 2011-12-26 23:19:21.945519357 +0100 Change: 2011-12-26 23:19:21.947519410 +0100 Birth: - File: `configure.in' Size: 127 Blocks: 8 IO Block: 4096 regular file Device: 808h/2056d Inode: 575240 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:19.601458483 +0100 Modify: 2011-12-26 23:19:21.994520631 +0100 Change: 2011-12-26 23:19:21.994520631 +0100 Birth: - + sleep 2 + touch config.status + touch -r config.status config.status Makefile configure.in + stat config.status Makefile configure.in File: `config.status' Size: 25713 Blocks: 56 IO Block: 4096 regular file Device: 808h/2056d Inode: 577640 Links: 1 Access: (0700/-rwx------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:24.003572805 +0100 Birth: - File: `Makefile' Size: 15042 Blocks: 32 IO Block: 4096 regular file Device: 808h/2056d Inode: 576298 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:24.003572805 +0100 Birth: - File: `configure.in' Size: 127 Blocks: 8 IO Block: 4096 regular file Device: 808h/2056d Inode: 575240 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:24.003572805 +0100 Birth: - + cat + cat + cat + chmod a+x aclocal-wrap automake-wrap autoconf-wrap + env ACLOCAL=3D./aclocal-wrap AUTOMAKE=3D./automake-wrap AUTOCONF=3D./auto= conf-wrap make -e Makefile CDPATH=3D"${ZSH_VERSION+.}:" && cd . && ./aclocal-wrap + AUTOCONF=3D'autoconf -B /no/such/dir' + export AUTOCONF + aclocal-1.11a -Werror + touch -r config.status aclocal.m4 + stat aclocal.m4 File: `aclocal.m4' Size: 22835 Blocks: 48 IO Block: 4096 regular file Device: 808h/2056d Inode: 576590 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:24.540586751 +0100 Birth: - cd . && ./automake-wrap --foreign + AUTOCONF=3D'autoconf -B /no/such/dir' + export AUTOCONF + automake-1.11a --foreign -Werror -Wall --foreign + touch -r config.status Makefile.in + stat Makefile.in File: `Makefile.in' Size: 14245 Blocks: 32 IO Block: 4096 regular file Device: 808h/2056d Inode: 578089 Links: 1 Access: (0600/-rw-------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:25.716617292 +0100 Birth: - CDPATH=3D"${ZSH_VERSION+.}:" && cd . && ./autoconf-wrap + autoconf -B /no/such/dir + touch -r config.status configure + stat configure File: `configure' Size: 99843 Blocks: 200 IO Block: 4096 regular file Device: 808h/2056d Inode: 580827 Links: 1 Access: (0700/-rwx------) Uid: ( 1000/meyering) Gid: ( 1000/meyering) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-12-26 23:19:23.999572701 +0100 Modify: 2011-12-26 23:19:23.999572701 +0100 Change: 2011-12-26 23:19:26.085626876 +0100 Birth: - make: `Makefile' is up to date. + grep '^FOOBAR =3D' Makefile.in FOOBAR =3D @FOOBAR@ + grep '^FOOBAR *=3D *zardoz *$' Makefile + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x pr8365-remake-timing: exit 1 SKIP: silentf77 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/silentf77.dir + mkdir sub + cat + cat + cat + cat + cp foo.f sub/bar.f + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall --add-missing + autoconf -B /no/such/dir + ./configure --enable-silent-rules checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking whether the Fortran 77 compiler works... no configure: error: in `/h/j/w/co/automake/tests/silentf77.dir': configure: error: Fortran 77 compiler cannot create executables See `config.log' for more details + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x silentf77: exit 77 SKIP: silentf90 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/silentf90.dir + mkdir sub + cat + cat + cat + cat + cp foo.f90 sub/bar.f90 + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall --add-missing + autoconf -B /no/such/dir + ./configure --enable-silent-rules checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether the Fortran compiler works... no configure: error: in `/h/j/w/co/automake/tests/silentf90.dir': configure: error: Fortran compiler cannot create executables See `config.log' for more details + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x silentf90: exit 77 SKIP: silent-many-gcc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin silent-many-gcc: running gcc --version gcc (GCC) 4.7.0 20111202 (experimental) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. silent-many-gcc: running gcc -v Using built-in specs. COLLECT_GCC=3D/p/bin/gcc COLLECT_LTO_WRAPPER=3D/p/p/gcc-2011-12-02.12h37/libexec/gcc/x86_64-unknown-= linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /h/j/w/co/gcc-svn/configure --prefix=3D/p/p/gcc-2011-12-02= .12h37 --disable-multilib --disable-libmudflap --disable-nls --enable-langu= ages=3Dc Thread model: posix gcc version 4.7.0 20111202 (experimental) (GCC) silent-many-gcc: running g++ --version g++ (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. silent-many-gcc: running g++ -v Using built-in specs. COLLECT_GCC=3D/usr/bin/g++ COLLECT_LTO_WRAPPER=3D/usr/libexec/gcc/x86_64-redhat-linux/4.6.2/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=3D/usr --mandir=3D/usr/share/man --i= nfodir=3D/usr/share/info --with-bugurl=3Dhttp://bugzilla.redhat.com/bugzill= a --enable-bootstrap --enable-shared --enable-threads=3Dposix --enable-chec= king=3Drelease --with-system-zlib --enable-__cxa_atexit --disable-libunwind= -exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-la= nguages=3Dc,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enab= le-java-awt=3Dgtk --disable-dssi --with-java-home=3D/usr/lib/jvm/java-1.5.0= -gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --= with-ecj-jar=3D/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib -= -with-ppl --with-cloog --with-tune=3Dgeneric --with-arch_32=3Di686 --build= =3Dx86_64-redhat-linux Thread model: posix gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) silent-many-gcc: running gfortran --version ./defs: line 728: gfortran: command not found SKIP: silent-many-generic =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin silent-many-generic: running flex --version flex 2.5.35 silent-many-generic: running bison --version bison (GNU Bison) 2.4.609-f3bd Written by Robert Corbett and Richard Stallman. Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ pwd /h/j/w/co/automake/tests/silent-many-generic.dir + mkdir sub + cat + cat + cat + cat + cat + cat + cat + cat + cp foo1.cpp bar.c + cp foo1.cpp sub/baz.c + cp foo1.cpp sub/bla.c + cp foo1.cpp sub/baz1.cpp + cp foo2.f90 sub/baz2.f90 + cp foo3.f sub/baz3.f + cp foo5.l sub/baz5.l + cp foo6.y sub/baz6.y + mkdir bin + saved_PATH=3D/h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/= lib64/ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bi= n:/usr/bin:/usr/local:/usr/local/bin + export saved_PATH ++ pwd + PATH=3D/h/j/w/co/automake/tests/silent-many-generic.dir/bin:/h/j/w/co/aut= omake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h/j/bin/perl:/= h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local:/usr/l= ocal/bin + export PATH + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall --add-missing configure.in:5: installing `./compile' configure.in: installing `./ylwrap' + autoconf -B /no/such/dir + for config_args in --enable-dependency-tracking --disable-dependency-trac= king + ./configure --enable-dependency-tracking --enable-silent-rules checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking whether gcc and cc understand -c and -o together... yes checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgfortran... no checking for pgf95... no checking for lf95... no checking for ftn... no checking for nagfor... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking whether we are using the GNU Fortran compiler... no checking whether accepts -g... no checking for flex... flex checking lex output file root... lex.yy checking lex library... none needed checking whether yytext is a pointer... no checking for bison... bison -y checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 configure: error: Fortran compiler not found + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x silent-many-generic: exit 77 PASS: tap-bad-prog =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/tap-bad-prog.dir + plan_ 5 + test 1 -eq 0 + test 1 -ge 2 + test x5 =3D xunknown + test x5 =3D xlater + test x5 =3D xlazy + test x5 =3D xnow + test 5 -ge 0 + echo 1..5 1..5 + have_tap_plan_=3Dyes + fetch_tap_driver + case $am_tap_implementation in + sed '1s|#!.*|#! /bin/sh|' /h/j/w/co/automake/lib/tap-driver.sh + chmod a+x tap-driver + sed 10q tap-driver #! /bin/sh # Copyright (C) 2011 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of + cat + cat + cat + cp noexec.test noread.test + chmod a-r noread.test + aclocal-1.11a -Werror + autoconf -B /no/such/dir + automake-1.11a --foreign -Werror -Wall + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile + make check make[2]: *** [test-suite.log] Error 1 make[1]: *** [check-TESTS] Error 2 make: *** [check-am] Error 2 + r=3Dok + cat stdout make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/tap-bad-prog.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/tap-bad-prog.dir' ERROR: none.test - missing test plan ERROR: none.test - exited with status 127 (command not found?) ERROR: noread.test - missing test plan ERROR: noread.test - exited with status 126 ERROR: noexec.test - missing test plan ERROR: noexec.test - exited with status 126 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D Testsuite summary for tap-bad-prog 1.0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D # TOTAL: 6 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 6 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D See ./test-suite.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D make[2]: Leaving directory `/h/j/w/co/automake/tests/tap-bad-prog.dir' make[1]: Leaving directory `/h/j/w/co/automake/tests/tap-bad-prog.dir' + result_ ok '"make check" returns non-zero exit status' + set +x ok 1 - "make check" returns non-zero exit status PASS: tap-bad-prog.tap 1 - "make check" returns non-zero exit status + command_ok_ 'non-existent test is reported' grep '^ERROR: none\.test' std= out + tap_directive_=3D + tap_reason_=3D + test 4 -gt 0 + tap_description_=3D'non-existent test is reported' + shift + test 3 -gt 0 + case $1 in + break + tap_result_=3Dok + grep '^ERROR: none\.test' stdout ERROR: none.test - missing test plan ERROR: none.test - exited with status 127 (command not found?) + result_ ok -D '' -r '' -- 'non-existent test is reported' + set +x ok 2 - non-existent test is reported PASS: tap-bad-prog.tap 2 - non-existent test is reported + desc=3D'non-executable test is reported' + ./noexec.test ./tap-bad-prog.tap: line 64: ./noexec.test: Permission denied + command_ok_ 'non-executable test is reported' -- grep '^ERROR: noexec\.te= st' stdout + tap_directive_=3D + tap_reason_=3D + test 5 -gt 0 + tap_description_=3D'non-executable test is reported' + shift + test 4 -gt 0 + case $1 in + shift + break + tap_result_=3Dok + grep '^ERROR: noexec\.test' stdout ERROR: noexec.test - missing test plan ERROR: noexec.test - exited with status 126 + result_ ok -D '' -r '' -- 'non-executable test is reported' + set +x ok 3 - non-executable test is reported PASS: tap-bad-prog.tap 3 - non-executable test is reported + desc=3D'non-readable test is reported' + test -r noread.test + command_ok_ 'non-readable test is reported' -- grep '^ERROR: noread\.test= ' stdout + tap_directive_=3D + tap_reason_=3D + test 5 -gt 0 + tap_description_=3D'non-readable test is reported' + shift + test 4 -gt 0 + case $1 in + shift + break + tap_result_=3Dok + grep '^ERROR: noread\.test' stdout ERROR: noread.test - missing test plan ERROR: noread.test - exited with status 126 + result_ ok -D '' -r '' -- 'non-readable test is reported' + set +x ok 4 - non-readable test is reported PASS: tap-bad-prog.tap 4 - non-readable test is reported + command_ok_ 'no spurious results' -D TODO -r 'still get "missing plan"' c= ount_test_results total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip=3D0 = error=3D3 + tap_directive_=3D + tap_reason_=3D + test 13 -gt 0 + tap_description_=3D'no spurious results' + shift + test 12 -gt 0 + case $1 in + tap_directive_=3DTODO + shift + shift + test 10 -gt 0 + case $1 in + tap_reason_=3D'still get "missing plan"' + shift + shift + test 8 -gt 0 + case $1 in + break + tap_result_=3Dok + count_test_results total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip= =3D0 error=3D3 + total=3DERR + pass=3DERR + fail=3DERR + xpass=3DERR + xfail=3DERR + skip=3DERR + error=3DERR + eval total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip=3D0 error=3D3 ++ total=3D3 ++ pass=3D0 ++ fail=3D0 ++ xpass=3D0 ++ xfail=3D0 ++ skip=3D0 ++ error=3D3 + /p/bin/grep -E -i '(total|x?pass|x?fail|skip|error)' stdout ERROR: none.test - missing test plan ERROR: none.test - exited with status 127 (command not found?) ERROR: noread.test - missing test plan ERROR: noread.test - exited with status 126 ERROR: noexec.test - missing test plan ERROR: noexec.test - exited with status 126 # TOTAL: 6 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 6 + rc=3D0 + set +e ++ grep -c '^PASS:' stdout + test 0 -eq 0 ++ grep -c '^XFAIL:' stdout + test 0 -eq 0 ++ grep -c '^SKIP:' stdout + test 0 -eq 0 ++ grep -c '^FAIL:' stdout + test 0 -eq 0 ++ grep -c '^XPASS:' stdout + test 0 -eq 0 ++ grep -c '^ERROR:' stdout + test 6 -eq 3 + rc=3D1 + grep '^# TOTAL: *3$' stdout + rc=3D1 + grep '^# PASS: *0$' stdout # PASS: 0 + grep '^# XFAIL: *0$' stdout # XFAIL: 0 + grep '^# SKIP: *0$' stdout # SKIP: 0 + grep '^# FAIL: *0$' stdout # FAIL: 0 + grep '^# XPASS: *0$' stdout # XPASS: 0 + grep '^# ERROR: *3$' stdout + rc=3D1 + test 1 -eq 0 + tap_result_=3D'not ok' + result_ 'not ok' -D TODO -r 'still get "missing plan"' -- 'no spurious re= sults' + set +x not ok 5 - no spurious results # TODO still get "missing plan" XFAIL: tap-bad-prog.tap 5 - no spurious results # TODO still get "missing p= lan" + : + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 4 -eq 5 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x tap-bad-prog: exit 0 XFAIL: txinfo5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/txinfo5.dir + cat + cat + echo '@setfilename ian.info' + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall --cygnus automake: warnings are treated as errors configure.in:2: warning: user variable `MAKEINFO' defined here ... /h/j/w/co/automake/lib/am/texinfos.am: ... overrides Automake variable `MAK= EINFO' defined here + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x txinfo5: exit 1 SKIP: upc =3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/upc.dir + cat + cat + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for upcc... no checking for upc... no configure: error: no Unified Parallel C compiler was found + Exit 77 + set +e + test 77 =3D 77 + am__test_skipped=3Dyes + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x upc: exit 77 SKIP: upc3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin ++ pwd /h/j/w/co/automake/tests/upc3.dir + cat + cat + cat + cat + cat + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall + autoconf -B /no/such/dir + ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for upcc... no checking for upc... no configure: error: no Unified Parallel C compiler was found + Exit 77 + set +e + test 77 =3D 77 + am__test_skipped=3Dyes + exit 77 + exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x upc3: exit 77 SKIP: vala2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin vala2: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala2: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala2: running pkg-config --version 0.25 vala2: running valac --version ./defs: line 905: valac: command not found SKIP: vala3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin vala3: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala3: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala3: running pkg-config --version 0.25 vala3: running valac --version ./defs: line 905: valac: command not found SKIP: vala5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin vala5: running libtool --version libtool (GNU libtool) 2.4.2 Written by Gordon Matzigkeit , 1996 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala5: running libtoolize --version libtoolize (GNU libtool) 2.4.2 Written by Gary V. Vaughan , 2003 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. vala5: running pkg-config --version 0.25 vala5: running valac --version ./defs: line 905: valac: command not found SKIP: vala-vpath =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin vala-vpath: running valac --version ./defs: line 905: valac: command not found SKIP: compile4-w =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ./compile4-w.test: will source ./compile4.test Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin compile4-w: running cl -? ./defs: line 668: cl: command not found SKIP: compile5-w =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ./compile5-w.test: will source ./compile5.test Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin +++ pwd /h/j/w/co/automake/tests/compile5-w.dir ++ get_shell_script compile ++ test xyes =3D xyes ++ sed '1s|#!.*|#! /bin/sh|' /h/j/w/co/automake/lib/compile ++ chmod a+x compile ++ sed 10q compile #! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=3D2010-11-15.09; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify ++ cat ++ chmod +x ./cl ++ cat ++ : ++ cat ++ aclocal-1.11a -Werror ++ autoconf -B /no/such/dir -B /no/such/dir ++ automake-1.11a --foreign -Werror -Wall -a configure.in:4: installing `./config.guess' configure.in:4: installing `./config.sub' ++ ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating check_host ++ . ./check_host +++ case 'linux-gnu' in +++ skip_ 'target OS is not MinGW' +++ warn_ 'compile5-w: skipped test: target OS is not MinGW' +++ echo 'compile5-w: skipped test: target OS is not MinGW' +++ Exit 77 +++ set +e +++ test 77 =3D 77 +++ am__test_skipped=3Dyes +++ exit 77 +++ exit 77 + exit_status=3D77 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 77 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x compile5-w: exit 77 FAIL: tap-no-spurious-w =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ./tap-no-spurious-w.test: will source ./tap-no-spurious.test Running from installcheck: no Using TAP: no PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin +++ pwd /h/j/w/co/automake/tests/tap-no-spurious-w.dir ++ . /h/j/w/co/automake/tests/tap-setup.sh +++ test -f ../defs-static +++ test -f ../defs +++ test '!' -f Makefile.am +++ test -d ../tap-common-setup.dir +++ cp -Rp ../tap-common-setup.dir/Makefile ../tap-common-setup.dir/Makefil= e.am ../tap-common-setup.dir/Makefile.in ../tap-common-setup.dir/aclocal.m4= ../tap-common-setup.dir/config.log ../tap-common-setup.dir/config.status .= ./tap-common-setup.dir/configure ../tap-common-setup.dir/configure.in ../ta= p-common-setup.dir/depcomp ../tap-common-setup.dir/install-sh ../tap-common= -setup.dir/missing . +++ fetch_tap_driver +++ case $am_tap_implementation in +++ sed '1s|#!.*|#! /usr/bin/perl -w|' /h/j/w/co/automake/lib/tap-driver.pl +++ chmod a+x tap-driver +++ sed 10q tap-driver #! /usr/bin/perl -w # Copyright (C) 2011 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of +++ test -f Makefile.am~ +++ : ++ echo 1..5 ++ cat ++ cat ++ set +x ++ cat ++ cat all.test 1..5 ok 1 # XFAIL ok 2 # SKIPPED ok 3 # TO DO ok 4 # TODOALL ok 5 # FIXME ok ok 1 ok ok 1 not ok not ok 1 not ok not ok 1 notok notok 1 not ok not ok 1 not ok not ok 1 no ok no ok 1 # ok # not ok # ok 1 # not ok 1 #ok #not ok #ok 1 #not ok 1 oka oka@ oka% oka+ oka- oka=3D oka/ oka. oka: oka; oka* oka? oka& oka! oka# oka$ oka< oka> oka\ okb okb@ okb% okb+ okb- okb=3D okb/ okb. okb: okb; okb* okb? okb& okb! okb# okb$ okb< okb> okb\ okc okc@ okc% okc+ okc- okc=3D okc/ okc. okc: okc; okc* okc? okc& okc! okc# okc$ okc< okc> okc\ okd okd@ okd% okd+ okd- okd=3D okd/ okd. okd: okd; okd* okd? okd& okd! okd# okd$ okd< okd> okd\ oke oke@ oke% oke+ oke- oke=3D oke/ oke. oke: oke; oke* oke? oke& oke! oke# oke$ oke< oke> oke\ okf okf@ okf% okf+ okf- okf=3D okf/ okf. okf: okf; okf* okf? okf& okf! okf# okf$ okf< okf> okf\ okg okg@ okg% okg+ okg- okg=3D okg/ okg. okg: okg; okg* okg? okg& okg! okg# okg$ okg< okg> okg\ okh okh@ okh% okh+ okh- okh=3D okh/ okh. okh: okh; okh* okh? okh& okh! okh# okh$ okh< okh> okh\ oki oki@ oki% oki+ oki- oki=3D oki/ oki. oki: oki; oki* oki? oki& oki! oki# oki$ oki< oki> oki\ okj okj@ okj% okj+ okj- okj=3D okj/ okj. okj: okj; okj* okj? okj& okj! okj# okj$ okj< okj> okj\ okk okk@ okk% okk+ okk- okk=3D okk/ okk. okk: okk; okk* okk? okk& okk! okk# okk$ okk< okk> okk\ okl okl@ okl% okl+ okl- okl=3D okl/ okl. okl: okl; okl* okl? okl& okl! okl# okl$ okl< okl> okl\ okm okm@ okm% okm+ okm- okm=3D okm/ okm. okm: okm; okm* okm? okm& okm! okm# okm$ okm< okm> okm\ okn okn@ okn% okn+ okn- okn=3D okn/ okn. okn: okn; okn* okn? okn& okn! okn# okn$ okn< okn> okn\ oko oko@ oko% oko+ oko- oko=3D oko/ oko. oko: oko; oko* oko? oko& oko! oko# oko$ oko< oko> oko\ okp okp@ okp% okp+ okp- okp=3D okp/ okp. okp: okp; okp* okp? okp& okp! okp# okp$ okp< okp> okp\ okq okq@ okq% okq+ okq- okq=3D okq/ okq. okq: okq; okq* okq? okq& okq! okq# okq$ okq< okq> okq\ okr okr@ okr% okr+ okr- okr=3D okr/ okr. okr: okr; okr* okr? okr& okr! okr# okr$ okr< okr> okr\ oks oks@ oks% oks+ oks- oks=3D oks/ oks. oks: oks; oks* oks? oks& oks! oks# oks$ oks< oks> oks\ okt okt@ okt% okt+ okt- okt=3D okt/ okt. okt: okt; okt* okt? okt& okt! okt# okt$ okt< okt> okt\ oku oku@ oku% oku+ oku- oku=3D oku/ oku. oku: oku; oku* oku? oku& oku! oku# oku$ oku< oku> oku\ okv okv@ okv% okv+ okv- okv=3D okv/ okv. okv: okv; okv* okv? okv& okv! okv# okv$ okv< okv> okv\ okw okw@ okw% okw+ okw- okw=3D okw/ okw. okw: okw; okw* okw? okw& okw! okw# okw$ okw< okw> okw\ okx okx@ okx% okx+ okx- okx=3D okx/ okx. okx: okx; okx* okx? okx& okx! okx# okx$ okx< okx> okx\ oky oky@ oky% oky+ oky- oky=3D oky/ oky. oky: oky; oky* oky? oky& oky! oky# oky$ oky< oky> oky\ okz okz@ okz% okz+ okz- okz=3D okz/ okz. okz: okz; okz* okz? okz& okz! okz# okz$ okz< okz> okz\ okA okA@ okA% okA+ okA- okA=3D okA/ okA. okA: okA; okA* okA? okA& okA! okA# okA$ okA< okA> okA\ okB okB@ okB% okB+ okB- okB=3D okB/ okB. okB: okB; okB* okB? okB& okB! okB# okB$ okB< okB> okB\ okC okC@ okC% okC+ okC- okC=3D okC/ okC. okC: okC; okC* okC? okC& okC! okC# okC$ okC< okC> okC\ okD okD@ okD% okD+ okD- okD=3D okD/ okD. okD: okD; okD* okD? okD& okD! okD# okD$ okD< okD> okD\ okE okE@ okE% okE+ okE- okE=3D okE/ okE. okE: okE; okE* okE? okE& okE! okE# okE$ okE< okE> okE\ okF okF@ okF% okF+ okF- okF=3D okF/ okF. okF: okF; okF* okF? okF& okF! okF# okF$ okF< okF> okF\ okG okG@ okG% okG+ okG- okG=3D okG/ okG. okG: okG; okG* okG? okG& okG! okG# okG$ okG< okG> okG\ okH okH@ okH% okH+ okH- okH=3D okH/ okH. okH: okH; okH* okH? okH& okH! okH# okH$ okH< okH> okH\ okI okI@ okI% okI+ okI- okI=3D okI/ okI. okI: okI; okI* okI? okI& okI! okI# okI$ okI< okI> okI\ okJ okJ@ okJ% okJ+ okJ- okJ=3D okJ/ okJ. okJ: okJ; okJ* okJ? okJ& okJ! okJ# okJ$ okJ< okJ> okJ\ okK okK@ okK% okK+ okK- okK=3D okK/ okK. okK: okK; okK* okK? okK& okK! okK# okK$ okK< okK> okK\ okL okL@ okL% okL+ okL- okL=3D okL/ okL. okL: okL; okL* okL? okL& okL! okL# okL$ okL< okL> okL\ okM okM@ okM% okM+ okM- okM=3D okM/ okM. okM: okM; okM* okM? okM& okM! okM# okM$ okM< okM> okM\ okN okN@ okN% okN+ okN- okN=3D okN/ okN. okN: okN; okN* okN? okN& okN! okN# okN$ okN< okN> okN\ okO okO@ okO% okO+ okO- okO=3D okO/ okO. okO: okO; okO* okO? okO& okO! okO# okO$ okO< okO> okO\ okP okP@ okP% okP+ okP- okP=3D okP/ okP. okP: okP; okP* okP? okP& okP! okP# okP$ okP< okP> okP\ okQ okQ@ okQ% okQ+ okQ- okQ=3D okQ/ okQ. okQ: okQ; okQ* okQ? okQ& okQ! okQ# okQ$ okQ< okQ> okQ\ okR okR@ okR% okR+ okR- okR=3D okR/ okR. okR: okR; okR* okR? okR& okR! okR# okR$ okR< okR> okR\ okS okS@ okS% okS+ okS- okS=3D okS/ okS. okS: okS; okS* okS? okS& okS! okS# okS$ okS< okS> okS\ okT okT@ okT% okT+ okT- okT=3D okT/ okT. okT: okT; okT* okT? okT& okT! okT# okT$ okT< okT> okT\ okU okU@ okU% okU+ okU- okU=3D okU/ okU. okU: okU; okU* okU? okU& okU! okU# okU$ okU< okU> okU\ okV okV@ okV% okV+ okV- okV=3D okV/ okV. okV: okV; okV* okV? okV& okV! okV# okV$ okV< okV> okV\ okW okW@ okW% okW+ okW- okW=3D okW/ okW. okW: okW; okW* okW? okW& okW! okW# okW$ okW< okW> okW\ okX okX@ okX% okX+ okX- okX=3D okX/ okX. okX: okX; okX* okX? okX& okX! okX# okX$ okX< okX> okX\ okY okY@ okY% okY+ okY- okY=3D okY/ okY. okY: okY; okY* okY? okY& okY! okY# okY$ okY< okY> okY\ okZ okZ@ okZ% okZ+ okZ- okZ=3D okZ/ okZ. okZ: okZ; okZ* okZ? okZ& okZ! okZ# okZ$ okZ< okZ> okZ\ ok0 ok0@ ok0% ok0+ ok0- ok0=3D ok0/ ok0. ok0: ok0; ok0* ok0? ok0& ok0! ok0# ok0$ ok0< ok0> ok0\ ok1 ok1@ ok1% ok1+ ok1- ok1=3D ok1/ ok1. ok1: ok1; ok1* ok1? ok1& ok1! ok1# ok1$ ok1< ok1> ok1\ ok2 ok2@ ok2% ok2+ ok2- ok2=3D ok2/ ok2. ok2: ok2; ok2* ok2? ok2& ok2! ok2# ok2$ ok2< ok2> ok2\ ok3 ok3@ ok3% ok3+ ok3- ok3=3D ok3/ ok3. ok3: ok3; ok3* ok3? ok3& ok3! ok3# ok3$ ok3< ok3> ok3\ ok4 ok4@ ok4% ok4+ ok4- ok4=3D ok4/ ok4. ok4: ok4; ok4* ok4? ok4& ok4! ok4# ok4$ ok4< ok4> ok4\ ok5 ok5@ ok5% ok5+ ok5- ok5=3D ok5/ ok5. ok5: ok5; ok5* ok5? ok5& ok5! ok5# ok5$ ok5< ok5> ok5\ ok6 ok6@ ok6% ok6+ ok6- ok6=3D ok6/ ok6. ok6: ok6; ok6* ok6? ok6& ok6! ok6# ok6$ ok6< ok6> ok6\ ok7 ok7@ ok7% ok7+ ok7- ok7=3D ok7/ ok7. ok7: ok7; ok7* ok7? ok7& ok7! ok7# ok7$ ok7< ok7> ok7\ ok8 ok8@ ok8% ok8+ ok8- ok8=3D ok8/ ok8. ok8: ok8; ok8* ok8? ok8& ok8! ok8# ok8$ ok8< ok8> ok8\ ok9 ok9@ ok9% ok9+ ok9- ok9=3D ok9/ ok9. ok9: ok9; ok9* ok9? ok9& ok9! ok9# ok9$ ok9< ok9> ok9\ ok_ ok_@ ok_% ok_+ ok_- ok_=3D ok_/ ok_. ok_: ok_; ok_* ok_? ok_& ok_! ok_# ok_$ ok_< ok_> ok_\ okab okab@ okab% okab+ okab- okab=3D okab/ okab. okab: okab; okab* okab? okab& okab! okab# okab$ okab< okab> okab\ ok0a ok0a@ ok0a% ok0a+ ok0a- ok0a=3D ok0a/ ok0a. ok0a: ok0a; ok0a* ok0a? ok0a& ok0a! ok0a# ok0a$ ok0a< ok0a> ok0a\ ok23 ok23@ ok23% ok23+ ok23- ok23=3D ok23/ ok23. ok23: ok23; ok23* ok23? ok23& ok23! ok23# ok23$ ok23< ok23> ok23\ oka1B2c oka1B2c@ oka1B2c% oka1B2c+ oka1B2c- oka1B2c=3D oka1B2c/ oka1B2c. oka1B2c: oka1B2c; oka1B2c* oka1B2c? oka1B2c& oka1B2c! oka1B2c# oka1B2c$ oka1B2c< oka1B2c> oka1B2c\ ok_o ok_o@ ok_o% ok_o+ ok_o- ok_o=3D ok_o/ ok_o. ok_o: ok_o; ok_o* ok_o? ok_o& ok_o! ok_o# ok_o$ ok_o< ok_o> ok_o\ ok_x_y_ ok_x_y_@ ok_x_y_% ok_x_y_+ ok_x_y_- ok_x_y_=3D ok_x_y_/ ok_x_y_. ok_x_y_: ok_x_y_; ok_x_y_* ok_x_y_? ok_x_y_& ok_x_y_! ok_x_y_# ok_x_y_$ ok_x_y_< ok_x_y_> ok_x_y_\ not oka not oka@ not oka% not oka+ not oka- not oka=3D not oka/ not oka. not oka: not oka; not oka* not oka? not oka& not oka! not oka# not oka$ not oka< not oka> not oka\ not okb not okb@ not okb% not okb+ not okb- not okb=3D not okb/ not okb. not okb: not okb; not okb* not okb? not okb& not okb! not okb# not okb$ not okb< not okb> not okb\ not okc not okc@ not okc% not okc+ not okc- not okc=3D not okc/ not okc. not okc: not okc; not okc* not okc? not okc& not okc! not okc# not okc$ not okc< not okc> not okc\ not okd not okd@ not okd% not okd+ not okd- not okd=3D not okd/ not okd. not okd: not okd; not okd* not okd? not okd& not okd! not okd# not okd$ not okd< not okd> not okd\ not oke not oke@ not oke% not oke+ not oke- not oke=3D not oke/ not oke. not oke: not oke; not oke* not oke? not oke& not oke! not oke# not oke$ not oke< not oke> not oke\ not okf not okf@ not okf% not okf+ not okf- not okf=3D not okf/ not okf. not okf: not okf; not okf* not okf? not okf& not okf! not okf# not okf$ not okf< not okf> not okf\ not okg not okg@ not okg% not okg+ not okg- not okg=3D not okg/ not okg. not okg: not okg; not okg* not okg? not okg& not okg! not okg# not okg$ not okg< not okg> not okg\ not okh not okh@ not okh% not okh+ not okh- not okh=3D not okh/ not okh. not okh: not okh; not okh* not okh? not okh& not okh! not okh# not okh$ not okh< not okh> not okh\ not oki not oki@ not oki% not oki+ not oki- not oki=3D not oki/ not oki. not oki: not oki; not oki* not oki? not oki& not oki! not oki# not oki$ not oki< not oki> not oki\ not okj not okj@ not okj% not okj+ not okj- not okj=3D not okj/ not okj. not okj: not okj; not okj* not okj? not okj& not okj! not okj# not okj$ not okj< not okj> not okj\ not okk not okk@ not okk% not okk+ not okk- not okk=3D not okk/ not okk. not okk: not okk; not okk* not okk? not okk& not okk! not okk# not okk$ not okk< not okk> not okk\ not okl not okl@ not okl% not okl+ not okl- not okl=3D not okl/ not okl. not okl: not okl; not okl* not okl? not okl& not okl! not okl# not okl$ not okl< not okl> not okl\ not okm not okm@ not okm% not okm+ not okm- not okm=3D not okm/ not okm. not okm: not okm; not okm* not okm? not okm& not okm! not okm# not okm$ not okm< not okm> not okm\ not okn not okn@ not okn% not okn+ not okn- not okn=3D not okn/ not okn. not okn: not okn; not okn* not okn? not okn& not okn! not okn# not okn$ not okn< not okn> not okn\ not oko not oko@ not oko% not oko+ not oko- not oko=3D not oko/ not oko. not oko: not oko; not oko* not oko? not oko& not oko! not oko# not oko$ not oko< not oko> not oko\ not okp not okp@ not okp% not okp+ not okp- not okp=3D not okp/ not okp. not okp: not okp; not okp* not okp? not okp& not okp! not okp# not okp$ not okp< not okp> not okp\ not okq not okq@ not okq% not okq+ not okq- not okq=3D not okq/ not okq. not okq: not okq; not okq* not okq? not okq& not okq! not okq# not okq$ not okq< not okq> not okq\ not okr not okr@ not okr% not okr+ not okr- not okr=3D not okr/ not okr. not okr: not okr; not okr* not okr? not okr& not okr! not okr# not okr$ not okr< not okr> not okr\ not oks not oks@ not oks% not oks+ not oks- not oks=3D not oks/ not oks. not oks: not oks; not oks* not oks? not oks& not oks! not oks# not oks$ not oks< not oks> not oks\ not okt not okt@ not okt% not okt+ not okt- not okt=3D not okt/ not okt. not okt: not okt; not okt* not okt? not okt& not okt! not okt# not okt$ not okt< not okt> not okt\ not oku not oku@ not oku% not oku+ not oku- not oku=3D not oku/ not oku. not oku: not oku; not oku* not oku? not oku& not oku! not oku# not oku$ not oku< not oku> not oku\ not okv not okv@ not okv% not okv+ not okv- not okv=3D not okv/ not okv. not okv: not okv; not okv* not okv? not okv& not okv! not okv# not okv$ not okv< not okv> not okv\ not okw not okw@ not okw% not okw+ not okw- not okw=3D not okw/ not okw. not okw: not okw; not okw* not okw? not okw& not okw! not okw# not okw$ not okw< not okw> not okw\ not okx not okx@ not okx% not okx+ not okx- not okx=3D not okx/ not okx. not okx: not okx; not okx* not okx? not okx& not okx! not okx# not okx$ not okx< not okx> not okx\ not oky not oky@ not oky% not oky+ not oky- not oky=3D not oky/ not oky. not oky: not oky; not oky* not oky? not oky& not oky! not oky# not oky$ not oky< not oky> not oky\ not okz not okz@ not okz% not okz+ not okz- not okz=3D not okz/ not okz. not okz: not okz; not okz* not okz? not okz& not okz! not okz# not okz$ not okz< not okz> not okz\ not okA not okA@ not okA% not okA+ not okA- not okA=3D not okA/ not okA. not okA: not okA; not okA* not okA? not okA& not okA! not okA# not okA$ not okA< not okA> not okA\ not okB not okB@ not okB% not okB+ not okB- not okB=3D not okB/ not okB. not okB: not okB; not okB* not okB? not okB& not okB! not okB# not okB$ not okB< not okB> not okB\ not okC not okC@ not okC% not okC+ not okC- not okC=3D not okC/ not okC. not okC: not okC; not okC* not okC? not okC& not okC! not okC# not okC$ not okC< not okC> not okC\ not okD not okD@ not okD% not okD+ not okD- not okD=3D not okD/ not okD. not okD: not okD; not okD* not okD? not okD& not okD! not okD# not okD$ not okD< not okD> not okD\ not okE not okE@ not okE% not okE+ not okE- not okE=3D not okE/ not okE. not okE: not okE; not okE* not okE? not okE& not okE! not okE# not okE$ not okE< not okE> not okE\ not okF not okF@ not okF% not okF+ not okF- not okF=3D not okF/ not okF. not okF: not okF; not okF* not okF? not okF& not okF! not okF# not okF$ not okF< not okF> not okF\ not okG not okG@ not okG% not okG+ not okG- not okG=3D not okG/ not okG. not okG: not okG; not okG* not okG? not okG& not okG! not okG# not okG$ not okG< not okG> not okG\ not okH not okH@ not okH% not okH+ not okH- not okH=3D not okH/ not okH. not okH: not okH; not okH* not okH? not okH& not okH! not okH# not okH$ not okH< not okH> not okH\ not okI not okI@ not okI% not okI+ not okI- not okI=3D not okI/ not okI. not okI: not okI; not okI* not okI? not okI& not okI! not okI# not okI$ not okI< not okI> not okI\ not okJ not okJ@ not okJ% not okJ+ not okJ- not okJ=3D not okJ/ not okJ. not okJ: not okJ; not okJ* not okJ? not okJ& not okJ! not okJ# not okJ$ not okJ< not okJ> not okJ\ not okK not okK@ not okK% not okK+ not okK- not okK=3D not okK/ not okK. not okK: not okK; not okK* not okK? not okK& not okK! not okK# not okK$ not okK< not okK> not okK\ not okL not okL@ not okL% not okL+ not okL- not okL=3D not okL/ not okL. not okL: not okL; not okL* not okL? not okL& not okL! not okL# not okL$ not okL< not okL> not okL\ not okM not okM@ not okM% not okM+ not okM- not okM=3D not okM/ not okM. not okM: not okM; not okM* not okM? not okM& not okM! not okM# not okM$ not okM< not okM> not okM\ not okN not okN@ not okN% not okN+ not okN- not okN=3D not okN/ not okN. not okN: not okN; not okN* not okN? not okN& not okN! not okN# not okN$ not okN< not okN> not okN\ not okO not okO@ not okO% not okO+ not okO- not okO=3D not okO/ not okO. not okO: not okO; not okO* not okO? not okO& not okO! not okO# not okO$ not okO< not okO> not okO\ not okP not okP@ not okP% not okP+ not okP- not okP=3D not okP/ not okP. not okP: not okP; not okP* not okP? not okP& not okP! not okP# not okP$ not okP< not okP> not okP\ not okQ not okQ@ not okQ% not okQ+ not okQ- not okQ=3D not okQ/ not okQ. not okQ: not okQ; not okQ* not okQ? not okQ& not okQ! not okQ# not okQ$ not okQ< not okQ> not okQ\ not okR not okR@ not okR% not okR+ not okR- not okR=3D not okR/ not okR. not okR: not okR; not okR* not okR? not okR& not okR! not okR# not okR$ not okR< not okR> not okR\ not okS not okS@ not okS% not okS+ not okS- not okS=3D not okS/ not okS. not okS: not okS; not okS* not okS? not okS& not okS! not okS# not okS$ not okS< not okS> not okS\ not okT not okT@ not okT% not okT+ not okT- not okT=3D not okT/ not okT. not okT: not okT; not okT* not okT? not okT& not okT! not okT# not okT$ not okT< not okT> not okT\ not okU not okU@ not okU% not okU+ not okU- not okU=3D not okU/ not okU. not okU: not okU; not okU* not okU? not okU& not okU! not okU# not okU$ not okU< not okU> not okU\ not okV not okV@ not okV% not okV+ not okV- not okV=3D not okV/ not okV. not okV: not okV; not okV* not okV? not okV& not okV! not okV# not okV$ not okV< not okV> not okV\ not okW not okW@ not okW% not okW+ not okW- not okW=3D not okW/ not okW. not okW: not okW; not okW* not okW? not okW& not okW! not okW# not okW$ not okW< not okW> not okW\ not okX not okX@ not okX% not okX+ not okX- not okX=3D not okX/ not okX. not okX: not okX; not okX* not okX? not okX& not okX! not okX# not okX$ not okX< not okX> not okX\ not okY not okY@ not okY% not okY+ not okY- not okY=3D not okY/ not okY. not okY: not okY; not okY* not okY? not okY& not okY! not okY# not okY$ not okY< not okY> not okY\ not okZ not okZ@ not okZ% not okZ+ not okZ- not okZ=3D not okZ/ not okZ. not okZ: not okZ; not okZ* not okZ? not okZ& not okZ! not okZ# not okZ$ not okZ< not okZ> not okZ\ not ok0 not ok0@ not ok0% not ok0+ not ok0- not ok0=3D not ok0/ not ok0. not ok0: not ok0; not ok0* not ok0? not ok0& not ok0! not ok0# not ok0$ not ok0< not ok0> not ok0\ not ok1 not ok1@ not ok1% not ok1+ not ok1- not ok1=3D not ok1/ not ok1. not ok1: not ok1; not ok1* not ok1? not ok1& not ok1! not ok1# not ok1$ not ok1< not ok1> not ok1\ not ok2 not ok2@ not ok2% not ok2+ not ok2- not ok2=3D not ok2/ not ok2. not ok2: not ok2; not ok2* not ok2? not ok2& not ok2! not ok2# not ok2$ not ok2< not ok2> not ok2\ not ok3 not ok3@ not ok3% not ok3+ not ok3- not ok3=3D not ok3/ not ok3. not ok3: not ok3; not ok3* not ok3? not ok3& not ok3! not ok3# not ok3$ not ok3< not ok3> not ok3\ not ok4 not ok4@ not ok4% not ok4+ not ok4- not ok4=3D not ok4/ not ok4. not ok4: not ok4; not ok4* not ok4? not ok4& not ok4! not ok4# not ok4$ not ok4< not ok4> not ok4\ not ok5 not ok5@ not ok5% not ok5+ not ok5- not ok5=3D not ok5/ not ok5. not ok5: not ok5; not ok5* not ok5? not ok5& not ok5! not ok5# not ok5$ not ok5< not ok5> not ok5\ not ok6 not ok6@ not ok6% not ok6+ not ok6- not ok6=3D not ok6/ not ok6. not ok6: not ok6; not ok6* not ok6? not ok6& not ok6! not ok6# not ok6$ not ok6< not ok6> not ok6\ not ok7 not ok7@ not ok7% not ok7+ not ok7- not ok7=3D not ok7/ not ok7. not ok7: not ok7; not ok7* not ok7? not ok7& not ok7! not ok7# not ok7$ not ok7< not ok7> not ok7\ not ok8 not ok8@ not ok8% not ok8+ not ok8- not ok8=3D not ok8/ not ok8. not ok8: not ok8; not ok8* not ok8? not ok8& not ok8! not ok8# not ok8$ not ok8< not ok8> not ok8\ not ok9 not ok9@ not ok9% not ok9+ not ok9- not ok9=3D not ok9/ not ok9. not ok9: not ok9; not ok9* not ok9? not ok9& not ok9! not ok9# not ok9$ not ok9< not ok9> not ok9\ not ok_ not ok_@ not ok_% not ok_+ not ok_- not ok_=3D not ok_/ not ok_. not ok_: not ok_; not ok_* not ok_? not ok_& not ok_! not ok_# not ok_$ not ok_< not ok_> not ok_\ not okab not okab@ not okab% not okab+ not okab- not okab=3D not okab/ not okab. not okab: not okab; not okab* not okab? not okab& not okab! not okab# not okab$ not okab< not okab> not okab\ not ok0a not ok0a@ not ok0a% not ok0a+ not ok0a- not ok0a=3D not ok0a/ not ok0a. not ok0a: not ok0a; not ok0a* not ok0a? not ok0a& not ok0a! not ok0a# not ok0a$ not ok0a< not ok0a> not ok0a\ not ok23 not ok23@ not ok23% not ok23+ not ok23- not ok23=3D not ok23/ not ok23. not ok23: not ok23; not ok23* not ok23? not ok23& not ok23! not ok23# not ok23$ not ok23< not ok23> not ok23\ not oka1B2c not oka1B2c@ not oka1B2c% not oka1B2c+ not oka1B2c- not oka1B2c=3D not oka1B2c/ not oka1B2c. not oka1B2c: not oka1B2c; not oka1B2c* not oka1B2c? not oka1B2c& not oka1B2c! not oka1B2c# not oka1B2c$ not oka1B2c< not oka1B2c> not oka1B2c\ not ok_o not ok_o@ not ok_o% not ok_o+ not ok_o- not ok_o=3D not ok_o/ not ok_o. not ok_o: not ok_o; not ok_o* not ok_o? not ok_o& not ok_o! not ok_o# not ok_o$ not ok_o< not ok_o> not ok_o\ not ok_x_y_ not ok_x_y_@ not ok_x_y_% not ok_x_y_+ not ok_x_y_- not ok_x_y_=3D not ok_x_y_/ not ok_x_y_. not ok_x_y_: not ok_x_y_; not ok_x_y_* not ok_x_y_? not ok_x_y_& not ok_x_y_! not ok_x_y_# not ok_x_y_$ not ok_x_y_< not ok_x_y_> not ok_x_y_\ bailout bailout! bail out bail out! Bailout Bailout! Bail out Bail out Bail out! #Bail out! # Bail out! +++ grep -c '^ok1$' all.test ++ test 1 -eq 1 +++ grep -c '^not ok1$' all.test ++ test 1 -eq 1 ++ make check make[2]: *** [test-suite.log] Error 1 make[1]: *** [check-TESTS] Error 2 make: *** [check-am] Error 2 ++ cat stdout make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/tap-no-spurious-w.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/tap-no-spurious-w.dir' PASS: all.test 1 # XFAIL PASS: all.test 2 # SKIPPED PASS: all.test 3 # TO DO PASS: all.test 4 # TODOALL PASS: all.test 5 # FIXME ERROR: all.test - Bail out! =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D Testsuite summary for tap-common-setup 1.0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D # TOTAL: 6 # PASS: 5 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D See ./test-suite.log =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D make[2]: Leaving directory `/h/j/w/co/automake/tests/tap-no-spurious-w.dir' make[1]: Leaving directory `/h/j/w/co/automake/tests/tap-no-spurious-w.dir' ++ Exit 1 ++ set +e ++ test 77 =3D 1 ++ exit 1 ++ exit 1 + exit_status=3D1 + set +e + cd /h/j/w/co/automake/tests + test no =3D yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x tap-no-spurious-w: exit 1 FAIL: tap-bad-prog-w =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ./tap-bad-prog-w.tap: will source ./tap-bad-prog.tap Running from installcheck: no Using TAP: yes PATH =3D /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/= ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr= /bin:/usr/local:/usr/local/bin +++ pwd /h/j/w/co/automake/tests/tap-bad-prog-w.dir ++ plan_ 5 ++ test 1 -eq 0 ++ test 1 -ge 2 ++ test x5 =3D xunknown ++ test x5 =3D xlater ++ test x5 =3D xlazy ++ test x5 =3D xnow ++ test 5 -ge 0 ++ echo 1..5 1..5 ++ have_tap_plan_=3Dyes ++ fetch_tap_driver ++ case $am_tap_implementation in ++ sed '1s|#!.*|#! /usr/bin/perl -w|' /h/j/w/co/automake/lib/tap-driver.pl ++ chmod a+x tap-driver ++ sed 10q tap-driver #! /usr/bin/perl -w # Copyright (C) 2011 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of ++ cat ++ cat ++ cat ++ cp noexec.test noread.test ++ chmod a-r noread.test ++ aclocal-1.11a -Werror ++ autoconf -B /no/such/dir -B /no/such/dir ++ automake-1.11a --foreign -Werror -Wall ++ ./configure checking for a BSD-compatible install... /p/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /p/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile ++ make check Could not execute (./none.test): open3: exec of ./none.test failed at /usr/= share/perl5/TAP/Parser/Iterator/Process.pm line 168 make[2]: *** [none.log] Error 29 make[1]: *** [check-TESTS] Error 2 make: *** [check-am] Error 2 ++ r=3Dok ++ cat stdout make check-TESTS make[1]: Entering directory `/h/j/w/co/automake/tests/tap-bad-prog-w.dir' make[2]: Entering directory `/h/j/w/co/automake/tests/tap-bad-prog-w.dir' make[2]: Leaving directory `/h/j/w/co/automake/tests/tap-bad-prog-w.dir' make[1]: Leaving directory `/h/j/w/co/automake/tests/tap-bad-prog-w.dir' ++ result_ ok '"make check" returns non-zero exit status' ++ set +x ok 1 - "make check" returns non-zero exit status PASS: tap-bad-prog-w.tap 1 - "make check" returns non-zero exit status ++ command_ok_ 'non-existent test is reported' grep '^ERROR: none\.test' st= dout ++ tap_directive_=3D ++ tap_reason_=3D ++ test 4 -gt 0 ++ tap_description_=3D'non-existent test is reported' ++ shift ++ test 3 -gt 0 ++ case $1 in ++ break ++ tap_result_=3Dok ++ grep '^ERROR: none\.test' stdout ++ tap_result_=3D'not ok' ++ result_ 'not ok' -D '' -r '' -- 'non-existent test is reported' ++ set +x not ok 2 - non-existent test is reported FAIL: tap-bad-prog-w.tap 2 - non-existent test is reported ++ desc=3D'non-executable test is reported' ++ ./noexec.test ./tap-bad-prog.tap: line 64: ./noexec.test: Permission denied ++ command_ok_ 'non-executable test is reported' -- grep '^ERROR: noexec\.t= est' stdout ++ tap_directive_=3D ++ tap_reason_=3D ++ test 5 -gt 0 ++ tap_description_=3D'non-executable test is reported' ++ shift ++ test 4 -gt 0 ++ case $1 in ++ shift ++ break ++ tap_result_=3Dok ++ grep '^ERROR: noexec\.test' stdout ++ tap_result_=3D'not ok' ++ result_ 'not ok' -D '' -r '' -- 'non-executable test is reported' ++ set +x not ok 3 - non-executable test is reported FAIL: tap-bad-prog-w.tap 3 - non-executable test is reported ++ desc=3D'non-readable test is reported' ++ test -r noread.test ++ command_ok_ 'non-readable test is reported' -- grep '^ERROR: noread\.tes= t' stdout ++ tap_directive_=3D ++ tap_reason_=3D ++ test 5 -gt 0 ++ tap_description_=3D'non-readable test is reported' ++ shift ++ test 4 -gt 0 ++ case $1 in ++ shift ++ break ++ tap_result_=3Dok ++ grep '^ERROR: noread\.test' stdout ++ tap_result_=3D'not ok' ++ result_ 'not ok' -D '' -r '' -- 'non-readable test is reported' ++ set +x not ok 4 - non-readable test is reported FAIL: tap-bad-prog-w.tap 4 - non-readable test is reported ++ command_ok_ 'no spurious results' -D TODO -r 'still get "missing plan"' = count_test_results total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip=3D0= error=3D3 ++ tap_directive_=3D ++ tap_reason_=3D ++ test 13 -gt 0 ++ tap_description_=3D'no spurious results' ++ shift ++ test 12 -gt 0 ++ case $1 in ++ tap_directive_=3DTODO ++ shift ++ shift ++ test 10 -gt 0 ++ case $1 in ++ tap_reason_=3D'still get "missing plan"' ++ shift ++ shift ++ test 8 -gt 0 ++ case $1 in ++ break ++ tap_result_=3Dok ++ count_test_results total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip= =3D0 error=3D3 ++ total=3DERR ++ pass=3DERR ++ fail=3DERR ++ xpass=3DERR ++ xfail=3DERR ++ skip=3DERR ++ error=3DERR ++ eval total=3D3 pass=3D0 fail=3D0 xpass=3D0 xfail=3D0 skip=3D0 error=3D3 +++ total=3D3 +++ pass=3D0 +++ fail=3D0 +++ xpass=3D0 +++ xfail=3D0 +++ skip=3D0 +++ error=3D3 ++ /p/bin/grep -E -i '(total|x?pass|x?fail|skip|error)' stdout ++ : ++ rc=3D0 ++ set +e +++ grep -c '^PASS:' stdout ++ test 0 -eq 0 +++ grep -c '^XFAIL:' stdout ++ test 0 -eq 0 +++ grep -c '^SKIP:' stdout ++ test 0 -eq 0 +++ grep -c '^FAIL:' stdout ++ test 0 -eq 0 +++ grep -c '^XPASS:' stdout ++ test 0 -eq 0 +++ grep -c '^ERROR:' stdout ++ test 0 -eq 3 ++ rc=3D1 ++ grep '^# TOTAL: *3$' stdout ++ rc=3D1 ++ grep '^# PASS: *0$' stdout ++ rc=3D1 ++ grep '^# XFAIL: *0$' stdout ++ rc=3D1 ++ grep '^# SKIP: *0$' stdout ++ rc=3D1 ++ grep '^# FAIL: *0$' stdout ++ rc=3D1 ++ grep '^# XPASS: *0$' stdout ++ rc=3D1 ++ grep '^# ERROR: *3$' stdout ++ rc=3D1 ++ test 1 -eq 0 ++ tap_result_=3D'not ok' ++ result_ 'not ok' -D TODO -r 'still get "missing plan"' -- 'no spurious r= esults' ++ set +x not ok 5 - no spurious results # TODO still get "missing plan" XFAIL: tap-bad-prog-w.tap 5 - no spurious results # TODO still get "missing= plan" ++ : + exit 0 + exit_status=3D0 + set +e + cd /h/j/w/co/automake/tests + test yes =3D yes + test yes '!=3D' yes + test 0 -eq 0 + test 1 -eq 5 + keep_testdirs=3Dyes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x tap-bad-prog-w: exit 0 From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 04:20:29 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 09:20:29 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfTCv-0004ej-IV for submit@debbugs.gnu.org; Tue, 27 Dec 2011 04:20:29 -0500 Received: from mail-ww0-f46.google.com ([74.125.82.46]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfTCs-0004eb-At for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 04:20:27 -0500 Received: by wgbdq10 with SMTP id dq10so15148142wgb.15 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 01:17:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=wOc95rLX0dfyG22YzvViSsxR8ZPfe1lRfe14ETuskgY=; b=ejqxn5q5gXt4tXhq03wQDYImgciBEmkIrFXIdm5v1Si31WZX8xkqBh58GcXwZNMHMO KHudhXfAjzI6g32jjG/DyXTeY55oLqlALkO6EfEOjwKXn+XT1YovBBBzLcwdpEzvTXHl KAjvKZNpgcXmX75U0A+Ii+KL50cJVO8r2pnMk= Received: by 10.227.207.196 with SMTP id fz4mr27007142wbb.2.1324977468118; Tue, 27 Dec 2011 01:17:48 -0800 (PST) Received: from [87.4.92.213] (host213-92-dynamic.4-87-r.retail.telecomitalia.it. [87.4.92.213]) by mx.google.com with ESMTPS id fg15sm27308319wbb.7.2011.12.27.01.17.47 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 01:17:47 -0800 (PST) Message-ID: <4EF98D33.7000301@gmail.com> Date: Tue, 27 Dec 2011 10:17:39 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: depmod.tap failures on master (was: Re: bug#10374: 3 test failures on fedora 16) References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> In-Reply-To: <87aa6fas0p.fsf@rho.meyering.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) On 12/26/2011 11:26 PM, Jim Meyering wrote: > FAIL: depmod > FAIL: depmod.tap 50 - tru64 [long VPATH] make & remake > FAIL: depmod.tap 84 - tru64 [absolute VPATH] make & remake > Known long-standing failures; see: Suggestions on how to tackle this are welcome. Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 04:44:39 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 09:44:39 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfTaJ-0005Ek-7r for submit@debbugs.gnu.org; Tue, 27 Dec 2011 04:44:39 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfTaF-0005Eb-6B for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 04:44:37 -0500 Received: by wibhj6 with SMTP id hj6so5138941wib.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 01:41:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=NAjtdCnnfgzckBe/zl6wE+nipcbyIkBDIZiCK1vZYZ8=; b=vB0NWTdHRHBbssx5SPG73uT04DAcGXCKsQQIymaDQ6d4IkTFR5ndz4VDS0p6hcQJls s0gji+bNROGMIf6tro7KELWC6U8TXT+3dgdVLc5kzcorXcmwK9L1KsiecuhZe2kRpAgq TQX0RnKcviQDCv7VHDt2GnYjNwCKG/IAEFutA= Received: by 10.180.101.35 with SMTP id fd3mr49772013wib.22.1324978916841; Tue, 27 Dec 2011 01:41:56 -0800 (PST) Received: from [87.4.92.213] (host213-92-dynamic.4-87-r.retail.telecomitalia.it. [87.4.92.213]) by mx.google.com with ESMTPS id m13sm27380284wbh.0.2011.12.27.01.41.55 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 01:41:56 -0800 (PST) Message-ID: <4EF992E1.1060700@gmail.com> Date: Tue, 27 Dec 2011 10:41:53 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> In-Reply-To: <87aa6fas0p.fsf@rho.meyering.net> Content-Type: multipart/mixed; boundary="------------010005090001020401060402" X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) This is a multi-part message in MIME format. --------------010005090001020401060402 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/26/2011 11:26 PM, Jim Meyering wrote: > FAIL: cond29 > ============ > > Running from installcheck: no > Using TAP: no > PATH = /h/j/w/co/automake/tests:/opt/cov-sa-linux64-5.4.0/bin:/usr/lib64/ccache:/h/j/bin/perl:/h/j/bin:/p/p/git/bin:/p/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local:/usr/local/bin > ++ pwd > /h/j/w/co/automake/tests/cond29.dir > + echo AC_PROG_CC > + cat > + ulimit -v 1 > + sh -c : > ./cond29.test: line 35: /bin/sh: Argument list too long > + ulimit -v 20000 > + sh -c : > + ulimit -v 20000 > + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 > + unindent > + test x = x > ++ printf '%s\n' ' > /^$/b # Nothing to do for empty lines. > x # Get x into pattern space. > /^$/{ # No prior x, go prepare it. > g # Copy this 1st non-blank line into pattern space. > s/^\([ ]*\).*/x\1/ # Prepare x in pattern space. > } # Now: x in pattern and in hold. > G # Build x\n in pattern space, and > h # duplicate it into hold space. > s/\n.*$// # Restore x in pattern space, and > x # exchange with the above duplicate in hold space. > s/^x\(.*\)\n\1// # Remove leading from . > s/^x.*\n// # Restore when there is no leading . > ' > ++ sed -e 's/ *# .*//' > + sed_unindent_prog=' > /^$/b > x > /^$/{ > g > s/^\([ ]*\).*/x\1/ > } > G > h > s/\n.*$// > x > s/^x\(.*\)\n\1// > s/^x.*\n//' > + sed ' > /^$/b > x > /^$/{ > g > s/^\([ ]*\).*/x\1/ > } > G > h > s/\n.*$// > x > s/^x\(.*\)\n\1// > s/^x.*\n//' > + echo 'AM_CONDITIONAL([C01], [:])' > + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 > [SNIP repeated traces] > > + for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 > + unindent > + test 'x > /^$/b > x > /^$/{ > g > s/^\([ ]*\).*/x\1/ > } > G > h > s/\n.*$// > x > s/^x\(.*\)\n\1// > s/^x.*\n//' = x > + sed ' > /^$/b > x > /^$/{ > g > s/^\([ ]*\).*/x\1/ > } > G > h > s/\n.*$// > x > s/^x\(.*\)\n\1// > s/^x.*\n//' > + echo 'AM_CONDITIONAL([C22], [:])' > + aclocal-1.11a -Werror > /usr/bin/perl: error while loading shared libraries: > libc.so.6: failed to map segment from shared object: > Cannot allocate memory > Ah-ah, memory ulimit contraints imposed by ulimit above: ulimit -v 20000 seems to be too tight. I can reproduce a similar failure on the Fedora 16 system (on pcc64 machine) at the GCC compile farm, and fix it with the attached patch. Does that patch works for you as well? > + exit_status=127 > + set +e > + cd /h/j/w/co/automake/tests > + test no = yes > + case $am_explicit_skips in > + test 127 -eq 0 > + keep_testdirs=yes > + am_keeping_testdirs > + case $keep_testdirs in > + return 0 > + set +x > cond29: exit 127 > Thanks, Stefano --------------010005090001020401060402 Content-Type: text/x-diff; name="0001-tests-fix-spurious-failure-of-cond29.test.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-tests-fix-spurious-failure-of-cond29.test.patch" >From 073711d00759683895805b31fd6dad76d2c26aec Mon Sep 17 00:00:00 2001 Message-Id: <073711d00759683895805b31fd6dad76d2c26aec.1324978874.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Tue, 27 Dec 2011 10:40:57 +0100 Subject: [PATCH] tests: fix spurious failure of cond29.test * tests/cond29.test: Limit the amount of virtual memory available to the automake process to ~ 50 MB, rather than only ~ 20 MB, to account for higher (but still acceptable) memory usages on some systems (in this case, a Fedora 16 distro on ppc64). To be sure not to reduce coverage, increase the number of potential combinations of automake conditionals from 2**22 = 4194304 to 2**24 = 16777216. Reported by Jim Meyering in automake bug#10374. --- ChangeLog | 12 ++++++++++++ tests/cond29.test | 14 +++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfe666a..8f332ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2011-12-27 Stefano Lattarini + + tests: fix spurious failure of cond29.test + * tests/cond29.test: Limit the amount of virtual memory available + to the automake process to ~ 50 MB, rather than only ~ 20 MB, to + account for higher (but still acceptable) memory usages on some + systems (in this case, a Fedora 16 distro on ppc64). To be + sure not to reduce coverage, increase the number of potential + combinations of automake conditionals from 2**22 = 4194304 to + 2**24 = 16777216. + Reported by Jim Meyering in automake bug#10374. + 2011-12-24 Stefano Lattarini gitignore: use only one .gitignore file, in the top-level directory diff --git a/tests/cond29.test b/tests/cond29.test index 3361081..3971c08 100755 --- a/tests/cond29.test +++ b/tests/cond29.test @@ -27,16 +27,20 @@ a02_LDADD = a03_SOURCES = EOF -# On this test, Automake 1.7.x would compute all 2**22 = 4194304 +# On this test, Automake 1.7.x would compute all 2**24 = 16777216 # possible combinations of conditionals (it would do this five times, # to define a01_DEPENDENCIES, a02_DEPENDENCIES, a03_OBJECTS, # a04_OBJECTS, and to rewrite bin_PROGRAM), eating all memory, swap, # or cpu time it can found. (ulimit -v 1; sh -c ":") && skip_ "no adequate 'ulimit' builtin found" -(ulimit -v 20000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" -ulimit -v 20000 - -for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do +(ulimit -v 50000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" +ulimit -v 50000 + +for i in \ + 01 02 03 04 05 06 07 08 09 10 \ + 11 12 13 14 15 16 17 18 19 20 \ + 21 22 23 24 +do unindent >>Makefile.am <) id 1RfUPx-0006QT-PS for submit@debbugs.gnu.org; Tue, 27 Dec 2011 05:38:02 -0500 Received: from mx.meyering.net ([88.168.87.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfUPu-0006QB-AE for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 05:37:59 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id D20C0600C1; Tue, 27 Dec 2011 11:35:19 +0100 (CET) From: Jim Meyering To: Stefano Lattarini Subject: Re: bug#10374: 3 test failures on fedora 16 In-Reply-To: <4EF992E1.1060700@gmail.com> (Stefano Lattarini's message of "Tue, 27 Dec 2011 10:41:53 +0100") References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF992E1.1060700@gmail.com> Date: Tue, 27 Dec 2011 11:35:19 +0100 Message-ID: <87mxae9uag.fsf@rho.meyering.net> Lines: 54 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Stefano Lattarini wrote: > On 12/26/2011 11:26 PM, Jim Meyering wrote: >> FAIL: cond29 >> ============ ... >> + aclocal-1.11a -Werror >> /usr/bin/perl: error while loading shared libraries: >> libc.so.6: failed to map segment from shared object: >> Cannot allocate memory >> > Ah-ah, memory ulimit contraints imposed by ulimit above: > > ulimit -v 20000 > > seems to be too tight. I can reproduce a similar failure on the Fedora > 16 system (on pcc64 machine) at the GCC compile farm, and fix it with > the attached patch. Does that patch works for you as well? > >> + exit_status=127 >> + set +e >> + cd /h/j/w/co/automake/tests >> + test no = yes >> + case $am_explicit_skips in >> + test 127 -eq 0 >> + keep_testdirs=yes >> + am_keeping_testdirs >> + case $keep_testdirs in >> + return 0 >> + set +x >> cond29: exit 127 With a 50-MB limit, I see this failure on x86_64: + echo 'AM_CONDITIONAL([C24], [:])' + aclocal-1.11a -Werror + automake-1.11a --foreign -Werror -Wall Out of memory! Out of memory! + exit_status=1 + set +e + cd /h/j/w/co/automake/tests + test no = yes + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=yes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x cond29: exit 1 Same with 60MB, but it passes with 70MB. So I suggest changing s/50/70/ in both the patch and the log message. Maybe even 90 or 100, just to be a little more future/bloat-proof. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 05:55:50 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 10:55:50 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfUhC-0006pZ-2P for submit@debbugs.gnu.org; Tue, 27 Dec 2011 05:55:50 -0500 Received: from mail-we0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfUh9-0006pR-1v for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 05:55:48 -0500 Received: by werb14 with SMTP id b14so5573813wer.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 02:53:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=DJodJl0dCqPGms4dgsjGvkFkEp0HzA9pwfztxEzUIOs=; b=YzmrX8bzo+0aPk7MnHoPXbU4Z/1+1dRnqmepHCoyEceOvLUmABtDLeg/j4Cn9xrUZL uZN0DYeEqntmAAfyB+FlEoL29szDgrGMxyPJung74IRg+UI18xvpAweEmBMm7Mg4Z7vM mBVt6XuIXL5ZRp3K/Y17v75dHJOxulkRqByLY= Received: by 10.216.137.155 with SMTP id y27mr20365882wei.53.1324983188445; Tue, 27 Dec 2011 02:53:08 -0800 (PST) Received: from [87.4.92.213] (host213-92-dynamic.4-87-r.retail.telecomitalia.it. [87.4.92.213]) by mx.google.com with ESMTPS id ep13sm27585053wbb.8.2011.12.27.02.53.07 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 02:53:07 -0800 (PST) Message-ID: <4EF9A391.7050408@gmail.com> Date: Tue, 27 Dec 2011 11:53:05 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> In-Reply-To: <87aa6fas0p.fsf@rho.meyering.net> Content-Type: multipart/mixed; boundary="------------010304050002070905090309" X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) This is a multi-part message in MIME format. --------------010304050002070905090309 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/26/2011 11:26 PM, Jim Meyering wrote: > FAIL: tap-no-spurious-w > This is due to a backward-incompatible change in the newer TAP::Harness releases. The attached patch (thoroughly commented) fixes this, and also makes the behaviour of our awk TAP driver consistent with that of these newer TAP::Harness releases. OK for master? Regards, Stefano --------------010304050002070905090309 Content-Type: text/x-diff; name="0001-tap-awk-Bail-out-recognized-also-after-leading-white.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-tap-awk-Bail-out-recognized-also-after-leading-white.pa"; filename*1="tch" >From e95a35ce40cb0f48d9f80005568e849306898ec7 Mon Sep 17 00:00:00 2001 Message-Id: From: Stefano Lattarini Date: Tue, 27 Dec 2011 11:45:59 +0100 Subject: [PATCH] tap/awk: "Bail out!" recognized also after leading whitespace Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1) recognize a "Bail out!" directive also when it is prepended by leading whitespace; this was not the case for older TAP:Harness versions, (e.g., for version 3.17 on Perl 5.12.4), and for our TAP driver implemented in awk. * lib/tap-driver.sh: Handle "Bail out!" directive also when they are preceded by leading whitespace. * tests/tap-spurious.test: Remove the tests checking that a "Bail out!" string coming right after leading whitespace does not trigger a bailout action. * tests/tap-bailout-leading-space.test: New test. * tests/list-of-tests.mk: Add it. Problem reported by Jim Meyering in automake bug#10374. --- ChangeLog | 17 ++++++++ lib/tap-driver.sh | 8 +++- tests/list-of-tests.mk | 1 + tests/tap-bailout-leading-space.test | 72 ++++++++++++++++++++++++++++++++++ tests/tap-no-spurious.test | 5 ++- 5 files changed, 100 insertions(+), 3 deletions(-) create mode 100755 tests/tap-bailout-leading-space.test diff --git a/ChangeLog b/ChangeLog index 53197a9..d551a28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2011-12-27 Stefano Lattarini + tap/awk: "Bail out!" recognized also after leading whitespace + Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1) + recognize a "Bail out!" directive also when it is prepended by + leading whitespace; this was not the case for older TAP:Harness + versions, (e.g., for version 3.17 on Perl 5.12.4), and for our + TAP driver implemented in awk. + * lib/tap-driver.sh: Handle "Bail out!" directive also when they + are preceded by leading whitespace. + * tests/tap-spurious.test: Remove the tests checking that a + "Bail out!" string coming right after leading whitespace does + not trigger a bailout action. + * tests/tap-bailout-leading-space.test: New test. + * tests/list-of-tests.mk: Add it. + Problem reported by Jim Meyering in automake bug#10374. + +2011-12-27 Stefano Lattarini + tests: fix spurious failure of cond29.test * tests/cond29.test: Limit the amount of virtual memory available to the automake process to ~ 50 MB, rather than only ~ 20 MB, to diff --git a/lib/tap-driver.sh b/lib/tap-driver.sh index c911991..62a4dc6 100755 --- a/lib/tap-driver.sh +++ b/lib/tap-driver.sh @@ -573,12 +573,16 @@ while (1) handle_tap_plan(0, $0) } # "Bail out!" magic. - else if ($0 ~ /^Bail out!/) + # Older versions of prove and TAP::Harness (e.g., 3.17) did not + # recognize a "Bail out!" directive if that was preceded by leading + # whitespace, but more modern versions (e.g., 3.23) do. So we try + # emulate the latter, "more modern" behaviour. + else if ($0 ~ /^[ \t]*Bail out!/) { bailed_out = 1 # Get the bailout message (if any), with leading and trailing # whitespace stripped. The message remains stored in `$0`. - sub("^Bail out![ \t]*", ""); + sub("^[ \t]*Bail out![ \t]*", ""); sub("[ \t]*$", ""); # Format the error message for the bailout_message = "Bail out!" diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk index 71a7693..259b232 100644 --- a/tests/list-of-tests.mk +++ b/tests/list-of-tests.mk @@ -1001,6 +1001,7 @@ syntax.test \ tap-ambiguous-directive.test \ tap-autonumber.test \ tap-bailout.test \ +tap-bailout-leading-space.test \ tap-bailout-and-logging.test \ tap-bailout-suppress-badexit.test \ tap-bailout-suppress-later-diagnostic.test \ diff --git a/tests/tap-bailout-leading-space.test b/tests/tap-bailout-leading-space.test new file mode 100755 index 0000000..9a89fee --- /dev/null +++ b/tests/tap-bailout-leading-space.test @@ -0,0 +1,72 @@ +#! /bin/sh +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Older versions of prove and TAP::Harness (e.g., 3.17) didn't recognize +# a "Bail out!" directive if that was preceded by leading whitespace, +# but more modern versions (e.g., 3.23) do. So we let this behaviour +# undefined for the perl implementation of the Automake TAP driver, but +# expect the latter, "more modern" behaviour in our awk TAP driver. + +am_parallel_tests=yes +am_tap_implementation=shell +. ./defs || Exit 1 + +. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh" + +cat > a.test < b.test < c.test <> exp <stdout \ + && { cat stdout; Exit 1; } +cat stdout + +count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3 + +LC_ALL=C sort exp > t +mv -f t exp + +# We need the sort below to account for parallel make usage. +grep ': [abcde]\.test' stdout \ + | sed "s/[ $tab]*#[ $tab]*SKIP.*//" \ + | LC_ALL=C sort > got + +cat exp +cat got +diff exp got + +: diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test index bf3d7ae..647589a 100755 --- a/tests/tap-no-spurious.test +++ b/tests/tap-no-spurious.test @@ -84,6 +84,10 @@ set -x # Reset shell xtraces. # The prove(1) utility doesn't bail out on these, so our driver # shouldn't either. +# Note that older versions of prove and TAP::Harness (e.g., 3.17) didn't +# recognize a "Bail out!" directive id preceded by leading white spaces, +# but more modern versions (e.g., 3.23) do. So we let that behaviour +# undefined here; it should be checked in `tap-bailout-leading-space.test'. cat >> all.test <<'END' bailout bailout! @@ -93,7 +97,6 @@ Bailout Bailout! Bail out Bail out - Bail out! #Bail out! # Bail out! END -- 1.7.7.3 --------------010304050002070905090309-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 06:01:13 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 11:01:13 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfUmP-0006xi-7V for submit@debbugs.gnu.org; Tue, 27 Dec 2011 06:01:13 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfUmM-0006xZ-JR for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 06:01:12 -0500 Received: by wibhj6 with SMTP id hj6so5182074wib.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 02:58:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; bh=Vq8iBLqdySrAaNdh2KkoBITPKOyNTorzpBU9B6KrsXE=; b=PQPBqo5Q+vwy3DmS1iyDwcbZwz/XAdvjEEBIjPQqPo/EmNztiY522CkriI0oVyyJ3b YppmLR/UVrMQOWbhgHM/ranX6zPzqAGDnZlrlVVQM/YYiUppqTCkyij3oYbwxbEpU1Lv q0WiEjBQKq/hA3neOeFcra0wB7RDZ4rYVWYro= Received: by 10.180.101.35 with SMTP id fd3mr50276630wib.22.1324983512014; Tue, 27 Dec 2011 02:58:32 -0800 (PST) Received: from [87.4.92.213] (host213-92-dynamic.4-87-r.retail.telecomitalia.it. [87.4.92.213]) by mx.google.com with ESMTPS id g26sm1289847wbo.16.2011.12.27.02.58.31 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 02:58:31 -0800 (PST) Message-ID: <4EF9A4D5.5010101@gmail.com> Date: Tue, 27 Dec 2011 11:58:29 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF992E1.1060700@gmail.com> <87mxae9uag.fsf@rho.meyering.net> In-Reply-To: <87mxae9uag.fsf@rho.meyering.net> Content-Type: multipart/mixed; boundary="------------000506060809020308030202" X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) This is a multi-part message in MIME format. --------------000506060809020308030202 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/27/2011 11:35 AM, Jim Meyering wrote: > Stefano Lattarini wrote: >> On 12/26/2011 11:26 PM, Jim Meyering wrote: >>> FAIL: cond29 >>> ============ > ... >>> + aclocal-1.11a -Werror >>> /usr/bin/perl: error while loading shared libraries: >>> libc.so.6: failed to map segment from shared object: >>> Cannot allocate memory >>> >> Ah-ah, memory ulimit contraints imposed by ulimit above: >> >> ulimit -v 20000 >> >> seems to be too tight. I can reproduce a similar failure on the Fedora >> 16 system (on pcc64 machine) at the GCC compile farm, and fix it with >> the attached patch. Does that patch works for you as well? >> >>> + exit_status=127 >>> + set +e >>> + cd /h/j/w/co/automake/tests >>> + test no = yes >>> + case $am_explicit_skips in >>> + test 127 -eq 0 >>> + keep_testdirs=yes >>> + am_keeping_testdirs >>> + case $keep_testdirs in >>> + return 0 >>> + set +x >>> cond29: exit 127 > > With a 50-MB limit, I see this failure on x86_64: > > + echo 'AM_CONDITIONAL([C24], [:])' > + aclocal-1.11a -Werror > + automake-1.11a --foreign -Werror -Wall > Out of memory! > Out of memory! > + exit_status=1 > + set +e > + cd /h/j/w/co/automake/tests > + test no = yes > + case $am_explicit_skips in > + test 1 -eq 0 > + keep_testdirs=yes > + am_keeping_testdirs > + case $keep_testdirs in > + return 0 > + set +x > cond29: exit 1 > > Same with 60MB, but it passes with 70MB. > So I suggest changing s/50/70/ in both the patch and the log message. > Maybe even 90 or 100, just to be a little more future/bloat-proof. > Since we are being liberal already, let's go for 150 MB then ;-) What about the updated, attached patch? Stefano --------------000506060809020308030202 Content-Type: text/x-diff; name="0001-tests-fix-spurious-failure-of-cond29.test.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-tests-fix-spurious-failure-of-cond29.test.patch" >From 9b06cda000e86888abfc9999b4c66ab8df10873a Mon Sep 17 00:00:00 2001 Message-Id: <9b06cda000e86888abfc9999b4c66ab8df10873a.1324983405.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Tue, 27 Dec 2011 10:40:57 +0100 Subject: [PATCH] tests: fix spurious failure of cond29.test * tests/cond29.test: Limit the amount of virtual memory available to the automake process to ~ 150 MB, rather than only ~ 20 MB, to account for higher (but still acceptable) memory usages on some systems (in this case, a Fedora 16 distro on ppc64). To be sure not to reduce coverage, increase the number of potential combinations of automake conditionals from 2**22 = 4194304 to 2**24 = 16777216. We have actually verified that the new version of the test case catches the Automake 1.7 it is intended to check against, using the Automake 1.7.9 tarball downloaded from: Reported by Jim Meyering in automake bug#10374. --- ChangeLog | 16 ++++++++++++++++ tests/cond29.test | 18 +++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfe666a..e0122fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2011-12-27 Stefano Lattarini + + tests: fix spurious failure of cond29.test + * tests/cond29.test: Limit the amount of virtual memory available + to the automake process to ~ 150 MB, rather than only ~ 20 MB, to + account for higher (but still acceptable) memory usages on some + systems (in this case, a Fedora 16 distro on ppc64). To be + sure not to reduce coverage, increase the number of potential + combinations of automake conditionals from 2**22 = 4194304 to + 2**24 = 16777216. + We have actually verified that the new version of the test case + catches the Automake 1.7 it is intended to check against, using + the Automake 1.7.9 tarball downloaded from: + + Reported by Jim Meyering in automake bug#10374. + 2011-12-24 Stefano Lattarini gitignore: use only one .gitignore file, in the top-level directory diff --git a/tests/cond29.test b/tests/cond29.test index 3361081..0443251 100755 --- a/tests/cond29.test +++ b/tests/cond29.test @@ -27,16 +27,24 @@ a02_LDADD = a03_SOURCES = EOF -# On this test, Automake 1.7.x would compute all 2**22 = 4194304 +# On this test, Automake 1.7.x would compute all 2**24 = 16777216 # possible combinations of conditionals (it would do this five times, # to define a01_DEPENDENCIES, a02_DEPENDENCIES, a03_OBJECTS, # a04_OBJECTS, and to rewrite bin_PROGRAM), eating all memory, swap, # or cpu time it can found. +# Limit memory available to spawned processes to ~ 150 MB. This might +# seem too liberal, but it is needed to account for present and features +# "bloating" of automake, perl, or even the C library (especially on 64 +# bit machines). Suggested by Jim Meyering in automake bug#10374. (ulimit -v 1; sh -c ":") && skip_ "no adequate 'ulimit' builtin found" -(ulimit -v 20000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" -ulimit -v 20000 - -for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do +(ulimit -v 150000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" +ulimit -v 150000 + +for i in \ + 01 02 03 04 05 06 07 08 09 10 \ + 11 12 13 14 15 16 17 18 19 20 \ + 21 22 23 24 +do unindent >>Makefile.am <) id 1RfYJh-0004Oe-TV for submit@debbugs.gnu.org; Tue, 27 Dec 2011 09:47:50 -0500 Received: from mx.meyering.net ([88.168.87.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfYJe-0004OS-8w for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 09:47:48 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id CEA40600A0; Tue, 27 Dec 2011 15:45:06 +0100 (CET) From: Jim Meyering To: Stefano Lattarini Subject: Re: bug#10374: 3 test failures on fedora 16 In-Reply-To: <4EF9A4D5.5010101@gmail.com> (Stefano Lattarini's message of "Tue, 27 Dec 2011 11:58:29 +0100") References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF992E1.1060700@gmail.com> <87mxae9uag.fsf@rho.meyering.net> <4EF9A4D5.5010101@gmail.com> Date: Tue, 27 Dec 2011 15:45:06 +0100 Message-ID: <87mxaegjkd.fsf@rho.meyering.net> Lines: 50 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Stefano Lattarini wrote: ... >> Same with 60MB, but it passes with 70MB. >> So I suggest changing s/50/70/ in both the patch and the log message. >> Maybe even 90 or 100, just to be a little more future/bloat-proof. >> > Since we are being liberal already, let's go for 150 MB then ;-) > > What about the updated, attached patch? Looks fine, modulo a typo in a new comment. ... >>>From 9b06cda000e86888abfc9999b4c66ab8df10873a Mon Sep 17 00:00:00 2001 > Message-Id: <9b06cda000e86888abfc9999b4c66ab8df10873a.1324983405.git.stefano.lattarini@gmail.com> > From: Stefano Lattarini > Date: Tue, 27 Dec 2011 10:40:57 +0100 > Subject: [PATCH] tests: fix spurious failure of cond29.test ... > # or cpu time it can found. > +# Limit memory available to spawned processes to ~ 150 MB. This might > +# seem too liberal, but it is needed to account for present and features s/features/future/ I would say that 70MB is enough, but we're allowing for more. The 150MB isn't really needed. # Limit memory available to spawned processes to ~ 150 MB. Considering # that 70 MB is enough for x86_64 Fedora 16, that gives tools and libraries # plenty of room to grow. > +# "bloating" of automake, perl, or even the C library (especially on 64 > +# bit machines). Suggested by Jim Meyering in automake bug#10374. > (ulimit -v 1; sh -c ":") && skip_ "no adequate 'ulimit' builtin found" > -(ulimit -v 20000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" > -ulimit -v 20000 > - > -for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do > +(ulimit -v 150000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found" > +ulimit -v 150000 > + > +for i in \ > + 01 02 03 04 05 06 07 08 09 10 \ > + 11 12 13 14 15 16 17 18 19 20 \ > + 21 22 23 24 > +do > unindent >>Makefile.am < if C$i > bin_PROGRAMS += a$i From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 09:58:13 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 14:58:13 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfYTk-0004iI-3s for submit@debbugs.gnu.org; Tue, 27 Dec 2011 09:58:13 -0500 Received: from mx.meyering.net ([88.168.87.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfYTg-0004iA-RM for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 09:58:10 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 623D8600A0; Tue, 27 Dec 2011 15:55:29 +0100 (CET) From: Jim Meyering To: Stefano Lattarini Subject: Re: bug#10374: 3 test failures on fedora 16 In-Reply-To: <4EF9A391.7050408@gmail.com> (Stefano Lattarini's message of "Tue, 27 Dec 2011 11:53:05 +0100") References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> Date: Tue, 27 Dec 2011 15:55:29 +0100 Message-ID: <87hb0mgj32.fsf@rho.meyering.net> Lines: 232 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) Stefano Lattarini wrote: > On 12/26/2011 11:26 PM, Jim Meyering wrote: >> FAIL: tap-no-spurious-w >> > This is due to a backward-incompatible change in the newer TAP::Harness > releases. The attached patch (thoroughly commented) fixes this, and also > makes the behaviour of our awk TAP driver consistent with that of these > newer TAP::Harness releases. > > OK for master? Suggestions for log and comments. > Subject: [PATCH] tap/awk: "Bail out!" recognized also after leading > whitespace > > Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1) > recognize a "Bail out!" directive also when it is prepended by > leading whitespace; this was not the case for older TAP:Harness > versions, (e.g., for version 3.17 on Perl 5.12.4), and for our > TAP driver implemented in awk. > > * lib/tap-driver.sh: Handle "Bail out!" directive also when they > are preceded by leading whitespace. Grammar fix: * lib/tap-driver.sh: Handle the "Bail out!" directive also when it is preceded by leading whitespace. > * tests/tap-spurious.test: Remove the tests checking that a > "Bail out!" string coming right after leading whitespace does > not trigger a bailout action. > * tests/tap-bailout-leading-space.test: New test. > * tests/list-of-tests.mk: Add it. > Problem reported by Jim Meyering in automake bug#10374. > --- > ChangeLog | 17 ++++++++ > lib/tap-driver.sh | 8 +++- > tests/list-of-tests.mk | 1 + > tests/tap-bailout-leading-space.test | 72 ++++++++++++++++++++++++++++++++++ > tests/tap-no-spurious.test | 5 ++- > 5 files changed, 100 insertions(+), 3 deletions(-) > create mode 100755 tests/tap-bailout-leading-space.test > > diff --git a/ChangeLog b/ChangeLog > index 53197a9..d551a28 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,5 +1,22 @@ > 2011-12-27 Stefano Lattarini > > + tap/awk: "Bail out!" recognized also after leading whitespace > + Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1) > + recognize a "Bail out!" directive also when it is prepended by > + leading whitespace; this was not the case for older TAP:Harness > + versions, (e.g., for version 3.17 on Perl 5.12.4), and for our > + TAP driver implemented in awk. > + * lib/tap-driver.sh: Handle "Bail out!" directive also when they > + are preceded by leading whitespace. > + * tests/tap-spurious.test: Remove the tests checking that a > + "Bail out!" string coming right after leading whitespace does > + not trigger a bailout action. > + * tests/tap-bailout-leading-space.test: New test. > + * tests/list-of-tests.mk: Add it. > + Problem reported by Jim Meyering in automake bug#10374. > + > +2011-12-27 Stefano Lattarini > + > tests: fix spurious failure of cond29.test > * tests/cond29.test: Limit the amount of virtual memory available > to the automake process to ~ 50 MB, rather than only ~ 20 MB, to > diff --git a/lib/tap-driver.sh b/lib/tap-driver.sh > index c911991..62a4dc6 100755 > --- a/lib/tap-driver.sh > +++ b/lib/tap-driver.sh > @@ -573,12 +573,16 @@ while (1) > handle_tap_plan(0, $0) > } > # "Bail out!" magic. > - else if ($0 ~ /^Bail out!/) > + # Older versions of prove and TAP::Harness (e.g., 3.17) did not > + # recognize a "Bail out!" directive if that was preceded by leading s/if that was/when/ > + # whitespace, but more modern versions (e.g., 3.23) do. So we try s/ try// > + # emulate the latter, "more modern" behaviour. > + else if ($0 ~ /^[ \t]*Bail out!/) > { > bailed_out = 1 > # Get the bailout message (if any), with leading and trailing > # whitespace stripped. The message remains stored in `$0`. > - sub("^Bail out![ \t]*", ""); > + sub("^[ \t]*Bail out![ \t]*", ""); > sub("[ \t]*$", ""); > # Format the error message for the > bailout_message = "Bail out!" > diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk > index 71a7693..259b232 100644 > --- a/tests/list-of-tests.mk > +++ b/tests/list-of-tests.mk > @@ -1001,6 +1001,7 @@ syntax.test \ > tap-ambiguous-directive.test \ > tap-autonumber.test \ > tap-bailout.test \ > +tap-bailout-leading-space.test \ > tap-bailout-and-logging.test \ > tap-bailout-suppress-badexit.test \ > tap-bailout-suppress-later-diagnostic.test \ > diff --git a/tests/tap-bailout-leading-space.test b/tests/tap-bailout-leading-space.test > new file mode 100755 > index 0000000..9a89fee > --- /dev/null > +++ b/tests/tap-bailout-leading-space.test > @@ -0,0 +1,72 @@ > +#! /bin/sh > +# Copyright (C) 2011 Free Software Foundation, Inc. > +# > +# This program is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 2, or (at your option) > +# any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program. If not, see . > + > +# Older versions of prove and TAP::Harness (e.g., 3.17) didn't recognize > +# a "Bail out!" directive if that was preceded by leading whitespace, s/if // or s/if that was/when/ s/leading // General note: This comment appears in three places. IMHO, that feels like too many. > +# but more modern versions (e.g., 3.23) do. So we let this behaviour > +# undefined for the perl implementation of the Automake TAP driver, but > +# expect the latter, "more modern" behaviour in our awk TAP driver. > + > +am_parallel_tests=yes > +am_tap_implementation=shell > +. ./defs || Exit 1 > + > +. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh" > + > +cat > a.test < +1..1 > +ok 1 > + Bail out! > +END > + > +cat > b.test < +1..1 > +ok 1 # SKIP > +${tab}Bail out! > +END > + > +cat > c.test < +1..1 > + ${tab} ${tab}${tab}Bail out! FUBAR! $tab > +END > + > +cat >> exp < +PASS: a.test 1 > +ERROR: a.test - Bail out! > +SKIP: b.test 1 > +ERROR: b.test - Bail out! > +ERROR: c.test - Bail out! FUBAR! > +END > + > +TESTS='a.test b.test c.test' $MAKE -e check >stdout \ > + && { cat stdout; Exit 1; } > +cat stdout > + > +count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3 > + > +LC_ALL=C sort exp > t > +mv -f t exp > + > +# We need the sort below to account for parallel make usage. > +grep ': [abcde]\.test' stdout \ > + | sed "s/[ $tab]*#[ $tab]*SKIP.*//" \ > + | LC_ALL=C sort > got > + > +cat exp > +cat got > +diff exp got > + > +: > diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test > index bf3d7ae..647589a 100755 > --- a/tests/tap-no-spurious.test > +++ b/tests/tap-no-spurious.test > @@ -84,6 +84,10 @@ set -x # Reset shell xtraces. > > # The prove(1) utility doesn't bail out on these, so our driver > # shouldn't either. > +# Note that older versions of prove and TAP::Harness (e.g., 3.17) didn't > +# recognize a "Bail out!" directive id preceded by leading white spaces, s/id // s/spaces/space/ s/leading // > +# but more modern versions (e.g., 3.23) do. So we let that behaviour s/let/leave/ > +# undefined here; it should be checked in `tap-bailout-leading-space.test'. s/should be/is/ > cat >> all.test <<'END' > bailout > bailout! > @@ -93,7 +97,6 @@ Bailout > Bailout! > Bail out > Bail out > - Bail out! > #Bail out! > # Bail out! > END From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 12:04:02 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 17:04:02 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfaRU-0008J7-OV for submit@debbugs.gnu.org; Tue, 27 Dec 2011 12:04:01 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfaRS-0008Iy-M2 for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 12:03:59 -0500 Received: by eekc14 with SMTP id c14so12387828eek.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 09:01:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=fFm6NSaoCcbFsuIVVqExZa85FyT7tZwW06EmTNR20ks=; b=i/SWw1ZflEcpCirmzFUMkRoviwHu5buwzIg/krKvC+Aq+LXgSguhv0q1gTdAyTg+O3 U+mxAaIQmpGVpsMD1Z4pdozCvKBV1fqb7ukqEA562Xx05mjO7aFz868kGmipYTz6PW71 EAm3Lbc0mg8HTV5oBo33N/QnUIoUBDjkcDuCM= Received: by 10.14.2.26 with SMTP id 26mr9419722eee.40.1325005278581; Tue, 27 Dec 2011 09:01:18 -0800 (PST) Received: from [79.20.98.193] (host193-98-dynamic.20-79-r.retail.telecomitalia.it. [79.20.98.193]) by mx.google.com with ESMTPS id b49sm77709789eec.9.2011.12.27.09.01.17 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 09:01:17 -0800 (PST) Message-ID: <4EF9F9D5.8040007@gmail.com> Date: Tue, 27 Dec 2011 18:01:09 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF992E1.1060700@gmail.com> <87mxae9uag.fsf@rho.meyering.net> <4EF9A4D5.5010101@gmail.com> <87mxaegjkd.fsf@rho.meyering.net> In-Reply-To: <87mxaegjkd.fsf@rho.meyering.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.1 (----) On 12/27/2011 03:45 PM, Jim Meyering wrote: > Stefano Lattarini wrote: > ... >> # or cpu time it can found. >> +# Limit memory available to spawned processes to ~ 150 MB. This might >> +# seem too liberal, but it is needed to account for present and features > > s/features/future/ > > I would say that 70MB is enough, but we're allowing for more. > The 150MB isn't really needed. > > # Limit memory available to spawned processes to ~ 150 MB. Considering > # that 70 MB is enough for x86_64 Fedora 16, that gives tools and libraries > # plenty of room to grow. > I like this suggestion; here is the final version of the comment: # Limit memory available to spawned processes to ~ 150 MB. Considering # that 70 MB is enough for x86_64 Fedora 16, that gives tools and # libraries plenty of room to grow. Suggested by Jim Meyering in # automake bug#10374. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 12:21:17 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 17:21:18 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfaiD-0000FK-FX for submit@debbugs.gnu.org; Tue, 27 Dec 2011 12:21:17 -0500 Received: from mail-we0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfaiB-0000FC-16 for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 12:21:16 -0500 Received: by werb14 with SMTP id b14so5733007wer.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 09:18:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=k0BYHgYXT94GFku3Php9/Dw7reDru2vgmx8jgAkM8vY=; b=lhS1cEbC/cQhDR0ejwY3v6fHFaGIdkagKD6qcYhvVVeER8VzfTob7bonPG0pUuoU7X Xcgvz94S8Z7IGFxpX2Pu3P+xDvDRxhdv1psuih6qjeo1DD6JZT+lMJjy3/2FQ8uohj1J j9naJXoZTTZzpmnUr5y/n8ICP3JfxoBcVOdyM= Received: by 10.216.138.226 with SMTP id a76mr15695994wej.51.1325006314985; Tue, 27 Dec 2011 09:18:34 -0800 (PST) Received: from [79.20.98.193] (host193-98-dynamic.20-79-r.retail.telecomitalia.it. [79.20.98.193]) by mx.google.com with ESMTPS id i9sm15798564wie.8.2011.12.27.09.18.34 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 09:18:34 -0800 (PST) Message-ID: <4EF9FDE9.2090208@gmail.com> Date: Tue, 27 Dec 2011 18:18:33 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> <87hb0mgj32.fsf@rho.meyering.net> In-Reply-To: <87hb0mgj32.fsf@rho.meyering.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.1 (----) Hi Jim. I've fixed all the blunders you pointed out, and also correctly updated the date in lib/tap-driver.sh:$scriptversion. But I have to disagree with you on one point (see below). On 12/27/2011 03:55 PM, Jim Meyering wrote: > > General note: This comment appears in three places. > IMHO, that feels like too many. > I don't agree. The comment in the ChangeLog entry is a one-shot -- it correctly express something about this change, and it doesn't deal with possible follow-ups, so it can't risk falling out-of-sync or becoming obsolete. We won't have to worry about it anymore in the future. So we are left with only two copies of the comment describing the new behaviour and the reasons behind it: one near the code implementing said behaviour, and one in the test case checking it. That seems perfectly adequate to me. And if we really had to remove one of them, which one would you pick? It's not a clear choice to me. Thanks, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 12:25:06 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 17:25:06 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Rfalu-0000Kn-7T for submit@debbugs.gnu.org; Tue, 27 Dec 2011 12:25:06 -0500 Received: from mail-we0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Rfals-0000Kg-3B for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 12:25:05 -0500 Received: by werb14 with SMTP id b14so5734947wer.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 09:22:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=C25SOQjrmIm5DM8LXrU//L8gtBFySTRvn9woHVIQiQA=; b=SY3I3EWr4fsyAn/Jbc7v7meY4j/CfAQk4ogYb6NVAJCT4PgJKC8oOw2tzdpb0Rz76/ lwyEWk0OcGNfcaSNjO0oLksMc1nx8ZgZH4l268Lkz7dQRmSH8EyJjCeR++16zoi9wztV J8i4XmPdqbO+fy4BJEuwmT8jUpbxIMAfblhCs= Received: by 10.216.136.232 with SMTP id w82mr15963260wei.46.1325006544082; Tue, 27 Dec 2011 09:22:24 -0800 (PST) Received: from [79.20.98.193] (host193-98-dynamic.20-79-r.retail.telecomitalia.it. [79.20.98.193]) by mx.google.com with ESMTPS id fy5sm67284629wib.7.2011.12.27.09.22.23 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 09:22:23 -0800 (PST) Message-ID: <4EF9FECE.3010809@gmail.com> Date: Tue, 27 Dec 2011 18:22:22 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> <87hb0mgj32.fsf@rho.meyering.net> <4EF9FDE9.2090208@gmail.com> In-Reply-To: <4EF9FDE9.2090208@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.0 (----) On 12/27/2011 06:18 PM, Stefano Lattarini wrote: > > On 12/27/2011 03:55 PM, Jim Meyering wrote: >> >> General note: This comment appears in three places. >> IMHO, that feels like too many. >> > I don't agree. > [SNIP] Ouch, now I see your point! You were referring to the copy of the comment in `tap-no-spurious.test', not in the ChangeLog entry! *facepalm* Then I think you're right. What about this squash-in? diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test index bb64d2e..c2d5bc5 100755 --- a/tests/tap-no-spurious.test +++ b/tests/tap-no-spurious.test @@ -84,10 +84,8 @@ set -x # Reset shell xtraces. # The prove(1) utility doesn't bail out on these, so our driver # shouldn't either. -# Note that older versions of prove and TAP::Harness (e.g., 3.17) didn't -# recognize a "Bail out!" directive is preceded by white space, but more -# modern versions (e.g., 3.23) do. So we leave that behaviour undefined -# here; it is checked in `tap-bailout-leading-space.test'. +# See comments in `tap-bailout-leading-space.test' for an explanation +# of why we don't have a whitespace-prepended "Bail out!" line here. cat >> all.test <<'END' bailout bailout! Thanks, and sorry for the noise, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 27 17:21:24 2011 Received: (at 10374) by debbugs.gnu.org; 27 Dec 2011 22:21:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RffOd-0007GK-Vd for submit@debbugs.gnu.org; Tue, 27 Dec 2011 17:21:24 -0500 Received: from mail-ee0-f44.google.com ([74.125.83.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RffOb-0007GC-5S for 10374@debbugs.gnu.org; Tue, 27 Dec 2011 17:21:22 -0500 Received: by eekc14 with SMTP id c14so12576999eek.3 for <10374@debbugs.gnu.org>; Tue, 27 Dec 2011 14:18:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=jB1/PTk93NPLg/G8xOR/clsk8s8zO0TSDrafqRnNq1E=; b=mi+UhMZEXo9Cyi9WGoE2rZQlztyHu3lb6mLzF+Leb0BuUYBZCb660EGt2rQX3ABseZ 9SWDzw6vpWXne2XMRUuixX4g/2zx8kteleQVbdb1Br9ulvy72CZDpRswUbsC0hnpXaK7 5HsA/x/4rYJwdGRQMFci9KXrtc9sU3IDLSFWA= Received: by 10.213.32.129 with SMTP id c1mr420124ebd.83.1325024319795; Tue, 27 Dec 2011 14:18:39 -0800 (PST) Received: from [95.244.94.233] (host233-94-dynamic.244-95-r.retail.telecomitalia.it. [95.244.94.233]) by mx.google.com with ESMTPS id t1sm112332200eeb.3.2011.12.27.14.18.30 (version=SSLv3 cipher=OTHER); Tue, 27 Dec 2011 14:18:39 -0800 (PST) Message-ID: <4EFA4435.1020809@gmail.com> Date: Tue, 27 Dec 2011 23:18:29 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> <87hb0mgj32.fsf@rho.meyering.net> <4EF9FDE9.2090208@gmail.com> <4EF9FECE.3010809@gmail.com> In-Reply-To: <4EF9FECE.3010809@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -3.9 (---) X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.9 (---) On 12/27/2011 06:22 PM, Stefano Lattarini wrote: > On 12/27/2011 06:18 PM, Stefano Lattarini wrote: >> >> On 12/27/2011 03:55 PM, Jim Meyering wrote: >>> >>> General note: This comment appears in three places. >>> IMHO, that feels like too many. >>> >> I don't agree. >> > [SNIP] > > Ouch, now I see your point! You were referring to the copy of the comment > in `tap-no-spurious.test', not in the ChangeLog entry! *facepalm* > > Then I think you're right. What about this squash-in? > > diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test > index bb64d2e..c2d5bc5 100755 > --- a/tests/tap-no-spurious.test > +++ b/tests/tap-no-spurious.test > @@ -84,10 +84,8 @@ set -x # Reset shell xtraces. > > # The prove(1) utility doesn't bail out on these, so our driver > # shouldn't either. > -# Note that older versions of prove and TAP::Harness (e.g., 3.17) didn't > -# recognize a "Bail out!" directive is preceded by white space, but more > -# modern versions (e.g., 3.23) do. So we leave that behaviour undefined > -# here; it is checked in `tap-bailout-leading-space.test'. > +# See comments in `tap-bailout-leading-space.test' for an explanation > +# of why we don't have a whitespace-prepended "Bail out!" line here. > cat >> all.test <<'END' > bailout > bailout! > > Thanks, and sorry for the noise, > Stefano > I've pushed the patch with this amendment. Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 28 06:04:45 2011 Received: (at 10374) by debbugs.gnu.org; 28 Dec 2011 11:04:45 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfrJM-0008K8-Si for submit@debbugs.gnu.org; Wed, 28 Dec 2011 06:04:45 -0500 Received: from mx.meyering.net ([88.168.87.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RfrJ0-0008Jf-AF for 10374@debbugs.gnu.org; Wed, 28 Dec 2011 06:04:43 -0500 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id B4F8E60139; Wed, 28 Dec 2011 12:01:37 +0100 (CET) From: Jim Meyering To: Stefano Lattarini Subject: Re: bug#10374: 3 test failures on fedora 16 In-Reply-To: <4EFA4435.1020809@gmail.com> (Stefano Lattarini's message of "Tue, 27 Dec 2011 23:18:29 +0100") References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> <87hb0mgj32.fsf@rho.meyering.net> <4EF9FDE9.2090208@gmail.com> <4EF9FECE.3010809@gmail.com> <4EFA4435.1020809@gmail.com> Date: Wed, 28 Dec 2011 12:01:37 +0100 Message-ID: <87vcp1ez8u.fsf@rho.meyering.net> Lines: 41 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 10374 Cc: 10374@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org --=-=-= Content-Type: text/plain Stefano Lattarini wrote: ... >> Then I think you're right. What about this squash-in? Looks fine. Thanks. >> diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test >> index bb64d2e..c2d5bc5 100755 >> --- a/tests/tap-no-spurious.test >> +++ b/tests/tap-no-spurious.test >> @@ -84,10 +84,8 @@ set -x # Reset shell xtraces. >> >> # The prove(1) utility doesn't bail out on these, so our driver >> # shouldn't either. >> -# Note that older versions of prove and TAP::Harness (e.g., 3.17) didn't >> -# recognize a "Bail out!" directive is preceded by white space, but more >> -# modern versions (e.g., 3.23) do. So we leave that behaviour undefined >> -# here; it is checked in `tap-bailout-leading-space.test'. >> +# See comments in `tap-bailout-leading-space.test' for an explanation >> +# of why we don't have a whitespace-prepended "Bail out!" line here. >> cat >> all.test <<'END' >> bailout >> bailout! >> >> Thanks, and sorry for the noise, >> Stefano >> > I've pushed the patch with this amendment. With that, make check on master (Fedora 16, x86_64) does this: # TOTAL: 2477 # PASS: 2378 # SKIP: 60 # XFAIL: 29 # FAIL: 9 # XPASS: 0 # ERROR: 1 --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test-suite.log Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHTlUgQXV0 b21ha2UgMS4xMWE6IHRlc3RzL3Rlc3Qtc3VpdGUubG9nICAgCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDI0NzcKIyBQQVNTOiAgMjM3OAoj IFNLSVA6ICA2MAojIFhGQUlMOiAyOQojIEZBSUw6ICA5CiMgWFBBU1M6IDAKIyBFUlJPUjogMQoK Li4gY29udGVudHM6OiA6ZGVwdGg6IDIKCkVSUk9SOiBnZXQtc3lzY29uZgo9PT09PT09PT09PT09 PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9 IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2Jpbjov dXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9i aW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2Jp bgorKyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2dldC1zeXNjb25mLmRpcgorIHN0PTAK KyBzZWQgMjBxIC9oL2ovdy9jby9hdXRvbWFrZS9DaGFuZ2VMb2cKc2VkOiBjYW4ndCByZWFkIC9o L2ovdy9jby9hdXRvbWFrZS9DaGFuZ2VMb2c6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyBz dD0xCisgL3Vzci9iaW4vcGVybCAtVgpTdW1tYXJ5IG9mIG15IHBlcmw1IChyZXZpc2lvbiA1IHZl cnNpb24gMTQgc3VidmVyc2lvbiAyKSBjb25maWd1cmF0aW9uOgogICAKICBQbGF0Zm9ybToKICAg IG9zbmFtZT1saW51eCwgb3N2ZXJzPTIuNi4zMi0yMjAuZWw2Lng4Nl82NCwgYXJjaG5hbWU9eDg2 XzY0LWxpbnV4LXRocmVhZC1tdWx0aQogICAgdW5hbWU9J2xpbnV4IHg4Ni0xNS5waHgyLmZlZG9y YXByb2plY3Qub3JnIDIuNi4zMi0yMjAuZWw2Lng4Nl82NCAjMSBzbXAgd2VkIG5vdiA5IDA4OjAz OjEzIGVzdCAyMDExIHg4Nl82NCB4ODZfNjQgeDg2XzY0IGdudWxpbnV4ICcKICAgIGNvbmZpZ19h cmdzPSctZGVzIC1Eb3B0aW1pemU9LU8yIC1nIC1waXBlIC1XYWxsIC1XcCwtRF9GT1JUSUZZX1NP VVJDRT0yIC1mZXhjZXB0aW9ucyAtZnN0YWNrLXByb3RlY3RvciAtLXBhcmFtPXNzcC1idWZmZXIt c2l6ZT00ICAtbTY0IC1tdHVuZT1nZW5lcmljIC1EY2NkbGZsYWdzPS1XbCwtLWVuYWJsZS1uZXct ZHRhZ3MgLURERUJVR0dJTkc9LWcgLUR2ZXJzaW9uPTUuMTQuMiAtRG15aG9zdG5hbWU9bG9jYWxo b3N0IC1EcGVybGFkbWluPXJvb3RAbG9jYWxob3N0IC1EY2M9Z2NjIC1EY2ZfYnk9UmVkIEhhdCwg SW5jLiAtRHByZWZpeD0vdXNyIC1EdmVuZG9ycHJlZml4PS91c3IgLURzaXRlcHJlZml4PS91c3Iv bG9jYWwgLURzaXRlbGliPS91c3IvbG9jYWwvc2hhcmUvcGVybDUgLURzaXRlYXJjaD0vdXNyL2xv Y2FsL2xpYjY0L3Blcmw1IC1EcHJpdmxpYj0vdXNyL3NoYXJlL3Blcmw1IC1EdmVuZG9ybGliPS91 c3Ivc2hhcmUvcGVybDUvdmVuZG9yX3BlcmwgLURhcmNobGliPS91c3IvbGliNjQvcGVybDUgLUR2 ZW5kb3JhcmNoPS91c3IvbGliNjQvcGVybDUvdmVuZG9yX3BlcmwgLURhcmNobmFtZT14ODZfNjQt bGludXgtdGhyZWFkLW11bHRpIC1EbGlicHRoPS91c3IvbG9jYWwvbGliNjQgL2xpYjY0IC91c3Iv bGliNjQgLUR1c2VzaHJwbGliIC1EdXNldGhyZWFkcyAtRHVzZWl0aHJlYWRzIC1EdXNlZHRyYWNl PS91c3IvYmluL2R0cmFjZSAtRHVzZWxhcmdlZmlsZXMgLURkX3NlbWN0bF9zZW11biAtRGlfZGIg LVVpX25kYm0gLURpX2dkYm0gLURpX3NoYWRvdyAtRGlfc3lzbG9nIC1EbWFuM2V4dD0zcG0gLUR1 c2VwZXJsaW8gLURpbnN0YWxsdXNyYmlucGVybD1uIC1VYmluY29tcGF0NTAwNSAtVXZlcnNpb25v bmx5IC1EcGFnZXI9L3Vzci9iaW4vbGVzcyAtaXNyIC1EZF9nZXRob3N0ZW50X3JfcHJvdG8gLVVk X2VuZGhvc3RlbnRfcl9wcm90byAtVWRfc2V0aG9zdGVudF9yX3Byb3RvIC1VZF9lbmRwcm90b2Vu dF9yX3Byb3RvIC1VZF9zZXRwcm90b2VudF9yX3Byb3RvIC1VZF9lbmRzZXJ2ZW50X3JfcHJvdG8g LVVkX3NldHNlcnZlbnRfcl9wcm90byAtRHNjcmlwdGRpcj0vdXNyL2JpbicKICAgIGhpbnQ9cmVj b21tZW5kZWQsIHVzZXBvc2l4PXRydWUsIGRfc2lnYWN0aW9uPWRlZmluZQogICAgdXNlaXRocmVh ZHM9ZGVmaW5lLCB1c2VtdWx0aXBsaWNpdHk9ZGVmaW5lCiAgICB1c2VwZXJsaW89ZGVmaW5lLCBk X3NmaW89dW5kZWYsIHVzZWxhcmdlZmlsZXM9ZGVmaW5lLCB1c2Vzb2Nrcz11bmRlZgogICAgdXNl NjRiaXRpbnQ9ZGVmaW5lLCB1c2U2NGJpdGFsbD1kZWZpbmUsIHVzZWxvbmdkb3VibGU9dW5kZWYK ICAgIHVzZW15bWFsbG9jPW4sIGJpbmNvbXBhdDUwMDU9dW5kZWYKICBDb21waWxlcjoKICAgIGNj PSdnY2MnLCBjY2ZsYWdzID0nLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLWZzdGFjay1wcm90ZWN0b3IgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURf TEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0JywKICAgIG9wdGltaXplPSct TzIgLWcgLXBpcGUgLVdhbGwgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLWZleGNlcHRpb25zIC1m c3RhY2stcHJvdGVjdG9yIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgLW02NCAtbXR1bmU9Z2Vu ZXJpYycsCiAgICBjcHBmbGFncz0nLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLWZzdGFjay1wcm90ZWN0b3IgLUkvdXNyL2xvY2FsL2luY2x1ZGUn CiAgICBjY3ZlcnNpb249JycsIGdjY3ZlcnNpb249JzQuNi4yIDIwMTExMDI3IChSZWQgSGF0IDQu Ni4yLTEpJywgZ2Njb3NhbmR2ZXJzPScnCiAgICBpbnRzaXplPTQsIGxvbmdzaXplPTgsIHB0cnNp emU9OCwgZG91Ymxlc2l6ZT04LCBieXRlb3JkZXI9MTIzNDU2NzgKICAgIGRfbG9uZ2xvbmc9ZGVm aW5lLCBsb25nbG9uZ3NpemU9OCwgZF9sb25nZGJsPWRlZmluZSwgbG9uZ2RibHNpemU9MTYKICAg IGl2dHlwZT0nbG9uZycsIGl2c2l6ZT04LCBudnR5cGU9J2RvdWJsZScsIG52c2l6ZT04LCBPZmZf dD0nb2ZmX3QnLCBsc2Vla3NpemU9OAogICAgYWxpZ25ieXRlcz04LCBwcm90b3R5cGU9ZGVmaW5l CiAgTGlua2VyIGFuZCBMaWJyYXJpZXM6CiAgICBsZD0nZ2NjJywgbGRmbGFncyA9JyAtZnN0YWNr LXByb3RlY3RvcicKICAgIGxpYnB0aD0vdXNyL2xvY2FsL2xpYjY0IC9saWI2NCAvdXNyL2xpYjY0 CiAgICBsaWJzPS1scmVzb2x2IC1sbnNsIC1sZ2RibSAtbGRiIC1sZGwgLWxtIC1sY3J5cHQgLWx1 dGlsIC1scHRocmVhZCAtbGMgLWxnZGJtX2NvbXBhdAogICAgcGVybGxpYnM9LWxyZXNvbHYgLWxu c2wgLWxkbCAtbG0gLWxjcnlwdCAtbHV0aWwgLWxwdGhyZWFkIC1sYwogICAgbGliYz0sIHNvPXNv LCB1c2VzaHJwbGliPXRydWUsIGxpYnBlcmw9bGlicGVybC5zbwogICAgZ251bGliY192ZXJzaW9u PScyLjE0LjkwJwogIER5bmFtaWMgTGlua2luZzoKICAgIGRsc3JjPWRsX2Rsb3Blbi54cywgZGxl eHQ9c28sIGRfZGxzeW11bj11bmRlZiwgY2NkbGZsYWdzPSctV2wsLS1lbmFibGUtbmV3LWR0YWdz IC1XbCwtcnBhdGgsL3Vzci9saWI2NC9wZXJsNS9DT1JFJwogICAgY2NjZGxmbGFncz0nLWZQSUMn LCBsZGRsZmxhZ3M9Jy1zaGFyZWQgLU8yIC1nIC1waXBlIC1XYWxsIC1XcCwtRF9GT1JUSUZZX1NP VVJDRT0yIC1mZXhjZXB0aW9ucyAtZnN0YWNrLXByb3RlY3RvciAtLXBhcmFtPXNzcC1idWZmZXIt c2l6ZT00IC1tNjQgLW10dW5lPWdlbmVyaWMnCgoKQ2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgYmlu YXJ5IChmcm9tIGxpYnBlcmwpOiAKICBDb21waWxlLXRpbWUgb3B0aW9uczogTVVMVElQTElDSVRZ IFBFUkxfRE9OVF9DUkVBVEVfR1ZTVgogICAgICAgICAgICAgICAgICAgICAgICBQRVJMX0lNUExJ Q0lUX0NPTlRFWFQgUEVSTF9NQUxMT0NfV1JBUAogICAgICAgICAgICAgICAgICAgICAgICBQRVJM X1BSRVNFUlZFX0lWVVYgVVNFXzY0X0JJVF9BTEwgVVNFXzY0X0JJVF9JTlQKICAgICAgICAgICAg ICAgICAgICAgICAgVVNFX0lUSFJFQURTIFVTRV9MQVJHRV9GSUxFUyBVU0VfUEVSTElPIFVTRV9Q RVJMX0FUT0YKICAgICAgICAgICAgICAgICAgICAgICAgVVNFX1JFRU5UUkFOVF9BUEkKICBCdWls dCB1bmRlciBsaW51eAogIENvbXBpbGVkIGF0IERlYyAyMSAyMDExIDEzOjAwOjI5CiAgQElOQzoK ICAgIC91c3IvbG9jYWwvbGliNjQvcGVybDUKICAgIC91c3IvbG9jYWwvc2hhcmUvcGVybDUKICAg IC91c3IvbGliNjQvcGVybDUvdmVuZG9yX3BlcmwKICAgIC91c3Ivc2hhcmUvcGVybDUvdmVuZG9y X3BlcmwKICAgIC91c3IvbGliNjQvcGVybDUKICAgIC91c3Ivc2hhcmUvcGVybDUKICAgIC4KKyBj YXQgL2gvai93L2NvL2F1dG9tYWtlL2NvbmZpZy5sb2cKVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBt ZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRv IGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVh dGVkIGJ5IEdOVSBBdXRvbWFrZSBjb25maWd1cmUgMS4xMWEsIHdoaWNoIHdhcwpnZW5lcmF0ZWQg YnkgR05VIEF1dG9jb25mIDIuNjguMTAxLWI4NTQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUg d2FzCgogICQgLi9jb25maWd1cmUgLS1wcmVmaXg9L3AgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNp b24KCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0 bmFtZSA9IGh4Lm1leWVyaW5nLm5ldAp1bmFtZSAtbSA9IHg4Nl82NAp1bmFtZSAtciA9IDMuMS41 LTYuZmMxNi54ODZfNjQKdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMxIFNNUCBUaHUgRGVj IDE1IDE2OjE0OjQ0IFVUQyAyMDExCgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25vd24KL2Jpbi91 bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAgID0geDg2XzY0Ci91 c3IvYmluL2FyY2ggLWsgICAgICAgPSB1bmtub3duCi91c3IvY29udmV4L2dldHN5c2luZm8gPSB1 bmtub3duCi91c3IvYmluL2hvc3RpbmZvICAgICAgPSB1bmtub3duCi9iaW4vbWFjaGluZSAgICAg ICAgICAgPSB1bmtub3duCi91c3IvYmluL29zbGV2ZWwgICAgICAgPSB1bmtub3duCi9iaW4vdW5p dmVyc2UgICAgICAgICAgPSB1bmtub3duCgpQQVRIOiAvb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4w L2JpbgpQQVRIOiAvdXNyL2xpYjY0L2NjYWNoZQpQQVRIOiAvaC9qL2Jpbi9wZXJsClBBVEg6IC9o L2ovYmluClBBVEg6IC9wL3AvZ2l0L2JpbgpQQVRIOiAvcC9iaW4KUEFUSDogL3NiaW4KUEFUSDog L3Vzci9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9iaW4KUEFUSDogL3Vzci9sb2NhbApQQVRI OiAvdXNyL2xvY2FsL2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMj IC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MTc1ODogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5 cGUKY29uZmlndXJlOjE3NzI6IHJlc3VsdDogeDg2XzY0LXVua25vd24tbGludXgtZ251CmNvbmZp Z3VyZToxNzkyOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxODA1OiByZXN1 bHQ6IHg4Nl82NC11bmtub3duLWxpbnV4LWdudQpjb25maWd1cmU6MTg1ODogY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6MTkyNjogcmVzdWx0OiAvcC9iaW4v aW5zdGFsbCAtYwpjb25maWd1cmU6MTkzNzogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lCmNvbmZpZ3VyZToxOTkyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE0Mzog Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJlOjIxODI6IHJlc3Vs dDogL3AvYmluL21rZGlyIC1wCmNvbmZpZ3VyZToyMTk1OiBjaGVja2luZyBmb3IgZ2F3awpjb25m aWd1cmU6MjIxMTogZm91bmQgL2Jpbi9nYXdrCmNvbmZpZ3VyZToyMjIyOiByZXN1bHQ6IGdhd2sK Y29uZmlndXJlOjIyMzM6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmln dXJlOjIyNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzc2OiBjaGVja2luZyBmb3IgcGVybApj b25maWd1cmU6MjM5NDogZm91bmQgL3Vzci9iaW4vcGVybApjb25maWd1cmU6MjQwNjogcmVzdWx0 OiAvdXNyL2Jpbi9wZXJsCmNvbmZpZ3VyZToyNDE4OiAvdXNyL2Jpbi9wZXJsIC0tdmVyc2lvbgoK VGhpcyBpcyBwZXJsIDUsIHZlcnNpb24gMTQsIHN1YnZlcnNpb24gMiAodjUuMTQuMikgYnVpbHQg Zm9yIHg4Nl82NC1saW51eC10aHJlYWQtbXVsdGkKCkNvcHlyaWdodCAxOTg3LTIwMTEsIExhcnJ5 IFdhbGwKClBlcmwgbWF5IGJlIGNvcGllZCBvbmx5IHVuZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIg dGhlIEFydGlzdGljIExpY2Vuc2Ugb3IgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB3 aGljaCBtYXkgYmUgZm91bmQgaW4gdGhlIFBlcmwgNSBzb3VyY2Uga2l0LgoKQ29tcGxldGUgZG9j dW1lbnRhdGlvbiBmb3IgUGVybCwgaW5jbHVkaW5nIEZBUSBsaXN0cywgc2hvdWxkIGJlIGZvdW5k IG9uCnRoaXMgc3lzdGVtIHVzaW5nICJtYW4gcGVybCIgb3IgInBlcmxkb2MgcGVybCIuICBJZiB5 b3UgaGF2ZSBhY2Nlc3MgdG8gdGhlCkludGVybmV0LCBwb2ludCB5b3VyIGJyb3dzZXIgYXQgaHR0 cDovL3d3dy5wZXJsLm9yZy8sIHRoZSBQZXJsIEhvbWUgUGFnZS4KCmNvbmZpZ3VyZToyNDIxOiAk PyA9IDAKY29uZmlndXJlOjI0MzE6IGNoZWNraW5nIHdoZXRoZXIgL3Vzci9iaW4vcGVybCBzdXBw b3J0cyBpdGhyZWFkcwpjb25maWd1cmU6MjQ1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0NjY6 IGNoZWNraW5nIGZvciB0ZXgKY29uZmlndXJlOjI0ODI6IGZvdW5kIC91c3IvYmluL3RleApjb25m aWd1cmU6MjQ5MzogcmVzdWx0OiB0ZXgKY29uZmlndXJlOjI1MDQ6IHRleCAtLXZlcnNpb24gPC9k ZXYvbnVsbApUZVggMy4xNDE1OTIgKFdlYjJDIDcuNS42KQprcGF0aHNlYSB2ZXJzaW9uIDMuNS42 CkNvcHlyaWdodCAyMDA3IEQuRS4gS251dGguCktwYXRoc2VhIGlzIGNvcHlyaWdodCAyMDA3IEth cmwgQmVycnkgYW5kIE9sYWYgV2ViZXIuClRoZXJlIGlzIE5PIHdhcnJhbnR5LiAgUmVkaXN0cmli dXRpb24gb2YgdGhpcyBzb2Z0d2FyZSBpcwpjb3ZlcmVkIGJ5IHRoZSB0ZXJtcyBvZiBib3RoIHRo ZSBUZVggY29weXJpZ2h0IGFuZAp0aGUgTGVzc2VyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl LgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtYXR0ZXJzLCBzZWUgdGhlIGZpbGUK bmFtZWQgQ09QWUlORyBhbmQgdGhlIFRlWCBzb3VyY2UuClByaW1hcnkgYXV0aG9yIG9mIFRlWDog RC5FLiBLbnV0aC4KS3BhdGhzZWEgd3JpdHRlbiBieSBLYXJsIEJlcnJ5LCBPbGFmIFdlYmVyLCBh bmQgb3RoZXJzLgoKY29uZmlndXJlOjI1MDc6ICQ/ID0gMApjb25maWd1cmU6MjUyMjogY2hlY2tp bmcgd2hldGhlciBhdXRvY29uZiBpcyBpbnN0YWxsZWQKY29uZmlndXJlOjI1Mjc6IGF1dG9jb25m IC0tdmVyc2lvbgphdXRvY29uZiAoR05VIEF1dG9jb25mKSAyLjY4LjEwMS1iODU0NgpDb3B5cmln aHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMr L0F1dG9jb25mOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlcgo8aHR0cDovL2dudS5vcmcvbGlj ZW5zZXMvZ3BsLmh0bWw+LCA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZXhjZXB0aW9ucy5odG1s PgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlz dHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVk IGJ5IGxhdy4KCldyaXR0ZW4gYnkgRGF2aWQgSi4gTWFjS2VuemllIGFuZCBBa2ltIERlbWFpbGxl Lgpjb25maWd1cmU6MjUzMDogJD8gPSAwCmNvbmZpZ3VyZToyNTM4OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjU0NTogY2hlY2tpbmcgd2hldGhlciBhdXRvY29uZiB3b3Jrcwpjb25maWd1cmU6MjU1 MjogY2QgY29uZnRlc3QgJiYgYXV0b2NvbmYgLW8gL2Rldi9udWxsIGNvbmZ0ZXN0LmFjCmNvbmZp Z3VyZToyNTU1OiAkPyA9IDAKY29uZmlndXJlOjI1NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy NTcxOiBjaGVja2luZyB3aGV0aGVyIGF1dG9jb25mIGlzIHJlY2VudCBlbm91Z2gKY29uZmlndXJl OjI1Nzg6IGNkIGNvbmZ0ZXN0ICYmIGF1dG9jb25mIC1vIC9kZXYvbnVsbCBjb25mdGVzdC5hYwpj b25maWd1cmU6MjU4MTogJD8gPSAwCmNvbmZpZ3VyZToyNTkwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MjU5NzogY2hlY2tpbmcgd2hldGhlciBsbiB3b3Jrcwpjb25maWd1cmU6MjYxNzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI2MzI6IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25n IGxpbmVzIGFuZCAtZQpjb25maWd1cmU6MjY5MDogcmVzdWx0OiAvcC9iaW4vZ3JlcApjb25maWd1 cmU6MjY5NTogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZToyNzU3OiByZXN1bHQ6IC9wL2Jp bi9ncmVwIC1FCmNvbmZpZ3VyZToyNzYyOiBjaGVja2luZyBmb3IgZmdyZXAKY29uZmlndXJlOjI4 MjQ6IHJlc3VsdDogL3AvYmluL2dyZXAgLUYKY29uZmlndXJlOjI4MzA6IGNoZWNraW5nIHdoZXRo ZXIgL2Jpbi9zaCBoYXMgd29ya2luZyAnc2V0IC1lJyB3aXRoIGV4aXQgdHJhcApjb25maWd1cmU6 Mjg0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMwMTA6IGNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6MzAxNjogcmVzdWx0OiBk b25lCmNvbmZpZ3VyZTozMDI0OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKCiMjIC0tLS0tLS0t LS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMj CgphY19jdl9idWlsZD14ODZfNjQtdW5rbm93bi1saW51eC1nbnUKYWNfY3ZfZW52X2J1aWxkX2Fs aWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfaG9zdF9hbGlh c19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfdGFyZ2V0X2FsaWFz X3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0KYWNfY3ZfaG9zdD14ODZfNjQtdW5r bm93bi1saW51eC1nbnUKYWNfY3ZfcGF0aF9FR1JFUD0nL3AvYmluL2dyZXAgLUUnCmFjX2N2X3Bh dGhfRkdSRVA9Jy9wL2Jpbi9ncmVwIC1GJwphY19jdl9wYXRoX0dSRVA9L3AvYmluL2dyZXAKYWNf Y3ZfcGF0aF9QRVJMPS91c3IvYmluL3BlcmwKYWNfY3ZfcGF0aF9pbnN0YWxsPScvcC9iaW4vaW5z dGFsbCAtYycKYWNfY3ZfcGF0aF9ta2Rpcj0vcC9iaW4vbWtkaXIKYWNfY3ZfcHJvZ19BV0s9Z2F3 awphY19jdl9wcm9nX1RFWD10ZXgKYWNfY3ZfcHJvZ19tYWtlX21ha2Vfc2V0PXllcwphbV9jdl9h dXRvY29uZl9pbnN0YWxsZWQ9eWVzCmFtX2N2X2F1dG9jb25mX3ZlcnNpb249eWVzCmFtX2N2X2F1 dG9jb25mX3dvcmtzPXllcwphbV9jdl9wcm9nX1BFUkxfaXRocmVhZHM9eWVzCmFtX2N2X3Byb2df bG49bG4KYW1fY3Zfc2hfZXJyZXhpdF93b3Jrcz15ZXMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMj CiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FM PSdwZXJsbGliZGlyPSIvaC9qL3cvY28vYXV0b21ha2UvbGliOi4vbGliIiAiL2gvai93L2NvL2F1 dG9tYWtlL2FjbG9jYWwiIC0tYWNkaXI9bTQgLUkgbTQnCkFNVEFSPScke1NIRUxMfSAvaC9qL3cv Y28vYXV0b21ha2UvbGliL21pc3NpbmcgLS1ydW4gdGFyJwpBTV9CQUNLU0xBU0g9J1wnCkFNX0RF RkFVTFRfVkVSQk9TSVRZPScxJwpBUElWRVJTSU9OPScxLjExYScKQVVUT0NPTkY9JyR7U0hFTEx9 IC9oL2ovdy9jby9hdXRvbWFrZS9saWIvbWlzc2luZyAtLXJ1biBhdXRvY29uZicKQVVUT0hFQURF Uj0nJHtTSEVMTH0gL2gvai93L2NvL2F1dG9tYWtlL2xpYi9taXNzaW5nIC0tcnVuIGF1dG9oZWFk ZXInCkFVVE9NQUtFPSdwZXJsbGliZGlyPSIvaC9qL3cvY28vYXV0b21ha2UvbGliOi4vbGliIiAi L2gvai93L2NvL2F1dG9tYWtlL2F1dG9tYWtlIiAtLWxpYmRpcj1saWInCkFXSz0nZ2F3aycKQ1lH UEFUSF9XPSdlY2hvJwpERUZTPSctRFBBQ0tBR0VfTkFNRT1cIkdOVVwgQXV0b21ha2VcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImF1dG9tYWtlXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjExYVwiIC1E UEFDS0FHRV9TVFJJTkc9XCJHTlVcIEF1dG9tYWtlXCAxLjExYVwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJidWctYXV0b21ha2VAZ251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJodHRwOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvYXV0b21ha2UvXCIgLURQQUNLQUdFPVwiYXV0b21ha2VcIiAtRFZFUlNJ T049XCIxLjExYVwiJwpFQ0hPX0M9JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPScvcC9i aW4vZ3JlcCAtRScKRkdSRVA9Jy9wL2Jpbi9ncmVwIC1GJwpHUkVQPScvcC9iaW4vZ3JlcCcKSEVM UDJNQU49JyR7U0hFTEx9IC9oL2ovdy9jby9hdXRvbWFrZS9saWIvbWlzc2luZyAtLXJ1biBoZWxw Mm1hbicKSU5TVEFMTF9EQVRBPScke0lOU1RBTEx9IC1tIDY0NCcKSU5TVEFMTF9QUk9HUkFNPSck e0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9H UkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpMSUJPQkpTPScnCkxJQlM9JycKTE49J2xuJwpMVExJ Qk9CSlM9JycKTUFLRUlORk89JyR7U0hFTEx9IC9oL2ovdy9jby9hdXRvbWFrZS9saWIvbWlzc2lu ZyAtLXJ1biBtYWtlaW5mbycKTUtESVJfUD0nL3AvYmluL21rZGlyIC1wJwpNT0RJRklDQVRJT05f REVMQVk9JzInClBBQ0tBR0U9J2F1dG9tYWtlJwpQQUNLQUdFX0JVR1JFUE9SVD0nYnVnLWF1dG9t YWtlQGdudS5vcmcnClBBQ0tBR0VfTkFNRT0nR05VIEF1dG9tYWtlJwpQQUNLQUdFX1NUUklORz0n R05VIEF1dG9tYWtlIDEuMTFhJwpQQUNLQUdFX1RBUk5BTUU9J2F1dG9tYWtlJwpQQUNLQUdFX1VS TD0naHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9tYWtlLycKUEFDS0FHRV9WRVJTSU9O PScxLjExYScKUEFUSF9TRVBBUkFUT1I9JzonClBFUkw9Jy91c3IvYmluL3BlcmwnClBFUkxfVEhS RUFEUz0nMScKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vc2gnClNUUklQPScnClRFWD0ndGV4JwpW RVJTSU9OPScxLjExYScKYW1fQVVUT0NPTkY9J2F1dG9jb25mJwphbV9BVVRPSEVBREVSPSdhdXRv aGVhZGVyJwphbV9BVVRPTTRURT0nYXV0b200dGUnCmFtX0FVVE9SRUNPTkY9J2F1dG9yZWNvbmYn CmFtX0FVVE9VUERBVEU9J2F1dG91cGRhdGUnCmFtX19pc3JjPScnCmFtX19sZWFkaW5nX2RvdD0n LicKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0nJHtBTVRB Un0geGYgLScKYW1kaXI9JyR7cGtndmRhdGFkaXJ9L2FtJwphdXRvbWFrZV9hY2Rpcj0nJHtkYXRh ZGlyfS9hY2xvY2FsLTEuMTFhJwpiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L2JpbicKYnVpbGQ9J3g4 Nl82NC11bmtub3duLWxpbnV4LWdudScKYnVpbGRfYWxpYXM9JycKYnVpbGRfY3B1PSd4ODZfNjQn CmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1aWxkX3ZlbmRvcj0ndW5rbm93bicKZGF0YWRpcj0nJHtk YXRhcm9vdGRpcn0nCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRh cm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmV4ZWNf cHJlZml4PScke3ByZWZpeH0nCmhvc3Q9J3g4Nl82NC11bmtub3duLWxpbnV4LWdudScKaG9zdF9h bGlhcz0nJwpob3N0X2NwdT0neDg2XzY0Jwpob3N0X29zPSdsaW51eC1nbnUnCmhvc3RfdmVuZG9y PSd1bmtub3duJwpodG1sZGlyPScke2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNs dWRlJwppbmZvZGlyPScke2RhdGFyb290ZGlyfS9pbmZvJwppbnN0YWxsX3NoPScke1NIRUxMfSAv aC9qL3cvY28vYXV0b21ha2UvbGliL2luc3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0v bGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7ZGF0 YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbWFuZGlyPSck e2RhdGFyb290ZGlyfS9tYW4nCm1rZGlyX3A9Jy9wL2Jpbi9ta2RpciAtcCcKb2xkaW5jbHVkZWRp cj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScKcGtndmRhdGFkaXI9JyR7ZGF0YWRp cn0vYXV0b21ha2UtMS4xMWEnCnByZWZpeD0nL3AnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3Ms eCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2Ny aXB0ZGlyPScke3BrZ3ZkYXRhZGlyfScKc2hfZXJyZXhpdF93b3Jrcz0neWVzJwpzaGFyZWRzdGF0 ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nJHtwcmVmaXh9L2V0YycKc3lzdGVtX2Fj ZGlyPScke2RhdGFkaXJ9L2FjbG9jYWwnCnRhcmdldF9hbGlhcz0nJwoKIyMgLS0tLS0tLS0tLS0g IyMKIyMgY29uZmRlZnMuaC4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCi8qIGNvbmZkZWZzLmggKi8K I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBBdXRvbWFrZSIKI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImF1dG9tYWtlIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMS4xMWEiCiNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBBdXRvbWFrZSAxLjExYSIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWF1dG9tYWtlQGdudS5vcmciCiNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS8iCiNkZWZpbmUgUEFDS0FHRSAiYXV0b21ha2UiCiNk ZWZpbmUgVkVSU0lPTiAiMS4xMWEiCgpjb25maWd1cmU6IGV4aXQgMAoKIyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNv bmZpZy5zdGF0dXMgMS4xMWEsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu NjguMTAxLWI4NTQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxF UyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJ R19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gaHgubWV5ZXJpbmcubmV0Cgpj b25maWcuc3RhdHVzOjgwMzogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czo4MDM6IGNy ZWF0aW5nIGRvYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjgwMzogY3JlYXRpbmcgbGliL0F1dG9t YWtlL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6ODAzOiBjcmVhdGluZyBsaWIvQXV0b21ha2UvdGVz dHMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czo4MDM6IGNyZWF0aW5nIGxpYi9NYWtlZmlsZQpjb25m aWcuc3RhdHVzOjgwMzogY3JlYXRpbmcgbGliL2FtL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6ODAz OiBjcmVhdGluZyBtNC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjgwMzogY3JlYXRpbmcgdGVzdHMv TWFrZWZpbGUKY29uZmlnLnN0YXR1czo4MDM6IGNyZWF0aW5nIHRlc3RzL2FjbG9jYWwtMS4xMWEK Y29uZmlnLnN0YXR1czo4MDM6IGNyZWF0aW5nIHRlc3RzL2F1dG9tYWtlLTEuMTFhCisgY2F0IC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9hY2xvY2FsLTEuMTFhCiMhL2Jpbi9zaAojIHRlc3RzL2Fj bG9jYWwtMS4xMWEuICBHZW5lcmF0ZWQgZnJvbSBhY2xvY2FsLmluIGJ5IGNvbmZpZ3VyZS4KCiMg QmUgQm91cm5lIGNvbXBhdGlibGUKaWYgdGVzdCAtbiAiJHtaU0hfVkVSU0lPTitzZXR9IiAmJiAo ZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgZW11bGF0ZSBzaAogIE5VTExDTUQ9 OgogICMgWnNoIDMueCBhbmQgNC54IHBlcmZvcm1zIHdvcmQgc3BsaXR0aW5nIG9uICR7MSsiJEAi fSwgd2hpY2gKICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0 dXJlLgogIGFsaWFzIC1nICckezErIiRAIn0nPSciJEAiJwpmaQoKcGVybGxpYmRpcj0iL2gvai93 L2NvL2F1dG9tYWtlL2xpYjovaC9qL3cvY28vYXV0b21ha2UvbGliIgpleHBvcnQgcGVybGxpYmRp cgoKZXhlYyAiL2gvai93L2NvL2F1dG9tYWtlL2FjbG9jYWwiICItLWF1dG9tYWtlLWFjZGlyPS9o L2ovdy9jby9hdXRvbWFrZS9tNCIgXAogICAgICItLXN5c3RlbS1hY2Rpcj0vaC9qL3cvY28vYXV0 b21ha2UvbTQvYWNkaXIiICR7MSsiJEAifQorIGNhdCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv YXV0b21ha2UtMS4xMWEKIyEvYmluL3NoCiMgdGVzdHMvYXV0b21ha2UtMS4xMWEuICBHZW5lcmF0 ZWQgZnJvbSBhdXRvbWFrZS5pbiBieSBjb25maWd1cmUuCgojIEJlIEJvdXJuZSBjb21wYXRpYmxl CmlmIHRlc3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251 bGwgMj4mMTsgdGhlbgogIGVtdWxhdGUgc2gKICBOVUxMQ01EPToKICAjIFpzaCAzLnggYW5kIDQu eCBwZXJmb3JtcyB3b3JkIHNwbGl0dGluZyBvbiAkezErIiRAIn0sIHdoaWNoCiAgIyBpcyBjb250 cmFyeSB0byBvdXIgdXNhZ2UuICBEaXNhYmxlIHRoaXMgZmVhdHVyZS4KICBhbGlhcyAtZyAnJHsx KyIkQCJ9Jz0nIiRAIicKZmkKCnBlcmxsaWJkaXI9Ii9oL2ovdy9jby9hdXRvbWFrZS9saWI6L2gv ai93L2NvL2F1dG9tYWtlL2xpYiIKZXhwb3J0IHBlcmxsaWJkaXIKZXhlYyAiL2gvai93L2NvL2F1 dG9tYWtlL2F1dG9tYWtlIiAiLS1saWJkaXI9L2gvai93L2NvL2F1dG9tYWtlL2xpYiIgJHsxKyIk QCJ9CisgdGVzdCAxIC1lcSAwCisgRXhpdCA5OQorIHNldCArZQorIHRlc3QgNzcgPSA5OQorIGV4 aXQgOTkKKyBleGl0IDk5CisgZXhpdF9zdGF0dXM9OTkKKyBzZXQgK2UKKyBjZCAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0geWVzCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMg aW4KKyB0ZXN0IDk5IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAwCisgc2V0ICt4CmdldC1zeXNj b25mOiBleGl0IDk5CgpGQUlMOiBkZXBtb2QKPT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IHllcwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ov YmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2Jp bjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorKyBzZWQgLW4gJ3MvXiMqXChbYS16QS1aMC05XSpcKSkk L1wxL3AnCisrIGdyZXAgLXYgJ15ub25lJCcKKyBhbGxfZGVwbW9kZXM9J2djYzMKZ2NjCmhwCnNn aQphaXgKaWNjCmhwMgp0cnU2NAptc3ZjNwptc3ZjN21zeXMKbm9zaWRlZWZmZWN0CmRhc2htc3Rk b3V0CmRhc2hYbXN0ZG91dAptYWtlZGVwZW5kCmNwcAptc3Zpc3VhbGNwcAptc3ZjbXN5cycKKyA6 IFR1cm4gbmV3bGluZXMgYW5kIHRhYnMgaW50byBzcGFjZXMsIGFuZCBzdHJpcCBleHRyYSB3aGl0 ZXNwYWNlLgorKyBlY2hvIGdjYzMgZ2NjIGhwIHNnaSBhaXggaWNjIGhwMiB0cnU2NCBtc3ZjNyBt c3ZjN21zeXMgbm9zaWRlZWZmZWN0IGRhc2htc3Rkb3V0IGRhc2hYbXN0ZG91dCBtYWtlZGVwZW5k IGNwcCBtc3Zpc3VhbGNwcCBtc3ZjbXN5cworIGFsbF9kZXBtb2Rlcz0nZ2NjMyBnY2MgaHAgc2dp IGFpeCBpY2MgaHAyIHRydTY0IG1zdmM3IG1zdmM3bXN5cyBub3NpZGVlZmZlY3QgZGFzaG1zdGRv dXQgZGFzaFhtc3Rkb3V0IG1ha2VkZXBlbmQgY3BwIG1zdmlzdWFsY3BwIG1zdmNtc3lzJworIHRl c3QgLW4gJ2djYzMgZ2NjIGhwIHNnaSBhaXggaWNjIGhwMiB0cnU2NCBtc3ZjNyBtc3ZjN21zeXMg bm9zaWRlZWZmZWN0IGRhc2htc3Rkb3V0IGRhc2hYbXN0ZG91dCBtYWtlZGVwZW5kIGNwcCBtc3Zp c3VhbGNwcCBtc3ZjbXN5cycKKyB0ZXN0IDAgLWd0IDAKKyB0ZXN0ZWRfZGVwbW9kZXM9J2djYzMg Z2NjIGhwIHNnaSBhaXggaWNjIGhwMiB0cnU2NCBtc3ZjNyBtc3ZjN21zeXMgbm9zaWRlZWZmZWN0 IGRhc2htc3Rkb3V0IGRhc2hYbXN0ZG91dCBtYWtlZGVwZW5kIGNwcCBtc3Zpc3VhbGNwcCBtc3Zj bXN5cycKKyBwbGFuXyAxMDIKKyB0ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHgx MDIgPSB4dW5rbm93bgorIHRlc3QgeDEwMiA9IHhsYXRlcgorIHRlc3QgeDEwMiA9IHhsYXp5Cisg dGVzdCB4MTAyID0geG5vdworIHRlc3QgMTAyIC1nZSAwCisgZWNobyAxLi4xMDIKMS4uMTAyCisg aGF2ZV90YXBfcGxhbl89eWVzCisrIHB3ZAorIG9jd2Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIKKyBzcmN0cmVlPWRlcG1vZC0xLjAKKyBta2RpciBkZXBtb2QtMS4wCisgbXYg bWlzc2luZyBpbnN0YWxsLXNoIGRlcGNvbXAgY29uZmlndXJlLmluIGRlcG1vZC0xLjAKKyBjZCBk ZXBtb2QtMS4wCisgbWtkaXIgc3JjIHNyYy9zdWIKKyBjYXQKKyBlY2hvICdTVUJESVJTID0gc3Jj JworIGNhdAorIGVjaG8gJ2V4dGVybiBpbnQgc3ViZm9vICh2b2lkKTsnCisgY2F0CisgY2F0Cisg YWNsb2NhbC0xLjExYSAtV2Vycm9yCisgYXV0b2NvbmYgLUIgL25vL3N1Y2gvZGlyCisgYXV0b21h a2UtMS4xMWEgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJlLmluOjY6IGluc3Rh bGxpbmcgYC4vY29tcGlsZScKKyBncmVwIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90 eXBlIGNvbmZpZ3VyZQppZiAke2FtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlKzp9 IGZhbHNlOyB0aGVuIDoKICBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1ub25l CiAgICAgICAgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9JGRlcG1vZGUKICBh bV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1ub25lCnsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2Nv bXBpbGVyX3R5cGUiID4mNQokYXNfZWNobyAiJGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxl cl90eXBlIiA+JjY7IH0KQ0NERVBNT0RFPWRlcG1vZGU9JGFtX2N2X0NDX2RlcGVuZGVuY2llc19j b21waWxlcl90eXBlCiAgJiYgdGVzdCAiJGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90 eXBlIiA9IGdjYzM7IHRoZW4KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp cgorIGxvbmdwYXRoPXRoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZQorIGRlcG1vZC0xLjAvaW5zdGFsbC1zaCAtZCB0aGlzLWlzL2EtcGF0aC93aGljaC1oYXZl L3F1aXRlLWEvbG9uZ19sb25nX25hbWUKKyBjcCAtcFIgZGVwbW9kLTEuMC9NYWtlZmlsZS5hbSBk ZXBtb2QtMS4wL01ha2VmaWxlLmluIGRlcG1vZC0xLjAvYWNsb2NhbC5tNCBkZXBtb2QtMS4wL2F1 dG9tNHRlLmNhY2hlIGRlcG1vZC0xLjAvY29tcGlsZSBkZXBtb2QtMS4wL2NvbmZpZ3VyZSBkZXBt b2QtMS4wL2NvbmZpZ3VyZS5pbiBkZXBtb2QtMS4wL2RlcGNvbXAgZGVwbW9kLTEuMC9pbnN0YWxs LXNoIGRlcG1vZC0xLjAvbWlzc2luZyBkZXBtb2QtMS4wL3NyYyB0aGlzLWlzL2EtcGF0aC93aGlj aC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUKKyBjcCAtcFIgZGVwbW9kLTEuMC9NYWtlZmls ZS5hbSBkZXBtb2QtMS4wL01ha2VmaWxlLmluIGRlcG1vZC0xLjAvYWNsb2NhbC5tNCBkZXBtb2Qt MS4wL2F1dG9tNHRlLmNhY2hlIGRlcG1vZC0xLjAvY29tcGlsZSBkZXBtb2QtMS4wL2NvbmZpZ3Vy ZSBkZXBtb2QtMS4wL2NvbmZpZ3VyZS5pbiBkZXBtb2QtMS4wL2RlcGNvbXAgZGVwbW9kLTEuMC9p bnN0YWxsLXNoIGRlcG1vZC0xLjAvbWlzc2luZyBkZXBtb2QtMS4wL3NyYyAuCisgZm9yIHZwYXRo IGluIHNpbXBsZSBsb25nIGFic29sdXRlCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9k ZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9Li4KKyBwZng9J2djYzMgW3NpbXBsZSBWUEFU SF0nCisgbWtkaXIgZ2NjMy1zaW1wbGUuZAorIGNkIGdjYzMtc2ltcGxlLmQKKyAuLi9jb25maWd1 cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwpjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj b21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBnY2MzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg dGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnZ2Nj MyBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDEgLSBnY2MzIFtzaW1wbGUg VlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDEgLSBnY2MzIFtzaW1wbGUgVlBBVEhd IGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFd OiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L2djYzMtc2ltcGxlLmQvc3JjJwpkZXBiYXNlPWBlY2hvIGZvby5vIHwgc2VkICdzfFteL10qJHwu ZGVwcy8mfDtzfFwubyR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4vLi4vc3JjICAgICAtZyAtTzIgLU1UIGZvby5vIC1NRCAtTVAgLU1GICRkZXBiYXNlLlRwbyAt YyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMgJiZcCm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFz ZS5QbwpkZXBiYXNlPWBlY2hvIHN1Yi9zdWJmb28ubyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7 c3xcLm8kfHwnYDtcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJO QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3Ny YyAgICAgLWcgLU8yIC1NVCBzdWIvc3ViZm9vLm8gLU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1j IC1vIHN1Yi9zdWJmb28ubyAuLi8uLi9zcmMvc3ViL3N1YmZvby5jICYmXAptdiAtZiAkZGVwYmFz ZS5UcG8gJGRlcGJhc2UuUG8KZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5v ICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2djYzMtc2ltcGxlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMtc2ltcGxlLmQnCm1ha2Vb MV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLXNpbXBsZS5k JworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMtc2ltcGxlLmQv c3JjJwp0ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZv by5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9nY2MzLXNpbXBsZS5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9n Y2MzLXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScu Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9nY2MzLXNpbXBsZS5kJworIGU9MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBh bGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1zaW1wbGUuZC9zcmMnCmRlcGJhc2U9YGVjaG8gZm9vLm8g fCBzZWQgJ3N8W14vXSokfC5kZXBzLyZ8O3N8XC5vJHx8J2A7XApnY2MgLURQQUNLQUdFX05BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJ T049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtTVQgZm9vLm8gLU1EIC1NUCAt TUYgJGRlcGJhc2UuVHBvIC1jIC1vIGZvby5vIC4uLy4uL3NyYy9mb28uYyAmJlwKbXYgLWYgJGRl cGJhc2UuVHBvICRkZXBiYXNlLlBvCmRlcGJhc2U9YGVjaG8gc3ViL3N1YmZvby5vIHwgc2VkICdz fFteL10qJHwuZGVwcy8mfDtzfFwubyR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9k XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLU1UIHN1Yi9zdWJmb28ubyAtTUQgLU1QIC1N RiAkZGVwYmFzZS5UcG8gLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMg JiZcCm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5QbwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBm b28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1zaW1wbGUuZC9zcmMnCm1ha2VbMV06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2Nj My1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2djYzMtc2ltcGxlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBv dXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdnY2MzIFtzaW1wbGUgVlBBVEhdIG1ha2Ug JiByZW1ha2UnCisgc2V0ICt4Cm9rIDIgLSBnY2MzIFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1h a2UKUEFTUzogZGVwbW9kLnRhcCAyIC0gZ2NjMyBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtl CisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGlu CisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBnY2Mz LXNpbXBsZS5kCisgdGVzdCAxIC1ndCAwCisgZmluZCBnY2MzLXNpbXBsZS5kIC10eXBlIGQgJyEn IC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZ2NjMy1zaW1w bGUuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGlu Cisgc3JjZGlyPS4uCisgcGZ4PSdnY2MgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIgZ2NjLXNpbXBs ZS5kCisgY2QgZ2NjLXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2ll c19jb21waWxlcl90eXBlPWdjYwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3Av YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcg d2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1 ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiAoY2FjaGVkKSBnY2MKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdnY2MgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJl JworIHNldCAreApvayAzIC0gZ2NjIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBt b2QudGFwIDMgLSBnY2MgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBt YWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLXNpbXBsZS5kL3NyYycKc291cmNlPScu Li8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMg ZGVwbW9kZT1nY2MgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi ZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vc3Jj L2Zvby5jCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9v Lm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1nY2MgL2Jpbi9zaCAuLi8uLi9k ZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJk ZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAg ICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAt ZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1zaW1wbGUuZC9z cmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZ2NjLXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9y IGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLXNpbXBsZS5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFu IGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL2djYy1zaW1wbGUuZC9zcmMnCnRlc3QgLXogImZvbyIgfHwgcm0gLWYg Zm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1zaW1wbGUuZC9zcmMn Ck1ha2luZyBjbGVhbiBpbiAuCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5n IHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2Mtc2ltcGxlLmQnCisgZT0wCisg bWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2Mtc2ltcGxlLmQv c3JjJwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBc CkRFUERJUj0uZGVwcyBkZXBtb2RlPWdjYyAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQ QUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBt b2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBm b28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBvYmpl Y3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWdjYyAv YmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vc3JjL3N1Yi9z dWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFd OiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv Z2NjLXNpbXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2Mtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcg dG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2Mtc2ltcGxlLmQnCisgdGVzdCAwIC1l cSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9r ICdnY2MgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgNCAtIGdjYyBb c2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6IGRlcG1vZC50YXAgNCAtIGdjYyBbc2lt cGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ss b2sgPSBvayxvaworIHJtX3JmXyBnY2Mtc2ltcGxlLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIGdj Yy1zaW1wbGUuZCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScg JzsnCisgcm0gLXJmIGdjYy1zaW1wbGUuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1v ZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS4uCisgcGZ4PSdocCBbc2ltcGxlIFZQQVRI XScKKyBta2RpciBocC1zaW1wbGUuZAorIGNkIGhwLXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFt X2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWhwCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBm b3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGhwCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBj YyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1 dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnaHAgW3NpbXBsZSBW UEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA1IC0gaHAgW3NpbXBsZSBWUEFUSF0gY29uZmln dXJlClBBU1M6IGRlcG1vZC50YXAgNSAtIGhwIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIx PSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2hwLXNpbXBsZS5kL3Ny YycKc291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApE RVBESVI9LmRlcHMgZGVwbW9kZT1ocCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28u byAuLi8uLi9zcmMvZm9vLmMKY2MxOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBv cHRpb24gJy1NLmRlcHMvZm9vLlRQbycKbWFrZVsxXTogKioqIFtmb28ub10gRXJyb3IgMQptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvaHAtc2ltcGxlLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKyBz a2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ2hwIFtzaW1wbGUgVlBBVEhdIG1ha2Ug JiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yICdjYW4nXCcndCBmb3JjZSBkZXBtb2Rl JyAnaHAgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgNiAtIGhwIFtz aW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKU0tJ UDogZGVwbW9kLnRhcCA2IC0gaHAgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAg Y2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2Fz ZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxub3Qg b2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJwor IGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3Jj ZGlyPS4uCisgcGZ4PSdzZ2kgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIgc2dpLXNpbXBsZS5kCisg Y2Qgc2dpLXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21w aWxlcl90eXBlPXNnaQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9w L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNl ZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2Fj aGVkKSBzZ2kKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgcjA9b2sKKyByZXN1bHRfIG9rICdzZ2kgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlJworIHNl dCAreApvayA3IC0gc2dpIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFw IDcgLSBzZ2kgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1h a2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc2dpLXNpbXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9z cmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9k ZT1zZ2kgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9k XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vc3JjL2Zvby5j CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICctTUR1cGRhdGUn CmdjYzogZXJyb3I6IC5kZXBzL2Zvby5UUG86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKbWFr ZVsxXTogKioqIFtmb28ub10gRXJyb3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc2dpLXNpbXBsZS5kL3NyYycKbWFrZTog KioqIFthbGwtcmVjdXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRl cG1vZGUnICdzZ2kgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1E IFNLSVAgLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdzZ2kgW3NpbXBsZSBWUEFUSF0gbWFr ZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgOCAtIHNnaSBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVt YWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgOCAtIHNnaSBb c2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlCisg Y2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisg cmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ29rLG5vdCBvaycgPSBvayxvaworIDogRm9yIGxl c3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0 ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9Li4KKyBwZng9J2FpeCBbc2lt cGxlIFZQQVRIXScKKyBta2RpciBhaXgtc2ltcGxlLmQKKyBjZCBhaXgtc2ltcGxlLmQKKyAuLi9j b25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9YWl4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGFpeApjaGVja2luZyB3aGV0 aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sg J2FpeCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDkgLSBhaXggW3NpbXBs ZSBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgOSAtIGFpeCBbc2ltcGxlIFZQQVRI XSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9haXgtc2ltcGxlLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28u bycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWFpeCAvYmluL3NoIC4uLy4uL2Rl cGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1c ImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRl cG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt RFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAg IC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3Vi L3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVw cyBkZXBtb2RlPWFpeCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJ T049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8g Li4vLi4vc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3Vi Zm9vLm8gIAovdXNyL2Jpbi9sZDpmb28ubzogZmlsZSBmb3JtYXQgbm90IHJlY29nbml6ZWQ7IHRy ZWF0aW5nIGFzIGxpbmtlciBzY3JpcHQKL3Vzci9iaW4vbGQ6Zm9vLm86MTogc3ludGF4IGVycm9y CmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwptYWtlWzFdOiAqKiog W2Zvb10gRXJyb3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvYWl4LXNpbXBsZS5kL3NyYycKbWFrZTogKioqIFthbGwtcmVj dXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdhaXgg W3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2Nh bidcJyd0IGZvcmNlIGRlcG1vZGUnICdhaXggW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScK KyBzZXQgK3gKb2sgMTAgLSBhaXggW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAg Y2FuJ3QgZm9yY2UgZGVwbW9kZQpTS0lQOiBkZXBtb2QudGFwIDEwIC0gYWl4IFtzaW1wbGUgVlBB VEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxs cyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2Rl cycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLgorIHBmeD0naWNjIFtzaW1wbGUgVlBBVEhd JworIG1rZGlyIGljYy1zaW1wbGUuZAorIGNkIGljYy1zaW1wbGUuZAorIC4uL2NvbmZpZ3VyZSBh bV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1pY2MKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg ZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgaWNjCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFu ZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4 ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnaWNjIFtzaW1w bGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgMTEgLSBpY2MgW3NpbXBsZSBWUEFUSF0g Y29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgMTEgLSBpY2MgW3NpbXBsZSBWUEFUSF0gY29uZmln dXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVy aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLXNp bXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRv b2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1pY2MgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIg LWMgLW8gZm9vLm8gLi4vLi4vc3JjL2Zvby5jCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9zdWJmb28u Yycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9k ZT1pY2MgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9k XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3Ny Yy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAK bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2ljYy1zaW1wbGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLXNpbXBsZS5kJwptYWtlWzFdOiBO b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLXNpbXBsZS5kJworIG1h a2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1zaW1wbGUuZC9zcmMnCnRl c3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2ljYy1zaW1wbGUuZC9zcmMnCk1ha2luZyBjbGVhbiBpbiAuCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLXNpbXBs ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06 IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9p Y2Mtc2ltcGxlLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9pY2Mtc2ltcGxlLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0 PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWljYyAvYmluL3NoIC4u Ly4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9z cmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9z cmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJ Uj0uZGVwcyBkZXBtb2RlPWljYyAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdF X05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3Vi Zm9vLm8gLi4vLi4vc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBz dWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLXNpbXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2Mtc2ltcGxl LmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExl YXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2Mt c2ltcGxlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6 CisgcjE9b2sKKyByZXN1bHRfIG9rICdpY2MgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScK KyBzZXQgK3gKb2sgMTIgLSBpY2MgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBk ZXBtb2QudGFwIDEyIC0gaWNjIFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4g MQorIHJldHVybiAwCisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIGljYy1zaW1wbGUuZAor IHRlc3QgMSAtZ3QgMAorIGZpbmQgaWNjLXNpbXBsZS5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAg LWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgaWNjLXNpbXBsZS5kCisgZm9yIGRl cG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9Li4K KyBwZng9J2hwMiBbc2ltcGxlIFZQQVRIXScKKyBta2RpciBocDItc2ltcGxlLmQKKyBjZCBocDIt c2ltcGxlLmQKKyAuLi9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5 cGU9aHAyCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGhw MgpjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9N YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1v aworIHJlc3VsdF8gb2sgJ2hwMiBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9r IDEzIC0gaHAyIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDEzIC0g aHAyIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcg YWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL2hwMi1zaW1wbGUuZC9zcmMnCnNvdXJjZT0nLi4vLi4vc3JjL2Zv by5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9aHAy IC9iaW4vc2ggLi4vLi4vZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB Q0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uLy4uL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3NyYy9mb28uYwpnY2M6 IGVycm9yOiArTWFrZWQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKbWFrZVsxXTogKioqIFtm b28ub10gRXJyb3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvaHAyLXNpbXBsZS5kL3NyYycKbWFrZTogKioqIFthbGwtcmVj dXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdocDIg W3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2Nh bidcJyd0IGZvcmNlIGRlcG1vZGUnICdocDIgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScK KyBzZXQgK3gKb2sgMTQgLSBocDIgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAg Y2FuJ3QgZm9yY2UgZGVwbW9kZQpTS0lQOiBkZXBtb2QudGFwIDE0IC0gaHAyIFtzaW1wbGUgVlBB VEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxs cyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2Rl cycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLgorIHBmeD0ndHJ1NjQgW3NpbXBsZSBWUEFU SF0nCisgbWtkaXIgdHJ1NjQtc2ltcGxlLmQKKyBjZCB0cnU2NC1zaW1wbGUuZAorIC4uL2NvbmZp Z3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT10cnU2NApjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQK Y2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSB0cnU2NApjaGVja2luZyB3aGV0 aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sg J3RydTY0IFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgMTUgLSB0cnU2NCBb c2ltcGxlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCAxNSAtIHRydTY0IFtzaW1w bGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNy YwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL3RydTY0LXNpbXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9i amVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT10cnU2NCAvYmlu L3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUku Li8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScu Li8uLi9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBc CkRFUERJUj0uZGVwcyBkZXBtb2RlPXRydTY0IC9iaW4vc2ggLi4vLi4vZGVwY29tcCBcCmdjYyAt RFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRl cG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3NyYyAgICAgLWcgLU8yIC1jIC1v IHN1Yi9zdWJmb28ubyAuLi8uLi9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9v IGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1zaW1wbGUuZC9zcmMnCm1ha2VbMV06 IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv dHJ1NjQtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScu Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci90cnU2NC1zaW1wbGUuZCcKKyBtYWtlIGNsZWFuCk1ha2luZyBjbGVhbiBpbiBzcmMK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci90cnU2NC1zaW1wbGUuZC9zcmMnCnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJt IC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3RydTY0LXNpbXBsZS5kL3NyYycKTWFr aW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGluZyB0 byBiZSBkb25lIGZvciBgY2xlYW4tYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvdHJ1NjQtc2ltcGxlLmQnCisgZT0wCisg bWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1zaW1wbGUu ZC9zcmMnCnNvdXJjZT0nLi4vLi4vc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5v IFwKREVQRElSPS5kZXBzIGRlcG1vZGU9dHJ1NjQgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi ZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMg LW8gZm9vLm8gLi4vLi4vc3JjL2Zvby5jCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9zdWJmb28uYycg b2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT10 cnU2NCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vc3Jj L3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIApt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvdHJ1NjQtc2ltcGxlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3RydTY0LXNpbXBsZS5kJwptYWtlWzFd OiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvdHJ1NjQtc2ltcGxlLmQn CisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sK KyByZXN1bHRfIG9rICd0cnU2NCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAr eApvayAxNiAtIHRydTY0IFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKUEFTUzogZGVwbW9k LnRhcCAxNiAtIHRydTY0IFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIHRydTY0LXNpbXBsZS5kCisg dGVzdCAxIC1ndCAwCisgZmluZCB0cnU2NC1zaW1wbGUuZCAtdHlwZSBkICchJyAtcGVybSAtNzAw IC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIHRydTY0LXNpbXBsZS5kCisgZm9y IGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9 Li4KKyBwZng9J21zdmM3IFtzaW1wbGUgVlBBVEhdJworIG1rZGlyIG1zdmM3LXNpbXBsZS5kCisg Y2QgbXN2Yzctc2ltcGxlLmQKKyAuLi9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2Nv bXBpbGVyX3R5cGU9bXN2YzcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcu Li4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFj Y2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRl IHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g KGNhY2hlZCkgbXN2YzcKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdtc3ZjNyBbc2ltcGxlIFZQQVRIXSBjb25maWd1 cmUnCisgc2V0ICt4Cm9rIDE3IC0gbXN2YzcgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlClBBU1M6 IGRlcG1vZC50YXAgMTcgLSBtc3ZjNyBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90 IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5 IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3ZjNy1zaW1wbGUuZC9zcmMn CnNvdXJjZT0nLi4vLi4vc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9bXN2YzcgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9k XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gZm9v Lm8gLi4vLi4vc3JjL2Zvby5jCmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUg b3B0aW9uICctc2hvd0luY2x1ZGVzJwptYWtlWzFdOiAqKiogW2Zvby5vXSBFcnJvciAxCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9tc3ZjNy1zaW1wbGUuZC9zcmMnCm1ha2U6ICoqKiBbYWxsLXJlY3Vyc2l2ZV0gRXJyb3IgMQor IHNraXBfIC1yICdjYW4nXCcndCBmb3JjZSBkZXBtb2RlJyAnbXN2YzcgW3NpbXBsZSBWUEFUSF0g bWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2NhbidcJyd0IGZvcmNlIGRl cG1vZGUnICdtc3ZjNyBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayAx OCAtIG1zdmM3IFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNl IGRlcG1vZGUKU0tJUDogZGVwbW9kLnRhcCAxOCAtIG1zdmM3IFtzaW1wbGUgVlBBVEhdIG1ha2Ug JiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRoIGJy b2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBjYXNl ICR2cGF0aCBpbgorIHNyY2Rpcj0uLgorIHBmeD0nbXN2Yzdtc3lzIFtzaW1wbGUgVlBBVEhdJwor IG1rZGlyIG1zdmM3bXN5cy1zaW1wbGUuZAorIGNkIG1zdmM3bXN5cy1zaW1wbGUuZAorIC4uL2Nv bmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1tc3ZjN21zeXMKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg d29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg bmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgbXN2Yzdtc3lzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4u LiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisg cmVzdWx0XyBvayAnbXN2Yzdtc3lzIFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gK b2sgMTkgLSBtc3ZjN21zeXMgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50 YXAgMTkgLSBtc3ZjN21zeXMgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycK KyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2Yzdtc3lzLXNpbXBsZS5kL3NyYycK c291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBE SVI9LmRlcHMgZGVwbW9kZT1tc3ZjN21zeXMgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVw bW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8g Zm9vLm8gLi4vLi4vc3JjL2Zvby5jCmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxp bmUgb3B0aW9uICctc2hvd0luY2x1ZGVzJwptYWtlWzFdOiAqKiogW2Zvby5vXSBFcnJvciAxCm1h a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9tc3ZjN21zeXMtc2ltcGxlLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVy cm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ21zdmM3bXN5cyBbc2lt cGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHJlc3VsdF8gb2sgLUQgU0tJUCAtciAnY2FuJ1wn J3QgZm9yY2UgZGVwbW9kZScgJ21zdmM3bXN5cyBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtl JworIHNldCAreApvayAyMCAtIG1zdmM3bXN5cyBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtl ICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgMjAgLSBtc3ZjN21z eXMgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9k ZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBp bgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxub3Qgb2snID0gb2ssb2sKKyA6IEZv ciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciBkZXBtb2RlIGluICck dGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS4uCisgcGZ4PSdub3Np ZGVlZmZlY3QgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIgbm9zaWRlZWZmZWN0LXNpbXBsZS5kCisg Y2Qgbm9zaWRlZWZmZWN0LXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVu Y2llc19jb21waWxlcl90eXBlPW5vc2lkZWVmZmVjdApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBn Y2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5n IGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNy b3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4u LiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0 eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBub3NpZGVlZmZlY3QKY2hlY2tpbmcgd2hldGhlciBnY2Mg YW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0 IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdub3NpZGVl ZmZlY3QgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayAyMSAtIG5vc2lkZWVm ZmVjdCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCAyMSAtIG5vc2lk ZWVmZmVjdCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFr aW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9ub3NpZGVlZmZlY3Qtc2ltcGxlLmQvc3JjJwpzb3VyY2U9 Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVw cyBkZXBtb2RlPW5vc2lkZWVmZmVjdCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28u byAuLi8uLi9zcmMvZm9vLmMKVW5rbm93biBkZXBtb2RlIG5vc2lkZWVmZmVjdAptYWtlWzFdOiAq KiogW2Zvby5vXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9ub3NpZGVlZmZlY3Qtc2ltcGxlLmQvc3JjJwptYWtl OiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2Ug ZGVwbW9kZScgJ25vc2lkZWVmZmVjdCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHJl c3VsdF8gb2sgLUQgU0tJUCAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ25vc2lkZWVmZmVj dCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayAyMiAtIG5vc2lkZWVm ZmVjdCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBt b2RlClNLSVA6IGRlcG1vZC50YXAgMjIgLSBub3NpZGVlZmZlY3QgW3NpbXBsZSBWUEFUSF0gbWFr ZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJu IDAKKyB0ZXN0ICdvayxub3Qgb2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGgg YnJva2VuICdzZXQgLWUuJworIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNh c2UgJHZwYXRoIGluCisgc3JjZGlyPS4uCisgcGZ4PSdkYXNobXN0ZG91dCBbc2ltcGxlIFZQQVRI XScKKyBta2RpciBkYXNobXN0ZG91dC1zaW1wbGUuZAorIGNkIGRhc2htc3Rkb3V0LXNpbXBsZS5k CisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWRhc2ht c3Rkb3V0CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGRh c2htc3Rkb3V0CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAt byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0 dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIHIwPW9rCisgcmVzdWx0XyBvayAnZGFzaG1zdGRvdXQgW3NpbXBsZSBWUEFUSF0gY29uZmln dXJlJworIHNldCAreApvayAyMyAtIGRhc2htc3Rkb3V0IFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3Vy ZQpQQVNTOiBkZXBtb2QudGFwIDIzIC0gZGFzaG1zdGRvdXQgW3NpbXBsZSBWUEFUSF0gY29uZmln dXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVy aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1z dGRvdXQtc2ltcGxlLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28u bycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRhc2htc3Rkb3V0IC9iaW4vc2gg Li4vLi4vZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9U QVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4u L3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4u L3NyYy9zdWIvc3ViZm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9ZGFzaG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi ZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMg LW8gc3ViL3N1YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBm b28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LXNpbXBsZS5kL3NyYycK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9kYXNobXN0ZG91dC1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25l IGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LXNpbXBsZS5kJworIG1ha2UgY2xlYW4K TWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LXNpbXBsZS5kL3NyYycKdGVz dCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZGFzaG1zdGRvdXQtc2ltcGxlLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBF bnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rh c2htc3Rkb3V0LXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVh bi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9kYXNobXN0ZG91dC1zaW1wbGUuZCcKKyBlPTAKKyBtYWtlCisgY2F0IG91 dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LXNpbXBsZS5kL3NyYycK c291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBE SVI9LmRlcHMgZGVwbW9kZT1kYXNobXN0ZG91dCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2Mg LURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJk ZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAt byBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBv YmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRh c2htc3Rkb3V0IC9iaW4vc2ggLi4vLi4vZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uLy4uL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8u Li9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28u byAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9kYXNobXN0ZG91dC1zaW1wbGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQt c2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9kYXNobXN0ZG91dC1zaW1wbGUuZCcKKyB0ZXN0IDAgLWVxIDAKKyBncmVwICdzcmMvWy5fXWRl cHMnIG91dHB1dAorIDoKKyByMT1vaworIHJlc3VsdF8gb2sgJ2Rhc2htc3Rkb3V0IFtzaW1wbGUg VlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDI0IC0gZGFzaG1zdGRvdXQgW3NpbXBs ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDI0IC0gZGFzaG1zdGRvdXQg W3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0 IG9rLG9rID0gb2ssb2sKKyBybV9yZl8gZGFzaG1zdGRvdXQtc2ltcGxlLmQKKyB0ZXN0IDEgLWd0 IDAKKyBmaW5kIGRhc2htc3Rkb3V0LXNpbXBsZS5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4 ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZGFzaG1zdGRvdXQtc2ltcGxlLmQKKyBm b3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rp cj0uLgorIHBmeD0nZGFzaFhtc3Rkb3V0IFtzaW1wbGUgVlBBVEhdJworIG1rZGlyIGRhc2hYbXN0 ZG91dC1zaW1wbGUuZAorIGNkIGRhc2hYbXN0ZG91dC1zaW1wbGUuZAorIC4uL2NvbmZpZ3VyZSBh bV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1kYXNoWG1zdGRvdXQKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4u LiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVk CmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgZGFzaFhtc3Rkb3V0CmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5 ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVz dWx0XyBvayAnZGFzaFhtc3Rkb3V0IFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gK b2sgMjUgLSBkYXNoWG1zdGRvdXQgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1v ZC50YXAgMjUgLSBkYXNoWG1zdGRvdXQgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25v dCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LXNpbXBs ZS5kL3NyYycKc291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9 bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNoWG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi9kZXBj b21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBt b2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAt ZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vc3JjL2Zvby5jCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9z dWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMg ZGVwbW9kZT1kYXNoWG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1 YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8g c3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1zaW1wbGUuZC9zcmMnCm1ha2VbMV06 IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv ZGFzaFhtc3Rkb3V0LXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBh bGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LXNpbXBsZS5kJworIG1ha2UgY2xlYW4KTWFraW5n IGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1zaW1wbGUuZC9zcmMnCnRlc3QgLXog ImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTog TGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rh c2hYbXN0ZG91dC1zaW1wbGUuZC9zcmMnCk1ha2luZyBjbGVhbiBpbiAuCm1ha2VbMV06IEVudGVy aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFht c3Rkb3V0LXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1h bScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9kYXNoWG1zdGRvdXQtc2ltcGxlLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRw dXQKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNoWG1zdGRvdXQtc2ltcGxlLmQvc3JjJwpz b3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJ Uj0uZGVwcyBkZXBtb2RlPWRhc2hYbXN0ZG91dCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2Mg LURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJk ZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAt byBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBv YmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRh c2hYbXN0ZG91dCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4v Li4vc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9v Lm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LXNpbXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNoWG1zdGRv dXQtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1h a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9kYXNoWG1zdGRvdXQtc2ltcGxlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1su X11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdkYXNoWG1zdGRvdXQgW3Np bXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgMjYgLSBkYXNoWG1zdGRvdXQg W3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDI2IC0gZGFzaFht c3Rkb3V0IFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIGRhc2hYbXN0ZG91dC1zaW1wbGUuZAorIHRl c3QgMSAtZ3QgMAorIGZpbmQgZGFzaFhtc3Rkb3V0LXNpbXBsZS5kIC10eXBlIGQgJyEnIC1wZXJt IC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZGFzaFhtc3Rkb3V0LXNp bXBsZS5kCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGgg aW4KKyBzcmNkaXI9Li4KKyBwZng9J21ha2VkZXBlbmQgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIg bWFrZWRlcGVuZC1zaW1wbGUuZAorIGNkIG1ha2VkZXBlbmQtc2ltcGxlLmQKKyAuLi9jb25maWd1 cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bWFrZWRlcGVuZApjaGVja2lu ZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBn YXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVk ZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBtYWtlZGVwZW5kCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5 ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVz dWx0XyBvayAnbWFrZWRlcGVuZCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9r IDI3IC0gbWFrZWRlcGVuZCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRh cCAyNyAtIG1ha2VkZXBlbmQgW3NpbXBsZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycK KyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1zaW1wbGUuZC9zcmMn CnNvdXJjZT0nLi4vLi4vc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9bWFrZWRlcGVuZCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2Mg LURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJk ZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAt byBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBv YmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1h a2VkZXBlbmQgL2Jpbi9zaCAuLi8uLi9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVw bW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4u L3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5v ICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL21ha2VkZXBlbmQtc2ltcGxlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtc2lt cGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06 IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9t YWtlZGVwZW5kLXNpbXBsZS5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL21ha2VkZXBlbmQtc2ltcGxlLmQvc3JjJwp0ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpy bSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZvby5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLXNpbXBsZS5kL3Ny YycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLXNpbXBsZS5kJwptYWtlWzFd OiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLXNp bXBsZS5kJworIGU9MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBhbGwgaW4gc3JjCm1ha2Vb MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvbWFrZWRlcGVuZC1zaW1wbGUuZC9zcmMnCnNvdXJjZT0nLi4vLi4vc3JjL2Zvby5jJyBvYmpl Y3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bWFrZWRlcGVuZCAv YmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMKc291cmNl PScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1u byBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1ha2VkZXBlbmQgL2Jpbi9zaCAuLi8uLi9kZXBjb21w IFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2Rc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAt TzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIg ICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtc2ltcGxlLmQv c3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUg ZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLXNpbXBsZS5kJworIHRlc3QgMCAt ZXEgMAorIGdyZXAgJ3NyYy9bLl9dZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBv ayAnbWFrZWRlcGVuZCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayAy OCAtIG1ha2VkZXBlbmQgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2Qu dGFwIDI4IC0gbWFrZWRlcGVuZCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlCisgY2QgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJu IDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBtYWtlZGVwZW5kLXNp bXBsZS5kCisgdGVzdCAxIC1ndCAwCisgZmluZCBtYWtlZGVwZW5kLXNpbXBsZS5kIC10eXBlIGQg JyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgbWFrZWRl cGVuZC1zaW1wbGUuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2Ug JHZwYXRoIGluCisgc3JjZGlyPS4uCisgcGZ4PSdjcHAgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIg Y3BwLXNpbXBsZS5kCisgY2QgY3BwLXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2Rl cGVuZGVuY2llc19jb21waWxlcl90eXBlPWNwcApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxl IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiAoY2FjaGVkKSBjcHAKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVy c3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl cGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdjcHAgW3NpbXBsZSBWUEFUSF0g Y29uZmlndXJlJworIHNldCAreApvayAyOSAtIGNwcCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUK UEFTUzogZGVwbW9kLnRhcCAyOSAtIGNwcCBbc2ltcGxlIFZQQVRIXSBjb25maWd1cmUKKyByMT0n bm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtc2ltcGxlLmQvc3Jj Jwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRF UERJUj0uZGVwcyBkZXBtb2RlPWNwcCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28u byAuLi8uLi9zcmMvZm9vLmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9 J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWNwcCAvYmlu L3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUku Li8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vc3JjL3N1Yi9zdWJm b28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBM ZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3Bw LXNpbXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8g YmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtc2ltcGxlLmQnCisgbWFrZSBjbGVhbgpN YWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLXNpbXBsZS5kL3NyYycKdGVzdCAteiAiZm9v IiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBMZWF2 aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLXNp bXBsZS5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5 IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtc2ltcGxlLmQnCm1ha2Vb MV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NwcC1zaW1wbGUu ZCcKKyBlPTAKKyBtYWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBF bnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Nw cC1zaW1wbGUuZC9zcmMnCnNvdXJjZT0nLi4vLi4vc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBs aWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Y3BwIC9iaW4vc2ggLi4vLi4vZGVwY29t cCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVw bW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9k XCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3NyYyAgICAgLWcg LU8yIC1jIC1vIGZvby5vIC4uLy4uL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4uL3NyYy9zdWIvc3Vi Zm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRl cG1vZGU9Y3BwIC9iaW4vc2ggLi4vLi4vZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uLy4uL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8u Li9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28u byAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9jcHAtc2ltcGxlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NwcC1zaW1wbGUuZCcKbWFrZVsx XTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NwcC1zaW1wbGUuZCcK KyB0ZXN0IDAgLWVxIDAKKyBncmVwICdzcmMvWy5fXWRlcHMnIG91dHB1dAorIDoKKyByMT1vawor IHJlc3VsdF8gb2sgJ2NwcCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApv ayAzMCAtIGNwcCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6IGRlcG1vZC50YXAg MzAgLSBjcHAgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJu IDAKKyB0ZXN0IG9rLG9rID0gb2ssb2sKKyBybV9yZl8gY3BwLXNpbXBsZS5kCisgdGVzdCAxIC1n dCAwCisgZmluZCBjcHAtc2ltcGxlLmQgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1v ZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBjcHAtc2ltcGxlLmQKKyBmb3IgZGVwbW9kZSBpbiAn JHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLgorIHBmeD0nbXN2 aXN1YWxjcHAgW3NpbXBsZSBWUEFUSF0nCisgbWtkaXIgbXN2aXN1YWxjcHAtc2ltcGxlLmQKKyBj ZCBtc3Zpc3VhbGNwcC1zaW1wbGUuZAorIC4uL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNp ZXNfY29tcGlsZXJfdHlwZT1tc3Zpc3VhbGNwcApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxl IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiAoY2FjaGVkKSBtc3Zpc3VhbGNwcApjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQg Y2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTog Y3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ21zdmlzdWFsY3Bw IFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgMzEgLSBtc3Zpc3VhbGNwcCBb c2ltcGxlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCAzMSAtIG1zdmlzdWFsY3Bw IFtzaW1wbGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxs IGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNpbXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9z cmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9k ZT1tc3Zpc3VhbGNwcCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJ T049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9z cmMvZm9vLmMKLi4vLi4vZGVwY29tcDogbGluZSA2NTI6IGN5Z3BhdGg6IGNvbW1hbmQgbm90IGZv dW5kCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8n IGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3Zpc3VhbGNwcCAvYmluL3NoIC4u Ly4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9z cmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vc3JjL3N1Yi9zdWJmb28uYwou Li8uLi9kZXBjb21wOiBsaW5lIDY1MjogY3lncGF0aDogY29tbWFuZCBub3QgZm91bmQKZ2NjICAt ZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNp bXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGlu ZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNpbXBsZS5kJwor IG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNpbXBs ZS5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9z dWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAtc2ltcGxlLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4g LgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNpbXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRv bmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1zaW1wbGUuZCcKKyBlPTAKKyBt YWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNp bXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRv b2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3Zpc3VhbGNwcCAvYmluL3NoIC4uLy4uL2Rl cGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1c ImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRl cG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt RFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAg IC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9vLmMKLi4vLi4vZGVwY29tcDogbGluZSA2 NTI6IGN5Z3BhdGg6IGNvbW1hbmQgbm90IGZvdW5kCnNvdXJjZT0nLi4vLi4vc3JjL3N1Yi9zdWJm b28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVw bW9kZT1tc3Zpc3VhbGNwcCAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9v Lm8gLi4vLi4vc3JjL3N1Yi9zdWJmb28uYwouLi8uLi9kZXBjb21wOiBsaW5lIDY1MjogY3lncGF0 aDogY29tbWFuZCBub3QgZm91bmQKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZv by5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLXNpbXBsZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNw cC1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL21zdmlzdWFsY3BwLXNpbXBsZS5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9bLl9d ZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnbXN2aXN1YWxjcHAgW3NpbXBs ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgMzIgLSBtc3Zpc3VhbGNwcCBbc2lt cGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6IGRlcG1vZC50YXAgMzIgLSBtc3Zpc3VhbGNw cCBbc2ltcGxlIFZQQVRIXSBtYWtlICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRl c3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBtc3Zpc3VhbGNwcC1zaW1wbGUuZAorIHRlc3QgMSAt Z3QgMAorIGZpbmQgbXN2aXN1YWxjcHAtc2ltcGxlLmQgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAt ZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBtc3Zpc3VhbGNwcC1zaW1wbGUuZAor IGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3Jj ZGlyPS4uCisgcGZ4PSdtc3ZjbXN5cyBbc2ltcGxlIFZQQVRIXScKKyBta2RpciBtc3ZjbXN5cy1z aW1wbGUuZAorIGNkIG1zdmNtc3lzLXNpbXBsZS5kCisgLi4vY29uZmlndXJlIGFtX2N2X0NDX2Rl cGVuZGVuY2llc19jb21waWxlcl90eXBlPW1zdmNtc3lzCmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz Li4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Ig c3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIG1zdmNtc3lzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFu ZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4 ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnbXN2Y21zeXMg W3NpbXBsZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayAzMyAtIG1zdmNtc3lzIFtzaW1w bGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDMzIC0gbXN2Y21zeXMgW3NpbXBs ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3Jj Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvbXN2Y21zeXMtc2ltcGxlLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3NyYy9mb28uYycg b2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmNtc3lz IC9iaW4vc2ggLi4vLi4vZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB Q0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uLy4uL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3NyYy9mb28uYwpzb3Vy Y2U9Jy4uLy4uL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29s PW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2Y21zeXMgL2Jpbi9zaCAuLi8uLi9kZXBjb21w IFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2Rc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vc3JjICAgICAtZyAt TzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIg ICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLXNpbXBsZS5kL3Ny YycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9tc3ZjbXN5cy1zaW1wbGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25l IGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLXNpbXBsZS5kJworIG1ha2UgY2xlYW4KTWFr aW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLXNpbXBsZS5kL3NyYycKdGVzdCAteiAi Zm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBM ZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2 Y21zeXMtc2ltcGxlLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLXNp bXBsZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9tc3ZjbXN5cy1zaW1wbGUuZCcKKyBlPTAKKyBtYWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxs IGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLXNpbXBsZS5kL3NyYycKc291cmNlPScuLi8uLi9zcmMv Zm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1t c3ZjbXN5cyAvYmluL3NoIC4uLy4uL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLi8uLi9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi9zcmMvZm9v LmMKc291cmNlPScuLi8uLi9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycg bGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmNtc3lzIC9iaW4vc2ggLi4vLi4v ZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1F PVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi ZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3NyYyAg ICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8uLi9zcmMvc3ViL3N1YmZvby5jCmdjYyAg LWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3ZjbXN5cy1zaW1w bGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvbXN2Y21zeXMtc2ltcGxlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8g YmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3ZjbXN5cy1zaW1wbGUuZCcKKyB0ZXN0IDAg LWVxIDAKKyBncmVwICdzcmMvWy5fXWRlcHMnIG91dHB1dAorIDoKKyByMT1vaworIHJlc3VsdF8g b2sgJ21zdmNtc3lzIFtzaW1wbGUgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDM0 IC0gbXN2Y21zeXMgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFw IDM0IC0gbXN2Y21zeXMgW3NpbXBsZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisg cmV0dXJuIDAKKyB0ZXN0IG9rLG9rID0gb2ssb2sKKyBybV9yZl8gbXN2Y21zeXMtc2ltcGxlLmQK KyB0ZXN0IDEgLWd0IDAKKyBmaW5kIG1zdmNtc3lzLXNpbXBsZS5kIC10eXBlIGQgJyEnIC1wZXJt IC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgbXN2Y21zeXMtc2ltcGxl LmQKKyBmb3IgdnBhdGggaW4gc2ltcGxlIGxvbmcgYWJzb2x1dGUKKyBmb3IgZGVwbW9kZSBpbiAn JHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLi90aGlzLWlzL2Et cGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUKKyBwZng9J2djYzMgW2xvbmcg VlBBVEhdJworIG1rZGlyIGdjYzMtbG9uZy5kCisgY2QgZ2NjMy1sb25nLmQKKyAuLi90aGlzLWlz L2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvY29uZmlndXJlIGFtX2N2 X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmls ZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZv ciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgZ2NjMwpjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQg Y2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTog Y3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ2djYzMgW2xvbmcg VlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgMzUgLSBnY2MzIFtsb25nIFZQQVRIXSBjb25m aWd1cmUKUEFTUzogZGVwbW9kLnRhcCAzNSAtIGdjYzMgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQor IHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMtbG9uZy5k L3NyYycKZGVwYmFzZT1gZWNobyBmb28ubyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7c3xcLm8k fHwnYDtcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwi ZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVw bW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1E UEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMv YS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAt TVQgZm9vLm8gLU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIGZvby5vIC4uLy4uL3RoaXMt aXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMgJiZc Cm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5QbwpkZXBiYXNlPWBlY2hvIHN1Yi9zdWJmb28u byB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7c3xcLm8kfHwnYDtcCmdjYyAtRFBBQ0tBR0VfTkFN RT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVS U0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUt YS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtTVQgc3ViL3N1YmZvby5vIC1NRCAtTVAg LU1GICRkZXBiYXNlLlRwbyAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgv d2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMgJiZcCm12 IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5QbwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBz dWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1sb25nLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMtbG9uZy5k JwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2 aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1s b25nLmQnCisgbWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1sb25n LmQvc3JjJwp0ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1 YmZvby5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9nY2MzLWxvbmcuZC9zcmMnCk1ha2luZyBjbGVhbiBpbiAuCm1ha2VbMV06 IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv Z2NjMy1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2djYzMtbG9uZy5kJworIGU9MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBhbGwg aW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvZ2NjMy1sb25nLmQvc3JjJwpkZXBiYXNlPWBlY2hvIGZvby5vIHwgc2Vk ICdzfFteL10qJHwuZGVwcy8mfDtzfFwubyR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVw bW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdf bG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1NVCBmb28ubyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5U cG8gLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xv bmdfbG9uZ19uYW1lL3NyYy9mb28uYyAmJlwKbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBv CmRlcGJhc2U9YGVjaG8gc3ViL3N1YmZvby5vIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwu byR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJk ZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8y IC1NVCBzdWIvc3ViZm9vLm8gLU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIHN1Yi9zdWJm b28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25h bWUvc3JjL3N1Yi9zdWJmb28uYyAmJlwKbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBvCmdj YyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLWxvbmcu ZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvZ2NjMy1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBm b3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLWxvbmcuZCcKKyB0ZXN0IDAgLWVxIDAKKyBncmVwICdz cmMvWy5fXWRlcHMnIG91dHB1dAorIDoKKyByMT1vaworIHJlc3VsdF8gb2sgJ2djYzMgW2xvbmcg VlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDM2IC0gZ2NjMyBbbG9uZyBWUEFUSF0g bWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDM2IC0gZ2NjMyBbbG9uZyBWUEFUSF0gbWFr ZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rLG9rID0gb2ssb2sKKyBy bV9yZl8gZ2NjMy1sb25nLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIGdjYzMtbG9uZy5kIC10eXBl IGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZ2Nj My1sb25nLmQKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0 aCBpbgorIHNyY2Rpcj0uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19s b25nX25hbWUKKyBwZng9J2djYyBbbG9uZyBWUEFUSF0nCisgbWtkaXIgZ2NjLWxvbmcuZAorIGNk IGdjYy1sb25nLmQKKyAuLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19s b25nX25hbWUvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdj YwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBnY2MKY2hl Y2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4u IHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyBy ZXN1bHRfIG9rICdnY2MgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgMzcgLSBn Y2MgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDM3IC0gZ2NjIFtsb25n IFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9nY2MtbG9uZy5kL3NyYycKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGlj aC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBs aWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Z2NjIC9iaW4vc2ggLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2Mg LURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJk ZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGlj aC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8g Li4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3Ny Yy9mb28uYwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9s b25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGli dG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWdjYyAvYmluL3NoIC4uLy4uL3RoaXMtaXMv YS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVw bW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gt aGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJm b28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25h bWUvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9v Lm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZ2NjLWxvbmcuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLWxvbmcuZCcKbWFrZVsxXTog Tm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1sb25nLmQnCisgbWFr ZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLWxvbmcuZC9zcmMnCnRlc3Qg LXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsx XTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L2djYy1sb25nLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1sb25nLmQnCm1h a2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1sb25n LmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9n Y2MtbG9uZy5kL3NyYycKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1 aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5v IFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Z2NjIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgv d2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdF X05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1 aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhp cy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpz b3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZS9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBc CkRFUERJUj0uZGVwcyBkZXBtb2RlPWdjYyAvYmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3do aWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0 ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8u Li90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL3N1 Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZ2NjLWxvbmcuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLWxvbmcuZCcKbWFrZVsxXTogTm90aGluZyB0 byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1sb25nLmQnCisgdGVzdCAwIC1lcSAw CisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdn Y2MgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDM4IC0gZ2NjIFtsb25n IFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6IGRlcG1vZC50YXAgMzggLSBnY2MgW2xvbmcgVlBB VEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2Ug JGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayxvayA9IG9r LG9rCisgcm1fcmZfIGdjYy1sb25nLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIGdjYy1sb25nLmQg LXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1y ZiBnY2MtbG9uZy5kCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAk dnBhdGggaW4KKyBzcmNkaXI9Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xv bmdfbG9uZ19uYW1lCisgcGZ4PSdocCBbbG9uZyBWUEFUSF0nCisgbWtkaXIgaHAtbG9uZy5kCisg Y2QgaHAtbG9uZy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdf bG9uZ19uYW1lL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1o cApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBocApjaGVj a2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJl c3VsdF8gb2sgJ2hwIFtsb25nIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDM5IC0gaHAg W2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDM5IC0gaHAgW2xvbmcgVlBB VEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2hwLWxvbmcuZC9zcmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2 ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9v bD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWhwIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBh dGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZl L3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4v dGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28u YwpjYzE6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLU0uZGVwcy9m b28uVFBvJwptYWtlWzFdOiAqKiogW2Zvby5vXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9ocC1sb25nLmQvc3Jj JwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3Qg Zm9yY2UgZGVwbW9kZScgJ2hwIFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHJlc3VsdF8g b2sgLUQgU0tJUCAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ2hwIFtsb25nIFZQQVRIXSBt YWtlICYgcmVtYWtlJworIHNldCAreApvayA0MCAtIGhwIFtsb25nIFZQQVRIXSBtYWtlICYgcmVt YWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgNDAgLSBocCBb bG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNk IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJl dHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxub3Qgb2snID0gb2ssb2sKKyA6IEZvciBsZXNz ZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciBkZXBtb2RlIGluICckdGVzdGVk X2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS4uL3RoaXMtaXMvYS1wYXRoL3do aWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZQorIHBmeD0nc2dpIFtsb25nIFZQQVRIXScK KyBta2RpciBzZ2ktbG9uZy5kCisgY2Qgc2dpLWxvbmcuZAorIC4uL3RoaXMtaXMvYS1wYXRoL3do aWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5k ZW5jaWVzX2NvbXBpbGVyX3R5cGU9c2dpCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2Yg aW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIChjYWNoZWQpIHNnaQpjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFu ZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ3NnaSBbbG9uZyBWUEFUSF0gY29uZmln dXJlJworIHNldCAreApvayA0MSAtIHNnaSBbbG9uZyBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRl cG1vZC50YXAgNDEgLSBzZ2kgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisg bWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NnaS1sb25nLmQvc3JjJwpzb3VyY2U9Jy4u Ly4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMv Zm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1z Z2kgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19s b25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u Ly4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMg ICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1 aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jCmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBj b21tYW5kIGxpbmUgb3B0aW9uICctTUR1cGRhdGUnCmdjYzogZXJyb3I6IC5kZXBzL2Zvby5UUG86 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKbWFrZVsxXTogKioqIFtmb28ub10gRXJyb3IgMQpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvc2dpLWxvbmcuZC9zcmMnCm1ha2U6ICoqKiBbYWxsLXJlY3Vyc2l2ZV0gRXJyb3IgMQor IHNraXBfIC1yICdjYW4nXCcndCBmb3JjZSBkZXBtb2RlJyAnc2dpIFtsb25nIFZQQVRIXSBtYWtl ICYgcmVtYWtlJworIHJlc3VsdF8gb2sgLUQgU0tJUCAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9k ZScgJ3NnaSBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgNDIgLSBzZ2kg W2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKU0tJ UDogZGVwbW9kLnRhcCA0MiAtIHNnaSBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAg Y2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2Fz ZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxub3Qg b2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJwor IGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3Jj ZGlyPS4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZQor IHBmeD0nYWl4IFtsb25nIFZQQVRIXScKKyBta2RpciBhaXgtbG9uZy5kCisgY2QgYWl4LWxvbmcu ZAorIC4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9j b25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9YWl4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGFpeApjaGVja2luZyB3aGV0 aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sg J2FpeCBbbG9uZyBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA0MyAtIGFpeCBbbG9uZyBW UEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgNDMgLSBhaXggW2xvbmcgVlBBVEhdIGNv bmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBF bnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Fp eC1sb25nLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVp dGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8g XApERVBESVI9LmRlcHMgZGVwbW9kZT1haXggL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93 aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0Vf TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVp dGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi90aGlz LWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jCnNv dXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19u YW1lL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwK REVQRElSPS5kZXBzIGRlcG1vZGU9YWl4IC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRl LWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4u L3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3Vi L3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCi91c3Iv YmluL2xkOmZvby5vOiBmaWxlIGZvcm1hdCBub3QgcmVjb2duaXplZDsgdHJlYXRpbmcgYXMgbGlu a2VyIHNjcmlwdAovdXNyL2Jpbi9sZDpmb28ubzoxOiBzeW50YXggZXJyb3IKY29sbGVjdDI6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCm1ha2VbMV06ICoqKiBbZm9vXSBFcnJvciAx Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9haXgtbG9uZy5kL3NyYycKbWFrZTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJvciAx Cisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdhaXggW2xvbmcgVlBBVEhdIG1h a2UgJiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yICdjYW4nXCcndCBmb3JjZSBkZXBt b2RlJyAnYWl4IFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayA0NCAtIGFp eCBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQpT S0lQOiBkZXBtb2QudGFwIDQ0IC0gYWl4IFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJ UCBjYW4ndCBmb3JjZSBkZXBtb2RlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ29rLG5v dCBvaycgPSBvayxvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4n CisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBz cmNkaXI9Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1l CisgcGZ4PSdpY2MgW2xvbmcgVlBBVEhdJworIG1rZGlyIGljYy1sb25nLmQKKyBjZCBpY2MtbG9u Zy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1l L2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1pY2MKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hl Y2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgaWNjCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZp Zy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBv ayAnaWNjIFtsb25nIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDQ1IC0gaWNjIFtsb25n IFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA0NSAtIGljYyBbbG9uZyBWUEFUSF0g Y29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06 IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv aWNjLWxvbmcuZC9zcmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1u byBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWljYyAvYmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRo L3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3Ro aXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMK c291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8g XApERVBESVI9LmRlcHMgZGVwbW9kZT1pY2MgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93 aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0Vf TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVp dGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4v Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9z dWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2ljYy1sb25nLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcg dG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtbG9uZy5kJworIG1ha2UgY2xlYW4K TWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1sb25nLmQvc3JjJwp0ZXN0IC16ICJmb28i IHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZvby5vCm1ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtbG9u Zy5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtbG9uZy5kJwptYWtlWzFdOiBO b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtbG9uZy5kJworIGU9 MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLWxvbmcu ZC9zcmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xv bmdfbG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJ Uj0uZGVwcyBkZXBtb2RlPWljYyAvYmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhh dmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi ZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xv bmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3RoaXMtaXMvYS1w YXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMKc291cmNlPScu Li8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3Jj L3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9 LmRlcHMgZGVwbW9kZT1pY2MgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZl L3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25n X2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9v LmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVh dmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1s b25nLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9u ZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtbG9uZy5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAg J3NyYy9bLl9dZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnaWNjIFtsb25n IFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayA0NiAtIGljYyBbbG9uZyBWUEFUSF0g bWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDQ2IC0gaWNjIFtsb25nIFZQQVRIXSBtYWtl ICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rl c3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJt X3JmXyBpY2MtbG9uZy5kCisgdGVzdCAxIC1ndCAwCisgZmluZCBpY2MtbG9uZy5kIC10eXBlIGQg JyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgaWNjLWxv bmcuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGlu Cisgc3JjZGlyPS4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZQorIHBmeD0naHAyIFtsb25nIFZQQVRIXScKKyBta2RpciBocDItbG9uZy5kCisgY2QgaHAy LWxvbmcuZAorIC4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZS9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9aHAyCmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMK Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2lu ZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05V CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGhwMgpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVz CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4u LiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3Vs dF8gb2sgJ2hwMiBbbG9uZyBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA0NyAtIGhwMiBb bG9uZyBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgNDcgLSBocDIgW2xvbmcgVlBB VEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2hwMi1sb25nLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhh dmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRv b2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1ocDIgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2Et cGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBB Q0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1v ZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhh dmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8u Li90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zv by5jCmdjYzogZXJyb3I6ICtNYWtlZDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQptYWtlWzFd OiAqKiogW2Zvby5vXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9ocDItbG9uZy5kL3NyYycKbWFrZTogKioqIFth bGwtcmVjdXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUn ICdocDIgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1y ICdjYW4nXCcndCBmb3JjZSBkZXBtb2RlJyAnaHAyIFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtl JworIHNldCAreApvayA0OCAtIGhwMiBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAg Y2FuJ3QgZm9yY2UgZGVwbW9kZQpTS0lQOiBkZXBtb2QudGFwIDQ4IC0gaHAyIFtsb25nIFZQQVRI XSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlCisgY2QgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyBy ZXR1cm4gMAorIHRlc3QgJ29rLG5vdCBvaycgPSBvayxvaworIDogRm9yIGxlc3NlciBzaGVsbHMg d2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMn CisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lCisgcGZ4PSd0cnU2NCBbbG9uZyBWUEFUSF0nCisgbWtkaXIg dHJ1NjQtbG9uZy5kCisgY2QgdHJ1NjQtbG9uZy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gt aGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNp ZXNfY29tcGlsZXJfdHlwZT10cnU2NApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4g L3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29t cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGlu Y2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiAoY2FjaGVkKSB0cnU2NApjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFu ZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ3RydTY0IFtsb25nIFZQQVRIXSBjb25m aWd1cmUnCisgc2V0ICt4Cm9rIDQ5IC0gdHJ1NjQgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNT OiBkZXBtb2QudGFwIDQ5IC0gdHJ1NjQgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qg b2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3RydTY0LWxvbmcuZC9zcmMnCnNv dXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19u YW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBk ZXBtb2RlPXRydTY0IC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0 ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4uL3Ro aXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1 YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBk ZXBtb2RlPXRydTY0IC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0 ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3RoaXMtaXMvYS1w YXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1YmZvby5jCmdj YyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1sb25n LmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL3RydTY0LWxvbmcuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25l IGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL3RydTY0LWxvbmcuZCcKKyBtYWtlIGNsZWFuCk1ha2luZyBj bGVhbiBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1sb25nLmQvc3JjJwouZGVwcy9mb28uUG86MzogKioq IG1pc3Npbmcgc2VwYXJhdG9yLiAgU3RvcC4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3RydTY0LWxvbmcuZC9zcmMnCm1ha2U6 ICoqKiBbY2xlYW4tcmVjdXJzaXZlXSBFcnJvciAxCisgcmVzdWx0XyAnbm90IG9rJyAndHJ1NjQg W2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm5vdCBvayA1MCAtIHRydTY0IFts b25nIFZQQVRIXSBtYWtlICYgcmVtYWtlCkZBSUw6IGRlcG1vZC50YXAgNTAgLSB0cnU2NCBbbG9u ZyBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxu b3Qgb2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUu JworIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisg c3JjZGlyPS4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFt ZQorIHBmeD0nbXN2YzcgW2xvbmcgVlBBVEhdJworIG1rZGlyIG1zdmM3LWxvbmcuZAorIGNkIG1z dmM3LWxvbmcuZAorIC4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xv bmdfbmFtZS9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bXN2 YzcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0 IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw dHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4u LiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgbXN2YzcK Y2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVy Li4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFr ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sK KyByZXN1bHRfIG9rICdtc3ZjNyBbbG9uZyBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA1 MSAtIG1zdmM3IFtsb25nIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA1MSAtIG1z dmM3IFtsb25nIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFs bCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9tc3ZjNy1sb25nLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMv YS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMnIG9iamVj dD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3ZjNyAvYmluL3No IC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9k ZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJk ZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8y IC1jIC1vIGZvby5vIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25n X2xvbmdfbmFtZS9zcmMvZm9vLmMKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGlu ZSBvcHRpb24gJy1zaG93SW5jbHVkZXMnCm1ha2VbMV06ICoqKiBbZm9vLm9dIEVycm9yIDEKbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL21zdmM3LWxvbmcuZC9zcmMnCm1ha2U6ICoqKiBbYWxsLXJlY3Vyc2l2ZV0gRXJyb3IgMQor IHNraXBfIC1yICdjYW4nXCcndCBmb3JjZSBkZXBtb2RlJyAnbXN2YzcgW2xvbmcgVlBBVEhdIG1h a2UgJiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yICdjYW4nXCcndCBmb3JjZSBkZXBt b2RlJyAnbXN2YzcgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDUyIC0g bXN2YzcgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1v ZGUKU0tJUDogZGVwbW9kLnRhcCA1MiAtIG1zdmM3IFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtl ICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qg J29rLG5vdCBvaycgPSBvayxvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3Nl dCAtZS4nCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGgg aW4KKyBzcmNkaXI9Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9u Z19uYW1lCisgcGZ4PSdtc3ZjN21zeXMgW2xvbmcgVlBBVEhdJworIG1rZGlyIG1zdmM3bXN5cy1s b25nLmQKKyBjZCBtc3ZjN21zeXMtbG9uZy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2 ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNf Y29tcGlsZXJfdHlwZT1tc3ZjN21zeXMKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9u IHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBp bmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBn Y2MuLi4gKGNhY2hlZCkgbXN2Yzdtc3lzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRl cnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnbXN2Yzdtc3lzIFtsb25nIFZQ QVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDUzIC0gbXN2Yzdtc3lzIFtsb25nIFZQQVRIXSBj b25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA1MyAtIG1zdmM3bXN5cyBbbG9uZyBWUEFUSF0gY29u ZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2 Yzdtc3lzLWxvbmcuZC9zcmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2 ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9v bD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmM3bXN5cyAvYmluL3NoIC4uLy4uL3RoaXMt aXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi ZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5v IC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9z cmMvZm9vLmMKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1z aG93SW5jbHVkZXMnCm1ha2VbMV06ICoqKiBbZm9vLm9dIEVycm9yIDEKbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmM3bXN5 cy1sb25nLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKyBza2lwXyAt ciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ21zdmM3bXN5cyBbbG9uZyBWUEFUSF0gbWFrZSAm IHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUn ICdtc3ZjN21zeXMgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDU0IC0g bXN2Yzdtc3lzIFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBk ZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgNTQgLSBtc3ZjN21zeXMgW2xvbmcgVlBBVEhdIG1ha2Ug JiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRoIGJy b2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBjYXNl ICR2cGF0aCBpbgorIHNyY2Rpcj0uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEv bG9uZ19sb25nX25hbWUKKyBwZng9J25vc2lkZWVmZmVjdCBbbG9uZyBWUEFUSF0nCisgbWtkaXIg bm9zaWRlZWZmZWN0LWxvbmcuZAorIGNkIG5vc2lkZWVmZmVjdC1sb25nLmQKKyAuLi90aGlzLWlz L2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvY29uZmlndXJlIGFtX2N2 X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPW5vc2lkZWVmZmVjdApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj b21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBub3NpZGVlZmZlY3QKY2hlY2tpbmcg d2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyByZXN1bHRf IG9rICdub3NpZGVlZmZlY3QgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgNTUg LSBub3NpZGVlZmZlY3QgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDU1 IC0gbm9zaWRlZWZmZWN0IFtsb25nIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1h a2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9ub3NpZGVlZmZlY3QtbG9uZy5kL3NyYycKc291 cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25h bWUvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRl cG1vZGU9bm9zaWRlZWZmZWN0IC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2 ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9u Z19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBh dGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpVbmtub3duIGRl cG1vZGUgbm9zaWRlZWZmZWN0Cm1ha2VbMV06ICoqKiBbZm9vLm9dIEVycm9yIDEKbWFrZVsxXTog TGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL25v c2lkZWVmZmVjdC1sb25nLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEK KyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ25vc2lkZWVmZmVjdCBbbG9uZyBW UEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2NhbidcJyd0IGZv cmNlIGRlcG1vZGUnICdub3NpZGVlZmZlY3QgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisg c2V0ICt4Cm9rIDU2IC0gbm9zaWRlZWZmZWN0IFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlICMg U0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgNTYgLSBub3NpZGVlZmZl Y3QgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUK KyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4K KyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3Ig bGVzc2VyIHNoZWxscyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRl c3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLi90aGlzLWlzL2EtcGF0 aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUKKyBwZng9J2Rhc2htc3Rkb3V0IFts b25nIFZQQVRIXScKKyBta2RpciBkYXNobXN0ZG91dC1sb25nLmQKKyBjZCBkYXNobXN0ZG91dC1s b25nLmQKKyAuLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25h bWUvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWRhc2htc3Rk b3V0CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2Uu Li4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGRhc2ht c3Rkb3V0CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg c3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IHIwPW9rCisgcmVzdWx0XyBvayAnZGFzaG1zdGRvdXQgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZScK KyBzZXQgK3gKb2sgNTcgLSBkYXNobXN0ZG91dCBbbG9uZyBWUEFUSF0gY29uZmlndXJlClBBU1M6 IGRlcG1vZC50YXAgNTcgLSBkYXNobXN0ZG91dCBbbG9uZyBWUEFUSF0gY29uZmlndXJlCisgcjE9 J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtbG9u Zy5kL3NyYycKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEv bG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9ZGFzaG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0 aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUv cXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi90 aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5j CnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9u Z19uYW1lL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5v IFwKREVQRElSPS5kZXBzIGRlcG1vZGU9ZGFzaG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi90aGlzLWlz L2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAt RFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRl cG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNo LWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3Vi Zm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19u YW1lL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZv by5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LWxvbmcuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQt bG9uZy5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFd OiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv ZGFzaG1zdGRvdXQtbG9uZy5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2Rhc2htc3Rkb3V0LWxvbmcuZC9zcmMnCnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJt IC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0LWxvbmcuZC9zcmMn Ck1ha2luZyBjbGVhbiBpbiAuCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtbG9uZy5kJwptYWtlWzFdOiBO b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNobXN0ZG91dC1sb25n LmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9k YXNobXN0ZG91dC1sb25nLmQvc3JjJwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNo LWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxp YnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNobXN0ZG91dCAvYmluL3NoIC4uLy4u L3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21w IFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2Rc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBh dGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1v IGZvby5vIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZS9zcmMvZm9vLmMKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1 aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9v Lm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNobXN0ZG91dCAvYmluL3No IC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9k ZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJk ZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8y IC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRl LWEvbG9uZ19sb25nX25hbWUvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBm b28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtbG9uZy5kL3NyYycKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9kYXNobXN0ZG91dC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFs bC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9kYXNobXN0ZG91dC1sb25nLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAn c3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdkYXNobXN0ZG91 dCBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgNTggLSBkYXNobXN0ZG91 dCBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDU4IC0gZGFzaG1z dGRvdXQgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisg dGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIGRhc2htc3Rkb3V0LWxvbmcuZAorIHRlc3QgMSAt Z3QgMAorIGZpbmQgZGFzaG1zdGRvdXQtbG9uZy5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4 ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZGFzaG1zdGRvdXQtbG9uZy5kCisgZm9y IGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9 Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lCisgcGZ4 PSdkYXNoWG1zdGRvdXQgW2xvbmcgVlBBVEhdJworIG1rZGlyIGRhc2hYbXN0ZG91dC1sb25nLmQK KyBjZCBkYXNoWG1zdGRvdXQtbG9uZy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29t cGlsZXJfdHlwZT1kYXNoWG1zdGRvdXQKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9u IHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBp bmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBn Y2MuLi4gKGNhY2hlZCkgZGFzaFhtc3Rkb3V0CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1 bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnZGFzaFhtc3Rkb3V0IFts b25nIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDU5IC0gZGFzaFhtc3Rkb3V0IFtsb25n IFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA1OSAtIGRhc2hYbXN0ZG91dCBbbG9u ZyBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3Jj Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWxvbmcuZC9zcmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9h LXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0 PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRhc2hYbXN0ZG91dCAv YmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4v dGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAg LWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUt YS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93 aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0 PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNoWG1z dGRvdXQgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9u Z19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFD S0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9z cmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAt TzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1sb25n LmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8g YmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNoWG1zdGRvdXQtbG9uZy5kJworIG1ha2Ug Y2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1sb25nLmQvc3Jj Jwp0ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZvby5v Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9kYXNoWG1zdGRvdXQtbG9uZy5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9kYXNoWG1zdGRvdXQtbG9uZy5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBj bGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9kYXNoWG1zdGRvdXQtbG9uZy5kJworIGU9MAorIG1ha2UKKyBjYXQg b3V0cHV0Ck1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWxvbmcuZC9zcmMn CnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9u Z19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVw cyBkZXBtb2RlPWRhc2hYbXN0ZG91dCAvYmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNo LWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1F PVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdS RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJT SU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1h L2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3RoaXMtaXMv YS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMKc291cmNl PScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUv c3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBE SVI9LmRlcHMgZGVwbW9kZT1kYXNoWG1zdGRvdXQgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0 aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUv cXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8g Li4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3Ny Yy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAK bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2Rhc2hYbXN0ZG91dC1sb25nLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1sb25n LmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExl YXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNo WG1zdGRvdXQtbG9uZy5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9bLl9dZGVwcycgb3V0 cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnZGFzaFhtc3Rkb3V0IFtsb25nIFZQQVRIXSBt YWtlICYgcmVtYWtlJworIHNldCAreApvayA2MCAtIGRhc2hYbXN0ZG91dCBbbG9uZyBWUEFUSF0g bWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDYwIC0gZGFzaFhtc3Rkb3V0IFtsb25nIFZQ QVRIXSBtYWtlICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNl ICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBv ayxvaworIHJtX3JmXyBkYXNoWG1zdGRvdXQtbG9uZy5kCisgdGVzdCAxIC1ndCAwCisgZmluZCBk YXNoWG1zdGRvdXQtbG9uZy5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdSty d3ggJ3t9JyAnOycKKyBybSAtcmYgZGFzaFhtc3Rkb3V0LWxvbmcuZAorIGZvciBkZXBtb2RlIGlu ICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS4uL3RoaXMtaXMv YS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZQorIHBmeD0nbWFrZWRlcGVu ZCBbbG9uZyBWUEFUSF0nCisgbWtkaXIgbWFrZWRlcGVuZC1sb25nLmQKKyBjZCBtYWtlZGVwZW5k LWxvbmcuZAorIC4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdf bmFtZS9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bWFrZWRl cGVuZApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF KS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtl Li4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBtYWtl ZGVwZW5kCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg c3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IHIwPW9rCisgcmVzdWx0XyBvayAnbWFrZWRlcGVuZCBbbG9uZyBWUEFUSF0gY29uZmlndXJlJwor IHNldCAreApvayA2MSAtIG1ha2VkZXBlbmQgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBk ZXBtb2QudGFwIDYxIC0gbWFrZWRlcGVuZCBbbG9uZyBWUEFUSF0gY29uZmlndXJlCisgcjE9J25v dCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1sb25nLmQv c3JjJwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25n X2xvbmdfbmFtZS9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9 LmRlcHMgZGVwbW9kZT1tYWtlZGVwZW5kIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRl LWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpzb3Vy Y2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFt ZS9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRF UERJUj0uZGVwcyBkZXBtb2RlPW1ha2VkZXBlbmQgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0 aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUv cXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8g Li4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3Ny Yy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAK bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL21ha2VkZXBlbmQtbG9uZy5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5 IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLWxvbmcuZCcK bWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBl bmQtbG9uZy5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2Vk ZXBlbmQtbG9uZy5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJt IC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1sb25nLmQvc3JjJwpNYWtpbmcgY2xl YW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtbG9uZy5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJl IGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLWxvbmcuZCcKKyBlPTAKKyBt YWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtbG9u Zy5kL3NyYycKc291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEv bG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9bWFrZWRlcGVuZCAvYmluL3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRo L3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC4uLy4uL3Ro aXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvZm9vLmMK c291cmNlPScuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8g XApERVBESVI9LmRlcHMgZGVwbW9kZT1tYWtlZGVwZW5kIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9h LXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQ QUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBt b2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1o YXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZv by5vIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFt ZS9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28u byAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9tYWtlZGVwZW5kLWxvbmcuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1sb25n LmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExl YXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtl ZGVwZW5kLWxvbmcuZCcKKyB0ZXN0IDAgLWVxIDAKKyBncmVwICdzcmMvWy5fXWRlcHMnIG91dHB1 dAorIDoKKyByMT1vaworIHJlc3VsdF8gb2sgJ21ha2VkZXBlbmQgW2xvbmcgVlBBVEhdIG1ha2Ug JiByZW1ha2UnCisgc2V0ICt4Cm9rIDYyIC0gbWFrZWRlcGVuZCBbbG9uZyBWUEFUSF0gbWFrZSAm IHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDYyIC0gbWFrZWRlcGVuZCBbbG9uZyBWUEFUSF0gbWFr ZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rLG9rID0gb2ssb2sKKyBy bV9yZl8gbWFrZWRlcGVuZC1sb25nLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIG1ha2VkZXBlbmQt bG9uZy5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycK KyBybSAtcmYgbWFrZWRlcGVuZC1sb25nLmQKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBt b2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0uLi90aGlzLWlzL2EtcGF0aC93aGljaC1o YXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUKKyBwZng9J2NwcCBbbG9uZyBWUEFUSF0nCisgbWtk aXIgY3BwLWxvbmcuZAorIGNkIGNwcC1sb25nLmQKKyAuLi90aGlzLWlzL2EtcGF0aC93aGljaC1o YXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2ll c19jb21waWxlcl90eXBlPWNwcApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3Av YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcg d2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1 ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiAoY2FjaGVkKSBjcHAKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdjcHAgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZScK KyBzZXQgK3gKb2sgNjMgLSBjcHAgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2Qu dGFwIDYzIC0gY3BwIFtsb25nIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UK TWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtbG9uZy5kL3NyYycKc291cmNlPScuLi8uLi90 aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5j JyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Y3BwIC9i aW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19u YW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90 aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAt ZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1h L2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3do aWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9 J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWNwcCAvYmlu L3NoIC4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFt ZS9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9 XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhp cy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcg LU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1 aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZv byBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLWxvbmcuZC9zcmMnCm1ha2VbMV06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3Bw LWxvbmcuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsx XTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L2NwcC1sb25nLmQnCisgbWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3Bw LWxvbmcuZC9zcmMnCnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBz dWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL2NwcC1sb25nLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2NwcC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFt Jy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2NwcC1sb25nLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFs bCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9jcHAtbG9uZy5kL3NyYycKc291cmNlPScuLi8uLi90aGlzLWlzL2Et cGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBvYmplY3Q9 J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Y3BwIC9iaW4vc2ggLi4v Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNv bXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1v ZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2Et cGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMg LW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9u Z19uYW1lL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUv cXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJm b28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWNwcCAvYmluL3NoIC4uLy4u L3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9kZXBjb21w IFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2Rc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4vLi4vdGhpcy1pcy9hLXBh dGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYyAgICAgLWcgLU8yIC1jIC1v IHN1Yi9zdWJmb28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9u Z19sb25nX25hbWUvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBz dWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLWxvbmcuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLWxvbmcuZCcK bWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NwcC1sb25n LmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9 b2sKKyByZXN1bHRfIG9rICdjcHAgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4 Cm9rIDY0IC0gY3BwIFtsb25nIFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6IGRlcG1vZC50YXAg NjQgLSBjcHAgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIGNwcC1sb25nLmQKKyB0ZXN0IDEgLWd0IDAK KyBmaW5kIGNwcC1sb25nLmQgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3 eCAne30nICc7JworIHJtIC1yZiBjcHAtbG9uZy5kCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRf ZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9Li4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lCisgcGZ4PSdtc3Zpc3VhbGNwcCBbbG9uZyBW UEFUSF0nCisgbWtkaXIgbXN2aXN1YWxjcHAtbG9uZy5kCisgY2QgbXN2aXN1YWxjcHAtbG9uZy5k CisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2Nv bmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1tc3Zpc3VhbGNwcApj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5n IGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdO VQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBtc3Zpc3VhbGNw cApjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9N YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1v aworIHJlc3VsdF8gb2sgJ21zdmlzdWFsY3BwIFtsb25nIFZQQVRIXSBjb25maWd1cmUnCisgc2V0 ICt4Cm9rIDY1IC0gbXN2aXN1YWxjcHAgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBt b2QudGFwIDY1IC0gbXN2aXN1YWxjcHAgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qg b2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLWxvbmcuZC9z cmMnCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdf bG9uZ19uYW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0u ZGVwcyBkZXBtb2RlPW1zdmlzdWFsY3BwIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRl LWEvbG9uZ19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwouLi8u Li90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29t cDogbGluZSA2NTI6IGN5Z3BhdGg6IGNvbW1hbmQgbm90IGZvdW5kCnNvdXJjZT0nLi4vLi4vdGhp cy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3Vi Zm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRl cG1vZGU9bXN2aXN1YWxjcHAgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZl L3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25n X2xvbmdfbmFtZS9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1p cy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9v LmMKLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1l L2RlcGNvbXA6IGxpbmUgNjUyOiBjeWdwYXRoOiBjb21tYW5kIG5vdCBmb3VuZApnY2MgIC1nIC1P MiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAtbG9uZy5k L3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUg ZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1sb25nLmQnCisgbWFrZSBjbGVh bgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAtbG9uZy5kL3NyYycKdGVz dCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvbXN2aXN1YWxjcHAtbG9uZy5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50 ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zp c3VhbGNwcC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFt Jy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL21zdmlzdWFsY3BwLWxvbmcuZCcKKyBlPTAKKyBtYWtlCisgY2F0IG91dHB1dApN YWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLWxvbmcuZC9zcmMnCnNvdXJjZT0n Li4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3Ny Yy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2Rl PW1zdmlzdWFsY3BwIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0 ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwouLi8uLi90aGlzLWlzL2Et cGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvZGVwY29tcDogbGluZSA2NTI6 IGN5Z3BhdGg6IGNvbW1hbmQgbm90IGZvdW5kCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgv d2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVj dD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2aXN1 YWxjcHAgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9u Z19sb25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFD S0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uLy4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9z cmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hp Y2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMKLi4vLi4vdGhp cy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXA6IGxp bmUgNjUyOiBjeWdwYXRoOiBjb21tYW5kIG5vdCBmb3VuZApnY2MgIC1nIC1PMiAgIC1vIGZvbyBm b28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAtbG9uZy5kL3NyYycKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9tc3Zpc3VhbGNwcC1sb25nLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFs bC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1sb25nLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAn c3JjL1suX11kZXBzJyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdtc3Zpc3VhbGNw cCBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgNjYgLSBtc3Zpc3VhbGNw cCBbbG9uZyBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDY2IC0gbXN2aXN1 YWxjcHAgW2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisg dGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIG1zdmlzdWFsY3BwLWxvbmcuZAorIHRlc3QgMSAt Z3QgMAorIGZpbmQgbXN2aXN1YWxjcHAtbG9uZy5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4 ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgbXN2aXN1YWxjcHAtbG9uZy5kCisgZm9y IGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9 Li4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lCisgcGZ4 PSdtc3ZjbXN5cyBbbG9uZyBWUEFUSF0nCisgbWtkaXIgbXN2Y21zeXMtbG9uZy5kCisgY2QgbXN2 Y21zeXMtbG9uZy5kCisgLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdf bG9uZ19uYW1lL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1t c3ZjbXN5cwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBt YWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBt c3ZjbXN5cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0 aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5n IHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyByMD1vaworIHJlc3VsdF8gb2sgJ21zdmNtc3lzIFtsb25nIFZQQVRIXSBjb25maWd1cmUnCisg c2V0ICt4Cm9rIDY3IC0gbXN2Y21zeXMgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBt b2QudGFwIDY3IC0gbXN2Y21zeXMgW2xvbmcgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2sn CisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWxvbmcuZC9zcmMnCnNv dXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19u YW1lL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBk ZXBtb2RlPW1zdmNtc3lzIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2ZS9x dWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19s b25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgv d2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9mb28uYwpzb3VyY2U9Jy4uLy4u L3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3Vi L3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVw cyBkZXBtb2RlPW1zdmNtc3lzIC9iaW4vc2ggLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gtaGF2 ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9u Z19sb25nX25hbWUvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC4uLy4uL3RoaXMt aXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMvc3ViL3N1YmZv by5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExl YXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zj bXN5cy1sb25nLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWxvbmcuZCcKbWFrZVsxXTogTm90aGlu ZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWxvbmcuZCcKKyBtYWtl IGNsZWFuCk1ha2luZyBjbGVhbiBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3ZjbXN5cy1sb25nLmQvc3JjJwp0 ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZvby5vCm1h a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9tc3ZjbXN5cy1sb25nLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNt c3lzLWxvbmcuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgY2xlYW4tYW0nLgpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvbXN2Y21zeXMtbG9uZy5kJworIGU9MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBh bGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvbXN2Y21zeXMtbG9uZy5kL3NyYycKc291cmNlPScuLi8uLi90aGlz LWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jJyBv YmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2Y21zeXMg L2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19sb25n X25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9U QVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uLy4u L3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMgICAg IC1nIC1PMiAtYyAtbyBmb28ubyAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRl LWEvbG9uZ19sb25nX25hbWUvc3JjL2Zvby5jCnNvdXJjZT0nLi4vLi4vdGhpcy1pcy9hLXBhdGgv d2hpY2gtaGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVj dD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2Y21z eXMgL2Jpbi9zaCAuLi8uLi90aGlzLWlzL2EtcGF0aC93aGljaC1oYXZlL3F1aXRlLWEvbG9uZ19s b25nX25hbWUvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u Ly4uL3RoaXMtaXMvYS1wYXRoL3doaWNoLWhhdmUvcXVpdGUtYS9sb25nX2xvbmdfbmFtZS9zcmMg ICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gLi4vLi4vdGhpcy1pcy9hLXBhdGgvd2hpY2gt aGF2ZS9xdWl0ZS1hL2xvbmdfbG9uZ19uYW1lL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIg ICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWxvbmcuZC9zcmMn Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvbXN2Y21zeXMtbG9uZy5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9y IGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvbXN2Y21zeXMtbG9uZy5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAg J3NyYy9bLl9dZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnbXN2Y21zeXMg W2xvbmcgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDY4IC0gbXN2Y21zeXMgW2xv bmcgVlBBVEhdIG1ha2UgJiByZW1ha2UKUEFTUzogZGVwbW9kLnRhcCA2OCAtIG1zdmNtc3lzIFts b25nIFZQQVRIXSBtYWtlICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ss b2sgPSBvayxvaworIHJtX3JmXyBtc3ZjbXN5cy1sb25nLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5k IG1zdmNtc3lzLWxvbmcuZCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4 ICd7fScgJzsnCisgcm0gLXJmIG1zdmNtc3lzLWxvbmcuZAorIGZvciB2cGF0aCBpbiBzaW1wbGUg bG9uZyBhYnNvbHV0ZQorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2Ug JHZwYXRoIGluCisgc3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisg cGZ4PSdnY2MzIFthYnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgZ2NjMy1hYnNvbHV0ZS5kCisgY2Qg Z2NjMy1hYnNvbHV0ZS5kCisgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY29u ZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4u LiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVk CmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgZ2NjMwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sg J2djYzMgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDY5IC0gZ2NjMyBb YWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDY5IC0gZ2NjMyBbYWJz b2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGlu IHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL2djYzMtYWJzb2x1dGUuZC9zcmMnCmRlcGJhc2U9YGVjaG8gZm9vLm8gfCBz ZWQgJ3N8W14vXSokfC5kZXBzLyZ8O3N8XC5vJHx8J2A7XApnY2MgLURQQUNLQUdFX05BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAg IC1nIC1PMiAtTVQgZm9vLm8gLU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIGZvby5vIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYyAmJlwKbXYgLWYgJGRl cGJhc2UuVHBvICRkZXBiYXNlLlBvCmRlcGJhc2U9YGVjaG8gc3ViL3N1YmZvby5vIHwgc2VkICdz fFteL10qJHwuZGVwcy8mfDtzfFwubyR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9k XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAt TzIgLU1UIHN1Yi9zdWJmb28ubyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gc3ViL3N1 YmZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9v LmMgJiZcCm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5QbwpnY2MgIC1nIC1PMiAgIC1vIGZv byBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1hYnNvbHV0ZS5kL3NyYycKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9nY2MzLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1h bScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9nY2MzLWFic29sdXRlLmQnCisgbWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4g c3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZ2NjMy1hYnNvbHV0ZS5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBm b28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjMy1hYnNvbHV0ZS5kL3Ny YycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLWFic29sdXRlLmQnCm1ha2VbMV06IE5v dGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMtYWJzb2x1dGUuZCcK KyBlPTAKKyBtYWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYzMt YWJzb2x1dGUuZC9zcmMnCmRlcGJhc2U9YGVjaG8gZm9vLm8gfCBzZWQgJ3N8W14vXSokfC5kZXBz LyZ8O3N8XC5vJHx8J2A7XApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtTVQgZm9vLm8g LU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIGZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYyAmJlwKbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNl LlBvCmRlcGJhc2U9YGVjaG8gc3ViL3N1YmZvby5vIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtz fFwubyR8fCdgO1wKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9 XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLU1UIHN1Yi9zdWJmb28u byAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMgJiZcCm12IC1mICRkZXBi YXNlLlRwbyAkZGVwYmFzZS5QbwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9v Lm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZ2NjMy1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLWFic29sdXRlLmQn Cm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MzLWFi c29sdXRlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6 CisgcjE9b2sKKyByZXN1bHRfIG9rICdnY2MzIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFr ZScKKyBzZXQgK3gKb2sgNzAgLSBnY2MzIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQpQ QVNTOiBkZXBtb2QudGFwIDcwIC0gZ2NjMyBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UK KyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4K KyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIGdjYzMt YWJzb2x1dGUuZAorIHRlc3QgMSAtZ3QgMAorIGZpbmQgZ2NjMy1hYnNvbHV0ZS5kIC10eXBlIGQg JyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgZ2NjMy1h YnNvbHV0ZS5kCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBh dGggaW4KKyBzcmNkaXI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBwZng9 J2djYyBbYWJzb2x1dGUgVlBBVEhdJworIG1rZGlyIGdjYy1hYnNvbHV0ZS5kCisgY2QgZ2NjLWFi c29sdXRlLmQKKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jb25maWd1cmUg YW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjCmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0 IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGdjYwpjaGVja2luZyB3aGV0aGVyIGdjYyBh bmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQg Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ2djYyBbYWJz b2x1dGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgNzEgLSBnY2MgW2Fic29sdXRlIFZQ QVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA3MSAtIGdjYyBbYWJzb2x1dGUgVlBBVEhd IGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFd OiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L2djYy1hYnNvbHV0ZS5kL3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRl cHMgZGVwbW9kZT1nY2MgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9 XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJjZT0nL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdz dWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1nY2MgL2Jpbi9z aCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9k XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28g Zm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9n Y2MtYWJzb2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2djYy1hYnNvbHV0ZS5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFuIGluIHNyYwpt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2djYy1hYnNvbHV0ZS5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0g LWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZ2NjLWFic29sdXRlLmQvc3JjJwpNYWtp bmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1hYnNvbHV0ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRv IGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MtYWJzb2x1dGUuZCcKKyBlPTAKKyBt YWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1hYnNvbHV0ZS5k L3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9v LmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1nY2Mg L2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi ZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxp YnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1nY2MgL2Jpbi9zaCAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVw bW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAt ZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZv by5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL2djYy1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9nY2MtYWJzb2x1dGUuZCcK bWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2djYy1hYnNv bHV0ZS5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9bLl9dZGVwcycgb3V0cHV0CisgOgor IHIxPW9rCisgcmVzdWx0XyBvayAnZ2NjIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScK KyBzZXQgK3gKb2sgNzIgLSBnY2MgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlClBBU1M6 IGRlcG1vZC50YXAgNzIgLSBnY2MgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlCisgY2Qg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0 dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBnY2MtYWJzb2x1 dGUuZAorIHRlc3QgMSAtZ3QgMAorIGZpbmQgZ2NjLWFic29sdXRlLmQgLXR5cGUgZCAnIScgLXBl cm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBnY2MtYWJzb2x1dGUu ZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisg c3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgcGZ4PSdocCBbYWJz b2x1dGUgVlBBVEhdJworIG1rZGlyIGhwLWFic29sdXRlLmQKKyBjZCBocC1hYnNvbHV0ZS5kCisg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY29uZmlndXJlIGFtX2N2X0NDX2Rl cGVuZGVuY2llc19jb21waWxlcl90eXBlPWhwCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUg b2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIChjYWNoZWQpIGhwCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0 YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnaHAgW2Fic29sdXRlIFZQQVRIXSBj b25maWd1cmUnCisgc2V0ICt4Cm9rIDczIC0gaHAgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUK UEFTUzogZGVwbW9kLnRhcCA3MyAtIGhwIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9 J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaHAtYWJzb2x1dGUuZC9z cmMnCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5j JyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9aHAgL2Jp bi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVw bW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jCmNjMTogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5k IGxpbmUgb3B0aW9uICctTS5kZXBzL2Zvby5UUG8nCm1ha2VbMV06ICoqKiBbZm9vLm9dIEVycm9y IDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2hwLWFic29sdXRlLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVy cm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ2hwIFthYnNvbHV0ZSBW UEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgJ2NhbidcJyd0IGZv cmNlIGRlcG1vZGUnICdocCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4 Cm9rIDc0IC0gaHAgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBm b3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgNzQgLSBocCBbYWJzb2x1dGUgVlBBVEhdIG1h a2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVy biAwCisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRo IGJyb2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBj YXNlICR2cGF0aCBpbgorIHNyY2Rpcj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp cgorIHBmeD0nc2dpIFthYnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgc2dpLWFic29sdXRlLmQKKyBj ZCBzZ2ktYWJzb2x1dGUuZAorIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Nv bmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1zZ2kKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4u LiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVk CmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgc2dpCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUK Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAn c2dpIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA3NSAtIHNnaSBbYWJz b2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDc1IC0gc2dpIFthYnNvbHV0 ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3Jj Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvc2dpLWFic29sdXRlLmQvc3JjJwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRF UERJUj0uZGVwcyBkZXBtb2RlPXNnaSAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBm b28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKZ2NjOiBl cnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1NRHVwZGF0ZScKZ2NjOiBl cnJvcjogLmRlcHMvZm9vLlRQbzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQptYWtlWzFdOiAq KiogW2Zvby5vXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zZ2ktYWJzb2x1dGUuZC9zcmMnCm1ha2U6ICoqKiBb YWxsLXJlY3Vyc2l2ZV0gRXJyb3IgMQorIHNraXBfIC1yICdjYW4nXCcndCBmb3JjZSBkZXBtb2Rl JyAnc2dpIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRfIG9rIC1EIFNL SVAgLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdzZ2kgW2Fic29sdXRlIFZQQVRIXSBtYWtl ICYgcmVtYWtlJworIHNldCAreApvayA3NiAtIHNnaSBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiBy ZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1vZGUKU0tJUDogZGVwbW9kLnRhcCA3NiAtIHNn aSBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNhbid0IGZvcmNlIGRlcG1v ZGUKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMg aW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCAnb2ssbm90IG9rJyA9IG9rLG9rCisgOiBG b3IgbGVzc2VyIHNoZWxscyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3IgZGVwbW9kZSBpbiAn JHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0vaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIHBmeD0nYWl4IFthYnNvbHV0ZSBWUEFUSF0nCisgbWtk aXIgYWl4LWFic29sdXRlLmQKKyBjZCBhaXgtYWJzb2x1dGUuZAorIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGls ZXJfdHlwZT1haXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1 bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1 dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVy IHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ U08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQg YnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hl ZCkgYWl4CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg c3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IHIwPW9rCisgcmVzdWx0XyBvayAnYWl4IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlJworIHNl dCAreApvayA3NyAtIGFpeCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2Qu dGFwIDc3IC0gYWl4IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBt YWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvYWl4LWFic29sdXRlLmQvc3JjJwpzb3VyY2U9 Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYycgb2JqZWN0PSdm b28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWFpeCAvYmluL3NoIC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05B TUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9z cmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9zcmMvZm9vLmMKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRF UERJUj0uZGVwcyBkZXBtb2RlPWFpeCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBz dWIvc3ViZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9z dWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAovdXNyL2Jp bi9sZDpmb28ubzogZmlsZSBmb3JtYXQgbm90IHJlY29nbml6ZWQ7IHRyZWF0aW5nIGFzIGxpbmtl ciBzY3JpcHQKL3Vzci9iaW4vbGQ6Zm9vLm86MTogc3ludGF4IGVycm9yCmNvbGxlY3QyOiBlcnJv cjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwptYWtlWzFdOiAqKiogW2Zvb10gRXJyb3IgMQpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvYWl4LWFic29sdXRlLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9y IDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ2FpeCBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgJiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yICdjYW4nXCcndCBmb3Jj ZSBkZXBtb2RlJyAnYWl4IFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gK b2sgNzggLSBhaXggW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBm b3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgNzggLSBhaXggW2Fic29sdXRlIFZQQVRIXSBt YWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlCisgY2QgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1 cm4gMAorIHRlc3QgJ29rLG5vdCBvaycgPSBvayxvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0 aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisg Y2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIKKyBwZng9J2ljYyBbYWJzb2x1dGUgVlBBVEhdJworIG1rZGlyIGljYy1hYnNvbHV0ZS5kCisg Y2QgaWNjLWFic29sdXRlLmQKKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9j b25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9aWNjCmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIChjYWNoZWQpIGljYwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhbmQgY2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sg J2ljYyBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgNzkgLSBpY2MgW2Fi c29sdXRlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA3OSAtIGljYyBbYWJzb2x1 dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNy YwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kL3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApE RVBESVI9LmRlcHMgZGVwbW9kZT1pY2MgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8g Zm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJj ZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycg b2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1p Y2MgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIg ICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kL3NyYycK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9pY2MtYWJzb2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBg YWxsLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kJworIG1ha2UgY2xlYW4KTWFraW5nIGNsZWFu IGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAt ZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9zdWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvaWNjLWFic29sdXRlLmQv c3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kJwptYWtlWzFdOiBO b3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtYWJzb2x1dGUuZCcK KyBlPTAKKyBtYWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1h YnNvbHV0ZS5kL3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVw bW9kZT1pY2MgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBj b21wIFwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJk ZXBtb2RcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBt b2RcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJjZT0nL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3Vi Zm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1pY2MgL2Jpbi9zaCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIv c3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8g c3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2ljYy1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9pY2MtYWJz b2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsx XTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L2ljYy1hYnNvbHV0ZS5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9bLl9dZGVwcycgb3V0 cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnaWNjIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAm IHJlbWFrZScKKyBzZXQgK3gKb2sgODAgLSBpY2MgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVt YWtlClBBU1M6IGRlcG1vZC50YXAgODAgLSBpY2MgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVt YWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJz IGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBp Y2MtYWJzb2x1dGUuZAorIHRlc3QgMSAtZ3QgMAorIGZpbmQgaWNjLWFic29sdXRlLmQgLXR5cGUg ZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBpY2Mt YWJzb2x1dGUuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZw YXRoIGluCisgc3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgcGZ4 PSdocDIgW2Fic29sdXRlIFZQQVRIXScKKyBta2RpciBocDItYWJzb2x1dGUuZAorIGNkIGhwMi1h YnNvbHV0ZS5kCisgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY29uZmlndXJl IGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWhwMgpjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdh d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVj dCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21w aWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tp bmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBocDIKY2hlY2tpbmcgd2hldGhlciBnY2Mg YW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0 IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdocDIgW2Fi c29sdXRlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDgxIC0gaHAyIFthYnNvbHV0ZSBW UEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgODEgLSBocDIgW2Fic29sdXRlIFZQQVRI XSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9ocDItYWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5k ZXBzIGRlcG1vZGU9aHAyIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJO QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYwpnY2M6IGVycm9yOiAr TWFrZWQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKbWFrZVsxXTogKioqIFtmb28ub10gRXJy b3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvaHAyLWFic29sdXRlLmQvc3JjJwptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVd IEVycm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ2hwMiBbYWJzb2x1 dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yICdjYW4nXCcn dCBmb3JjZSBkZXBtb2RlJyAnaHAyIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBz ZXQgK3gKb2sgODIgLSBocDIgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBj YW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1vZC50YXAgODIgLSBocDIgW2Fic29sdXRlIFZQ QVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlCisgY2QgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEK KyByZXR1cm4gMAorIHRlc3QgJ29rLG5vdCBvaycgPSBvayxvaworIDogRm9yIGxlc3NlciBzaGVs bHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9k ZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIKKyBwZng9J3RydTY0IFthYnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgdHJ1NjQtYWJz b2x1dGUuZAorIGNkIHRydTY0LWFic29sdXRlLmQKKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9 dHJ1NjQKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz Li4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5 Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFr ZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgdHJ1 NjQKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMv TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9 b2sKKyByZXN1bHRfIG9rICd0cnU2NCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQg K3gKb2sgODMgLSB0cnU2NCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2Qu dGFwIDgzIC0gdHJ1NjQgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJwor IG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1hYnNvbHV0ZS5kL3NyYycKc291 cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMnIG9iamVj dD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT10cnU2NCAvYmluL3No IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9zcmMvZm9vLmMKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1u byBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPXRydTY0IC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwi IC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8y IC1jIC1vIHN1Yi9zdWJmb28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9z cmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAg Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci90cnU2NC1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5 IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1hYnNvbHV0ZS5kJwpt YWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvdHJ1NjQtYWJz b2x1dGUuZCcKKyBtYWtlIGNsZWFuCk1ha2luZyBjbGVhbiBpbiBzcmMKbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci90cnU2NC1h YnNvbHV0ZS5kL3NyYycKLmRlcHMvZm9vLlBvOjM6ICoqKiBtaXNzaW5nIHNlcGFyYXRvci4gIFN0 b3AuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci90cnU2NC1hYnNvbHV0ZS5kL3NyYycKbWFrZTogKioqIFtjbGVhbi1yZWN1cnNp dmVdIEVycm9yIDEKKyByZXN1bHRfICdub3Qgb2snICd0cnU2NCBbYWJzb2x1dGUgVlBBVEhdIG1h a2UgJiByZW1ha2UnCisgc2V0ICt4Cm5vdCBvayA4NCAtIHRydTY0IFthYnNvbHV0ZSBWUEFUSF0g bWFrZSAmIHJlbWFrZQpGQUlMOiBkZXBtb2QudGFwIDg0IC0gdHJ1NjQgW2Fic29sdXRlIFZQQVRI XSBtYWtlICYgcmVtYWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRr ZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ29rLG5vdCBvaycg PSBvayxvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9y IGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBzcmNkaXI9 L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBwZng9J21zdmM3IFthYnNvbHV0 ZSBWUEFUSF0nCisgbWtkaXIgbXN2YzctYWJzb2x1dGUuZAorIGNkIG1zdmM3LWFic29sdXRlLmQK KyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jb25maWd1cmUgYW1fY3ZfQ0Nf ZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bXN2YzcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2lu ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBj cm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBz dHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgbXN2YzcKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNj IHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdtc3ZjNyBbYWJzb2x1 dGUgVlBBVEhdIGNvbmZpZ3VyZScKKyBzZXQgK3gKb2sgODUgLSBtc3ZjNyBbYWJzb2x1dGUgVlBB VEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDg1IC0gbXN2YzcgW2Fic29sdXRlIFZQQVRI XSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9tc3ZjNy1hYnNvbHV0ZS5kL3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9 LmRlcHMgZGVwbW9kZT1tc3ZjNyAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28u byAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKZ2NjOiBlcnJv cjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1zaG93SW5jbHVkZXMnCm1ha2Vb MV06ICoqKiBbZm9vLm9dIEVycm9yIDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmM3LWFic29sdXRlLmQvc3JjJwptYWtl OiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKyBza2lwXyAtciAnY2FuJ1wnJ3QgZm9yY2Ug ZGVwbW9kZScgJ21zdmM3IFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyByZXN1bHRf IG9rIC1EIFNLSVAgLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdtc3ZjNyBbYWJzb2x1dGUg VlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDg2IC0gbXN2YzcgW2Fic29sdXRlIFZQ QVRIXSBtYWtlICYgcmVtYWtlICMgU0tJUCBjYW4ndCBmb3JjZSBkZXBtb2RlClNLSVA6IGRlcG1v ZC50YXAgODYgLSBtc3ZjNyBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UgIyBTS0lQIGNh bid0IGZvcmNlIGRlcG1vZGUKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2Ug JGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCAnb2ssbm90IG9r JyA9IG9rLG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBm b3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2RlcycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rp cj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIHBmeD0nbXN2Yzdtc3lzIFth YnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgbXN2Yzdtc3lzLWFic29sdXRlLmQKKyBjZCBtc3ZjN21z eXMtYWJzb2x1dGUuZAorIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NvbmZp Z3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1tc3ZjN21zeXMKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hl Y2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgbXN2Yzdtc3lzCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5 ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVz dWx0XyBvayAnbXN2Yzdtc3lzIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApv ayA4NyAtIG1zdmM3bXN5cyBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2Qu dGFwIDg3IC0gbXN2Yzdtc3lzIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBv aycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2Yzdtc3lzLWFic29sdXRlLmQv c3JjJwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28u Yycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmM3 bXN5cyAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAg XApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1v ZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVk IGNvbW1hbmQgbGluZSBvcHRpb24gJy1zaG93SW5jbHVkZXMnCm1ha2VbMV06ICoqKiBbZm9vLm9d IEVycm9yIDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyL21zdmM3bXN5cy1hYnNvbHV0ZS5kL3NyYycKbWFrZTogKioqIFthbGwt cmVjdXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1vZGUnICdt c3ZjN21zeXMgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHJlc3VsdF8gb2sgLUQg U0tJUCAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ21zdmM3bXN5cyBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDg4IC0gbXN2Yzdtc3lzIFthYnNvbHV0ZSBW UEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQpTS0lQOiBkZXBt b2QudGFwIDg4IC0gbXN2Yzdtc3lzIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNL SVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdvayxu b3Qgb2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUu JworIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisg c3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgcGZ4PSdub3NpZGVl ZmZlY3QgW2Fic29sdXRlIFZQQVRIXScKKyBta2RpciBub3NpZGVlZmZlY3QtYWJzb2x1dGUuZAor IGNkIG5vc2lkZWVmZmVjdC1hYnNvbHV0ZS5kCisgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPW5v c2lkZWVmZmVjdApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jp bi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBi eSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVk KSBub3NpZGVlZmZlY3QKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgcjA9b2sKKyByZXN1bHRfIG9rICdub3NpZGVlZmZlY3QgW2Fic29sdXRlIFZQQVRI XSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDg5IC0gbm9zaWRlZWZmZWN0IFthYnNvbHV0ZSBWUEFU SF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgODkgLSBub3NpZGVlZmZlY3QgW2Fic29sdXRl IFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFraW5nIGFsbCBpbiBzcmMK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9ub3NpZGVlZmZlY3QtYWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29s PW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9zaWRlZWZmZWN0IC9iaW4vc2ggL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1c ImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lP Tj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAg ICAgLWcgLU8yIC1jIC1vIGZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L3NyYy9mb28uYwpVbmtub3duIGRlcG1vZGUgbm9zaWRlZWZmZWN0Cm1ha2VbMV06ICoqKiBbZm9v Lm9dIEVycm9yIDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL25vc2lkZWVmZmVjdC1hYnNvbHV0ZS5kL3NyYycKbWFrZTogKioq IFthbGwtcmVjdXJzaXZlXSBFcnJvciAxCisgc2tpcF8gLXIgJ2NhbidcJyd0IGZvcmNlIGRlcG1v ZGUnICdub3NpZGVlZmZlY3QgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHJlc3Vs dF8gb2sgLUQgU0tJUCAtciAnY2FuJ1wnJ3QgZm9yY2UgZGVwbW9kZScgJ25vc2lkZWVmZmVjdCBb YWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDkwIC0gbm9zaWRlZWZm ZWN0IFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVw bW9kZQpTS0lQOiBkZXBtb2QudGFwIDkwIC0gbm9zaWRlZWZmZWN0IFthYnNvbHV0ZSBWUEFUSF0g bWFrZSAmIHJlbWFrZSAjIFNLSVAgY2FuJ3QgZm9yY2UgZGVwbW9kZQorIGNkIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0 dXJuIDAKKyB0ZXN0ICdvayxub3Qgb2snID0gb2ssb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdp dGggYnJva2VuICdzZXQgLWUuJworIGZvciBkZXBtb2RlIGluICckdGVzdGVkX2RlcG1vZGVzJwor IGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyCisgcGZ4PSdkYXNobXN0ZG91dCBbYWJzb2x1dGUgVlBBVEhdJworIG1rZGlyIGRhc2htc3Rk b3V0LWFic29sdXRlLmQKKyBjZCBkYXNobXN0ZG91dC1hYnNvbHV0ZS5kCisgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19j b21waWxlcl90eXBlPWRhc2htc3Rkb3V0CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2Yg aW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIChjYWNoZWQpIGRhc2htc3Rkb3V0CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1 bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnZGFzaG1zdGRvdXQgW2Fi c29sdXRlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9rIDkxIC0gZGFzaG1zdGRvdXQgW2Fi c29sdXRlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogZGVwbW9kLnRhcCA5MSAtIGRhc2htc3Rkb3V0 IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBh bGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtYWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5v JyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9ZGFzaG1zdGRvdXQgL2Jpbi9zaCAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0Vf VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9kXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8g XApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNobXN0ZG91dCAvYmluL3NoIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1n IC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9v Lm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtYWJzb2x1dGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRv dXQtYWJzb2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2Rhc2htc3Rkb3V0LWFic29sdXRlLmQnCisgbWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4g aW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtYWJzb2x1dGUuZC9zcmMnCnRlc3QgLXogImZvbyIg fHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rk b3V0LWFic29sdXRlLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2htc3Rkb3V0 LWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2Rhc2htc3Rkb3V0LWFic29sdXRlLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQK TWFraW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kYXNobXN0ZG91dC1hYnNvbHV0ZS5kL3NyYycKc291 cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMnIG9iamVj dD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1kYXNobXN0ZG91dCAv YmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2Mg LURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJk ZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28ubycgbGli dG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRhc2htc3Rkb3V0IC9iaW4vc2ggL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFN RT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVS U0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3Ny YyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1 Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci9kYXNobXN0ZG91dC1hYnNvbHV0ZS5kL3NyYycKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9k YXNobXN0ZG91dC1hYnNvbHV0ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBh bGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvZGFzaG1zdGRvdXQtYWJzb2x1dGUuZCcKKyB0ZXN0IDAgLWVxIDAKKyBn cmVwICdzcmMvWy5fXWRlcHMnIG91dHB1dAorIDoKKyByMT1vaworIHJlc3VsdF8gb2sgJ2Rhc2ht c3Rkb3V0IFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZScKKyBzZXQgK3gKb2sgOTIgLSBk YXNobXN0ZG91dCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKUEFTUzogZGVwbW9kLnRh cCA5MiAtIGRhc2htc3Rkb3V0IFthYnNvbHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVy biAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rLG9rID0gb2ssb2sKKyBybV9yZl8gZGFzaG1zdGRvdXQt YWJzb2x1dGUuZAorIHRlc3QgMSAtZ3QgMAorIGZpbmQgZGFzaG1zdGRvdXQtYWJzb2x1dGUuZCAt dHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJm IGRhc2htc3Rkb3V0LWFic29sdXRlLmQKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2Rl cycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpcgorIHBmeD0nZGFzaFhtc3Rkb3V0IFthYnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgZGFz aFhtc3Rkb3V0LWFic29sdXRlLmQKKyBjZCBkYXNoWG1zdGRvdXQtYWJzb2x1dGUuZAorIC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRl bmNpZXNfY29tcGlsZXJfdHlwZT1kYXNoWG1zdGRvdXQKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2lu ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBj cm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBz dHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkgZGFzaFhtc3Rkb3V0CmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr ZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIwPW9rCisgcmVzdWx0XyBvayAnZGFzaFht c3Rkb3V0IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA5MyAtIGRhc2hY bXN0ZG91dCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiBkZXBtb2QudGFwIDkzIC0g ZGFzaFhtc3Rkb3V0IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgcjE9J25vdCBvaycKKyBt YWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFic29sdXRlLmQvc3Jj Jwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYycg b2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRhc2hYbXN0 ZG91dCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAg XApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1v ZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKc291cmNlPScvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9J3N1Yi9zdWJmb28u bycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRhc2hYbXN0ZG91dCAvYmluL3No IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNL QUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2Rc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBm b28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFic29sdXRlLmQvc3JjJwpt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL2Rhc2hYbXN0ZG91dC1hYnNvbHV0ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRv bmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFic29sdXRlLmQnCisgbWFrZSBj bGVhbgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFic29sdXRlLmQv c3JjJwp0ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZv by5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9kYXNoWG1zdGRvdXQtYWJzb2x1dGUuZC9zcmMnCk1ha2luZyBjbGVhbiBpbiAu Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUg ZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1hYnNvbHV0ZS5kJworIGU9 MAorIG1ha2UKKyBjYXQgb3V0cHV0Ck1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rk b3V0LWFic29sdXRlLmQvc3JjJwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVw cyBkZXBtb2RlPWRhc2hYbXN0ZG91dCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBm b28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKc291cmNl PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBv YmplY3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPWRh c2hYbXN0ZG91dCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rl cGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1c ImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRl cG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt RFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8g L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYwpnY2Mg IC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0 LWFic29sdXRlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Rhc2hYbXN0ZG91dC1hYnNvbHV0ZS5kJwptYWtlWzFd OiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGFzaFhtc3Rkb3V0LWFi c29sdXRlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBzJyBvdXRwdXQKKyA6 CisgcjE9b2sKKyByZXN1bHRfIG9rICdkYXNoWG1zdGRvdXQgW2Fic29sdXRlIFZQQVRIXSBtYWtl ICYgcmVtYWtlJworIHNldCAreApvayA5NCAtIGRhc2hYbXN0ZG91dCBbYWJzb2x1dGUgVlBBVEhd IG1ha2UgJiByZW1ha2UKUEFTUzogZGVwbW9kLnRhcCA5NCAtIGRhc2hYbXN0ZG91dCBbYWJzb2x1 dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycwor IGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayxv ayA9IG9rLG9rCisgcm1fcmZfIGRhc2hYbXN0ZG91dC1hYnNvbHV0ZS5kCisgdGVzdCAxIC1ndCAw CisgZmluZCBkYXNoWG1zdGRvdXQtYWJzb2x1dGUuZCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1l eGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGRhc2hYbXN0ZG91dC1hYnNvbHV0ZS5k CisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2FzZSAkdnBhdGggaW4KKyBz cmNkaXI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBwZng9J21ha2VkZXBl bmQgW2Fic29sdXRlIFZQQVRIXScKKyBta2RpciBtYWtlZGVwZW5kLWFic29sdXRlLmQKKyBjZCBt YWtlZGVwZW5kLWFic29sdXRlLmQKKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bWFrZWRlcGVu ZApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBtYWtlZGVw ZW5kCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3Jj L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIHIw PW9rCisgcmVzdWx0XyBvayAnbWFrZWRlcGVuZCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZScK KyBzZXQgK3gKb2sgOTUgLSBtYWtlZGVwZW5kIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlClBB U1M6IGRlcG1vZC50YXAgOTUgLSBtYWtlZGVwZW5kIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJl CisgcjE9J25vdCBvaycKKyBtYWtlCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVu ZC1hYnNvbHV0ZS5kL3NyYycKc291cmNlPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9zcmMvZm9vLmMnIG9iamVjdD0nZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMg ZGVwbW9kZT1tYWtlZGVwZW5kIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9U QVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5v IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYwpzb3VyY2U9Jy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVj dD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bWFrZWRl cGVuZCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAg XApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1v ZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1P MiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1hYnNvbHV0 ZS5kL3NyYycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcg dG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tYWtlZGVwZW5kLWFic29sdXRlLmQnCisg bWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1hYnNvbHV0 ZS5kL3NyYycKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYgKi5vCnJtIC1mIHN1Yi9z dWJmb28ubwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1hYnNvbHV0ZS5kL3NyYycKTWFraW5nIGNsZWFuIGlu IC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9tYWtlZGVwZW5kLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUg ZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtYWJzb2x1dGUuZCcKKyBlPTAK KyBtYWtlCisgY2F0IG91dHB1dApNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQt YWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRl cG1vZGU9bWFrZWRlcGVuZCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKc291cmNlPScvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBvYmplY3Q9 J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1ha2VkZXBl bmQgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2Rc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIg ICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21ha2VkZXBlbmQtYWJzb2x1dGUu ZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1hYnNvbHV0ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRv IGJlIGRvbmUgZm9yIGBhbGwtYW0nLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbWFrZWRlcGVuZC1hYnNvbHV0ZS5kJworIHRl c3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9bLl9dZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVz dWx0XyBvayAnbWFrZWRlcGVuZCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0 ICt4Cm9rIDk2IC0gbWFrZWRlcGVuZCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKUEFT UzogZGVwbW9kLnRhcCA5NiAtIG1ha2VkZXBlbmQgW2Fic29sdXRlIFZQQVRIXSBtYWtlICYgcmVt YWtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJz IGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2ssb2sgPSBvayxvaworIHJtX3JmXyBt YWtlZGVwZW5kLWFic29sdXRlLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIG1ha2VkZXBlbmQtYWJz b2x1dGUuZCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsn Cisgcm0gLXJmIG1ha2VkZXBlbmQtYWJzb2x1dGUuZAorIGZvciBkZXBtb2RlIGluICckdGVzdGVk X2RlcG1vZGVzJworIGNhc2UgJHZwYXRoIGluCisgc3JjZGlyPS9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9kZXBtb2QuZGlyCisgcGZ4PSdjcHAgW2Fic29sdXRlIFZQQVRIXScKKyBta2RpciBjcHAt YWJzb2x1dGUuZAorIGNkIGNwcC1hYnNvbHV0ZS5kCisgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvY29uZmlndXJlIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBl PWNwcApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF KS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtl Li4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2FjaGVkKSBjcHAK Y2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVy Li4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzcmMvTWFr ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgcjA9b2sK KyByZXN1bHRfIG9rICdjcHAgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUnCisgc2V0ICt4Cm9r IDk3IC0gY3BwIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgOTcg LSBjcHAgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUKKyByMT0nbm90IG9rJworIG1ha2UKTWFr aW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBs aWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Y3BwIC9iaW4vc2ggL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAg LWcgLU8yIC1jIC1vIGZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3Ny Yy9mb28uYwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9z dWIvc3ViZm9vLmMnIG9iamVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5k ZXBzIGRlcG1vZGU9Y3BwIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJO QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJm b28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5j CmdjYyAgLWcgLU8yICAgLW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJz b2x1dGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3BwLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8g YmUgZG9uZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUuZCcKKyBtYWtlIGNsZWFu Ck1ha2luZyBjbGVhbiBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUuZC9zcmMnCnRlc3QgLXog ImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTog TGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2Nw cC1hYnNvbHV0ZS5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUu ZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgY2xlYW4tYW0nLgptYWtlWzFdOiBM ZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvY3Bw LWFic29sdXRlLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFraW5nIGFsbCBpbiBzcmMK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9jcHAtYWJzb2x1dGUuZC9zcmMnCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9Y3BwIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FH RV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZv by5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYwpzb3VyY2U9 Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMnIG9i amVjdD0nc3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9Y3Bw IC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBc IiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1c ImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jCmdjYyAgLWcgLU8yICAg LW8gZm9vIGZvby5vIHN1Yi9zdWJmb28ubyAgCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUuZC9zcmMnCm1h a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvY3BwLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFs bC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9jcHAtYWJzb2x1dGUuZCcKKyB0ZXN0IDAgLWVxIDAKKyBncmVwICdzcmMv Wy5fXWRlcHMnIG91dHB1dAorIDoKKyByMT1vaworIHJlc3VsdF8gb2sgJ2NwcCBbYWJzb2x1dGUg VlBBVEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDk4IC0gY3BwIFthYnNvbHV0ZSBWUEFU SF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDk4IC0gY3BwIFthYnNvbHV0ZSBWUEFU SF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAk a2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rLG9rID0gb2ss b2sKKyBybV9yZl8gY3BwLWFic29sdXRlLmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIGNwcC1hYnNv bHV0ZS5kIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycK KyBybSAtcmYgY3BwLWFic29sdXRlLmQKKyBmb3IgZGVwbW9kZSBpbiAnJHRlc3RlZF9kZXBtb2Rl cycKKyBjYXNlICR2cGF0aCBpbgorIHNyY2Rpcj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpcgorIHBmeD0nbXN2aXN1YWxjcHAgW2Fic29sdXRlIFZQQVRIXScKKyBta2RpciBtc3Zp c3VhbGNwcC1hYnNvbHV0ZS5kCisgY2QgbXN2aXN1YWxjcHAtYWJzb2x1dGUuZAorIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2NvbmZpZ3VyZSBhbV9jdl9DQ19kZXBlbmRlbmNp ZXNfY29tcGlsZXJfdHlwZT1tc3Zpc3VhbGNwcApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxl IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiAoY2FjaGVkKSBtc3Zpc3VhbGNwcApjaGVja2luZyB3aGV0aGVyIGdjYyBhbmQg Y2MgdW5kZXJzdGFuZCAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTog Y3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyByMD1vaworIHJlc3VsdF8gb2sgJ21zdmlzdWFsY3Bw IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlJworIHNldCAreApvayA5OSAtIG1zdmlzdWFsY3Bw IFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlClBBU1M6IGRlcG1vZC50YXAgOTkgLSBtc3Zpc3Vh bGNwcCBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtp bmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLWFic29sdXRlLmQvc3JjJwpzb3VyY2U9 Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYycgb2JqZWN0PSdm b28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmlzdWFsY3BwIC9iaW4v c2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29tcCBcCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVwbW9kXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9kXCAxLjBcIiAtRFBB Q0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlcG1v ZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBt b2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9kZXBtb2QuZGlyL3NyYy9mb28uYwovaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9kZXBjb21wOiBsaW5lIDY1MjogY3lncGF0aDogY29tbWFuZCBub3QgZm91bmQKc291cmNlPScv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jJyBvYmpl Y3Q9J3N1Yi9zdWJmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW1zdmlz dWFsY3BwIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvZGVwY29t cCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVw bW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVwbW9k XCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIHN1Yi9zdWJmb28ubyAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvc3ViL3N1YmZvby5jCi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXA6IGxpbmUgNjUyOiBjeWdwYXRoOiBj b21tYW5kIG5vdCBmb3VuZApnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9vLm8g IAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvbXN2aXN1YWxjcHAtYWJzb2x1dGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAt YWJzb2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL21zdmlzdWFsY3BwLWFic29sdXRlLmQnCisgbWFrZSBjbGVhbgpNYWtpbmcgY2xlYW4gaW4g c3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvbXN2aXN1YWxjcHAtYWJzb2x1dGUuZC9zcmMnCnRlc3QgLXogImZvbyIgfHwg cm0gLWYgZm9vCnJtIC1mICoubwpybSAtZiBzdWIvc3ViZm9vLm8KbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3Bw LWFic29sdXRlLmQvc3JjJwpNYWtpbmcgY2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3BwLWFi c29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGNsZWFuLWFtJy4KbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL21zdmlzdWFsY3BwLWFic29sdXRlLmQnCisgZT0wCisgbWFrZQorIGNhdCBvdXRwdXQKTWFr aW5nIGFsbCBpbiBzcmMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zpc3VhbGNwcC1hYnNvbHV0ZS5kL3NyYycKc291cmNl PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMvZm9vLmMnIG9iamVjdD0n Zm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3Zpc3VhbGNwcCAvYmlu L3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQ QUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBt b2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVw bW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvZGVwbW9kLmRpci9zcmMvZm9vLmMKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZGVwY29tcDogbGluZSA2NTI6IGN5Z3BhdGg6IGNvbW1hbmQgbm90IGZvdW5kCnNvdXJjZT0n L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2Jq ZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3Zp c3VhbGNwcCAvYmluL3NoIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNv bXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBtb2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRl cG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1v ZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1nIC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYwovaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wOiBsaW5lIDY1MjogY3lncGF0aDog Y29tbWFuZCBub3QgZm91bmQKZ2NjICAtZyAtTzIgICAtbyBmb28gZm9vLm8gc3ViL3N1YmZvby5v ICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL21zdmlzdWFsY3BwLWFic29sdXRlLmQvc3JjJwptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmlzdWFsY3Bw LWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbC1hbScuCm1h a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9k LmRpci9tc3Zpc3VhbGNwcC1hYnNvbHV0ZS5kJworIHRlc3QgMCAtZXEgMAorIGdyZXAgJ3NyYy9b Ll9dZGVwcycgb3V0cHV0CisgOgorIHIxPW9rCisgcmVzdWx0XyBvayAnbXN2aXN1YWxjcHAgW2Fi c29sdXRlIFZQQVRIXSBtYWtlICYgcmVtYWtlJworIHNldCAreApvayAxMDAgLSBtc3Zpc3VhbGNw cCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKUEFTUzogZGVwbW9kLnRhcCAxMDAgLSBt c3Zpc3VhbGNwcCBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgJiByZW1ha2UKKyBjZCAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJl dHVybiAwCisgdGVzdCBvayxvayA9IG9rLG9rCisgcm1fcmZfIG1zdmlzdWFsY3BwLWFic29sdXRl LmQKKyB0ZXN0IDEgLWd0IDAKKyBmaW5kIG1zdmlzdWFsY3BwLWFic29sdXRlLmQgLXR5cGUgZCAn IScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBtc3Zpc3Vh bGNwcC1hYnNvbHV0ZS5kCisgZm9yIGRlcG1vZGUgaW4gJyR0ZXN0ZWRfZGVwbW9kZXMnCisgY2Fz ZSAkdnBhdGggaW4KKyBzcmNkaXI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIK KyBwZng9J21zdmNtc3lzIFthYnNvbHV0ZSBWUEFUSF0nCisgbWtkaXIgbXN2Y21zeXMtYWJzb2x1 dGUuZAorIGNkIG1zdmNtc3lzLWFic29sdXRlLmQKKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9jb25maWd1cmUgYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9 bXN2Y21zeXMKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08g Qzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkg bWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gKGNhY2hlZCkg bXN2Y21zeXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBzcmMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgcjA9b2sKKyByZXN1bHRfIG9rICdtc3ZjbXN5cyBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3Vy ZScKKyBzZXQgK3gKb2sgMTAxIC0gbXN2Y21zeXMgW2Fic29sdXRlIFZQQVRIXSBjb25maWd1cmUK UEFTUzogZGVwbW9kLnRhcCAxMDEgLSBtc3ZjbXN5cyBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3Vy ZQorIHIxPSdub3Qgb2snCisgbWFrZQpNYWtpbmcgYWxsIGluIHNyYwptYWtlWzFdOiBFbnRlcmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lz LWFic29sdXRlLmQvc3JjJwpzb3VyY2U9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2Qu ZGlyL3NyYy9mb28uYycgb2JqZWN0PSdmb28ubycgbGlidG9vbD1ubyBcCkRFUERJUj0uZGVwcyBk ZXBtb2RlPW1zdmNtc3lzIC9iaW4vc2ggL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvZGVwY29tcCBcCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9UQVJO QU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiZGVwbW9kXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImRlcG1vZFwiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYyAgICAgLWcgLU8yIC1jIC1vIGZvby5vIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9mb28uYwpzb3VyY2U9Jy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMnIG9iamVjdD0n c3ViL3N1YmZvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2Y21zeXMg L2Jpbi9zaCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi ZGVwbW9kXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gc3ViL3N1YmZvby5vIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL3NyYy9zdWIvc3ViZm9vLmMKZ2NjICAtZyAtTzIgICAt byBmb28gZm9vLm8gc3ViL3N1YmZvby5vICAKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWFic29sdXRlLmQvc3Jj JwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyL21zdmNtc3lzLWFic29sdXRlLmQnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9u ZSBmb3IgYGFsbC1hbScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3ZjbXN5cy1hYnNvbHV0ZS5kJworIG1ha2UgY2xlYW4K TWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGlyL21zdmNtc3lzLWFic29sdXRlLmQvc3JjJwp0ZXN0 IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiAqLm8Kcm0gLWYgc3ViL3N1YmZvby5vCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRp ci9tc3ZjbXN5cy1hYnNvbHV0ZS5kL3NyYycKTWFraW5nIGNsZWFuIGluIC4KbWFrZVsxXTogRW50 ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9tc3Zj bXN5cy1hYnNvbHV0ZS5kJwptYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBjbGVhbi1h bScuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv ZGVwbW9kLmRpci9tc3ZjbXN5cy1hYnNvbHV0ZS5kJworIGU9MAorIG1ha2UKKyBjYXQgb3V0cHV0 Ck1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2Y21zeXMtYWJzb2x1dGUuZC9zcmMnCnNvdXJj ZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvc3JjL2Zvby5jJyBvYmplY3Q9 J2Zvby5vJyBsaWJ0b29sPW5vIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bXN2Y21zeXMgL2Jpbi9z aCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9kZXBjb21wIFwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiZGVwbW9kXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZXBtb2RcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZXBtb2RcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVwbW9k XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1v ZC5kaXIvc3JjICAgICAtZyAtTzIgLWMgLW8gZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvc3JjL2Zvby5jCnNvdXJjZT0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2Rl cG1vZC5kaXIvc3JjL3N1Yi9zdWJmb28uYycgb2JqZWN0PSdzdWIvc3ViZm9vLm8nIGxpYnRvb2w9 bm8gXApERVBESVI9LmRlcHMgZGVwbW9kZT1tc3ZjbXN5cyAvYmluL3NoIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9kZXBtb2QuZGlyL2RlcGNvbXAgXApnY2MgLURQQUNLQUdFX05BTUU9XCJkZXBt b2RcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlcG1vZFwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImRlcG1vZFwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZXBtb2RcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvZGVwbW9kLmRpci9zcmMgICAgIC1n IC1PMiAtYyAtbyBzdWIvc3ViZm9vLm8gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5k aXIvc3JjL3N1Yi9zdWJmb28uYwpnY2MgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBzdWIvc3ViZm9v Lm8gIAptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2RlcG1vZC5kaXIvbXN2Y21zeXMtYWJzb2x1dGUuZC9zcmMnCm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2RlcG1vZC5kaXIvbXN2Y21zeXMtYWJz b2x1dGUuZCcKbWFrZVsxXTogTm90aGluZyB0byBiZSBkb25lIGZvciBgYWxsLWFtJy4KbWFrZVsx XTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9kZXBtb2QuZGly L21zdmNtc3lzLWFic29sdXRlLmQnCisgdGVzdCAwIC1lcSAwCisgZ3JlcCAnc3JjL1suX11kZXBz JyBvdXRwdXQKKyA6CisgcjE9b2sKKyByZXN1bHRfIG9rICdtc3ZjbXN5cyBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgJiByZW1ha2UnCisgc2V0ICt4Cm9rIDEwMiAtIG1zdmNtc3lzIFthYnNvbHV0ZSBW UEFUSF0gbWFrZSAmIHJlbWFrZQpQQVNTOiBkZXBtb2QudGFwIDEwMiAtIG1zdmNtc3lzIFthYnNv bHV0ZSBWUEFUSF0gbWFrZSAmIHJlbWFrZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9k ZXBtb2QuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9r LG9rID0gb2ssb2sKKyBybV9yZl8gbXN2Y21zeXMtYWJzb2x1dGUuZAorIHRlc3QgMSAtZ3QgMAor IGZpbmQgbXN2Y21zeXMtYWJzb2x1dGUuZCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNo bW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIG1zdmNtc3lzLWFic29sdXRlLmQKKyA6CisgZXhp dF9zdGF0dXM9MAorIHNldCArZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qg eWVzID0geWVzCisgdGVzdCB5ZXMgJyE9JyB5ZXMKKyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDc5IC1l cSAxMDIKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRr ZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKZGVwbW9kOiBleGl0IDAKClBBU1M6 IGluc3RzcGMKPT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNp bmcgVEFQOiB5ZXMKUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1s aW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmlu Oi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9s b2NhbDovdXNyL2xvY2FsL2JpbgorKyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyCisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0KKyBidWlsZGRpcl94ZmFpbHM9CisgZGVzdGRp cl94ZmFpbHM9CisgYnM9JCdcYicKKyBjcj0kJ1xyJworIGZmPSQnXGYnCisgaHQ9JwknCisgbGY9 JwonCisgZGVmPWRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcKKyBkZWZpbmVfcHJvYmxlbWF0aWNf c3RyaW5nIHNxdW90ZSAnJ1wnJycgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9c3F1 b3RlCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19zcXVvdGU9JDEnCisrIGluc3RzcGNfX3NxdW90 ZT0nJ1wnJycKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUnCisgaXNfaW5f bGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWls LWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAwCisgYnVpbGRkaXJf eGZhaWxzPScgc3F1b3RlJworIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIg ZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGlu CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0nIHNxdW90ZScKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIGRxdW90ZSAnIicgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9ZHF1 b3RlCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19kcXVvdGU9JDEnCisrIGluc3RzcGNfX2RxdW90 ZT0nIicKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlJworIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGJ1aWxk ZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUnCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFp bC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2Fz ZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGRlc3RkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZScK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGJxdW90ZSAnYCcgZmFpbC1idWlsZGRpciBmYWls LWRlc3RkaXIKKyB0c3Q9YnF1b3RlCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19icXVvdGU9JDEn CisrIGluc3RzcGNfX2JxdW90ZT0nYCcKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBz cXVvdGUgZHF1b3RlIGJxdW90ZScKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWls ZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAk KiAiIGluCisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1b3RlIGJxdW90 ZScKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAwCisg ZGVzdGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZScKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIHNoYXJwICcjJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1zaGFy cAorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fc2hhcnA9JDEnCisrIGluc3RzcGNfX3NoYXJwPScj JworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRp cgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MAorIGJ1aWxkZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwJworIGlzX2lu X2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWls LWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hm YWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwJworIGRlZmluZV9wcm9ibGVtYXRpY19z dHJpbmcgZG9sbGFyICckJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1kb2xsYXIK KyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX2RvbGxhcj0kMScKKysgaW5zdHNwY19fZG9sbGFyPSck JworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhcicKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpciBmYWls LWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXInCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3Rk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MAorIGRlc3RkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyJwor IGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYmFuZyAnIScKKyB0c3Q9YmFuZworIHNoaWZ0Cisg ZXZhbCAnaW5zdHNwY19fYmFuZz0kMScKKysgaW5zdHNwY19fYmFuZz0nIScKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFu ZycKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlm dAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisg ZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBic2xhc2ggJ1wnIGZhaWwtYnVpbGRkaXIKKyB0c3Q9 YnNsYXNoCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19ic2xhc2g9JDEnCisrIGluc3RzcGNfX2Jz bGFzaD0nXCcKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2gnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGly IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAi IGluCisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz aGFycCBkb2xsYXIgYnNsYXNoJworIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYW1wZXJzYW5kICcmJyBmYWlsLWJ1aWxkZGly CisgdHN0PWFtcGVyc2FuZAorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fYW1wZXJzYW5kPSQxJwor KyBpbnN0c3BjX19hbXBlcnNhbmQ9JyYnCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCcK KyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWls ZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWls cz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kJwor IGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRp cgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRp Y19zdHJpbmcgcGVyY2VudCAlCisgdHN0PXBlcmNlbnQKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNf X3BlcmNlbnQ9JDEnCisrIGluc3RzcGNfX3BlcmNlbnQ9JQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFt ZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCcKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwt YnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0 IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBp bgorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBsZWZ0cGFyICcoJworIHRz dD1sZWZ0cGFyCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19sZWZ0cGFyPSQxJworKyBpbnN0c3Bj X19sZWZ0cGFyPScoJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0 cGFyJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHJpZ2h0cGFyICcpJworIHRzdD1yaWdodHBhcgor IHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fcmlnaHRwYXI9JDEnCisrIGluc3RzcGNfX3JpZ2h0cGFy PScpJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0 cGFyJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHBpcGUgJ3wnCisgdHN0PXBpcGUKKyBzaGlmdAor IGV2YWwgJ2luc3RzcGNfX3BpcGU9JDEnCisrIGluc3RzcGNfX3BpcGU9J3wnCisgc2hpZnQKKyBh bGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZScKKyBpc19p bl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2Ug IiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBjYXJldCAnXicKKyB0c3Q9Y2FyZXQKKyBzaGlmdAorIGV2YWwgJ2lu c3RzcGNfX2NhcmV0PSQxJworKyBpbnN0c3BjX19jYXJldD0nXicKKyBzaGlmdAorIGFsbF90ZXN0 X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xh c2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0JworIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAi ICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWls LWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVfcHJv YmxlbWF0aWNfc3RyaW5nIHRpbGRlICd+JworIHRzdD10aWxkZQorIHNoaWZ0CisgZXZhbCAnaW5z dHNwY19fdGlsZGU9JDEnCisrIGluc3RzcGNfX3RpbGRlPSd+JworIHNoaWZ0CisgYWxsX3Rlc3Rf bmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUnCisg aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmlu ZV9wcm9ibGVtYXRpY19zdHJpbmcgcW1hcmsgJz8nCisgdHN0PXFtYXJrCisgc2hpZnQKKyBldmFs ICdpbnN0c3BjX19xbWFyaz0kMScKKysgaW5zdHNwY19fcW1hcms9Jz8nCisgc2hpZnQKKyBhbGxf dGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyaycKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIK KyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVz dGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVy biAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBzdGFyICcqJworIHRzdD1zdGFyCisgc2hp ZnQKKyBldmFsICdpbnN0c3BjX19zdGFyPSQxJworKyBpbnN0c3BjX19zdGFyPScqJworIHNoaWZ0 CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhcicKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZh aWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9s aXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCog IiBpbgorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBwbHVzICsKKyB0c3Q9 cGx1cworIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fcGx1cz0kMScKKysgaW5zdHNwY19fcGx1cz0r Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIg cGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxk ZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVy biAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0 CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg bWludXMgLQorIHRzdD1taW51cworIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fbWludXM9JDEnCisr IGluc3RzcGNfX21pbnVzPS0KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQg bGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cycK KyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0 ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBjb21tYSAsCisgdHN0PWNvbW1hCisgc2hpZnQKKyBldmFs ICdpbnN0c3BjX19jb21tYT0kMScKKysgaW5zdHNwY19fY29tbWE9LAorIHNoaWZ0CisgYWxsX3Rl c3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJz bGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgor IGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQor IGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNvbG9u IDoKKyB0c3Q9Y29sb24KKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX2NvbG9uPSQxJworKyBpbnN0 c3BjX19jb2xvbj06Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90 ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEg Y29sb24nCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisg c2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3Rk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc2VtaWNvbCAnOycKKyB0c3Q9c2VtaWNvbAor IHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fc2VtaWNvbD0kMScKKysgaW5zdHNwY19fc2VtaWNvbD0n OycKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz aGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1p Y29sJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGVxdWFsID0KKyB0c3Q9ZXF1YWwKKyBzaGlmdAor IGV2YWwgJ2luc3RzcGNfX2VxdWFsPSQxJworKyBpbnN0c3BjX19lcXVhbD09Cisgc2hpZnQKKyBh bGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0 aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCcKKyBp c19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5l X3Byb2JsZW1hdGljX3N0cmluZyBsZXNzICc8JworIHRzdD1sZXNzCisgc2hpZnQKKyBldmFsICdp bnN0c3BjX19sZXNzPSQxJworKyBpbnN0c3BjX19sZXNzPSc8JworIHNoaWZ0CisgYWxsX3Rlc3Rf bmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcycKKyBpc19p bl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2Ug IiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBtb3JlICc+JworIHRzdD1tb3JlCisgc2hpZnQKKyBldmFsICdpbnN0 c3BjX19tb3JlPSQxJworKyBpbnN0c3BjX19tb3JlPSc+JworIHNoaWZ0CisgYWxsX3Rlc3RfbmFt ZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsg c3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlJworIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2Fz ZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1m YWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVf cHJvYmxlbWF0aWNfc3RyaW5nIGF0IEAKKyB0c3Q9YXQKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNf X2F0PSQxJworKyBpbnN0c3BjX19hdD1ACisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBw ZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQnCisgaXNfaW5fbGlz dCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCog IiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVz dGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgbHFicmFjayAnWycKKyB0c3Q9bHFicmFjaworIHNoaWZ0CisgZXZhbCAnaW5z dHNwY19fbHFicmFjaz0kMScKKysgaW5zdHNwY19fbHFicmFjaz0nWycKKyBzaGlmdAorIGFsbF90 ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBi c2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRl IHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9y ZSBhdCBscWJyYWNrJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWls ZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFp bC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHJxYnJhY2sgJ10nCisgdHN0PXJx YnJhY2sKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX3JxYnJhY2s9JDEnCisrIGluc3RzcGNfX3Jx YnJhY2s9J10nCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIg cmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29s b24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrJworIGlzX2luX2xp c3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQq ICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRl c3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxl bWF0aWNfc3RyaW5nIGxjYnJhY2sgJ3snCisgdHN0PWxjYnJhY2sKKyBzaGlmdAorIGV2YWwgJ2lu c3RzcGNfX2xjYnJhY2s9JDEnCisrIGluc3RzcGNfX2xjYnJhY2s9J3snCisgc2hpZnQKKyBhbGxf dGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1v cmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2snCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGly CisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAx CisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0Cisg Y2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcmNi cmFjayAnfScKKyB0c3Q9cmNicmFjaworIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fcmNicmFjaz0k MScKKysgaW5zdHNwY19fcmNicmFjaz0nfScKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9 JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5k IHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJx YnJhY2sgbGNicmFjayByY2JyYWNrJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09 ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2lu X2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAk KiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHNwYWNlICcgJwor IHRzdD1zcGFjZQorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fc3BhY2U9JDEnCisrIGluc3RzcGNf X3NwYWNlPScgJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFy IHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJj YnJhY2sgc3BhY2UnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxk ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWls LWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyBy ZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgdGFiICcJJworIHRzdD10YWIKKyBz aGlmdAorIGV2YWwgJ2luc3RzcGNfX3RhYj0kMScKKysgaW5zdHNwY19fdGFiPScJJworIHNoaWZ0 CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwg bGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiJwor IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg Y2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRl bT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIGxpbmVmZWVkICcKJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVz dGRpcgorIHRzdD1saW5lZmVlZAorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fbGluZWZlZWQ9JDEn CisrIGluc3RzcGNfX2xpbmVmZWVkPScKJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0n IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQg cGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVz IG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFi cmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkJworIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRp cgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0n IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkJworIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAK KyBkZXN0ZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCcKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGJhY2tzcGFjZSAkJ1xiJworIHRzdD1i YWNrc3BhY2UKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX2JhY2tzcGFjZT0kMScKKysgaW5zdHNw Y19fYmFja3NwYWNlPSQnXGInCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50 IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMg Y29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxj YnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlJworIGlzX2luX2xpc3Qg ZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIg aW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3Rk aXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIGZvcm1mZWVkICQnXGYnCisgdHN0PWZvcm1mZWVkCisgc2hpZnQKKyBldmFsICdp bnN0c3BjX19mb3JtZmVlZD0kMScKKysgaW5zdHNwY19fZm9ybWZlZWQ9JCdcZicKKyBzaGlmdAor IGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg YmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0 IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxl c3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5l ZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRl bT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAi ICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY2FycmlhZ2Vy ZXQgJCdccicKKyB0c3Q9Y2FycmlhZ2VyZXQKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX2NhcnJp YWdlcmV0PSQxJworKyBpbnN0c3BjX19jYXJyaWFnZXJldD0kJ1xyJworIHNoaWZ0CisgYWxsX3Rl c3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJz bGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3Jl IGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJh Y2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCcKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIK KyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEK KyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFk cmlncmFwaDAgJ0AmdEAnIGZhaWwtYnVpbGRkaXIKKyB0c3Q9cXVhZHJpZ3JhcGgwCisgc2hpZnQK KyBldmFsICdpbnN0c3BjX19xdWFkcmlncmFwaDA9JDEnCisrIGluc3RzcGNfX3F1YWRyaWdyYXBo MD0nQCZ0QCcKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xv biBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2Jy YWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVh ZHJpZ3JhcGgwJworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyCisgaXRl bT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAwCisgYnVp bGRkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBh bXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwJworIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIg aW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGgxICdA PDpAJworIHRzdD1xdWFkcmlncmFwaDEKKyBzaGlmdAorIGV2YWwgJ2luc3RzcGNfX3F1YWRyaWdy YXBoMT0kMScKKysgaW5zdHNwY19fcXVhZHJpZ3JhcGgxPSdAPDpAJworIHNoaWZ0CisgYWxsX3Rl c3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJz bGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3Jl IGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJh Y2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxJwor IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg Y2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRl bT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMiAnQDo+QCcKKyB0c3Q9cXVhZHJpZ3Jh cGgyCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19xdWFkcmlncmFwaDI9JDEnCisrIGluc3RzcGNf X3F1YWRyaWdyYXBoMj0nQDo+QCcKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNl bnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51 cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sg bGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2Fy cmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDInCisgaXNfaW5f bGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIg JCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9i bGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGgzICdAU3xAJworIHRzdD1xdWFkcmlncmFwaDMKKyBz aGlmdAorIGV2YWwgJ2luc3RzcGNfX3F1YWRyaWdyYXBoMz0kMScKKysgaW5zdHNwY19fcXVhZHJp Z3JhcGgzPSdAU3xAJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0 cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1h IGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJl dCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMnCisg aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmlu ZV9wcm9ibGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGg0IEAlOkAKKyB0c3Q9cXVhZHJpZ3JhcGg0 Cisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19xdWFkcmlncmFwaDQ9JDEnCisrIGluc3RzcGNfX3F1 YWRyaWdyYXBoND1AJTpACisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxl ZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29t bWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJh Y2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdl cmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBx dWFkcmlncmFwaDQnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxk ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWls LWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyBy ZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYV9iICdhIGInCisgdHN0PWFfYgor IHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fYV9iPSQxJworKyBpbnN0c3BjX19hX2I9J2EgYicKKyBz aGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBl IGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVx dWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRh YiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1 YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2InCisg aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmlu ZV9wcm9ibGVtYXRpY19zdHJpbmcgYV9fYiAnYSAgYicKKyB0c3Q9YV9fYgorIHNoaWZ0CisgZXZh bCAnaW5zdHNwY19fYV9fYj0kMScKKysgaW5zdHNwY19fYV9fYj0nYSAgYicKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFu ZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRp bGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3Mg bW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVl ZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBo MSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYicKKyBpc19p bl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2Ug IiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBhX2xmX2IgJ2EKYicgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIK KyB0c3Q9YV9sZl9iCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19hX2xmX2I9JDEnCisrIGluc3Rz cGNfX2FfbGZfYj0nYQpiJworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBs ZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNv bW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2Jy YWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFn ZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMg cXVhZHJpZ3JhcGg0IGFfYiBhX19iIGFfbGZfYicKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIg ZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmln cmFwaDAgYV9sZl9iJworIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIgZmFp bC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBsaW5lZmVlZCBhX2xmX2InCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBkb3Rkb3Rk b3QgLi4uCisgdHN0PWRvdGRvdGRvdAorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fZG90ZG90ZG90 PSQxJworKyBpbnN0c3BjX19kb3Rkb3Rkb3Q9Li4uCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19s aXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVy c2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFy IHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFj ayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZv cm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgy IHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iIGRvdGRvdGRvdCcKKyBp c19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5l X3Byb2JsZW1hdGljX3N0cmluZyBkb3Nkcml2ZSBhOgorIHRzdD1kb3Nkcml2ZQorIHNoaWZ0Cisg ZXZhbCAnaW5zdHNwY19fZG9zZHJpdmU9JDEnCisrIGluc3RzcGNfX2Rvc2RyaXZlPWE6Cisgc2hp ZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBj YXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVh bCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIg bGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFk cmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2Ig YV9sZl9iIGRvdGRvdGRvdCBkb3Nkcml2ZScKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBp dGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBp c19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBjYXNl ICIgJCogIiBpbgorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBtaXNjZ2xv YjEgJz9bYS16XSonCisgdHN0PW1pc2NnbG9iMQorIHNoaWZ0CisgZXZhbCAnaW5zdHNwY19fbWlz Y2dsb2IxPSQxJworKyBpbnN0c3BjX19taXNjZ2xvYjE9Jz9bYS16XSonCisgc2hpZnQKKyBhbGxf dGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1v cmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQg YmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEg cXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iIGRv dGRvdGRvdCBkb3Nkcml2ZSBtaXNjZ2xvYjEnCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisg aXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisg aXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgY2Fz ZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbWlzY2ds b2IyICcuKj9bMC05XScKKyB0c3Q9bWlzY2dsb2IyCisgc2hpZnQKKyBldmFsICdpbnN0c3BjX19t aXNjZ2xvYjI9JDEnCisrIGluc3RzcGNfX21pc2NnbG9iMj0nLio/WzAtOV0nCisgc2hpZnQKKyBh bGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0 aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNz IG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZl ZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFw aDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9i IGRvdGRvdGRvdCBkb3Nkcml2ZSBtaXNjZ2xvYjEgbWlzY2dsb2IyJworIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4K KyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIK KyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyB1bnNldCBkZWYKKyB0ZXN0IDAg LWd0IDAKKyB0ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNh cmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFs IGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBs aW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRy aWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBh X2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9iMSBtaXNjZ2xvYjInCisgcGxhbl8gOTQK KyB0ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHg5NCA9IHh1bmtub3duCisgdGVz dCB4OTQgPSB4bGF0ZXIKKyB0ZXN0IHg5NCA9IHhsYXp5CisgdGVzdCB4OTQgPSB4bm93CisgdGVz dCA5NCAtZ2UgMAorIGVjaG8gMS4uOTQKMS4uOTQKKyBoYXZlX3RhcF9wbGFuXz15ZXMKKysgcHdk Cisgb2N3ZD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBjcmVhdGVfaW5w dXRfZGF0YQorIG1rZGlyIHN1YgorIHVuaW5kZW50CisgdGVzdCB4ID0geAorKyBzZWQgLWUgJ3Mv ICAqIyAuKi8vJworKyBwcmludGYgJyVzXG4nICcKICAvXiQvYiAgICAgICAgICAgICAgICAgICAg IyBOb3RoaW5nIHRvIGRvIGZvciBlbXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAg ICAgIyBHZXQgeDxpbmRlbnQ+IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAg ICAgICAgICAgIyBObyBwcmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAg ICAgICAgICAgICAgICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRl cm4gc3BhY2UuCiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50PiBp biBwYXR0ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzogeDxpbmRl bnQ+IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAgICAgICAgICAg ICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3BhY2UsIGFuZAogIGgg ICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRvIGhvbGQgc3BhY2UuCiAg cy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGluZGVudD4gaW4gcGF0dGVybiBz cGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgZXhjaGFuZ2Ugd2l0aCB0aGUg YWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAgcy9eeFwoLipcKVxuXDEvLyAgICAgICAg ICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJvbSA8bGluZT4uCiAgcy9eeC4qXG4vLyAgICAg ICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4gd2hlbiB0aGVyZSBpcyBubyBsZWFkaW5nIDxpbmRl bnQ+LgonCisgc2VkX3VuaW5kZW50X3Byb2c9JwogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAg ICBzL15cKFsJIF0qXCkuKi94XDEvCiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhc KC4qXClcblwxLy8KICBzL154Lipcbi8vJworIHNlZCAnCiAgL14kL2IKICB4CiAgL14kL3sKICAg IGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAg cy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8nCisgOgorIDoKKyA6CisgOgorIDoKKyA6Cisg dW5pbmRlbnQKKyB0ZXN0ICd4CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkg XSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEv LwogIHMvXnguKlxuLy8nID0geAorIHNlZCAnCiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAg IHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwo LipcKVxuXDEvLwogIHMvXnguKlxuLy8nCisgdW5pbmRlbnQKKyB0ZXN0ICd4CiAgL14kL2IKICB4 CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xu LiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8nID0geAorIHNlZCAnCiAg L14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwog IGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8nCisgYWNs b2NhbC0xLjExYSAtV2Vycm9yCisgYXV0b2NvbmYgLUIgL25vL3N1Y2gvZGlyCisgYXV0b21ha2Ut MS4xMWEgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJlLmluOjU6IGluc3RhbGxp bmcgYC4vYXItbGliJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZh bCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zcXVvdGV9JworKyB0ZXN0X3N0cmluZz0nJ1wnJycK KyB0ZXN0ICd4J1wnJycgJyE9JyB4CisgbWtkaXIgJy4vJ1wnJycKKyBmb3Igd2hlcmUgaW4gYnVp bGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vJ1wnJycKKyBkZXN0PS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZQorIGNkICcuLydcJycnCisg cj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLydcJyctcHJlZml4JwpjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNh ZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9J25vdCBvaycKKyBkZXNjcmlw dGlvbj0nc3F1b3RlIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3F1b3Rl CisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3Qgc3F1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IK KyBpdGVtPXNxdW90ZQorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGRpcmVj dGl2ZT1UT0RPCisgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCisgcmVzdWx0XyAn bm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdzcXVvdGUg aW4gYnVpbGRkaXInCisgc2V0ICt4Cm5vdCBvayAxIC0gc3F1b3RlIGluIGJ1aWxkZGlyICMgVE9E TyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IGluc3RzcGMudGFwIDEgLSBzcXVvdGUg aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCAnbm90IG9rJyA9IG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRo IGJyb2tlbiAnc2V0IC1lLicKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJl IGluCisgYnVpbGQ9YnVpbGQtc3F1b3RlCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLydcJycnCisgbWtkaXIgYnVpbGQtc3F1b3RlCisgY2QgYnVpbGQtc3F1b3Rl Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLydcJyctcHJlZml4JwpjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQK Y2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLydcJycnCisgZmlsZT0nLi8nXCcnJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2Vb MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2J1aWxkLXNxdW90ZScKdGVzdCAteiAiLyctcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvJy1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8n LyctcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vJwogKCBj ZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vJyAm JiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLyctcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9m b28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8nLyctcHJlZml4L2ZvbycKdGVzdCAteiAiLyctcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJy8n LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8nLyctcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3Vi L25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVm aXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8nLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vIgovcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8nLyctcHJl Zml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8nLyctcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi8nLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycv Jy1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvJy8nLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9m b28vc3ViLycKdGVzdCAteiAiLyctcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9mb28iCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9mb28nCnRlc3QgLXogIi8nLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycv Jy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8nLyctcHJlZml4L2ZvbycKdGVzdCAt eiAiLyctcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJy8nLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvJy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8nLyctcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8nLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLycvJy1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8nLyctcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLycvJy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1zcXVvdGUnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLycvLi8nLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwptYWtlOiAqKiogW3Rlc3QtaW5zdF0gRXJyb3IgMQorIHI9J25vdCBvaycK KyBkZXNjcmlwdGlvbj0nc3F1b3RlIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0 IHNxdW90ZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHNxdW90ZSBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1zcXVvdGUKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj0nbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uJworIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAnbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uJyAtLSAnc3F1b3RlIGluIGRlc3RkaXInCisgc2V0ICt4Cm5v dCBvayAyIC0gc3F1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlv bgpYRkFJTDogaW5zdHNwYy50YXAgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0 YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNl ICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ25vdCBvaycg PSBvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIHRl c3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX2RxdW90ZX0nCisrIHRlc3Rfc3RyaW5nPSciJworIHRlc3QgJ3giJyAnIT0nIHgKKyBta2Rp ciAnLi8iJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWls ZD0nLi8iJworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt ZHF1b3RlCisgY2QgJy4vIicKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvIi1wcmVm aXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZp Z3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj0n bm90IG9rJworIGRlc2NyaXB0aW9uPSdkcXVvdGUgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9f ZmFpbCBidWlsZCBkcXVvdGUKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBkcXVvdGUgc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVh ZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09ZHF1b3RlCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgor IHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmctc3RhbmRpbmcgbGltaXRh dGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcgbGltaXRh dGlvbicgLS0gJ2RxdW90ZSBpbiBidWlsZGRpcicKKyBzZXQgK3gKbm90IG9rIDMgLSBkcXVvdGUg aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogaW5zdHNw Yy50YXAgMyAtIGRxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGly cyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdub3Qgb2snID0gb2sKKyA6IEZvciBs ZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciB3aGVyZSBpbiBidWlsZCBk ZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1kcXVvdGUKKyBkZXN0PScvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIicKKyBta2RpciBidWlsZC1kcXVvdGUKKyBj ZCBidWlsZC1kcXVvdGUKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvIi1wcmVmaXgn CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVj a2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp bGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4g R05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVj a2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIv bGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvIicKKyBmaWxlPScuLyInCisgbWFrZSAtZSB0ZXN0LWluc3QK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvYnVpbGQtZHF1b3RlJwp0ZXN0IC16ICIvIi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8iLyItcHJlZml4 L2ZvbyIKL2Jpbi9zaDogLWM6IGxpbmUgMDogdW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBm b3IgbWF0Y2hpbmcgYCInCi9iaW4vc2g6IC1jOiBsaW5lIDE6IHN5bnRheCBlcnJvcjogdW5leHBl Y3RlZCBlbmQgb2YgZmlsZQptYWtlWzFdOiAqKiogW2luc3RhbGwtZGlzdF9mb29leGVjU0NSSVBU U10gRXJyb3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWRxdW90ZScKbWFrZTogKioqIFtpbnN0YWxsLWFtXSBF cnJvciAyCisgcj0nbm90IG9rJworIGRlc2NyaXB0aW9uPSdkcXVvdGUgaW4gZGVzdGRpcicKKyBl eHBlY3RlZF90b19mYWlsIGRlc3QgZHF1b3RlCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZHF1 b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBp dGVtPWRxdW90ZQorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGRpcmVjdGl2 ZT1UT0RPCisgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCisgcmVzdWx0XyAnbm90 IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdkcXVvdGUgaW4g ZGVzdGRpcicKKyBzZXQgK3gKbm90IG9rIDQgLSBkcXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiBpbnN0c3BjLnRhcCA0IC0gZHF1b3RlIGluIGRl c3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVy biAwCisgdGVzdCAnbm90IG9rJyA9IG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRoIGJyb2tl biAnc2V0IC1lLicKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JworIGV2YWwg J3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYnF1b3RlfScKKysgdGVzdF9zdHJpbmc9J2AnCisgdGVz dCAneGAnICchPScgeAorIG1rZGlyICcuL2AnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBj YXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL2AnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1icXVvdGUKKyBjZCAnLi9gJworIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggJy9gLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcg ZGlyZWN0b3J5IG5hbWUKKyByPSdub3Qgb2snCisgZGVzY3JpcHRpb249J2JxdW90ZSBpbiBidWls ZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJxdW90ZQorIGNhc2UgJDEgaW4KKyBpc19p bl9saXN0IGJxdW90ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFt cGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1icXVvdGUKKyBzaGlm dAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj0n bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJworIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAn bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJyAtLSAnYnF1b3RlIGluIGJ1aWxkZGlyJworIHNldCAr eApub3Qgb2sgNSAtIGJxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uClhGQUlMOiBpbnN0c3BjLnRhcCA1IC0gYnF1b3RlIGluIGJ1aWxkZGlyICMgVE9ETyBs b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ25v dCBvaycgPSBvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisg Zm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLWJx dW90ZQorIGRlc3Q9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9gJworIG1r ZGlyIGJ1aWxkLWJxdW90ZQorIGNkIGJ1aWxkLWJxdW90ZQorIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggJy9gLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9w L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4 IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNs dWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2Mu Li4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2Ug YWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1E UEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8y IC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5v IC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1m IHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ug c291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RE SVI9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9gJworIGZpbGU9Jy4vYCcK KyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1icXVvdGUnCnRlc3QgLXogIi9gLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2AvYC1wcmVmaXgvZm9vIgovYmluL3NoOiAtYzogbGluZSAwOiB1bmV4cGVjdGVk IEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgYCcKL2Jpbi9zaDogLWM6IGxpbmUgMTog c3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlCm1ha2VbMV06ICoqKiBbaW5zdGFs bC1kaXN0X2Zvb2V4ZWNTQ1JJUFRTXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5 IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYnF1b3RlJwptYWtl OiAqKiogW2luc3RhbGwtYW1dIEVycm9yIDIKKyByPSdub3Qgb2snCisgZGVzY3JpcHRpb249J2Jx dW90ZSBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBicXVvdGUKKyBjYXNlICQx IGluCisgaXNfaW5fbGlzdCBicXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09YnF1b3RlCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgor IHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmctc3RhbmRpbmcgbGltaXRh dGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcgbGltaXRh dGlvbicgLS0gJ2JxdW90ZSBpbiBkZXN0ZGlyJworIHNldCAreApub3Qgb2sgNiAtIGJxdW90ZSBp biBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IGluc3RzcGMu dGFwIDYgLSBicXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBp bgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdub3Qgb2snID0gb2sKKyA6IEZvciBsZXNz ZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0 X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zaGFycH0nCisrIHRl c3Rfc3RyaW5nPScjJworIHRlc3QgeCMgJyE9JyB4CisgbWtkaXIgLi8jCisgZm9yIHdoZXJlIGlu IGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPS4vIworIGRlc3Q9L2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAKKyBjZCAuLyMKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC8jLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUg d29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9J25vdCBvaycKKyBkZXNjcmlwdGlvbj0nc2hhcnAg aW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBzaGFycAorIGNhc2UgJDEgaW4K KyBpc19pbl9saXN0IHNoYXJwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXNoYXJwCisg c2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFz b249J2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8g LXIgJ2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicgLS0gJ3NoYXJwIGluIGJ1aWxkZGlyJworIHNl dCAreApub3Qgb2sgNyAtIHNoYXJwIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KWEZBSUw6IGluc3RzcGMudGFwIDcgLSBzaGFycCBpbiBidWlsZGRpciAjIFRPRE8g bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdu b3Qgb2snID0gb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJwor IGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1z aGFycAorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMKKyBta2Rp ciBidWlsZC1zaGFycAorIGNkIGJ1aWxkLXNoYXJwCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvIy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv cC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNh bmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9t a2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4 ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4g bm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVz ZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2Nj MwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJm YWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTog Y3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAx LjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FH RT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBz b3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3Nv dXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl Lm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMKKyBmaWxlPS4vIworIG1ha2UgLWUg dGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXNoYXJwJwp0ZXN0IC16ICIvL2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8vZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8jLy9mb28nCnRlc3QgLXogIi8vZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28iCiAvcC9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8jLy9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvIy8vZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLy9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2Zv byIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLyMvL2ZvbycKdGVzdCAteiAiLy9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2ZvbyIKIC9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2Zvby9zdWIvJwog L3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLyMvL2Zvby9zdWIvJwp0ZXN0IC16ICIvL2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8vZm9vIgovcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28vc3ViJwogKCBjZCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCnRlc3QgLXogIi8vZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8v Zm9vL3N1Yi8nCnRlc3QgLXogIi8vZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Iy8vZm9vJwp0ZXN0IC16ICIvL2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8vZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9m b28nCnRlc3QgLXogIi8vZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8jLy9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvIy8vZm9vL3N1YicKdGVzdCAteiAiLy9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyMvL2ZvbyIKL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8vZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvIy8vZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1zaGFycCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIy8uLyMtcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCm1ha2U6ICoqKiBbdGVzdC1pbnN0XSBFcnJvciAxCisgcj0nbm90IG9r JworIGRlc2NyaXB0aW9uPSdzaGFycCBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBzaGFycAorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHNoYXJwIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXNoYXJwCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicgLS0gJ3NoYXJwIGluIGRlc3RkaXInCisgc2V0ICt4Cm5vdCBv ayA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhG QUlMOiBpbnN0c3BjLnRhcCA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGlu ZyBsaW1pdGF0aW9uCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2Vl cF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdub3Qgb2snID0gb2sK KyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciB0ZXN0X25h bWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19k b2xsYXJ9JworKyB0ZXN0X3N0cmluZz0nJCcKKyB0ZXN0ICd4JCcgJyE9JyB4CisgbWtkaXIgJy4v JCcKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4v JCcKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvbGxh cgorIGNkICcuLyQnCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyQtcHJlZml4Jwpj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6 IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9J25vdCBv aycKKyBkZXNjcmlwdGlvbj0nZG9sbGFyIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwg YnVpbGQgZG9sbGFyCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdy YXBoMCBhX2xmX2IKKyBpdGVtPWRvbGxhcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1 cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24n CisgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24n IC0tICdkb2xsYXIgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm5vdCBvayA5IC0gZG9sbGFyIGluIGJ1 aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IGluc3RzcGMudGFw IDkgLSBkb2xsYXIgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgor IGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4K KyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCAnbm90IG9rJyA9IG9rCisgOiBGb3IgbGVzc2Vy IHNoZWxscyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAor IGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtZG9sbGFyCisgZGVzdD0nL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyQnCisgbWtkaXIgYnVpbGQtZG9sbGFyCisgY2QgYnVp bGQtZG9sbGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyQtcHJlZml4JwpjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3Vm Zml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBu ZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhl Y3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVS U0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1G IC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v YmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLyQnCisgZmlsZT0nLi8kJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2Vb MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2J1aWxkLWRvbGxhcicKdGVzdCAteiAiL3ByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy9wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8vcHJlZml4L2ZvbycKdGVzdCAteiAiL3ByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy9wcmVmaXgvZm9v IgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQp0ZXN0IC16ICIvcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8vcHJlZml4L2Zv bycKdGVzdCAteiAiL3ByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy9wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28vc3ViLycKIC9w L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8vcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3By ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLy9wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9m b28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy9wcmVm aXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL3ByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Ly9wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvL3ByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9i YXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiL3ByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy9wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLy9wcmVmaXgvZm9vJwp0ZXN0IC16ICIvcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLy9wcmVmaXgvZm9vJwp0ZXN0IC16ICIvcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLy9wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8vcHJlZml4L2Zv by9zdWInCnRlc3QgLXogIi9wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8vcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvL3ByZWZpeC9mb28vc3ViJwog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8vcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtZG9s bGFyJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8vLi8t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1ha2U6ICoqKiBbdGVzdC1pbnN0XSBFcnJvciAxCisg cj0nbm90IG9rJworIGRlc2NyaXB0aW9uPSdkb2xsYXIgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90 b19mYWlsIGRlc3QgZG9sbGFyCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWRvbGxh cgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCisgcmVzdWx0XyAnbm90IG9rJyAtRCBU T0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdkb2xsYXIgaW4gZGVzdGRpcicK KyBzZXQgK3gKbm90IG9rIDEwIC0gZG9sbGFyIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbgpYRkFJTDogaW5zdHNwYy50YXAgMTAgLSBkb2xsYXIgaW4gZGVzdGRpciAj IFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0 ZXN0ICdub3Qgb2snID0gb2sKKyA6IEZvciBsZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQg LWUuJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9z dHJpbmc9JHtpbnN0c3BjX19iYW5nfScKKysgdGVzdF9zdHJpbmc9JyEnCisgdGVzdCAneCEnICch PScgeAorIG1rZGlyICcuLyEnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVy ZSBpbgorIGJ1aWxkPScuLyEnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1iYW5nCisgY2QgJy4vIScKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4 ICcvIS1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Av YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyBmaWxlPScuLyEnCisg bWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIScKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv bycKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZp eC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvIS1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIv JwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAi LyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvIS1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIv JwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8hLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5n LyEtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv bycKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbyIKL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5n LyEtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEt cHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vc3Vi L25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtYmFuZy8uLyEtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtYmFuZy8uLyEtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJh bmcvLi8hLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL25vYmFzZScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4v IS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEt cHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNj cmlwdGlvbj0nYmFuZyBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJhbmcK KyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBiYW5nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBp dGVtPWJhbmcKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9 CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2JhbmcgaW4gYnVpbGRkaXIn Cisgc2V0ICt4Cm9rIDExIC0gYmFuZyBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAxMSAt IGJhbmcgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNl ICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAnLi8hJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1i YW5nCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi8hJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1iYW5nIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2Qg dStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJy4vIScgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtYmFuZworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hl cmUgaW4KKyBidWlsZD1idWlsZC1iYW5nCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLyEnCisgbWtkaXIgYnVpbGQtYmFuZworIGNkIGJ1aWxkLWJhbmcKKyByPW9r CisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvIS1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBm b3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv IScKKyBmaWxlPScuLyEnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYmFuZycK dGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8hLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEv IS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvIS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLyEtcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h ICkKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8hLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLyEt cHJlZml4L2ZvbycKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8hLXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLyEtcHJl Zml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3Qg LXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLyEtcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLyEtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCnRlc3QgLXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8hLXBy ZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8hLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAi LyEtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvIS8hLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8h LXByZWZpeC9mb28nCnRlc3QgLXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8hLyEtcHJlZml4L2ZvbycKdGVzdCAteiAiLyEtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv IS8hLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLyEvIS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8hLyEtcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8hLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgv Zm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8hLyEtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvIS1wcmVmaXgv Zm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1iYW5nJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8hLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8uLyEtcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvIS8uLyEtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyEvLi8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvLi8hLXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvIS8uLyEtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIS8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLy4vIS1wcmVm aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvIS8uLyEtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyEvLi8hLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8hLy4vIS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyEvLi8hLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8hLy4vIS1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8hLy4vIS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nYmFuZyBp biBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBiYW5nCisgY2FzZSAkMSBpbgorIGlz X2luX2xpc3QgYmFuZyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQg YV9sZl9iCisgaXRlbT1iYW5nCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisg ZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdiYW5nIGlu IGRlc3RkaXInCisgc2V0ICt4Cm9rIDEyIC0gYmFuZyBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMu dGFwIDEyIC0gYmFuZyBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gYnVpbGQtYmFuZyAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLyEnCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1iYW5nICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIScgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBj aG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1iYW5nICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvIScKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19s aXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYnNsYXNofScKKysgdGVzdF9zdHJp bmc9J1wnCisgdGVzdCAneFwnICchPScgeAorIG1rZGlyICcuL1wnCisgZm9yIHdoZXJlIGluIGJ1 aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL1wnCisgZGVzdD0vaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gKKyBjZCAnLi9cJworIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9cLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29s dXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPSdub3Qgb2snCisgZGVzY3JpcHRpb249J2Jz bGFzaCBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJzbGFzaAorIGNhc2Ug JDEgaW4KKyBpc19pbl9saXN0IGJzbGFzaCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1i c2xhc2gKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9E TworIHJlYXNvbj0nbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJworIHJlc3VsdF8gJ25vdCBvaycg LUQgVE9ETyAtciAnbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJyAtLSAnYnNsYXNoIGluIGJ1aWxk ZGlyJworIHNldCAreApub3Qgb2sgMTMgLSBic2xhc2ggaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmct c3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogaW5zdHNwYy50YXAgMTMgLSBic2xhc2ggaW4gYnVp bGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVy biAwCisgdGVzdCAnbm90IG9rJyA9IG9rCisgOiBGb3IgbGVzc2VyIHNoZWxscyB3aXRoIGJyb2tl biAnc2V0IC1lLicKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisg YnVpbGQ9YnVpbGQtYnNsYXNoCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL1wnCisgbWtkaXIgYnVpbGQtYnNsYXNoCisgY2QgYnVpbGQtYnNsYXNoCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnL1wtcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9y IHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5s aWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wn CisgZmlsZT0nLi9cJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWJzbGFzaCcK dGVzdCAteiAiL1wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9cLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wv XC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvXC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cL1wtcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h ICkKdGVzdCAteiAiL1wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9cLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cL1wt cHJlZml4L2ZvbycKdGVzdCAteiAiL1wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9cLXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cL1wtcHJl Zml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3Qg LXogIi9cLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cL1wtcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cL1wtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCnRlc3QgLXogIi9cLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9cLXBy ZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9cLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAi L1wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvXC9cLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC9c LXByZWZpeC9mb28nCnRlc3QgLXogIi9cLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9cL1wtcHJlZml4L2ZvbycKdGVzdCAteiAiL1wtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv XC9cLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL1wvXC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9cL1wtcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi9cLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgv Zm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9cL1wtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvXC1wcmVmaXgv Zm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1ic2xhc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvLi9cLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cLy4vXC1wcmVmaXgv Zm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9cLy4vXC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvXC8uL1wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC8uL1wtcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9cLy4vXC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gn CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvLi9cLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9cLy4vXC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvLi9cLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXC8uL1wtcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL1wvLi9cLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvXC8uL1wtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wvLi9cLXByZWZp eC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL1wvLi9cLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdic2xh c2ggaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYnNsYXNoCisgY2FzZSAkMSBp bgorIGlzX2luX2xpc3QgYnNsYXNoIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBs aW5lZmVlZCBhX2xmX2IKKyBpdGVtPWJzbGFzaAorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAt LSAnYnNsYXNoIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDE0IC0gYnNsYXNoIGluIGRlc3RkaXIK UEFTUzogaW5zdHNwYy50YXAgMTQgLSBic2xhc2ggaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJl dHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWJzbGFzaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wnCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1i c2xhc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cJyAtdHlwZSBkICch JyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWJz bGFzaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1wnCisgZm9yIHRlc3Rf bmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNf X2FtcGVyc2FuZH0nCisrIHRlc3Rfc3RyaW5nPScmJworIHRlc3QgJ3gmJyAnIT0nIHgKKyBta2Rp ciAnLi8mJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWls ZD0nLi8mJworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt YW1wZXJzYW5kCisgY2QgJy4vJicKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvJi1w cmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNv bmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisg cj0nbm90IG9rJworIGRlc2NyaXB0aW9uPSdhbXBlcnNhbmQgaW4gYnVpbGRkaXInCisgZXhwZWN0 ZWRfdG9fZmFpbCBidWlsZCBhbXBlcnNhbmQKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBhbXBl cnNhbmQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YW1wZXJzYW5kCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicgLS0gJ2FtcGVyc2FuZCBpbiBidWlsZGRpcicKKyBzZXQgK3gK bm90IG9rIDE1IC0gYW1wZXJzYW5kIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KWEZBSUw6IGluc3RzcGMudGFwIDE1IC0gYW1wZXJzYW5kIGluIGJ1aWxkZGlyICMg VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRl c3QgJ25vdCBvaycgPSBvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAt ZS4nCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1 aWxkLWFtcGVyc2FuZAorIGRlc3Q9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8mJworIG1rZGlyIGJ1aWxkLWFtcGVyc2FuZAorIGNkIGJ1aWxkLWFtcGVyc2FuZAorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8mLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmls ZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZv ciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBj b21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBv IC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMv c291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3Vi L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8y ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8m JworIGZpbGU9Jy4vJicKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1hbXBlcnNh bmQnCnRlc3QgLXogIi8mLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvJi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3Rh bGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8mLyYtcHJlZml4L2ZvbycKdGVzdCAteiAiLyYtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8mLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJh c2UuYSApCnRlc3QgLXogIi8mLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvJi1wcmVmaXgvZm9vIgogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Ji8mLXByZWZpeC9mb28nCnRlc3QgLXogIi8mLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvJi1wcmVmaXgvZm9vIgog L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8m LXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2Zvby9zdWIvJwp0 ZXN0IC16ICIvJi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8mLXByZWZpeC9mb28vc3ViJwog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8mLXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvJi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2ZvbyIK IC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYv Ji1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvJi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3Qg LXogIi8mLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyYvJi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LyYvJi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvJi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8mLXByZWZpeC9mb28nCnRlc3QgLXogIi8mLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLyYvJi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvJi8mLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvJi1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJl Zml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvJi8mLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLyYtcHJl Zml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYW1wZXJzYW5kJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8uLyYt cHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvJi8uLyYtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFzZS5k YXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvLi8m LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvJi8uLyYtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJi8uLyYtcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8m Ly4vJi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJi8uLyYtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYv Li8mLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8mLy4vJi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyYvLi8mLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mLy4v Ji1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8mLy4vJi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlv bj0nYW1wZXJzYW5kIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGFtcGVyc2Fu ZAorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGFtcGVyc2FuZCBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hbXBlcnNhbmQKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgJycgLXIgJycgLS0gJ2FtcGVyc2FuZCBpbiBkZXN0ZGlyJworIHNldCAreApvayAx NiAtIGFtcGVyc2FuZCBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFwIDE2IC0gYW1wZXJzYW5k IGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVw X3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3Jm XyBidWlsZC1hbXBlcnNhbmQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8m JworIHRlc3QgMiAtZ3QgMAorIGZpbmQgYnVpbGQtYW1wZXJzYW5kICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvJicgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1v ZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1hbXBlcnNhbmQgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8mJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVz X2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19wZXJjZW50fScKKysgdGVzdF9z dHJpbmc9JQorIHRlc3QgeCUgJyE9JyB4CisgbWtkaXIgLi8lCisgZm9yIHdoZXJlIGluIGJ1aWxk IGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPS4vJQorIGRlc3Q9L2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudAorIGNkIC4vJQorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggLyUtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUg b2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK KyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQKKyBmaWxlPS4vJQorIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUnCnRlc3QgLXogIi8l LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLXByZWZpeC9mb28nCnRlc3QgLXogIi8lLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1w cmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIv JS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1w ZXJjZW50LyUtcHJlZml4L2ZvbycKdGVzdCAteiAiLyUtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50 LyUtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8lLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3Vi JwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLyUtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9m b28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvJS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCnRlc3QgLXogIi8lLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLXByZWZpeC9mb28nCnRlc3QgLXogIi8lLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIv JS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVm aXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4 L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50 Ly4vJS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv Li8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9zdWIv bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9m b28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4 L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28v c3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUt cHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3BlcmNlbnQgaW4gYnVpbGRkaXIn CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBwZXJjZW50CisgY2FzZSAkMSBpbgorIGlzX2luX2xp c3QgcGVyY2VudCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVy c2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1wZXJjZW50Cisgc2hpZnQK KyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICcnIC1yICcnIC0tICdwZXJjZW50IGluIGJ1aWxkZGlyJworIHNldCAreApvayAx NyAtIHBlcmNlbnQgaW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50YXAgMTcgLSBwZXJjZW50IGlu IGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g Li8lIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQKKyB0 ZXN0IDIgLWd0IDAKKyBmaW5kIC4vJSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50IC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3gg J3t9JyAnOycKKyBybSAtcmYgLi8lIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGlu CisgYnVpbGQ9YnVpbGQtcGVyY2VudAorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLyUKKyBta2RpciBidWlsZC1wZXJjZW50CisgY2QgYnVpbGQtcGVyY2VudAorIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyUtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBm b3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8l CisgZmlsZT0uLyUKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1wZXJjZW50Jwp0 ZXN0IC16ICIvJS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8l LXByZWZpeC9mb28nCnRlc3QgLXogIi8lLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvJS1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQp0ZXN0IC16ICIvJS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvJS1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvJS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUtcHJlZml4L2ZvbyIKIC9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvJS1wcmVm aXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiLyUtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvJS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvJS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKdGVzdCAteiAiLyUtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUtcHJl Zml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIv JS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8lLyUtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLyUt cHJlZml4L2ZvbycKdGVzdCAteiAiLyUtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLyUvJS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvJS1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8l LyUtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvJS8lLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LyUvJS1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLyUtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LyUvJS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8lLXByZWZpeC9m b28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2J1aWxkLXBlcmNlbnQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLy4vJS1wcmVmaXgv Zm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8uLyUtcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lLy4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gn CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvLi8lLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8lLy4vJS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8uLyUtcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLyUvLi8lLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvJS8uLyUtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyUvLi8lLXByZWZp eC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLyUvLi8lLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdwZXJj ZW50IGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHBlcmNlbnQKKyBjYXNlICQx IGluCisgaXNfaW5fbGlzdCBwZXJjZW50IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXBlcmNlbnQKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGlu CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIg JycgLS0gJ3BlcmNlbnQgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgMTggLSBwZXJjZW50IGluIGRl c3RkaXIKUEFTUzogaW5zdHNwYy50YXAgMTggLSBwZXJjZW50IGluIGRlc3RkaXIKKyBjZCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJu IDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1wZXJjZW50IC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lCisgdGVzdCAyIC1ndCAwCisgZmluZCBi dWlsZC1wZXJjZW50IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8lIC10eXBl IGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVp bGQtcGVyY2VudCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvJQorIGZvciB0 ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0 c3BjX19sZWZ0cGFyfScKKysgdGVzdF9zdHJpbmc9JygnCisgdGVzdCAneCgnICchPScgeAorIG1r ZGlyICcuLygnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1 aWxkPScuLygnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1sZWZ0cGFyCisgY2QgJy4vKCcKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvKC1w cmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5h CmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIKKyBmaWxlPScuLygnCisgbWFr ZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKCcKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1s ZWZ0cGFyLygtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4 L2ZvbycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAoIGNkICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8oLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvKC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1s ZWZ0cGFyLygtcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygt cHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nICYmIHJh bmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvKC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8oLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1s ZWZ0cGFyLygtcHJlZml4L2ZvbycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy LygtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4 L2ZvbycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8oLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViJwogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTog TGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8o Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4 L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygt cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8o LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4v KC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8uLygtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2xpYmJhc2Uu YScKKyBkZXNjcmlwdGlvbj0nbGVmdHBhciBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWls IGJ1aWxkIGxlZnRwYXIKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBsZWZ0cGFyIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRy aWdyYXBoMCBhX2xmX2IKKyBpdGVtPWxlZnRwYXIKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycg LS0gJ2xlZnRwYXIgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDE5IC0gbGVmdHBhciBpbiBidWls ZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAxOSAtIGxlZnRwYXIgaW4gYnVpbGRkaXIKKyBjZCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJu IDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAnLi8oJyAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgdGVzdCAyIC1ndCAwCisgZmlu ZCAnLi8oJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy IC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAt cmYgJy4vKCcgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh cgorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWls ZC1sZWZ0cGFyCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygn CisgbWtkaXIgYnVpbGQtbGVmdHBhcgorIGNkIGJ1aWxkLWxlZnRwYXIKKyByPW9rCisgLi4vY29u ZmlndXJlIC0tcHJlZml4ICcvKC1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUg b2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK KyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKCcKKyBmaWxl PScuLygnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtbGVmdHBhcicKdGVzdCAt eiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvKC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygtcHJlZml4L2ZvbyIKIC9wL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVz dCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygtcHJlZml4 L2ZvbycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZpeC9mb28iCiAvcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygtcHJlZml4L2Zv by9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8o LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8oLygtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCnRlc3QgLXogIi8oLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vIgogL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZpeC9m b28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLygtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKC8oLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXByZWZp eC9mb28nCnRlc3QgLXogIi8oLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8oLygtcHJlZml4L2ZvbycKdGVzdCAteiAiLygtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8oLXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLygvKC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygt cHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8oLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vIgov cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLygt cHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu aCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvKC1wcmVmaXgvZm9vL3N1 YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9idWlsZC1sZWZ0cGFyJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8uLygtcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv KC8uLygtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLygvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvLi8oLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvKC8uLygtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvKC8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLy4vKC1wcmVmaXgv Zm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvKC8uLygtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygvLi8oLXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLygvLi8oLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8oLy4vKC1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8oLy4vKC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nbGVmdHBhciBp biBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBsZWZ0cGFyCisgY2FzZSAkMSBpbgor IGlzX2luX2xpc3QgbGVmdHBhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1sZWZ0cGFyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0t ICdsZWZ0cGFyIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDIwIC0gbGVmdHBhciBpbiBkZXN0ZGly ClBBU1M6IGluc3RzcGMudGFwIDIwIC0gbGVmdHBhciBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisg cmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbGVmdHBhciAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLygnCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWls ZC1sZWZ0cGFyICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKCcgLXR5cGUg ZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWls ZC1sZWZ0cGFyICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKCcKKyBmb3Ig dGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5z dHNwY19fcmlnaHRwYXJ9JworKyB0ZXN0X3N0cmluZz0nKScKKyB0ZXN0ICd4KScgJyE9JyB4Cisg bWtkaXIgJy4vKScKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisg YnVpbGQ9Jy4vKScKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyCisgY2QgJy4vKScKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcv KS1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5 IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25m aWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpy bSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgZmlsZT0nLi8pJwor IG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyknCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykt cHJlZml4L2ZvbycKdGVzdCAteiAiLyktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycK ICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LyktcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8pLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i YXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p LXByZWZpeC9mb28nCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVm aXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvKS1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViJwog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAo IGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvKS1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgv Zm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvKS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28nCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViJwp0 ZXN0IC16ICIvKS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbyIKL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdo dHBhci8pLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0 cGFyLyktcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9m b28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1w cmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv Li8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9ub2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvLi8pLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIv bm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9i YXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3Jp cHRpb249J3JpZ2h0cGFyIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcmln aHRwYXIKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCByaWdodHBhciBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1yaWdodHBhcgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAncmln aHRwYXIgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDIxIC0gcmlnaHRwYXIgaW4gYnVpbGRkaXIK UEFTUzogaW5zdHNwYy50YXAgMjEgLSByaWdodHBhciBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfICcuLyknIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgdGVzdCAyIC1ndCAwCisgZmluZCAn Li8pJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhciAt dHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJm ICcuLyknIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy CisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxk LXJpZ2h0cGFyCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykn CisgbWtkaXIgYnVpbGQtcmlnaHRwYXIKKyBjZCBidWlsZC1yaWdodHBhcgorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggJy8pLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHls ZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNo ZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNl LlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5v YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IAorIERFU1RESVI9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pJworIGZp bGU9Jy4vKScKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1yaWdodHBhcicKdGVz dCAteiAiLyktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvKS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLyktcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkK dGVzdCAteiAiLyktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwg LWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLyktcHJl Zml4L2ZvbycKdGVzdCAteiAiLyktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXByZWZpeC9mb28iCiAvcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLyktcHJlZml4 L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXog Ii8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLyktcHJlZml4L2Zvby9zdWInCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLyktcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJu b2Jhc2UuYSApCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vIgogL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXByZWZp eC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLykt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvKS8pLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8pLXBy ZWZpeC9mb28nCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8pLyktcHJlZml4L2ZvbycKdGVzdCAteiAiLyktcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8p LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLykvKS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8p LyktcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8pLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9v IgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8p LyktcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvKS1wcmVmaXgvZm9v L3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9idWlsZC1yaWdodHBhcicKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvLi8pLXByZWZpeC9m b28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLykvLi8pLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLy4vKS1wcmVmaXgv Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLykvLi8pLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLykvLi8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8uLyktcHJl Zml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLykvLi8pLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8pLy4vKS1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvKS8uLyktcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKS8uLyktcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKS8uLyktcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3JpZ2h0 cGFyIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHJpZ2h0cGFyCisgY2FzZSAk MSBpbgorIGlzX2luX2xpc3QgcmlnaHRwYXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09cmlnaHRwYXIKKyBzaGlmdAorIGNhc2UgIiAkKiAi IGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycg LXIgJycgLS0gJ3JpZ2h0cGFyIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDIyIC0gcmlnaHRwYXIg aW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAyMiAtIHJpZ2h0cGFyIGluIGRlc3RkaXIKKyBj ZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisg cmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1yaWdodHBh ciAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyknCisgdGVzdCAyIC1ndCAw CisgZmluZCBidWlsZC1yaWdodHBhciAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLyknIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycK KyBybSAtcmYgYnVpbGQtcmlnaHRwYXIgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8pJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVz dF9zdHJpbmc9JHtpbnN0c3BjX19waXBlfScKKysgdGVzdF9zdHJpbmc9J3wnCisgdGVzdCAneHwn ICchPScgeAorIG1rZGlyICcuL3wnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3 aGVyZSBpbgorIGJ1aWxkPScuL3wnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1waXBlCisgY2QgJy4vfCcKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJl Zml4ICcvfC1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1 c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVy ZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBpcGUKKyBmaWxlPScuL3wn CisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfCcKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4 L2ZvbycKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXBy ZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9z dWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28v c3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlw ZS98LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvfC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9z dWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi98 LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4 L2ZvbycKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbyIKL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBl L3wtcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98Jwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBl Ly4vfC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8u L3wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj0ncGlwZSBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHBp cGUKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBwaXBlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IK KyBpdGVtPXBpcGUKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3BpcGUgaW4gYnVpbGRk aXInCisgc2V0ICt4Cm9rIDIzIC0gcGlwZSBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAy MyAtIHBpcGUgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyAnLi98JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1waXBlCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi98JyAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1waXBlIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2ht b2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJy4vfCcgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGlwZQorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAk d2hlcmUgaW4KKyBidWlsZD1idWlsZC1waXBlCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL3wnCisgbWtkaXIgYnVpbGQtcGlwZQorIGNkIGJ1aWxkLXBpcGUKKyBy PW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvfC1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0 IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB Q0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl IHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvfCcKKyBmaWxlPScuL3wnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtcGlw ZScKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC98LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L3wvfC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98L3wtcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC98LXByZWZpeC9mb28iCiAgL3AvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98 L3wtcHJlZml4L2ZvbycKdGVzdCAteiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC98LXByZWZpeC9mb28iCiAv cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98L3wt cHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98L3wtcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98L3wtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vIgog L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC98 LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC98LXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiL3wtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvfC98LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv fC98LXByZWZpeC9mb28nCnRlc3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci98L3wtcHJlZml4L2ZvbycKdGVzdCAteiAiL3wtcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvfC98LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL3wvfC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci98L3wtcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi98LXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci98L3wtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvfC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1waXBlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci98Ly4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC8uL3wtcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvfC8uL3wtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvLi98LXByZWZp eC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvfC8uL3wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfC8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98Ly4vfC1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvfC8uL3wtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98Ly4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Un CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvLi98LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL3wvLi98LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci98Ly4vfC1wcmVm aXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci98Ly4vfC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncGlw ZSBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwaXBlCisgY2FzZSAkMSBpbgor IGlzX2luX2xpc3QgcGlwZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZl ZWQgYV9sZl9iCisgaXRlbT1waXBlCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdwaXBl IGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDI0IC0gcGlwZSBpbiBkZXN0ZGlyClBBU1M6IGluc3Rz cGMudGFwIDI0IC0gcGlwZSBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtcGlwZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL3wnCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1waXBlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfCcgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhl YyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1waXBlICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfCcKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1l c19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY2FyZXR9JworKyB0ZXN0X3N0 cmluZz0nXicKKyB0ZXN0ICd4XicgJyE9JyB4CisgbWtkaXIgJy4vXicKKyBmb3Igd2hlcmUgaW4g YnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vXicKKyBkZXN0PS9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CisgY2QgJy4vXicKKyByPW9r CisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvXi1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBm b3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0CisgZmlsZT0nLi9eJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVy aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14nCnRl c3QgLXogIi9eLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKdGVzdCAteiAiL14tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14t cHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi9e LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJl dC9eLXByZWZpeC9mb28nCnRlc3QgLXogIi9eLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVm aXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWNhcmV0L14tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvXi1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNh cmV0L14tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nICYmIHJh bmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvXi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0 L14tcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9eLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvXi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nCnRlc3QgLXog Ii9eLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9m b28vc3ViJwp0ZXN0IC16ICIvXi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNh cmV0L14tcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXicKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIvbm9i YXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNh cmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvLi9eLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC8uL14tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC8uL14tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9saWJiYXNl LmEnCisgZGVzY3JpcHRpb249J2NhcmV0IGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwg YnVpbGQgY2FyZXQKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBjYXJldCBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFw aDAgYV9sZl9iCisgaXRlbT1jYXJldAorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnY2Fy ZXQgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDI1IC0gY2FyZXQgaW4gYnVpbGRkaXIKUEFTUzog aW5zdHNwYy50YXAgMjUgLSBjYXJldCBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCBvayA9IG9rCisgcm1fcmZfICcuL14nIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWNhcmV0CisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi9eJyAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJldCAtdHlwZSBkICchJyAtcGVy bSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmICcuL14nIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CisgZm9yIHdoZXJlIGluIGJ1 aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLWNhcmV0CisgZGVzdD0nL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14nCisgbWtkaXIgYnVpbGQtY2FyZXQK KyBjZCBidWlsZC1jYXJldAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9eLXByZWZp eCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0 IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw dHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4u LiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBm b3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0Vf TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1n IC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eJworIGZpbGU9Jy4vXicKKyBtYWtlIC1lIHRlc3QtaW5z dAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9idWlsZC1jYXJldCcKdGVzdCAteiAiL14tcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvXi1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9eL14tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJh c2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9v JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiL14tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXBy ZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJlZml4L2ZvbycKdGVzdCAteiAiL14tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvXi9eLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMg Li4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14v Xi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9eLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9v IgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9e L14tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9v L3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJl Zml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi9eLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL14vXi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvXi9eLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAt YyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXBy ZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL14tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXByZWZpeC9mb28nCnRlc3QgLXogIi9eLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL14vXi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJlZml4L2ZvbycK dGVzdCAteiAiL14tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi9eLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9vL3N1YicK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi9e LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eL14tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL14vXi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1jYXJldCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi8uL14tcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL14vLi9eLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vLi9eLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eLy4vXi1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vLi9eLXByZWZpeC9mb28vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vLi9eLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvXi8uL14tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14vLi9eLXByZWZpeC9mb28vYmFzZS5z aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi8uL14t cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi8uL14tcHJlZml4L2Zvby9iYXNlJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9eLy4vXi1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvXi8uL14tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXi8uL14tcHJlZml4L2Zvby9saWJiYXNl LmEnCisgZGVzY3JpcHRpb249J2NhcmV0IGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IGNhcmV0CisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgY2FyZXQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09Y2FyZXQKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgJycgLXIgJycgLS0gJ2NhcmV0IGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDI2IC0g Y2FyZXQgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAyNiAtIGNhcmV0IGluIGRlc3RkaXIK KyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGlu CisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1jYXJl dCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL14nCisgdGVzdCAyIC1ndCAw CisgZmluZCBidWlsZC1jYXJldCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L14nIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBy bSAtcmYgYnVpbGQtY2FyZXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9e JworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJp bmc9JHtpbnN0c3BjX190aWxkZX0nCisrIHRlc3Rfc3RyaW5nPSd+JworIHRlc3QgeH4gJyE9JyB4 CisgbWtkaXIgLi9+CisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgor IGJ1aWxkPS4vfgorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUKKyBjZCAuL34KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9+LXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3Vi L2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0vaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZQorIGZpbGU9Li9+CisgbWFrZSAtZSB0ZXN0 LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvficKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXBy ZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwp0ZXN0IC16 ICIvfi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli YmFzZS5hICkKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28i CiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKdGVzdCAteiAiL34tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWIvJwog L3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9+ LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1 YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRl L34tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi9+LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28v c3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAi L34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nCnRlc3QgLXogIi9+LXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34t cHJlZml4L2ZvbycKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi9+LXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvfi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+Jwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4v fi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8u L34tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv Li9+LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8u L34tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10aWxk ZS8uL34tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv Li9+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZp eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4v fi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ndGlsZGUgaW4gYnVpbGRkaXIn CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCB0aWxkZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0 IHRpbGRlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXRpbGRlCisgc2hpZnQKKyBjYXNl ICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9r IC1EICcnIC1yICcnIC0tICd0aWxkZSBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgMjcgLSB0aWxk ZSBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAyNyAtIHRpbGRlIGluIGJ1aWxkZGlyCisg Y2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgor IHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9+IC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRpbGRlCisgdGVzdCAyIC1ndCAwCisg ZmluZCAuL34gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUg LXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1y ZiAuL34gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyBm b3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtdGls ZGUKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+CisgbWtkaXIg YnVpbGQtdGlsZGUKKyBjZCBidWlsZC10aWxkZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggL34tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Av YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+CisgZmlsZT0uL34KKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC10aWxkZScKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi9+ LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfi1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9+L34tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVm aXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv fi9+LXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+L34tcHJlZml4L2ZvbycKdGVzdCAteiAiL34tcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvfi9+LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+L34tcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL34vfi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9+LXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9+L34tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+ L34tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi9+LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL34vfi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi9+LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv fi9+LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi9+LXByZWZpeC9m b28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi9+LXByZWZpeC9mb28nCnRlc3QgLXogIi9+LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL34vfi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+L34tcHJlZml4 L2ZvbycKdGVzdCAteiAiL34tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi9+LXByZWZpeC9mb28iCi9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVmaXgvZm9v L3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+L34tcHJlZml4L2Zvby9zdWInCnRlc3Qg LXogIi9+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+L34tcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL34vfi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC10aWxk ZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi8uL34t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL34vLi9+LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vLi9+LXByZWZpeC9mb28vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+Ly4vfi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9+Ly4vfi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vLi9+LXByZWZpeC9mb28vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34v Li9+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvfi8uL34tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL34vLi9+LXByZWZpeC9mb28v YmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv fi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9+Ly4vfi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi8uL34tcHJlZml4L2Zvby9iYXNl Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9+Ly4vfi1w cmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvfi8uL34tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfi8uL34tcHJlZml4L2Zvby9s aWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3RpbGRlIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9f ZmFpbCBkZXN0IHRpbGRlCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgdGlsZGUgc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09dGlsZGUKKyBz aGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3RpbGRlIGluIGRlc3RkaXInCisgc2V0ICt4Cm9r IDI4IC0gdGlsZGUgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAyOCAtIHRpbGRlIGluIGRl c3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1f a2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWls ZC10aWxkZSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfgorIHRlc3QgMiAt Z3QgMAorIGZpbmQgYnVpbGQtdGlsZGUgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL34gLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7Jwor IHJtIC1yZiBidWlsZC10aWxkZSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv fgorIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJp bmc9JHtpbnN0c3BjX19xbWFya30nCisrIHRlc3Rfc3RyaW5nPSc/JworIHRlc3QgJ3g/JyAnIT0n IHgKKyBta2RpciAnLi8/JworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUg aW4KKyBidWlsZD0nLi8/JworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcW1hcmsKKyBjZCAnLi8/JworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg Jy8/LXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1 bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1 dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVy IHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ U08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQg YnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpj aGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJh dGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAt RFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBc IiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1c Imluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3Vy Y2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJj ZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5h CnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8g IApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsKKyBmaWxlPScuLz8nCisg bWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPycKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1xbWFyay8/LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvPy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJyAm JiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/ LXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKdGVzdCAteiAi Lz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4 L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8n CnRlc3QgLXogIi8/LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJr Lz8tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1w cmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRl c3QgLXogIi8/LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vIgogL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/ LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28nCnRlc3QgLXogIi8/LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8/LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8/LXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIn CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8/Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL25v YmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9v L25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvLi8/LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncW1hcmsg aW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBxbWFyaworIGNhc2UgJDEgaW4K KyBpc19pbl9saXN0IHFtYXJrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXFtYXJrCisg c2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0K KyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdxbWFyayBpbiBidWlsZGRpcicKKyBzZXQgK3gK b2sgMjkgLSBxbWFyayBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCAyOSAtIHFtYXJrIGlu IGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g Jy4vPycgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsKKyB0 ZXN0IDIgLWd0IDAKKyBmaW5kICcuLz8nIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3gg J3t9JyAnOycKKyBybSAtcmYgJy4vPycgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcW1hcmsKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGlu CisgYnVpbGQ9YnVpbGQtcW1hcmsKKyBkZXN0PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvPycKKyBta2RpciBidWlsZC1xbWFyaworIGNkIGJ1aWxkLXFtYXJrCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLz8tcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9y IHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5s aWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8n CisgZmlsZT0nLi8/JworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXFtYXJrJwp0 ZXN0IC16ICIvPy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/ LXByZWZpeC9mb28nCnRlc3QgLXogIi8/LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vPy1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQp0ZXN0IC16ICIvPy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vPy1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvPy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8tcHJlZml4L2ZvbyIKIC9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vPy1wcmVm aXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vPy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vPy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8tcHJl Zml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIv Py1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8/Lz8tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Lz8t cHJlZml4L2ZvbycKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLz8vPy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPy1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/ Lz8tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPy8/LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Lz8vPy1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLz8tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Lz8vPy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8/LXByZWZpeC9m b28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2J1aWxkLXFtYXJrJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8uLz8tcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvPy8uLz8tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz8vLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vLi8/LXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvPy8uLz8tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPy8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Ly4vPy1wcmVm aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvPy8uLz8tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8vLi8/LXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz8vLi8/LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/Ly4vPy1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8/Ly4vPy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncW1hcmsg aW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcW1hcmsKKyBjYXNlICQxIGluCisg aXNfaW5fbGlzdCBxbWFyayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZl ZWQgYV9sZl9iCisgaXRlbT1xbWFyaworIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAncW1h cmsgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgMzAgLSBxbWFyayBpbiBkZXN0ZGlyClBBU1M6IGlu c3RzcGMudGFwIDMwIC0gcW1hcmsgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisg dGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXFtYXJrICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPycKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXFtYXJrICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPycgLXR5cGUgZCAnIScgLXBlcm0gLTcw MCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1xbWFyayAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz8nCisgZm9yIHRlc3RfbmFtZSBpbiAnJHRl c3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3N0YXJ9JworKyB0 ZXN0X3N0cmluZz0nKicKKyB0ZXN0ICd4KicgJyE9JyB4CisgbWtkaXIgJy4vKicKKyBmb3Igd2hl cmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vKicKKyBkZXN0PS9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyBjZCAnLi8qJwor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8qLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZv ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tp bmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jh c2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3Qtc3RhcgorIGZpbGU9Jy4vKicKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBF bnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8q Jwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyot cHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLyot cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBz dWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8q LXByZWZpeC9mb28nCnRlc3QgLXogIi8qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9m b28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv bm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFy LyotcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1w cmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCnRlc3QgLXogIi8qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9m b28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25v YmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXBy ZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLyotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLyot cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9z dWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLyonCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNl Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0 YXIvLi8qLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8q LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdzdGFyIGluIGJ1aWxkZGlyJwor IGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3RhcgorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHN0 YXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGlu ZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09c3RhcgorIHNoaWZ0CisgY2FzZSAiICQq ICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAn JyAtciAnJyAtLSAnc3RhciBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgMzEgLSBzdGFyIGluIGJ1 aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDMxIC0gc3RhciBpbiBidWlsZGRpcgorIGNkIC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4g MQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfICcuLyonIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcu LyonIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXN0YXIgLXR5cGUg ZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi8q JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgZm9yIHdo ZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLXN0YXIKKyBk ZXN0PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKicKKyBta2RpciBidWls ZC1zdGFyCisgY2QgYnVpbGQtc3RhcgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8q LXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08g Qzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkg bWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4u IGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZp Zy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImlu c3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2Uu byAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNl LmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qJworIGZpbGU9Jy4vKicKKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1zdGFyJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLyot cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZpeC9mb28nCnRlc3QgLXogIi8qLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLyovKi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZp eC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8q LyotcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovKi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvKi1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8qLyotcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovKi1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvKi8qLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLyotcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLyovKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyov Ki1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLyotcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKi8qLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLyotcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8q LyotcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLyotcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLyotcHJlZml4L2ZvbycKdGVzdCAteiAiLyotcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKi8qLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovKi1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLyotcHJlZml4L2ZvbyIKL3AvYmluL21rZGly IC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovKi1wcmVmaXgvZm9vL3N1YicKdGVzdCAt eiAiLyotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvKi8qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXN0YXIn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovLi8qLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8uLyotcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvKi8uLyotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLy4v Ki1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyovLi8qLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qLy4vKi1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyov Li8qLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvKi8uLyotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovLi8qLXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKi8uLyotcHJl Zml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLyovLi8qLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyovLi8qLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPSdzdGFyIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFp bCBkZXN0IHN0YXIKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBzdGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXN0YXIKKyBzaGlmdAor IGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgJycgLXIgJycgLS0gJ3N0YXIgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgMzIgLSBz dGFyIGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAgMzIgLSBzdGFyIGluIGRlc3RkaXIKKyBj ZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisg cmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1zdGFyICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKicKKyB0ZXN0IDIgLWd0IDAKKyBm aW5kIGJ1aWxkLXN0YXIgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qJyAt dHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJm IGJ1aWxkLXN0YXIgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8qJworIGZv ciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtp bnN0c3BjX19wbHVzfScKKysgdGVzdF9zdHJpbmc9KworIHRlc3QgeCsgJyE9JyB4CisgbWtkaXIg Li8rCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPS4v KworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cwor IGNkIC4vKworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLystcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRl cHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGli YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNl LmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2Uu YQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXBsdXMKKyBmaWxlPS4vKworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2Vb MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLysnCnRlc3QgLXogIi8rLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCnRlc3QgLXogIi8rLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKy1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16 ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1w bHVzLystcHJlZml4L2ZvbycKdGVzdCAteiAiLystcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJl Zml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8rLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJyAmJiByYW5saWIg c3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLystcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJl Zml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBz dWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVz LystcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1w cmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28n CnRlc3QgLXogIi8rLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28iCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCnRlc3QgLXogIi8rLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16 ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9z dWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvKycKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgv Zm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28v bm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcGx1cy8uLystcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9iYXNlJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8r LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8uLystcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3BsdXMgaW4gYnVpbGRk aXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBwbHVzCisgY2FzZSAkMSBpbgorIGlzX2luX2xp c3QgcGx1cyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2Fu ZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1wbHVzCisgc2hpZnQKKyBjYXNl ICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9r IC1EICcnIC1yICcnIC0tICdwbHVzIGluIGJ1aWxkZGlyJworIHNldCAreApvayAzMyAtIHBsdXMg aW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50YXAgMzMgLSBwbHVzIGluIGJ1aWxkZGlyCisgY2Qg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJl dHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8rIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyB0ZXN0IDIgLWd0IDAKKyBmaW5k IC4vKyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1wbHVzIC10eXBl IGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgLi8r IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyBmb3Igd2hl cmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtcGx1cworIGRl c3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysKKyBta2RpciBidWlsZC1w bHVzCisgY2QgYnVpbGQtcGx1cworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLystcHJl Zml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2Uu Li4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFy IGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1 Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rCisgZmlsZT0uLysKKyBtYWtlIC1lIHRlc3QtaW5zdApt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9idWlsZC1wbHVzJwp0ZXN0IC16ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28nCnRlc3QgLXogIi8rLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LysvKy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28nCiAo IGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28n ICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4 L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLysvKy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvKy1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8r LystcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLysvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXBy ZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLystcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28iCi9w L2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvKy1w cmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5h ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvKy1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLystcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Ky8rLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8rLystcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4 L2Zvby9zdWIvJwp0ZXN0IC16ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4L2ZvbycKdGVzdCAteiAiLystcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Ky8rLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvKy1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvKy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8rLystcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8rLXByZWZpeC9mb28vc3ViJwogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvKy1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLystcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKy8rLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvKy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXBsdXMnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvLi8rLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8rLy4vKy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8uLystcHJlZml4L2Zvby9z dWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvKy8uLystcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLy4vKy1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLysvLi8rLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rLy4vKy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvLi8rLXByZWZp eC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvKy8uLystcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvLi8rLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKy8uLystcHJlZml4L2Zvby9z dWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLysvLi8rLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLysvLi8rLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPSdwbHVzIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHBs dXMKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBwbHVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXBsdXMKKyBzaGlmdAorIGNhc2UgIiAk KiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQg JycgLXIgJycgLS0gJ3BsdXMgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgMzQgLSBwbHVzIGluIGRl c3RkaXIKUEFTUzogaW5zdHNwYy50YXAgMzQgLSBwbHVzIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEK KyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1wbHVzIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1w bHVzIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8rIC10eXBlIGQgJyEnIC1w ZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtcGx1cyAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvKworIGZvciB0ZXN0X25hbWUgaW4g JyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19taW51c30n CisrIHRlc3Rfc3RyaW5nPS0KKyB0ZXN0IHgtICchPScgeAorIG1rZGlyIC4vLQorIGZvciB3aGVy ZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD0uLy0KKyBkZXN0PS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisgY2QgLi8tCisgcj1v aworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmls ZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZv ciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBj b21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBv IC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMv c291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3Vi L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8y ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbWludXMKKyBmaWxlPS4vLQorIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0nCnRlc3Qg LXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3Rh bGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKdGVzdCAteiAiLy0tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8tLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8tLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8t LXByZWZpeC9mb28nCnRlc3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgv Zm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0t cHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nCnRlc3QgLXogIi8t LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28v c3ViJwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbyIKL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8tLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLi8tLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLi8tLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL25vYmFz ZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFzZS5z aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51 cy8uLy0tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51 cy8uLy0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9saWJiYXNlLmEn CisgZGVzY3JpcHRpb249J21pbnVzIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVp bGQgbWludXMKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBtaW51cyBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1taW51cworIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQor IGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbWludXMg aW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDM1IC0gbWludXMgaW4gYnVpbGRkaXIKUEFTUzogaW5z dHNwYy50YXAgMzUgLSBtaW51cyBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisg dGVzdCBvayA9IG9rCisgcm1fcmZfIC4vLSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1taW51cworIHRlc3QgMiAtZ3QgMAorIGZpbmQgLi8tIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzIC10eXBlIGQgJyEnIC1wZXJtIC03MDAg LWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgLi8tIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QK KyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLW1pbnVzCisgZGVzdD0vaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLQorIG1rZGlyIGJ1aWxkLW1pbnVzCisgY2QgYnVpbGQt bWludXMKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8tLXByZWZpeApjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQK Y2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvLQorIGZpbGU9Li8tCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQt bWludXMnCnRlc3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLS1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8tLy0tcHJlZml4L2ZvbycKdGVzdCAteiAiLy0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8tLXByZWZpeC9m b28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCnRlc3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLS1wcmVmaXgvZm9vIgogIC9wL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvLS8tLXByZWZpeC9mb28nCnRlc3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLS1wcmVmaXgvZm9v IgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv LS8tLXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2Zvby9zdWIv Jwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8tLXByZWZpeC9mb28vc3Vi JwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8tLXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2Zv byIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Ly0vLS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLS1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi8tLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLy0vLS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8tLXByZWZpeC9mb28nCnRlc3QgLXogIi8tLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLy0vLS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvLS8tLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvLS1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0t cHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvLS8tLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy0t cHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtbWludXMnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy4vLS1w cmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8tLy4vLS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRh dCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8uLy0t cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8tLy4vLS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tLy4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0v Li8tLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8tLy4vLS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLi8tLXByZWZpeC9mb28vc3ViL25v YmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8u Ly0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLy0vLi8tLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLS8uLy0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl LmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0vLi8t LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLy0vLi8tLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9u PSdtaW51cyBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBtaW51cworIGNhc2Ug JDEgaW4KKyBpc19pbl9saXN0IG1pbnVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1pbnVzCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcn IC0tICdtaW51cyBpbiBkZXN0ZGlyJworIHNldCAreApvayAzNiAtIG1pbnVzIGluIGRlc3RkaXIK UEFTUzogaW5zdHNwYy50YXAgMzYgLSBtaW51cyBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0 dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbWludXMgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0KKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLW1pbnVz IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8tIC10eXBlIGQgJyEnIC1wZXJt IC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtbWludXMgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy0KKyBmb3IgdGVzdF9uYW1lIGluICck dGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29tbWF9Jwor KyB0ZXN0X3N0cmluZz0sCisgdGVzdCB4LCAnIT0nIHgKKyBta2RpciAuLywKKyBmb3Igd2hlcmUg aW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Li8sCisgZGVzdD0vaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYQorIGNkIC4vLAorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggLywtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz Li4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Ig c3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29t bWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWNvbW1hCisgZmlsZT0uLywKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sJwp0ZXN0IC16 ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCnRlc3QgLXogIi8sLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZp eC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvLC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIv YmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zv byIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv bm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJyAmJiByYW5saWIg c3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXBy ZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1h LywtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4 L2ZvbycKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1 YicKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28iCi9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLy4vLC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8u LywtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu c2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9ub2Jhc2UnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv Li8sLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv Li8sLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPSdjb21tYSBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IGNvbW1hCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgY29tbWEgc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09Y29tbWEKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2NvbW1hIGlu IGJ1aWxkZGlyJworIHNldCAreApvayAzNyAtIGNvbW1hIGluIGJ1aWxkZGlyClBBU1M6IGluc3Rz cGMudGFwIDM3IC0gY29tbWEgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyAuLywgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIC4vLCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYSAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1l eGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIC4vLCAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb21tYQorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0Cisg Y2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1jb21tYQorIGRlc3Q9L2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLywKKyBta2RpciBidWlsZC1jb21tYQorIGNkIGJ1aWxkLWNv bW1hCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLC1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4g eWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNo ZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hl Y2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5s aWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwi XCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5U cG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQph ciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdj YyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9u b2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLywKKyBmaWxlPS4vLAorIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWNv bW1hJwp0ZXN0IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLywtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvLC8sLXByZWZpeC9mb28nCnRlc3QgLXogIi8sLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLC1wcmVmaXgvZm9v IgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQp0ZXN0IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLywtcHJlZml4L2ZvbyIKICAvcC9iaW4v aW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LywvLC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLywtcHJlZml4L2ZvbyIK IC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywv LC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28vc3ViLycK dGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLC1wcmVmaXgvZm9vL3N1YicK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLC1wcmVmaXgvZm9vJyAmJiByYW5saWIg c3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8s LywtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLywtcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvLC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8sLywtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8sLywtcHJlZml4L2ZvbycKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLC1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8sLywtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvLC8sLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLywvLC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLywtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLywvLC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8sLXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWNvbW1hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8uLywtcHJl Zml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvLC8uLywtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLi8sLXBy ZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvLC8uLywtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLC8uLywtcHJlZml4L2Zvby9zdWIvbm9iYXNl LnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLy4v LC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLC8uLywtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLi8s LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLywvLi8sLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5h Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sLy4vLC1w cmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8sLy4vLC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0n Y29tbWEgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY29tbWEKKyBjYXNlICQx IGluCisgaXNfaW5fbGlzdCBjb21tYSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg bGluZWZlZWQgYV9sZl9iCisgaXRlbT1jb21tYQorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAt LSAnY29tbWEgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgMzggLSBjb21tYSBpbiBkZXN0ZGlyClBB U1M6IGluc3RzcGMudGFwIDM4IC0gY29tbWEgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVy biAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWNvbW1hIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8sCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1jb21tYSAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLCAtdHlwZSBkICchJyAtcGVybSAt NzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWNvbW1hIC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8sCisgZm9yIHRlc3RfbmFtZSBpbiAnJHRl c3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NvbG9ufScKKysg dGVzdF9zdHJpbmc9OgorIHRlc3QgeDogJyE9JyB4CisgbWtkaXIgLi86CisgZm9yIHdoZXJlIGlu IGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPS4vOgorIGRlc3Q9L2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyBjZCAuLzoKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC86LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBn Y2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5n IGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNy b3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4u LiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0 eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJj aGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIK Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h bmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0Vf VVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGli bm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2Uu byAgCisgREVTVERJUj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1j b2xvbgorIGZpbGU9Li86CisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOicKdGVzdCAteiAi LzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtY29sb24vOi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzotcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgv Zm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29s b24vOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLzotcHJlZml4 L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJl Zml4L2ZvbycKdGVzdCAteiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVm aXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBz dWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xv bi86LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9m b28nCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKdGVzdCAteiAiLzotcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1 YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIn CnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xv bi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86 LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xv bi8uLzotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLy4vOi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9u Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4v Oi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4v Oi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj0nY29sb24gaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBj b2xvbgorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGNvbG9uIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xm X2IKKyBpdGVtPWNvbG9uCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdjb2xvbiBpbiBi dWlsZGRpcicKKyBzZXQgK3gKb2sgMzkgLSBjb2xvbiBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3Bj LnRhcCAzOSAtIGNvbG9uIGluIGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gLi86IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uCisgdGVzdCAyIC1ndCAwCisgZmluZCAuLzogL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24gLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhl YyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAuLzogL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNh c2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtY29sb24KKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci86CisgbWtkaXIgYnVpbGQtY29sb24KKyBjZCBidWlsZC1jb2xv bgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLzotcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJl YWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVj a2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291 cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5h IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg Y3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci86CisgZmlsZT0uLzoKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1jb2xv bicKdGVzdCAteiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi86LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LzovOi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86LzotcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKdGVzdCAteiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi86LXByZWZpeC9mb28iCiAgL3AvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86 LzotcHJlZml4L2ZvbycKdGVzdCAteiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi86LXByZWZpeC9mb28iCiAv cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Lzot cHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86LzotcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86LzotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vIgog L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi86 LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi86LXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiLzotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvOi86LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Oi86LXByZWZpeC9mb28nCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci86LzotcHJlZml4L2ZvbycKdGVzdCAteiAiLzotcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvOi86LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLzovOi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci86LzotcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi86LXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci86LzotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovOi1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1jb2xvbicKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovLi86LXByZWZp eC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLzovLi86LXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Ly4vOi1wcmVm aXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLzovLi86LXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzovLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5z aCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi8uLzot cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLzovLi86LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNl Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Ly4vOi1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvOi8uLzotcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci86Ly4vOi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOi8uLzotcHJl Zml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvOi8uLzotcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2Nv bG9uIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGNvbG9uCisgY2FzZSAkMSBp bgorIGlzX2luX2xpc3QgY29sb24gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxp bmVmZWVkIGFfbGZfYgorIGl0ZW09Y29sb24KKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0 dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0g J2NvbG9uIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDQwIC0gY29sb24gaW4gZGVzdGRpcgpQQVNT OiBpbnN0c3BjLnRhcCA0MCAtIGNvbG9uIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4g MAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1jb2xvbiAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvOgorIHRlc3QgMiAtZ3QgMAorIGZpbmQgYnVpbGQtY29sb24gL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzogLXR5cGUgZCAnIScgLXBlcm0gLTcw MCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1jb2xvbiAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOgorIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0 X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zZW1pY29sfScKKysg dGVzdF9zdHJpbmc9JzsnCisgdGVzdCAneDsnICchPScgeAorIG1rZGlyICcuLzsnCisgZm9yIHdo ZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuLzsnCisgZGVzdD0v aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sCisgY2QgJy4v OycKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvOy1wcmVmaXgnCmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEK YXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wKKyBmaWxlPScuLzsnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFr ZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvOycKdGVzdCAteiAiLzstcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKdGVzdCAteiAiLzst cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCnRlc3QgLXogIi87LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9m b28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvOy1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViLycK dGVzdCAteiAiLzstcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbyIKL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1p Y29sLzstcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv bC87LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNl LmEgKQp0ZXN0IC16ICIvOy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vIgog L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jh c2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1w cmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi87LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXBy ZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv bycKdGVzdCAteiAiLzstcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKdGVzdCAteiAiLzst cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4 L2Zvby9zdWInCnRlc3QgLXogIi87LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87Jwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4v Oy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9ub2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt c2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vc3ViL25v YmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC8uLzstcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0n c2VtaWNvbCBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHNlbWljb2wKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBzZW1pY29sIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBp dGVtPXNlbWljb2wKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3NlbWljb2wgaW4gYnVp bGRkaXInCisgc2V0ICt4Cm9rIDQxIC0gc2VtaWNvbCBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3Bj LnRhcCA0MSAtIHNlbWljb2wgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyAnLi87JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi87JyAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sIC10eXBlIGQgJyEnIC1wZXJt IC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJy4vOycgL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbAorIGZvciB3aGVyZSBpbiBi dWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1zZW1pY29sCisgZGVzdD0n L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsnCisgbWtkaXIgYnVpbGQtc2Vt aWNvbAorIGNkIGJ1aWxkLXNlbWljb2wKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcv Oy1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5 IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25m aWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpy bSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOycKKyBmaWxlPScuLzsnCisgbWFrZSAtZSB0 ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtc2VtaWNvbCcKdGVzdCAteiAiLzstcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Oy87LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIv Oy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci87LzstcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1w cmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsv Oy1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLzstcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvOy87LXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87LzstcHJlZml4L2ZvbycKdGVzdCAteiAiLzst cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvOy87LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87LzstcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLzsvOy1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi87LXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1w cmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci87LzstcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1w cmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci87LzstcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi87 LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLzsvOy1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy87LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4v aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvOy87LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLzstcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy87LXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy87LXByZWZpeC9mb28nCnRlc3QgLXogIi87 LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLzsvOy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87LzstcHJl Zml4L2ZvbycKdGVzdCAteiAiLzstcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy87LXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87LzstcHJlZml4L2Zvby9zdWInCnRl c3QgLXogIi87LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87LzstcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvOy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1z ZW1pY29sJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87 Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvOy8uLzstcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy8uLzstcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsv Li87LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvLi87LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy8uLzstcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvOy8uLzstcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87Ly4vOy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOy8uLzstcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsvLi87LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87Ly4vOy1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzsv Li87LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci87Ly4vOy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci87Ly4vOy1wcmVmaXgv Zm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nc2VtaWNvbCBpbiBkZXN0ZGlyJworIGV4cGVj dGVkX3RvX2ZhaWwgZGVzdCBzZW1pY29sCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3Qgc2VtaWNv bCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRl bT1zZW1pY29sCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdzZW1pY29sIGluIGRlc3Rk aXInCisgc2V0ICt4Cm9rIDQyIC0gc2VtaWNvbCBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFw IDQyIC0gc2VtaWNvbCBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gYnVpbGQtc2VtaWNvbCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLzsnCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1zZW1pY29sICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOycgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAt ZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1zZW1pY29sICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvOycKKyBmb3IgdGVzdF9uYW1lIGluICckdGVz dF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZXF1YWx9JworKyB0 ZXN0X3N0cmluZz09CisgdGVzdCB4PSAnIT0nIHgKKyBta2RpciAuLz0KKyBmb3Igd2hlcmUgaW4g YnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Li89CisgZGVzdD0vaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbAorIGNkIC4vPQorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLz0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jv c3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5 bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj ZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJu b2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVx dWFsCisgZmlsZT0uLz0KKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Jwp0ZXN0IC16ICIv PS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89LXByZWZpeC9mb28nCnRlc3QgLXogIi89LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9m b28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVh bC89LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvPS1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFz ZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbyIK IC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89 LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZp eC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0t cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zv bycKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPS1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3Vi JwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicK dGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0nCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Ly4vPS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Ly4vPS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gn CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvLi89LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv Li89LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89 LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89 LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPSdlcXVhbCBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGVx dWFsCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZXF1YWwgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09ZXF1YWwKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2VxdWFsIGluIGJ1 aWxkZGlyJworIHNldCAreApvayA0MyAtIGVxdWFsIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMu dGFwIDQzIC0gZXF1YWwgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyAuLz0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtZXF1YWwKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIC4vPSAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVj IGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIC4vPSAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbAorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2Fz ZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1lcXVhbAorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz0KKyBta2RpciBidWlsZC1lcXVhbAorIGNkIGJ1aWxkLWVxdWFs Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZv ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tp bmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jh c2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLz0KKyBmaWxlPS4vPQorIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWVxdWFs Jwp0ZXN0IC16ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Lz0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv PS89LXByZWZpeC9mb28nCnRlc3QgLXogIi89LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vPS1wcmVmaXgvZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQp0ZXN0IC16ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Lz0tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0v PS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Lz0tcHJlZml4L2ZvbyIKIC9w L2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vPS1w cmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28vc3ViLycKdGVz dCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vPS1wcmVmaXgvZm9vL3N1YicKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vPS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28iCiAv cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Lz0t cHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Lz0tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16 ICIvPS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci89Lz0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89 Lz0tcHJlZml4L2ZvbycKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz0vPS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPS1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci89Lz0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPS89LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLz0vPS1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLz0tcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLz0vPS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS89LXByZWZp eC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWVxdWFsJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS8uLz0tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvPS8uLz0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vLi89LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vLi89LXByZWZp eC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvPS8uLz0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Ly4vPS1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPS8uLz0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Un CnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vLi89LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci89Ly4vPS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLz0vLi89LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89Ly4vPS1wcmVm aXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci89Ly4vPS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nZXF1 YWwgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgZXF1YWwKKyBjYXNlICQxIGlu CisgaXNfaW5fbGlzdCBlcXVhbCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1lcXVhbAorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAn ZXF1YWwgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNDQgLSBlcXVhbCBpbiBkZXN0ZGlyClBBU1M6 IGluc3RzcGMudGFwIDQ0IC0gZXF1YWwgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAw CisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWVxdWFsIC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci89CisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1lcXVhbCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPSAtdHlwZSBkICchJyAtcGVybSAtNzAw IC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWVxdWFsIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci89CisgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3Rf bmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xlc3N9JworKyB0ZXN0 X3N0cmluZz0nPCcKKyB0ZXN0ICd4PCcgJyE9JyB4CisgbWtkaXIgJy4vPCcKKyBmb3Igd2hlcmUg aW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vPCcKKyBkZXN0PS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MKKyBjZCAnLi88JworIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy88LXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg ZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl cyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRl cHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcg LU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug c291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtbGVzcworIGZpbGU9Jy4vPCcKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRl cmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Jwp0 ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvPC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJl Zml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLzwtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIv YmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXBy ZWZpeC9mb28nCnRlc3QgLXogIi88LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwt cHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1sZXNzLzwtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJu b2Jhc2UuYSApCnRlc3QgLXogIi88LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZp eC9mb28vc3ViLycKdGVzdCAteiAiLzwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwp0ZXN0IC16 ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwg LWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvPC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLzwtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zvby9zdWIn CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLzwnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9ub2Jh c2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvLi88LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxl c3MvLi88LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL25vYmFzZS5z aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv Li88LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdsZXNzIGluIGJ1aWxkZGlyJworIGV4 cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbGVzcworIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGxlc3Mg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZl ZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bGVzcworIHNoaWZ0CisgY2FzZSAiICQqICIg aW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAt ciAnJyAtLSAnbGVzcyBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgNDUgLSBsZXNzIGluIGJ1aWxk ZGlyClBBU1M6IGluc3RzcGMudGFwIDQ1IC0gbGVzcyBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfICcuLzwnIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuLzwn IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxlc3MgLXR5cGUgZCAn IScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi88JyAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisgZm9yIHdoZXJl IGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLWxlc3MKKyBkZXN0 PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPCcKKyBta2RpciBidWlsZC1s ZXNzCisgY2QgYnVpbGQtbGVzcworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy88LXBy ZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz Li4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5 Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFr ZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2lu ZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBB Q0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88JworIGZpbGU9Jy4vPCcKKyBtYWtlIC1lIHRlc3Qt aW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9idWlsZC1sZXNzJwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88LzwtcHJl Zml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9mb28nCnRlc3QgLXogIi88LXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLzwvPC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9m b28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZp eC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Lzwt cHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPC1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci88LzwtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv PC88LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLzwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LzwvPC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLzwtcHJlZml4 L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvPC88LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci88LzwtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxs IC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Lzwt cHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88LzwtcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci88LzwtcHJlZml4L2ZvbycKdGVzdCAteiAiLzwtcHJlZml4 L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvPC88LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvPC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88LzwtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9mb28vc3Vi JwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAi LzwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvPC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPC88LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWxlc3MnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvLi88LXByZWZp eC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci88Ly4vPC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC8uLzwtcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPC8uLzwtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Ly4vPC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLzwvLi88LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88Ly4vPC1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvLi88 LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPC8uLzwtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvLi88LXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPC8uLzwtcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLzwvLi88LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLzwvLi88LXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPSdsZXNzIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IGxlc3MKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBsZXNzIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxlc3MKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgJycgLXIgJycgLS0gJ2xlc3MgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNDYgLSBsZXNz IGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAgNDYgLSBsZXNzIGluIGRlc3RkaXIKKyBjZCAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0 dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sZXNzICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPCcKKyB0ZXN0IDIgLWd0IDAKKyBmaW5k IGJ1aWxkLWxlc3MgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88JyAtdHlw ZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1 aWxkLWxlc3MgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci88JworIGZvciB0 ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0 c3BjX19tb3JlfScKKysgdGVzdF9zdHJpbmc9Jz4nCisgdGVzdCAneD4nICchPScgeAorIG1rZGly ICcuLz4nCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxk PScuLz4nCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t b3JlCisgY2QgJy4vPicKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvPi1wcmVmaXgn CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVj a2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp bGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4g R05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVj a2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIv bGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1vcmUKKyBmaWxlPScuLz4nCisgbWFrZSAtZSB0ZXN0 LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPicKdGVzdCAteiAiLz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJl Zml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKdGVzdCAteiAi Lz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28iCiAgL3Av YmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvPi1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLz4tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n ICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvPi1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbW9yZS8+LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4t cHJlZml4L2ZvbycKdGVzdCAteiAiLz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKdGVzdCAteiAi Lz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9z dWInCnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28iCi9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1vcmUv Li8+LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4t cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4t cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZp eC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbW9yZS8uLz4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nbW9y ZSBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIG1vcmUKKyBjYXNlICQxIGlu CisgaXNfaW5fbGlzdCBtb3JlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1vcmUKKyBz aGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ21vcmUgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9r IDQ3IC0gbW9yZSBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA0NyAtIG1vcmUgaW4gYnVp bGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1f a2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAnLi8+ JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1tb3JlCisgdGVzdCAy IC1ndCAwCisgZmluZCAnLi8+JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAn OycKKyBybSAtcmYgJy4vPicgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbW9yZQorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWls ZD1idWlsZC1tb3JlCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Lz4nCisgbWtkaXIgYnVpbGQtbW9yZQorIGNkIGJ1aWxkLW1vcmUKKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4ICcvPi1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2Yg aW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2lu ZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1n IC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Qbwpy bSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9i YXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBE RVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPicKKyBmaWxlPScu Lz4nCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtbW9yZScKdGVzdCAteiAiLz4t cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFz ZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvPi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz4vPi1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAi Lz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4L2ZvbycK dGVzdCAteiAiLz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4L2Zvby9zdWIv JwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8+LXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz4vPi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz4vPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSAp CnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28vc3Vi LycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLz4tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvPi8+LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu ZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9mb28n CnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwg LWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8+Lz4tcHJlZml4L2ZvbycKdGVzdCAteiAiLz4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8+LXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Lz4vPi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4 L2Zvby9zdWInCnRlc3QgLXogIi8+LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Lz4tcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vPi1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9idWlsZC1tb3JlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8uLz4tcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8uLz4tcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz4vLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vLi8+LXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8uLz4t cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPi8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Ly4vPi1wcmVmaXgvZm9vL25vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvPi8u Lz4tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4vLi8+LXByZWZpeC9mb28vbm9iYXNl Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Ly4vPi1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz4vLi8+LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Ly4vPi1wcmVmaXgvZm9vL2xpYm5vYmFz ZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8+Ly4v Pi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nbW9yZSBpbiBkZXN0ZGlyJwor IGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBtb3JlCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgbW9y ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRl bT1tb3JlCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdtb3JlIGluIGRlc3RkaXInCisg c2V0ICt4Cm9rIDQ4IC0gbW9yZSBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFwIDQ4IC0gbW9y ZSBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2Vl cF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9y Zl8gYnVpbGQtbW9yZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz4nCisg dGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1tb3JlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvPicgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAn e30nICc7JworIHJtIC1yZiBidWlsZC1tb3JlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvPicKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JworIGV2YWwg J3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYXR9JworKyB0ZXN0X3N0cmluZz1ACisgdGVzdCB4QCAn IT0nIHgKKyBta2RpciAuL0AKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJl IGluCisgYnVpbGQ9Li9ACisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1hdAorIGNkIC4vQAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0AtcHJl Zml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2Uu Li4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFy IGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1 Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0CisgZmlsZT0uL0AKKyBtYWtlIC1lIHRlc3Qt aW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9AJwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nCnRlc3QgLXogIi9ALXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1hdC9ALXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16 ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQv QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zv byIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXBy ZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0AtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9m b28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK dGVzdCAteiAiL0AtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28iCiAvcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJl Zml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKdGVzdCAteiAiL0AtcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1hdC9ALXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbyIKL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9A LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl LmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVm aXgvZm9vL3N1YicKdGVzdCAteiAiL0AtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28i Ci9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC9A LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zv by9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbm9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC8u L0AtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9z dWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdhdCBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIGF0CisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgYXQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09YXQKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2F0IGluIGJ1 aWxkZGlyJworIHNldCAreApvayA0OSAtIGF0IGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFw IDQ5IC0gYXQgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyAuL0AgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt YXQKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIC4vQCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1hdCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4 ICd7fScgJzsnCisgcm0gLXJmIC4vQCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1hdAorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBi dWlsZD1idWlsZC1hdAorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L0AKKyBta2RpciBidWlsZC1hdAorIGNkIGJ1aWxkLWF0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvQC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcu Li4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFj Y2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRl IHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50 ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQg Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxs CmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3Bj XCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1N VCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4u L3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1 Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291 cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9 L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AKKyBmaWxlPS4vQAorIG1ha2Ug LWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWF0Jwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9A L0AtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXByZWZpeC9mb28nCnRlc3QgLXogIi9A LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0AvQC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXBy ZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9A LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvQC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AL0AtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvQC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9AL0AtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvQC9ALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0AtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL0AvQC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L0AvQC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL0At cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvQC9ALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AL0AtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AL0AtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AL0AtcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AL0AtcHJlZml4L2ZvbycKdGVzdCAteiAiL0At cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvQC9ALXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvQC1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvQC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AL0AtcHJlZml4L2ZvbyIKL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXByZWZpeC9m b28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvQC1wcmVmaXgvZm9vL3N1YicKdGVz dCAteiAiL0AtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvQC1wcmVmaXgvZm9vL3N1YicKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvQC9ALXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9ALy4vQC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC8uL0AtcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvLi9ALXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL0AvLi9ALXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC8uL0AtcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC8u L0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9ALy4vQC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQC8uL0AtcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9A Ly4vQC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0AvLi9ALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9ALy4vQC1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AvLi9ALXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9ALy4vQC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9ALy4vQC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nYXQgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWls IGRlc3QgYXQKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBhdCBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hdAorIHNoaWZ0CisgY2FzZSAi ICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAnJyAtciAnJyAtLSAnYXQgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNTAgLSBhdCBpbiBkZXN0 ZGlyClBBU1M6IGluc3RzcGMudGFwIDUwIC0gYXQgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJl dHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWF0IC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9ACisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1hdCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCAtdHlwZSBkICchJyAtcGVybSAtNzAw IC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWF0IC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9ACisgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFt ZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xxYnJhY2t9JworKyB0ZXN0 X3N0cmluZz0nWycKKyB0ZXN0ICd4WycgJyE9JyB4CisgbWtkaXIgJy4vWycKKyBmb3Igd2hlcmUg aW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vWycKKyBkZXN0PS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKKyBjZCAnLi9bJwor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9bLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZv ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tp bmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jh c2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjaworIGZpbGU9Jy4vWycKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFd OiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9bJwp0ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvWy1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKdGVzdCAteiAiL1stcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbyIK ICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCnRlc3QgLXogIi9bLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1 Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1st cHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSAp CnRlc3QgLXogIi9bLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZp eC9mb28vc3ViLycKdGVzdCAteiAiL1stcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwp0 ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvWy1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9v L3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9v L3N1YicKdGVzdCAteiAiL1stcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bHFicmFjay9bLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1snCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXBy ZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9b LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNl Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svLi9bLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNr Ly4vWy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdscWJy YWNrIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbHFicmFjaworIGNhc2Ug JDEgaW4KKyBpc19pbl9saXN0IGxxYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 bHFicmFjaworIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbHFicmFjayBpbiBidWlsZGRp cicKKyBzZXQgK3gKb2sgNTEgLSBscWJyYWNrIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFw IDUxIC0gbHFicmFjayBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfICcuL1snIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2sKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuL1snIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sgLXR5cGUgZCAnIScgLXBlcm0gLTcw MCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi9bJyAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrCisgZm9yIHdoZXJlIGluIGJ1aWxk IGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLWxxYnJhY2sKKyBkZXN0PScvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWycKKyBta2RpciBidWlsZC1scWJyYWNr CisgY2QgYnVpbGQtbHFicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9bLXBy ZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz Li4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5 Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFr ZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2lu ZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBB Q0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bJworIGZpbGU9Jy4vWycKKyBtYWtlIC1lIHRlc3Qt aW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9idWlsZC1scWJyYWNrJwp0ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bL1st cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZpeC9mb28nCnRlc3QgLXogIi9bLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL1svWy1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZp eC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9b L1stcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svWy1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvWy1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9bL1stcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvWy9bLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL1stcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL1svWy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1sv Wy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL1stcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvWy9bLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bL1stcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9b L1stcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bL1stcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bL1stcHJlZml4L2ZvbycKdGVzdCAteiAiL1stcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvWy9bLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svWy1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvWy1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bL1stcHJlZml4L2ZvbyIKL3AvYmluL21rZGly IC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svWy1wcmVmaXgvZm9vL3N1YicKdGVzdCAt eiAiL1stcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svWy1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvWy9bLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWxxYnJh Y2snCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svLi9b LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9bLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bLy4vWy1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy8uL1st cHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvWy8uL1stcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bLy4vWy1wcmVmaXgvZm9vL2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9b Ly4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svLi9bLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bLy4vWy1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L1svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvWy8uL1stcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svLi9bLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvWy8uL1st cHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL1svLi9bLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1svLi9bLXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdscWJyYWNrIGluIGRlc3RkaXInCisgZXhwZWN0ZWRf dG9fZmFpbCBkZXN0IGxxYnJhY2sKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBscWJyYWNrIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxx YnJhY2sKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2xxYnJhY2sgaW4gZGVzdGRpcicK KyBzZXQgK3gKb2sgNTIgLSBscWJyYWNrIGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAgNTIg LSBscWJyYWNrIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyBidWlsZC1scWJyYWNrICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvWycKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLWxxYnJhY2sgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bJyAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVj IGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWxxYnJhY2sgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9bJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25h bWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19ycWJyYWNrfScKKysgdGVz dF9zdHJpbmc9J10nCisgdGVzdCAneF0nICchPScgeAorIG1rZGlyICcuL10nCisgZm9yIHdoZXJl IGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL10nCisgZGVzdD0vaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrCisgY2QgJy4vXScK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvXS1wcmVmaXgnCmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJl YWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVj a2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291 cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5h IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg Y3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2sKKyBmaWxlPScuL10nCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvXScKdGVzdCAteiAiL10tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKdGVzdCAteiAiL10tcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJh c2UuYSApCnRlc3QgLXogIi9dLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28i CiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvXS1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9z dWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViLycKdGVz dCAteiAiL10tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbyIKL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNr L10tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQp0ZXN0IC16ICIvXS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10tcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVm aXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9dLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycK dGVzdCAteiAiL10tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKdGVzdCAteiAiL10tcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zv by9zdWInCnRlc3QgLXogIi9dLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28i Ci9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4 L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1w cmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4v XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9ub2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay8uL10tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrLy4vXS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay8uL10tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncnFi cmFjayBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHJxYnJhY2sKKyBjYXNl ICQxIGluCisgaXNfaW5fbGlzdCBycWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVt PXJxYnJhY2sKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9 CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3JxYnJhY2sgaW4gYnVpbGRk aXInCisgc2V0ICt4Cm9rIDUzIC0gcnFicmFjayBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRh cCA1MyAtIHJxYnJhY2sgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyAnLi9dJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi9dJyAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrIC10eXBlIGQgJyEnIC1wZXJtIC03 MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJy4vXScgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjaworIGZvciB3aGVyZSBpbiBidWls ZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1ycWJyYWNrCisgZGVzdD0nL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10nCisgbWtkaXIgYnVpbGQtcnFicmFj aworIGNkIGJ1aWxkLXJxYnJhY2sKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvXS1w cmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5h CmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXScKKyBmaWxlPScuL10nCisgbWFrZSAtZSB0ZXN0 LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvYnVpbGQtcnFicmFjaycKdGVzdCAteiAiL10tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS9d LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvXS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9dL10tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVm aXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiL10tcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv XS9dLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dL10tcHJlZml4L2ZvbycKdGVzdCAteiAiL10tcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvXS9dLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dL10tcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL10vXS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9dLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9dL10tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9d L10tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi9dLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL10vXS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS9dLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv XS9dLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL10tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS9dLXByZWZpeC9m b28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS9dLXByZWZpeC9mb28nCnRlc3QgLXogIi9dLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL10vXS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dL10tcHJlZml4 L2ZvbycKdGVzdCAteiAiL10tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS9dLXByZWZpeC9mb28iCi9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVmaXgvZm9v L3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dL10tcHJlZml4L2Zvby9zdWInCnRlc3Qg LXogIi9dLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dL10tcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL10vXS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1ycWJy YWNrJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dLy4v XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvXS8uL10tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS8uL10tcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vLi9d LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL10vLi9dLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS8uL10tcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv XS8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXS8uL10tcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9dLy4vXS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vLi9dLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dLy4vXS1wcmVmaXgvZm9vL2Jh c2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL10vLi9d LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9dLy4vXS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9dLy4vXS1wcmVmaXgvZm9v L2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncnFicmFjayBpbiBkZXN0ZGlyJworIGV4cGVjdGVk X3RvX2ZhaWwgZGVzdCBycWJyYWNrCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgcnFicmFjayBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1y cWJyYWNrCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdycWJyYWNrIGluIGRlc3RkaXIn Cisgc2V0ICt4Cm9rIDU0IC0gcnFicmFjayBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFwIDU0 IC0gcnFicmFjayBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gYnVpbGQtcnFicmFjayAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL10nCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1ycWJyYWNrICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXScgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhl YyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1ycWJyYWNrICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXScKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9u YW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbGNicmFja30nCisrIHRl c3Rfc3RyaW5nPSd7JworIHRlc3QgJ3h7JyAnIT0nIHgKKyBta2RpciAnLi97JworIGZvciB3aGVy ZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD0nLi97JworIGRlc3Q9L2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjaworIGNkICcuL3sn Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnL3stcHJlZml4JwpjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj b21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxp Yi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl cGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEu MFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy IGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1sY2JyYWNrCisgZmlsZT0nLi97JworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2Vb MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL3snCnRlc3QgLXogIi97LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCnRlc3QgLXogIi97LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQp0ZXN0IC16ICIvey1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9v IgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKdGVzdCAteiAiL3stcHJlZml4 L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28v c3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi97LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5h ICkKdGVzdCAteiAiL3stcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbyIKIC9w L2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay97LXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvey1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVm aXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28n CnRlc3QgLXogIi97LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCnRlc3QgLXogIi97LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9m b28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9m b28vc3ViJwp0ZXN0IC16ICIvey1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9v IgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1sY2JyYWNrL3stcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIveycKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZp eC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3st cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8u L3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svLi97LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay8uL3stcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svLi97LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbGli bm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtbGNicmFjay8uL3stcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2xj YnJhY2sgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsY2JyYWNrCisgY2Fz ZSAkMSBpbgorIGlzX2luX2xpc3QgbGNicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRl bT1sY2JyYWNrCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdsY2JyYWNrIGluIGJ1aWxk ZGlyJworIHNldCAreApvayA1NSAtIGxjYnJhY2sgaW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50 YXAgNTUgLSBsY2JyYWNrIGluIGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gJy4veycgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjaworIHRlc3QgMiAtZ3QgMAorIGZpbmQgJy4veycgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjayAtdHlwZSBkICchJyAtcGVybSAt NzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmICcuL3snIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sKKyBmb3Igd2hlcmUgaW4gYnVp bGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtbGNicmFjaworIGRlc3Q9Jy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97JworIG1rZGlyIGJ1aWxkLWxjYnJh Y2sKKyBjZCBidWlsZC1sY2JyYWNrCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnL3st cHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBt YWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5z dHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdj YyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0nL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3snCisgZmlsZT0nLi97JworIG1ha2UgLWUgdGVz dC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2J1aWxkLWxjYnJhY2snCnRlc3QgLXogIi97LXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3sv ey1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJlZml4L2ZvbycKdGVzdCAteiAiL3st cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvey97LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJl Zml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3st cHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi97LXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L3svey1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey97LXByZWZpeC9mb28nCnRlc3QgLXogIi97LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL3svey1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey97LXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci97L3stcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvey1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJl Zml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvey97LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ey97LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvey1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci97L3stcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svey1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2lu c3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L3svey1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi97LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svey1wcmVmaXgv Zm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svey1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvey1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci97L3stcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey97LXByZWZp eC9mb28nCnRlc3QgLXogIi97LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svey1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey97LXByZWZpeC9mb28vc3ViJwp0ZXN0 IC16ICIvey1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey97LXByZWZpeC9mb28vc3ViJwogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci97L3stcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtbGNi cmFjaycKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey8u L3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL3svLi97LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svLi97LXByZWZpeC9mb28vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97Ly4v ey1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci97Ly4vey1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svLi97LXByZWZpeC9mb28v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L3svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey8uL3stcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3svLi97LXByZWZpeC9m b28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvey8uL3stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci97Ly4vey1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey8uL3stcHJlZml4L2Zvby9i YXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci97Ly4v ey1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvey8uL3stcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvey8uL3stcHJlZml4L2Zv by9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2xjYnJhY2sgaW4gZGVzdGRpcicKKyBleHBlY3Rl ZF90b19mYWlsIGRlc3QgbGNicmFjaworIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGxjYnJhY2sg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09 bGNicmFjaworIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbGNicmFjayBpbiBkZXN0ZGly JworIHNldCAreApvayA1NiAtIGxjYnJhY2sgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA1 NiAtIGxjYnJhY2sgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycwor IGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9 IG9rCisgcm1fcmZfIGJ1aWxkLWxjYnJhY2sgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci97JworIHRlc3QgMiAtZ3QgMAorIGZpbmQgYnVpbGQtbGNicmFjayAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3snIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4 ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtbGNicmFjayAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL3snCisgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3Rf bmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3JjYnJhY2t9JworKyB0 ZXN0X3N0cmluZz0nfScKKyB0ZXN0ICd4fScgJyE9JyB4CisgbWtkaXIgJy4vfScKKyBmb3Igd2hl cmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vfScKKyBkZXN0PS9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sKKyBjZCAnLi99 JworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy99LXByZWZpeCcKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4g eWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNo ZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hl Y2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5s aWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwi XCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5U cG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQph ciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdj YyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9u b2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjaworIGZpbGU9Jy4vfScKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci99Jwp0ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9v IgogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli YmFzZS5hICkKdGVzdCAteiAiL30tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zv byIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCnRlc3QgLXogIi99LXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9v L3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zvby9zdWIvJwp0 ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNr L30tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCnRlc3QgLXogIi99LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28iCiAv cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXBy ZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL30tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgv Zm9vL3N1YicKdGVzdCAteiAiL30tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zv byIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30nCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99 LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv Li99LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL25vYmFzZS5z aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2svLi99LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdy Y2JyYWNrIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcmNicmFjaworIGNh c2UgJDEgaW4KKyBpc19pbl9saXN0IHJjYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0 ZW09cmNicmFjaworIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAncmNicmFjayBpbiBidWls ZGRpcicKKyBzZXQgK3gKb2sgNTcgLSByY2JyYWNrIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMu dGFwIDU3IC0gcmNicmFjayBpbiBidWlsZGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVz dCBvayA9IG9rCisgcm1fcmZfICcuL30nIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2sKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuL30nIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sgLXR5cGUgZCAnIScgLXBlcm0g LTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi99JyAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrCisgZm9yIHdoZXJlIGluIGJ1 aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLXJjYnJhY2sKKyBkZXN0PScv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfScKKyBta2RpciBidWlsZC1yY2Jy YWNrCisgY2QgYnVpbGQtcmNicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy99 LXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08g Qzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkg bWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4u IGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZp Zy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImlu c3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2Uu byAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNl LmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9Jy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99JworIGZpbGU9Jy4vfScKKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1yY2JyYWNrJwp0ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99 L30tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXByZWZpeC9mb28nCnRlc3QgLXogIi99 LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL30vfS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXBy ZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99 LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvfS1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci99L30tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vfS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvfS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci99L30tcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vfS1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvfS99LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL30tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL30vfS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L30vfS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL30t cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvfS99LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99L30tcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci99L30tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99L30tcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99L30tcHJlZml4L2ZvbycKdGVzdCAteiAiL30t cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvfS99LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vfS1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvfS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99L30tcHJlZml4L2ZvbyIKL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXByZWZpeC9m b28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vfS1wcmVmaXgvZm9vL3N1YicKdGVz dCAteiAiL30tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vfS1wcmVmaXgvZm9vL3N1YicKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvfS99LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXJj YnJhY2snCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30v Li99LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci99Ly4vfS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99Ly4vfS1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS8u L30tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvfS8uL30tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99Ly4vfS1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci99Ly4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vLi99LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99Ly4vfS1wcmVmaXgv Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL30vLi99LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS8uL30tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vLi99LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvfS8u L30tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vLi99LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL30vLi99LXByZWZpeC9m b28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdyY2JyYWNrIGluIGRlc3RkaXInCisgZXhwZWN0 ZWRfdG9fZmFpbCBkZXN0IHJjYnJhY2sKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCByY2JyYWNr IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXJjYnJhY2sKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9 CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3JjYnJhY2sgaW4gZGVzdGRp cicKKyBzZXQgK3gKb2sgNTggLSByY2JyYWNrIGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAg NTggLSByY2JyYWNrIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyBidWlsZC1yY2JyYWNrICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvfScKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXJjYnJhY2sgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99JyAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1l eGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLXJjYnJhY2sgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci99JworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0 X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zcGFjZX0nCisrIHRl c3Rfc3RyaW5nPScgJworIHRlc3QgJ3ggJyAnIT0nIHgKKyBta2RpciAnLi8gJworIGZvciB3aGVy ZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD0nLi8gJworIGRlc3Q9L2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UKKyBjZCAnLi8gJwor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8gLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZv ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tp bmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jh c2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UKKyBmaWxlPScuLyAnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ICcKdGVzdCAteiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvIC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3Bh Y2UvIC1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAt eiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAtcHJlZml4L2ZvbycKdGVzdCAteiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8g LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwg LWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8gLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvbycg JiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi8gLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4v aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLyAtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8gLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFj ZS8gLXByZWZpeC9mb28nCnRlc3QgLXogIi8gLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVm aXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKdGVz dCAteiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28iCi9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1w cmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJl Zml4L2Zvby9zdWInCnRlc3QgLXogIi8gLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgv Zm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9z dWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28v bm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vc3ViL2xpYm5v YmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nc3BhY2UgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9f ZmFpbCBidWlsZCBzcGFjZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHNwYWNlIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRy aWdyYXBoMCBhX2xmX2IKKyBpdGVtPXNwYWNlCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0t ICdzcGFjZSBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgNTkgLSBzcGFjZSBpbiBidWlsZGRpcgpQ QVNTOiBpbnN0c3BjLnRhcCA1OSAtIHNwYWNlIGluIGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0 dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gJy4vICcgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuLyAnIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXNwYWNlIC10eXBlIGQgJyEn IC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJy4vICcgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UKKyBmb3Igd2hlcmUg aW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtc3BhY2UKKyBkZXN0 PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvICcKKyBta2RpciBidWlsZC1z cGFjZQorIGNkIGJ1aWxkLXNwYWNlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyAt cHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBt YWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5z dHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdj YyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0nL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAnCisgZmlsZT0nLi8gJworIG1ha2UgLWUgdGVz dC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2J1aWxkLXNwYWNlJwp0ZXN0IC16ICIvIC1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLyAt cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZpeC9mb28nCnRlc3QgLXogIi8gLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLyAvIC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZp eC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvIC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8g LyAtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvIC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvIC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8gLyAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvIC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvIC8gLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLyAvIC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAv IC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLyAtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvIC8gLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLyAtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8g LyAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvIC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLyAtcHJlZml4L2Zv byIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLyAtcHJlZml4L2ZvbycKdGVzdCAteiAiLyAtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvIC8gLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvIC1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvIC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLyAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGly IC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvIC1wcmVmaXgvZm9vL3N1YicKdGVzdCAt eiAiLyAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvIC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvIC8gLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXNwYWNl Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLy4vIC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvIC8uLyAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8uLyAtcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvLi8gLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLyAvLi8gLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8uLyAtcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8u LyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8gLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvIC8uLyAtcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8g Ly4vIC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLyAvLi8gLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLy4vIC1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLyAvLi8gLXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8gLy4vIC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8gLy4vIC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nc3BhY2UgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19m YWlsIGRlc3Qgc3BhY2UKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBzcGFjZSBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1zcGFjZQorIHNo aWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249Cisg cmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnc3BhY2UgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sg NjAgLSBzcGFjZSBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFwIDYwIC0gc3BhY2UgaW4gZGVz dGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRp cnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxk LXNwYWNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvICcKKyB0ZXN0IDIg LWd0IDAKKyBmaW5kIGJ1aWxkLXNwYWNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvICcgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7 JworIHJtIC1yZiBidWlsZC1zcGFjZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLyAnCisgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0 X3N0cmluZz0ke2luc3RzcGNfX3RhYn0nCisrIHRlc3Rfc3RyaW5nPScJJworIHRlc3QgJ3gJJyAn IT0nIHgKKyBta2RpciAnLi8JJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hl cmUgaW4KKyBidWlsZD0nLi8JJworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtdGFiCisgY2QgJy4vCScKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4 ICcvCS1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Av YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYgorIGZpbGU9Jy4vCScKKyBt YWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JJwp0ZXN0IC16ICIvCS1wcmVmaXgvZm9vIiB8fCAv cC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LXRhYi8JLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycK dGVzdCAteiAiLwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbyIK ICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycKdGVzdCAteiAiLwktcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8JLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvCS1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRh Yi8JLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC10YWIvCS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFi LwktcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9m b28nCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvCS1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAi LwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLwknCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtdGFiLy4vCS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZS5k YXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt dGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8u LwktcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4v CS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vc3ViL2xp Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXRhYi8uLwktcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPSd0YWIgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFp bCBidWlsZCB0YWIKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCB0YWIgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09dGFiCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisg ZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICd0YWIgaW4g YnVpbGRkaXInCisgc2V0ICt4Cm9rIDYxIC0gdGFiIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMu dGFwIDYxIC0gdGFiIGluIGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gJy4vCScgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtdGFiCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi8JJyAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC10YWIgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBj aG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi8JJyAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2Ug JHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtdGFiCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLwknCisgbWtkaXIgYnVpbGQtdGFiCisgY2QgYnVpbGQtdGFiCisgcj1v aworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLwktcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNo ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm aWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg Zm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRl bmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz IGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5U cG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAt TzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LwknCisgZmlsZT0nLi8JJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXRhYicK dGVzdCAteiAiLwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8JLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkv CS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvCS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLwktcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h ICkKdGVzdCAteiAiLwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8JLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLwkt cHJlZml4L2ZvbycKdGVzdCAteiAiLwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8JLXByZWZpeC9mb28iCiAvcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLwktcHJl Zml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3Qg LXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLwktcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLwktcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8JLXBy ZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8JLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAi LwktcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvCS8JLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8J LXByZWZpeC9mb28nCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8JLwktcHJlZml4L2ZvbycKdGVzdCAteiAiLwktcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv CS8JLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLwkvCS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8JLwktcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8JLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgv Zm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8JLwktcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvCS1wcmVmaXgv Zm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC10YWInCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLwkvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLy4vCS1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8JLy4vCS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvCS8uLwktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8uLwktcHJlZml4L2Zv by9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8JLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8JLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvLi8JLXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8JLy4vCS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCS8uLwktcHJlZml4 L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLwkvLi8JLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvCS8uLwktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkvLi8JLXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLwkvLi8JLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSd0YWIgaW4g ZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgdGFiCisgY2FzZSAkMSBpbgorIGlzX2lu X2xpc3QgdGFiIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xm X2IKKyBpdGVtPXRhYgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVj dGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAndGFiIGluIGRlc3Rk aXInCisgc2V0ICt4Cm9rIDYyIC0gdGFiIGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAgNjIg LSB0YWIgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2Ug JGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisg cm1fcmZfIGJ1aWxkLXRhYiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwkn CisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC10YWIgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8JJyAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4 ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLXRhYiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLwknCisgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFs ICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xpbmVmZWVkfScKKysgdGVzdF9zdHJpbmc9JwonCisg dGVzdCAneAonICchPScgeAorIG1rZGlyICcuLwonCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QK KyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuLwonCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1saW5lZmVlZAorIGNkICcuLwonCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAnLwotcHJlZml4Jwpjb25maWd1cmU6IGVycm9yOiBwd2QgZG9lcyBu b3QgcmVwb3J0IG5hbWUgb2Ygd29ya2luZyBkaXJlY3RvcnkKKyByPSdub3Qgb2snCisgZGVzY3Jp cHRpb249J2xpbmVmZWVkIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbGlu ZWZlZWQKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBsaW5lZmVlZCBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1saW5lZmVlZAorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4g MAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCisg cmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0t ICdsaW5lZmVlZCBpbiBidWlsZGRpcicKKyBzZXQgK3gKbm90IG9rIDYzIC0gbGluZWZlZWQgaW4g YnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogaW5zdHNwYy50 YXAgNjMgLSBsaW5lZmVlZCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGly cyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdub3Qgb2snID0gb2sKKyA6IEZvciBs ZXNzZXIgc2hlbGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciB3aGVyZSBpbiBidWlsZCBk ZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1saW5lZmVlZAorIGRlc3Q9Jy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8KJworIG1rZGlyIGJ1aWxkLWxpbmVmZWVk CisgY2QgYnVpbGQtbGluZWZlZWQKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvCi1w cmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApNYWtlZmlsZToy MTY6ICoqKiBtaXNzaW5nIHNlcGFyYXRvci4gIFN0b3AuCisgcj0nbm90IG9rJworIGRlc2NyaXB0 aW9uPSdsaW5lZmVlZCBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBsaW5lZmVl ZAorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGxpbmVmZWVkIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxpbmVmZWVkCisgc2hpZnQKKyBj YXNlICIgJCogIiBpbgorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmct c3RhbmRpbmcgbGltaXRhdGlvbicgLS0gJ2xpbmVmZWVkIGluIGRlc3RkaXInCisgc2V0ICt4Cm5v dCBvayA2NCAtIGxpbmVmZWVkIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRh dGlvbgpYRkFJTDogaW5zdHNwYy50YXAgNjQgLSBsaW5lZmVlZCBpbiBkZXN0ZGlyICMgVE9ETyBs b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ25v dCBvaycgPSBvaworIDogRm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisg Zm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0k e2luc3RzcGNfX2JhY2tzcGFjZX0nCisrIHRlc3Rfc3RyaW5nPSQnXGInCisgdGVzdCAkJ3hcYicg JyE9JyB4CisgbWtkaXIgJCcuL1xiJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAk d2hlcmUgaW4KKyBidWlsZD0kJy4vXGInCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UKKyBjZCAkJy4vXGInCisgcj1vaworIC4uL2NvbmZp Z3VyZSAtLXByZWZpeCAkJy9cYi1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUg b2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK KyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZQorIGZpbGU9JCcuL1xiJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgnCnRlc3Qg LXogIi8ILXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbyIKIC9wL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvCC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKdGVzdCAteiAiLwgtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9v IgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvCC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZp eC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28v c3ViLycKdGVzdCAteiAiLwgtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9v IgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi8ILXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLwgtcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKdGVzdCAteiAiLwgtcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFj ZS8ILXByZWZpeC9mb28nCnRlc3QgLXogIi8ILXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgt cHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvCC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJl Zml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJl Zml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvCCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZp eC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4v CC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9vL25vYmFzZS5z aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvLi8ILXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vc3Vi L25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1w cmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9saWJiYXNlLmEnCisg ZGVzY3JpcHRpb249J2JhY2tzcGFjZSBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1 aWxkIGJhY2tzcGFjZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGJhY2tzcGFjZSBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFk cmlncmFwaDAgYV9sZl9iCisgaXRlbT1iYWNrc3BhY2UKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGlu CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIg JycgLS0gJ2JhY2tzcGFjZSBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgNjUgLSBiYWNrc3BhY2Ug aW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50YXAgNjUgLSBiYWNrc3BhY2UgaW4gYnVpbGRkaXIK KyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGlu CisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAkJy4vXGInIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZQorIHRlc3Qg MiAtZ3QgMAorIGZpbmQgJCcuL1xiJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhlYyBjaG1vZCB1K3J3 eCAne30nICc7JworIHJtIC1yZiAkJy4vXGInIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZQorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAk d2hlcmUgaW4KKyBidWlsZD1idWlsZC1iYWNrc3BhY2UKKyBkZXN0PSQnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL1xiJworIG1rZGlyIGJ1aWxkLWJhY2tzcGFjZQorIGNkIGJ1 aWxkLWJhY2tzcGFjZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJCcvXGItcHJlZml4 JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3Vi L2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0kJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cYicKKyBmaWxlPSQnLi9cYicKKyBtYWtlIC1lIHRlc3Qt aW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9idWlsZC1iYWNrc3BhY2UnCnRlc3QgLXogIi8ILXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgv CC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJlZml4L2ZvbycKdGVzdCAteiAiLwgt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvCC8ILXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJl Zml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgt cHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8ILXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LwgvCC1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8ILXByZWZpeC9mb28nCnRlc3QgLXogIi8ILXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLwgvCC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8ILXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8ILwgtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvCC1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJl Zml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvCC8ILXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv CC8ILXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvCC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8ILwgtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvCC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2lu c3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly LwgvCC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8ILXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvCC1wcmVmaXgv Zm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvCC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvCC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8ILwgtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8ILXByZWZp eC9mb28nCnRlc3QgLXogIi8ILXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvCC1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8ILXByZWZpeC9mb28vc3ViJwp0ZXN0 IC16ICIvCC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8ILXByZWZpeC9mb28vc3ViJwogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8ILwgtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYmFj a3NwYWNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8I Ly4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8uLwgtcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgv Li8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8uLwgtcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvCC8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILy4vCC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvCC8uLwgtcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILy4vCC1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwgv Li8ILXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILy4vCC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8ILy4vCC1wcmVmaXgv Zm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nYmFja3NwYWNlIGluIGRlc3RkaXInCisgZXhw ZWN0ZWRfdG9fZmFpbCBkZXN0IGJhY2tzcGFjZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGJh Y2tzcGFjZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9i CisgaXRlbT1iYWNrc3BhY2UKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2JhY2tzcGFj ZSBpbiBkZXN0ZGlyJworIHNldCAreApvayA2NiAtIGJhY2tzcGFjZSBpbiBkZXN0ZGlyClBBU1M6 IGluc3RzcGMudGFwIDY2IC0gYmFja3NwYWNlIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1 cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1iYWNrc3BhY2UgJCcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXGInCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWls ZC1iYWNrc3BhY2UgJCcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXGInIC10 eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYg YnVpbGQtYmFja3NwYWNlICQnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1xi JworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJp bmc9JHtpbnN0c3BjX19mb3JtZmVlZH0nCisrIHRlc3Rfc3RyaW5nPSQnXGYnCisgdGVzdCAkJ3hc ZicgJyE9JyB4CisgbWtkaXIgJCcuL1xmJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2Fz ZSAkd2hlcmUgaW4KKyBidWlsZD0kJy4vXGYnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIGNkICQnLi9cZicKKyByPW9rCisgLi4vY29u ZmlndXJlIC0tcHJlZml4ICQnL1xmLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHls ZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNo ZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNl LlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5v YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9y bWZlZWQKKyBmaWxlPSQnLi9cZicKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MJwp0ZXN0 IC16ICIvDC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbyIKIC9wL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCnRlc3QgLXogIi8MLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1m b3JtZmVlZC8MLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQp0ZXN0IC16ICIvDC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbyIKICAv cC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvDC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vL3N1 Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28vc3ViLycKdGVz dCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFz ZS5hICkKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9u b2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvDC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJl Zml4L2ZvbycKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9m b28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvDC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbyIKL3AvYmluL21r ZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2 aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL25vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQv Li8MLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9y bWZlZWQvLi8MLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9m b28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdmb3JtZmVlZCBpbiBidWlsZGRpcicKKyBleHBl Y3RlZF90b19mYWlsIGJ1aWxkIGZvcm1mZWVkCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZm9y bWZlZWQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09Zm9ybWZlZWQKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgJycgLXIgJycgLS0gJ2Zvcm1mZWVkIGluIGJ1aWxkZGlyJworIHNldCAreApvayA2NyAt IGZvcm1mZWVkIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDY3IC0gZm9ybWZlZWQgaW4g YnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rl c3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAk Jy4vXGYnIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk CisgdGVzdCAyIC1ndCAwCisgZmluZCAkJy4vXGYnIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2ht b2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgJCcuL1xmJyAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0Cisg Y2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1mb3JtZmVlZAorIGRlc3Q9JCcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvXGYnCisgbWtkaXIgYnVpbGQtZm9ybWZlZWQKKyBj ZCBidWlsZC1mb3JtZmVlZAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJCcvXGYtcHJl Zml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF KS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtl Li4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYg LWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0kJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9cZicKKyBmaWxlPSQnLi9cZicKKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1mb3JtZmVlZCcKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv DC8MLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIv DC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci8MLwwtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1w cmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwv DC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLwwtcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvDC8MLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLwwtcHJlZml4L2ZvbycKdGVzdCAteiAiLwwt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvDC8MLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLwwtcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2lu c3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8MLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1w cmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8MLwwtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1w cmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8MLwwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi8M LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLwwvDC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8MLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4v aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvDC8MLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8MLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8MLXByZWZpeC9mb28nCnRlc3QgLXogIi8M LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLwwvDC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLwwtcHJl Zml4L2ZvbycKdGVzdCAteiAiLwwtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8MLXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLwwtcHJlZml4L2Zvby9zdWInCnRl c3QgLXogIi8MLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLwwtcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvDC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1m b3JtZmVlZCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv DC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvLi8MLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvLi8MLXByZWZpeC9mb28v YmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8M Ly4vDC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLy4vDC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvLi8MLXByZWZpeC9m b28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLwwvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLwwvLi8MLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvDC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8MLy4vDC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8uLwwtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8M Ly4vDC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8uLwwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDC8uLwwtcHJlZml4 L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2Zvcm1mZWVkIGluIGRlc3RkaXInCisgZXhw ZWN0ZWRfdG9fZmFpbCBkZXN0IGZvcm1mZWVkCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgZm9y bWZlZWQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgor IGl0ZW09Zm9ybWZlZWQKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2Zvcm1mZWVkIGlu IGRlc3RkaXInCisgc2V0ICt4Cm9rIDY4IC0gZm9ybWZlZWQgaW4gZGVzdGRpcgpQQVNTOiBpbnN0 c3BjLnRhcCA2OCAtIGZvcm1mZWVkIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1mb3JtZmVlZCAkJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9cZicKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLWZvcm1m ZWVkICQnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1xmJyAtdHlwZSBkICch JyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWZv cm1mZWVkICQnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL1xmJworIGZvciB0 ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0 c3BjX19jYXJyaWFnZXJldH0nCisrIHRlc3Rfc3RyaW5nPSQnXHInCisgdGVzdCAkJ3hccicgJyE9 JyB4CisgbWtkaXIgJCcuL1xyJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hl cmUgaW4KKyBidWlsZD0kJy4vXHInCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldAorIGNkICQnLi9ccicKKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4ICQnL1xyLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNo ZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBD IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Ig c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0 aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBv ZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVy IChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9 XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNv dXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBv CnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAor IERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQKKyBmaWxlPSQnLi9ccicKKyBtYWtlIC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NJwp0ZXN0 IC16ICIvDS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCnRlc3QgLXogIi8NLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvDS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwp0 ZXN0IC16ICIvDS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbyIKIC9w L2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv bm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8NLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1j YXJyaWFnZXJldC8NLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vL3N1YicK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvDS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAi Lw0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28iCiAvcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdl cmV0Lw0tcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJl Zml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvDS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0t cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJl Zml4L2ZvbycKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvDS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLw0tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZp eC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLw0nCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8u Lw0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQv Li8NLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9ub2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQv Li8NLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdjYXJyaWFnZXJldCBpbiBi dWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGNhcnJpYWdlcmV0CisgY2FzZSAkMSBp bgorIGlzX2luX2xpc3QgY2FycmlhZ2VyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 Y2FycmlhZ2VyZXQKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2NhcnJpYWdlcmV0IGlu IGJ1aWxkZGlyJworIHNldCAreApvayA2OSAtIGNhcnJpYWdlcmV0IGluIGJ1aWxkZGlyClBBU1M6 IGluc3RzcGMudGFwIDY5IC0gY2FycmlhZ2VyZXQgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyBy ZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAkJy4vXHInIC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0CisgdGVzdCAyIC1ndCAwCisgZmlu ZCAkJy4vXHInIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWNhcnJp YWdlcmV0IC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycK KyBybSAtcmYgJCcuL1xyJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1jYXJyaWFnZXJldAorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4K KyBidWlsZD1idWlsZC1jYXJyaWFnZXJldAorIGRlc3Q9JCcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvXHInCisgbWtkaXIgYnVpbGQtY2FycmlhZ2VyZXQKKyBjZCBidWlsZC1j YXJyaWFnZXJldAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJCcvXHItcHJlZml4Jwpj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5n IGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdO VQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAg LU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRl cHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUg c3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli bm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0kJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9ccicKKyBmaWxlPSQnLi9ccicKKyBtYWtlIC1lIHRlc3QtaW5z dAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9idWlsZC1jYXJyaWFnZXJldCcKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8N LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvDS1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8NLw0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVm aXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv DS8NLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLw0tcHJlZml4L2ZvbycKdGVzdCAteiAiLw0tcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvDS8NLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLw0tcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLw0vDS1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8NLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8NLw0tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8N Lw0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi8NLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8NLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv DS8NLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8NLXByZWZpeC9m b28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8NLXByZWZpeC9mb28nCnRlc3QgLXogIi8NLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLw0tcHJlZml4 L2ZvbycKdGVzdCAteiAiLw0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8NLXByZWZpeC9mb28iCi9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9v L3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLw0tcHJlZml4L2Zvby9zdWInCnRlc3Qg LXogIi8NLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLw0tcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLw0vDS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1jYXJy aWFnZXJldCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv DS8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vLi8NLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vLi8NLXByZWZpeC9mb28v YmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8N Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLy4vDS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vLi8NLXByZWZpeC9m b28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLw0vLi8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8uLw0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLw0vLi8NLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvDS8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8NLy4vDS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8uLw0tcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8N Ly4vDS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8uLw0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvDS8uLw0tcHJlZml4 L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2NhcnJpYWdlcmV0IGluIGRlc3RkaXInCisg ZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGNhcnJpYWdlcmV0CisgY2FzZSAkMSBpbgorIGlzX2luX2xp c3QgY2FycmlhZ2VyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVk IGFfbGZfYgorIGl0ZW09Y2FycmlhZ2VyZXQKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0 dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0g J2NhcnJpYWdlcmV0IGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDcwIC0gY2FycmlhZ2VyZXQgaW4g ZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA3MCAtIGNhcnJpYWdlcmV0IGluIGRlc3RkaXIKKyBj ZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisg cmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1jYXJyaWFn ZXJldCAkJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9ccicKKyB0ZXN0IDIg LWd0IDAKKyBmaW5kIGJ1aWxkLWNhcnJpYWdlcmV0ICQnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL1xyJyAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4 ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLWNhcnJpYWdlcmV0ICQnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL1xyJworIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xp c3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19xdWFkcmlncmFwaDB9JworKyB0ZXN0 X3N0cmluZz0nQCZ0QCcKKyB0ZXN0ICd4QCZ0QCcgJyE9JyB4CisgbWtkaXIgJy4vQCZ0QCcKKyBm b3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4vQCZ0QCcK KyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMAorIGNkICcuL0AmdEAnCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnL0AmdEAt cHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBj b25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQor IHI9J25vdCBvaycKKyBkZXNjcmlwdGlvbj0ncXVhZHJpZ3JhcGgwIGluIGJ1aWxkZGlyJworIGV4 cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJpZ3JhcGgwCisgY2FzZSAkMSBpbgorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBo MAorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCisgcmVzdWx0XyAnbm90IG9rJyAtRCBU T0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdxdWFkcmlncmFwaDAgaW4gYnVp bGRkaXInCisgc2V0ICt4Cm5vdCBvayA3MSAtIHF1YWRyaWdyYXBoMCBpbiBidWlsZGRpciAjIFRP RE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiBpbnN0c3BjLnRhcCA3MSAtIHF1YWRy aWdyYXBoMCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2Qg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJl dHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0ICdub3Qgb2snID0gb2sKKyA6IEZvciBsZXNzZXIgc2hl bGxzIHdpdGggYnJva2VuICdzZXQgLWUuJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2Fz ZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDAKKyBkZXN0PScvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QCcKKyBta2RpciBidWlsZC1xdWFkcmlncmFw aDAKKyBjZCBidWlsZC1xdWFkcmlncmFwaDAKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4 ICcvQCZ0QC1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1 c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVy ZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QCcKKyBmaWxlPScuL0AmdEAn CisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGgwJwp0ZXN0IC16 ICIvQCZ0QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv QCZ0QC9AJnRALXByZWZpeC9mb28nCnRlc3QgLXogIi9AJnRALXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0 QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZpeC9mb28n CiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvQCZ0QC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AJnRAL0AmdEAtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0QC1wcmVmaXgvZm9vJwp0 ZXN0IC16ICIvQCZ0QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0QC1w cmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiL0AmdEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZpeC9mb28iCi9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0 QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0Am dEAvQCZ0QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAi L0AmdEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2Zv by9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIv QCZ0QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9AJnRAL0AmdEAtcHJlZml4L2ZvbycKdGVzdCAteiAiL0AmdEAtcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0 QC9AJnRALXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0QC1wcmVmaXgv Zm9vJwp0ZXN0IC16ICIvQCZ0QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRAL0AmdEAtcHJlZml4L2ZvbyIKL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9A JnRALXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvQCZ0QC1w cmVmaXgvZm9vL3N1YicKdGVzdCAteiAiL0AmdEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC9AJnRALXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL0AmdEAvQCZ0QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0 QC9AJnRALXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoMCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC8uL0AmdEAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0AmdEAvLi9AJnRALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvLi9AJnRALXByZWZpeC9m b28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL25v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L0AmdEAvLi9AJnRALXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvLi9AJnRALXByZWZpeC9mb28vc3ViL25vYmFz ZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0 QC8uL0AmdEAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAvLi9AJnRALXByZWZpeC9mb28vYmFzZS5zaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC8uL0AmdEAt cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC8uL0AmdEAtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9A JnRALy4vQCZ0QC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv QCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdy YXBoMCBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDAKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDAgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgwCisgc2hpZnQK KyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICcnIC1yICcnIC0tICdxdWFkcmlncmFwaDAgaW4gZGVzdGRpcicKKyBzZXQgK3gK b2sgNzIgLSBxdWFkcmlncmFwaDAgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA3MiAtIHF1 YWRyaWdyYXBoMCBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gYnVpbGQtcXVhZHJpZ3JhcGgwICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvQCZ0QCcKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXF1YWRyaWdyYXBo MCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AmdEAnIC10eXBlIGQgJyEn IC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtcXVh ZHJpZ3JhcGgwICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCZ0QCcKKyBm b3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7 aW5zdHNwY19fcXVhZHJpZ3JhcGgxfScKKysgdGVzdF9zdHJpbmc9J0A8OkAnCisgdGVzdCAneEA8 OkAnICchPScgeAorIG1rZGlyICcuL0A8OkAnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBj YXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL0A8OkAnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEKKyBjZCAnLi9APDpAJworIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9APDpALXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg ZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl cyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRl cHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcg LU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug c291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxCisgZmlsZT0nLi9APDpAJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1h a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL0A8OkAnCnRlc3QgLXogIi9APDpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvQDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9A PDpALXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9A PDpALXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h ICkKdGVzdCAteiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvQDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0A8OkAtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIg LXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS9APDpALXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycgJiYgcmFu bGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXogIi9APDpALXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zv by9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJl Zml4L2ZvbycKdGVzdCAteiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA LXByZWZpeC9mb28nCnRlc3QgLXogIi9APDpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1YicKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28v c3ViJwp0ZXN0IC16ICIvQDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWInCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvQDw6QCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28v YmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDEvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9m b28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvLi9APDpALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgxLy4vQDw6QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4 L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMSBpbiBidWlsZGRpcicK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoMQorIGNhc2UgJDEgaW4KKyBpc19p bl9saXN0IHF1YWRyaWdyYXBoMSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNs YXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1xdWFkcmln cmFwaDEKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3F1YWRyaWdyYXBoMSBpbiBidWls ZGRpcicKKyBzZXQgK3gKb2sgNzMgLSBxdWFkcmlncmFwaDEgaW4gYnVpbGRkaXIKUEFTUzogaW5z dHNwYy50YXAgNzMgLSBxdWFkcmlncmFwaDEgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1 cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAnLi9APDpAJyAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEKKyB0ZXN0IDIgLWd0IDAKKyBmaW5k ICcuL0A8OkAnIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMSAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsn Cisgcm0gLXJmICcuL0A8OkAnIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMQorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUg aW4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDEKKyBkZXN0PScvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQDw6QCcKKyBta2RpciBidWlsZC1xdWFkcmlncmFwaDEKKyBjZCBi dWlsZC1xdWFkcmlncmFwaDEKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvQDw6QC1w cmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5h CmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QCcKKyBmaWxlPScuL0A8OkAnCisgbWFrZSAt ZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGgxJwp0ZXN0IC16ICIvQDw6QC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpA LXByZWZpeC9mb28nCnRlc3QgLXogIi9APDpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgv Zm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28nCiAoIGNkICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28n ICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvQDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpAL0A8 OkAtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIv QDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgvZm9v L3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAt cCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgv Zm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL0A8OkAtcHJl Zml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIvJwog IC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvQDw6QC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpA L0A8OkAtcHJlZml4L2ZvbycKdGVzdCAteiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXBy ZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvQDw6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpAL0A8OkAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGly IC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZp eC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvQDw6QC1wcmVmaXgvZm9v L3N1YicKdGVzdCAteiAiL0A8OkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXByZWZpeC9mb28iCi9w L2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAv QDw6QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC9APDpALXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoMScKdGVzdCAgIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL0A8OkAvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvLi9APDpALXByZWZpeC9mb28vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpALy4v QDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpALy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAvLi9A PDpALXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL0A8OkAvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz dCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8OkAt cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0A8OkAvLi9APDpALXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8OkAtcHJlZml4L2Zv by9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9APDpALy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9APDpALy4vQDw6 QC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QC8uL0A8 OkAtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMSBpbiBk ZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDEKKyBjYXNlICQxIGlu CisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgxCisgc2hpZnQKKyBjYXNlICIg JCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICcnIC1yICcnIC0tICdxdWFkcmlncmFwaDEgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNzQgLSBx dWFkcmlncmFwaDEgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA3NCAtIHF1YWRyaWdyYXBo MSBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2Vl cF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9y Zl8gYnVpbGQtcXVhZHJpZ3JhcGgxICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvQDw6QCcKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXF1YWRyaWdyYXBoMSAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A8OkAnIC10eXBlIGQgJyEnIC1wZXJtIC03 MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgx ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDw6QCcKKyBmb3IgdGVzdF9u YW1lIGluICckdGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19f cXVhZHJpZ3JhcGgyfScKKysgdGVzdF9zdHJpbmc9J0A6PkAnCisgdGVzdCAneEA6PkAnICchPScg eAorIG1rZGlyICcuL0A6PkAnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVy ZSBpbgorIGJ1aWxkPScuL0A6PkAnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIKKyBjZCAnLi9AOj5AJworIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggJy9AOj5ALXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHls ZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNo ZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNl LlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5v YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyCisgZmlsZT0nLi9AOj5AJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6 PkAnCnRlc3QgLXogIi9AOj5ALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9v Jwp0ZXN0IC16ICIvQDo+QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZp eC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAt eiAiL0A6PkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vIgog IC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQDo+ QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28iCiAvcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0A6PkAtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXBy ZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9A Oj5ALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCnRlc3QgLXogIi9AOj5ALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy L0A6PkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWIvJwog IC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKdGVzdCAt eiAiL0A6PkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vIgog L3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycK dGVzdCAteiAiL0A6PkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgv Zm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28nCnRlc3QgLXogIi9AOj5ALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViJwp0ZXN0 IC16ICIvQDo+QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28i Ci9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QCcK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAt cHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5A LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4v QDo+QC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9A Oj5ALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+ QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9saWJi YXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMiBpbiBidWlsZGRpcicKKyBleHBlY3Rl ZF90b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoMgorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHF1 YWRyaWdyYXBoMiBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVy c2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1xdWFkcmlncmFwaDIKKyBz aGlmdAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3F1YWRyaWdyYXBoMiBpbiBidWlsZGRpcicKKyBz ZXQgK3gKb2sgNzUgLSBxdWFkcmlncmFwaDIgaW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50YXAg NzUgLSBxdWFkcmlncmFwaDIgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyAnLi9AOj5AJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuL0A6PkAn IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMiAt dHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJm ICcuL0A6PkAnIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMgorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWls ZD1idWlsZC1xdWFkcmlncmFwaDIKKyBkZXN0PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvQDo+QCcKKyBta2RpciBidWlsZC1xdWFkcmlncmFwaDIKKyBjZCBidWlsZC1xdWFk cmlncmFwaDIKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvQDo+QC1wcmVmaXgnCmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMK Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2lu ZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05V CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFy Li4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAt TUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBz dWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGli bm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJu b2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIg ICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQDo+QCcKKyBmaWxlPScuL0A6PkAnCisgbWFrZSAtZSB0ZXN0LWlu c3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGgyJwp0ZXN0IC16ICIvQDo+QC1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AOj5AL0A6PkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9m b28nCnRlc3QgLXogIi9AOj5ALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvQDo+QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIg LXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5AL0A6PkAtcHJlZml4 L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQDo+QC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9AOj5AL0A6PkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1Yi8nCiAv cC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0A6PkAt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1YicK IC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL0A6PkAtcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv QDo+QC9AOj5ALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvQDo+QC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9A Oj5AL0A6PkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5AL0A6PkAtcHJl Zml4L2ZvbycKdGVzdCAteiAiL0A6PkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQDo+ QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9AOj5AL0A6PkAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3Vi JwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1YicKdGVz dCAteiAiL0A6PkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28iCi9wL2Jpbi9ta2Rp ciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvQDo+QC1wcmVm aXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC9AOj5ALXByZWZpeC9mb28v c3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoMicKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAv Li9AOj5ALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5ALy4vQDo+QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAvLi9AOj5ALXByZWZp eC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4L2Zv by9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5A Ly4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AOj5ALy4vQDo+QC1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QC8uL0A6PkAtcHJlZml4 L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMiBpbiBkZXN0ZGlyJwor IGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDIKKyBjYXNlICQxIGluCisgaXNfaW5f bGlzdCBxdWFkcmlncmFwaDIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVm ZWVkIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgyCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcn IC0tICdxdWFkcmlncmFwaDIgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNzYgLSBxdWFkcmlncmFw aDIgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA3NiAtIHF1YWRyaWdyYXBoMiBpbiBkZXN0 ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGly cyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQt cXVhZHJpZ3JhcGgyICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QCcK KyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXF1YWRyaWdyYXBoMiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL0A6PkAnIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMg Y2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgyICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQDo+QCcKKyBmb3IgdGVzdF9uYW1lIGluICck dGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3Jh cGgzfScKKysgdGVzdF9zdHJpbmc9J0BTfEAnCisgdGVzdCAneEBTfEAnICchPScgeAorIG1rZGly ICcuL0BTfEAnCisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1 aWxkPScuL0BTfEAnCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDMKKyBjZCAnLi9AU3xAJworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggJy9AU3xALXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9w L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4 IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNs dWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2Mu Li4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2Ug YWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1E UEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8y IC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5v IC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1m IHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ug c291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RE SVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz CisgZmlsZT0nLi9AU3xAJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAnCnRlc3Qg LXogIi9AU3xALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbyIK IC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwp0ZXN0IC16 ICIvQFN8QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAo IGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDMvQFN8QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiL0BTfEAt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vIgogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQFN8QC1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALXByZWZpeC9mb28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0BTfEAtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCnRlc3QgLXogIi9AU3xALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJl Zml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0BTfEAt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vIgogL3AvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKdGVzdCAteiAi L0BTfEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vIgogL3Av YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCnRlc3Qg LXogIi9AU3xALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvQFN8 QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28iCi9wL2Jpbi9t a2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMv Li9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8u L0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzLy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVm aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vYmFzZS5zaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDMvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8u L0BTfEAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9saWJiYXNlLmEnCisg ZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMyBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWls IGJ1aWxkIHF1YWRyaWdyYXBoMworIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IHF1YWRyaWdyYXBo MyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5l ZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1xdWFkcmlncmFwaDMKKyBzaGlmdAorIGNh c2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgJycgLXIgJycgLS0gJ3F1YWRyaWdyYXBoMyBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sg NzcgLSBxdWFkcmlncmFwaDMgaW4gYnVpbGRkaXIKUEFTUzogaW5zdHNwYy50YXAgNzcgLSBxdWFk cmlncmFwaDMgaW4gYnVpbGRkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyAnLi9AU3xAJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDMKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuL0BTfEAnIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMyAtdHlwZSBkICch JyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmICcuL0BTfEAn IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMwor IGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD1idWlsZC1x dWFkcmlncmFwaDMKKyBkZXN0PScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv QFN8QCcKKyBta2RpciBidWlsZC1xdWFkcmlncmFwaDMKKyBjZCBidWlsZC1xdWFkcmlncmFwaDMK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvQFN8QC1wcmVmaXgnCmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEK YXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvQFN8QCcKKyBmaWxlPScuL0BTfEAnCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsx XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvYnVpbGQtcXVhZHJpZ3JhcGgzJwp0ZXN0IC16ICIvQFN8QC1wcmVmaXgvZm9vIiB8fCAvcC9i aW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xAL0BT fEAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28nCnRlc3Qg LXogIi9AU3xALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQp0ZXN0IC16ICIvQFN8QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xAL0BTfEAtcHJlZml4L2ZvbyIKICAv cC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQFN8QC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9A U3xAL0BTfEAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL0BTfEAtcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvQFN8QC9AU3xALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vJyAmJiByYW5s aWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL0BTfEAtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xA LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xAL0BT fEAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvQFN8QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xAL0BTfEAt cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xAL0BTfEAtcHJlZml4L2ZvbycK dGVzdCAteiAiL0BTfEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28iCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQFN8QC1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9AU3xAL0BTfEAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiL0BT fEAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1 YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwptYWtl WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2J1aWxkLXF1YWRyaWdyYXBoMycKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvLi9AU3xALXBy ZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL0BTfEAvLi9AU3xALXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAvLi9AU3xALXByZWZpeC9mb28vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BT fEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9ub2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0BTfEAv Li9AU3xALXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xALy4vQFN8QC1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9s aWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9saWJi YXNlLmEnCisgZGVzY3JpcHRpb249J3F1YWRyaWdyYXBoMyBpbiBkZXN0ZGlyJworIGV4cGVjdGVk X3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDMKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBxdWFk cmlncmFwaDMgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZf YgorIGl0ZW09cXVhZHJpZ3JhcGgzCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdxdWFk cmlncmFwaDMgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgNzggLSBxdWFkcmlncmFwaDMgaW4gZGVz dGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA3OCAtIHF1YWRyaWdyYXBoMyBpbiBkZXN0ZGlyCisgY2Qg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJl dHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtcXVhZHJpZ3Jh cGgzICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QCcKKyB0ZXN0IDIg LWd0IDAKKyBmaW5kIGJ1aWxkLXF1YWRyaWdyYXBoMyAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0BTfEAnIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdSty d3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgzICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvQFN8QCcKKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1l c19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGg0fScKKysg dGVzdF9zdHJpbmc9QCU6QAorIHRlc3QgeEAlOkAgJyE9JyB4CisgbWtkaXIgLi9AJTpACisgZm9y IHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPS4vQCU6QAorIGRl c3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0 CisgY2QgLi9AJTpACisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQCU6QC1wcmVmaXgK Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAt YwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGls ZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZp bGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApj aGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2lu ZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBH TlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNr aW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFy ZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5k ZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0CisgZmlsZT0uL0AlOkAKKyBtYWtl IC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAJwp0ZXN0IC16ICIvQCU6QC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKdGVzdCAteiAiL0AlOkAtcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGg0L0AlOkAtcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAt cHJlZml4L2ZvbycKdGVzdCAteiAiL0AlOkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCiAv cC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zv byIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXBy ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvQCU6QC1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIg LXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo NC9AJTpALXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9t a2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGg0L0AlOkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpALXByZWZpeC9mb28nCnRlc3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQCU6QC1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJl Zml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiL0AlOkAtcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28v c3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZp eC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4v QCU6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vc3ViL25v YmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0 Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9z dWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv Li9AJTpALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vc3ViL2xp Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvLi9AJTpALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdxdWFkcmlncmFw aDQgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBxdWFkcmlncmFwaDQKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDQgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09cXVhZHJpZ3JhcGg0Cisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdxdWFk cmlncmFwaDQgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDc5IC0gcXVhZHJpZ3JhcGg0IGluIGJ1 aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDc5IC0gcXVhZHJpZ3JhcGg0IGluIGJ1aWxkZGlyCisg Y2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgor IHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AJTpAIC9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNAorIHRlc3Qg MiAtZ3QgMAorIGZpbmQgLi9AJTpAIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNCAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUr cnd4ICd7fScgJzsnCisgcm0gLXJmIC4vQCU6QCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNh c2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtcXVhZHJpZ3JhcGg0CisgZGVzdD0vaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QAorIG1rZGlyIGJ1aWxkLXF1YWRyaWdyYXBo NAorIGNkIGJ1aWxkLXF1YWRyaWdyYXBoNAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg L0AlOkAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Av YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpACisgZmlsZT0uL0AlOkAKKyBtYWtl IC1lIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDQnCnRlc3QgLXogIi9AJTpA LXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLi4v c3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0Al OkAtcHJlZml4L2ZvbycKdGVzdCAteiAiL0AlOkAtcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2ZvbycKICggY2Qg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2Zv bycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAv QCU6QC1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZpeC9mb28nCnRlc3QgLXog Ii9AJTpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZpeC9m b28vc3ViLycKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvQCU6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2ZvbyIKL3AvYmluL21rZGly IC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZp eC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2Zvby9z dWInCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpA LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvQCU6QC1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1Yi8n CiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9AJTpALXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0Al OkAvQCU6QC1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvQCU6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAt cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZpeC9mb28nCnRl c3QgLXogIi9AJTpALXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAvQCU6QC1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJl Zml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC9AJTpALXByZWZpeC9m b28vc3ViJwp0ZXN0IC16ICIvQCU6QC1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAtcHJlZml4L2ZvbyIK L3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6 QC9AJTpALXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpAL0AlOkAt cHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGg0Jwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4vQCU6QC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAv Li9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QC8u L0AlOkAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4vQCU6 QC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4vQCU6QC1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL0AlOkAvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL0AlOkAvLi9A JTpALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9AJTpALy4v QCU6QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0ncXVhZHJpZ3JhcGg0IGlu IGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoNAorIGNhc2UgJDEg aW4KKyBpc19pbl9saXN0IHF1YWRyaWdyYXBoNCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1xdWFkcmlncmFwaDQKKyBzaGlmdAorIGNhc2Ug IiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgJycgLXIgJycgLS0gJ3F1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyJworIHNldCAreApvayA4MCAt IHF1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyClBBU1M6IGluc3RzcGMudGFwIDgwIC0gcXVhZHJpZ3Jh cGg0IGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRr ZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyBidWlsZC1xdWFkcmlncmFwaDQgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL0AlOkAKKyB0ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLXF1YWRyaWdyYXBoNCAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QCAtdHlwZSBkICchJyAtcGVybSAtNzAw IC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLXF1YWRyaWdyYXBoNCAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvQCU6QAorIGZvciB0ZXN0X25hbWUg aW4gJyR0ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19hX2J9 JworKyB0ZXN0X3N0cmluZz0nYSBiJworIHRlc3QgJ3hhIGInICchPScgeAorIG1rZGlyICcuL2Eg YicKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Jy4v YSBiJworIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9i CisgY2QgJy4vYSBiJworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9hIGItcHJlZml4 JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4u IEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3Vi L2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0vaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IKKyBmaWxlPScuL2EgYicKKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9hIGInCnRlc3QgLXogIi9hIGItcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2Iv YSBiLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJwp0 ZXN0IC16ICIvYSBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvYSBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1w cmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCnRlc3QgLXogIi9h IGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4 L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1Yi8n CnRlc3QgLXogIi9hIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28iCi9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9i L2EgYi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBi LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK dGVzdCAteiAiL2EgYi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbyIKIC9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9i L2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9v L3N1Yi8nCnRlc3QgLXogIi9hIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCnRlc3QgLXog Ii9hIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvYSBiLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16 ICIvYSBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIg LXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJl Zml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgv Zm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9hIGInCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2Eg Yi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2Eg Yi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl c3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4v YSBiLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBi LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPSdhX2IgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBhX2IKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBhX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 YV9iCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJl YXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdhX2IgaW4gYnVpbGRkaXInCisgc2V0 ICt4Cm9rIDgxIC0gYV9iIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDgxIC0gYV9iIGlu IGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g Jy4vYSBiJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX2IKKyB0 ZXN0IDIgLWd0IDAKKyBmaW5kICcuL2EgYicgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtYV9iIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3gg J3t9JyAnOycKKyBybSAtcmYgJy4vYSBiJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1hX2IKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGlu CisgYnVpbGQ9YnVpbGQtYV9iCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2EgYicKKyBta2RpciBidWlsZC1hX2IKKyBjZCBidWlsZC1hX2IKKyByPW9rCisgLi4v Y29uZmlndXJlIC0tcHJlZml4ICcvYSBiLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2lu ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBj cm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBz dHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4u LiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t YW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T VFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUku LiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1j IC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xp Ym5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIAorIERFU1RESVI9Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIn CisgZmlsZT0nLi9hIGInCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGly ZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYV9iJwp0 ZXN0IC16ICIvYSBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvYSBiL2EgYi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvYSBiLXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGIt cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2ZvbycKICgg Y2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9m b28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvYSBiLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9h IGItcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2Eg Yi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28vc3ViLycK IC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL2EgYi1w cmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5s aWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL2EgYi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXBy ZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiL2EgYi1wcmVm aXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9hIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiL2EgYi1wcmVmaXgvZm9v IgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi9hIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2Eg Yi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Eg Yi9hIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2EgYi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtk aXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBi L2EgYi1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiL2EgYi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvYSBiLXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Eg Yi9hIGItcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtYV9iJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2EgYi8uL2EgYi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi8uL2EgYi1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvYSBiLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiLy4vYSBiLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIv Li9hIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGIvLi9hIGItcHJlZml4 L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2EgYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiLy4v YSBiLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2EgYi8uL2EgYi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNj cmlwdGlvbj0nYV9iIGluIGRlc3RkaXInCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGFfYgorIGNh c2UgJDEgaW4KKyBpc19pbl9saXN0IGFfYiBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hX2IKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycg LS0gJ2FfYiBpbiBkZXN0ZGlyJworIHNldCAreApvayA4MiAtIGFfYiBpbiBkZXN0ZGlyClBBU1M6 IGluc3RzcGMudGFwIDgyIC0gYV9iIGluIGRlc3RkaXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1hX2IgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9hIGInCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1hX2IgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hIGInIC10eXBlIGQgJyEnIC1wZXJtIC03 MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtYV9iICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSBiJworIGZvciB0ZXN0X25hbWUgaW4gJyR0 ZXN0X25hbWVzX2xpc3QnCisgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19hX19ifScKKysg dGVzdF9zdHJpbmc9J2EgIGInCisgdGVzdCAneGEgIGInICchPScgeAorIG1rZGlyICcuL2EgIGIn CisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL2Eg IGInCisgZGVzdD0vaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19i CisgY2QgJy4vYSAgYicKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvYSAgYi1wcmVm aXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2Uu Li4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFy IGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1 Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IKKyBmaWxlPScuL2EgIGInCisgbWFrZSAt ZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYicKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1hX19iL2EgIGItcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJl Zml4L2ZvbycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4 L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAo IGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIt cHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi9hICBiLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvYSAgYi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAg Ii9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVm aXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMg Li4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXBy ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16ICIvYSAgYi1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zv by9zdWIvJwogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3Qg LXogIi9hICBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28iCiAvcC9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2EgIGIt cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCnRl c3QgLXogIi9hICBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28iCi9wL2Jp bi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9f Yi9hICBiLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2Iv YSAgYi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vc3Vi L25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVm aXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8u L2EgIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19i Ly4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2Eg IGItcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9saWJub2Jh c2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nYV9fYiBp biBidWlsZGRpcicKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGFfX2IKKyBjYXNlICQxIGluCisg aXNfaW5fbGlzdCBhX19iIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWFfX2IKKyBzaGlm dAorIGNhc2UgIiAkKiAiIGluCisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJl c3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2FfX2IgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDgz IC0gYV9fYiBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA4MyAtIGFfX2IgaW4gYnVpbGRk aXIKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJz IGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAnLi9hICBi JyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisgdGVzdCAy IC1ndCAwCisgZmluZCAnLi9hICBiJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1hX19iIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9 JyAnOycKKyBybSAtcmYgJy4vYSAgYicgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtYV9fYgorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4K KyBidWlsZD1idWlsZC1hX19iCisgZGVzdD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2EgIGInCisgbWtkaXIgYnVpbGQtYV9fYgorIGNkIGJ1aWxkLWFfX2IKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4ICcvYSAgYi1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBm b3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKKyBERVNURElSPScvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv YSAgYicKKyBmaWxlPScuL2EgIGInCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQt YV9fYicKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2EgIGIvYSAgYi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvYSAgYi1wcmVmaXgv Zm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9hICBiL2EgIGItcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvYSAg Yi1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2EgIGIvYSAgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiL2Eg IGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiL2EgIGIt cHJlZml4L2ZvbycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9m b28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9hICBiL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvYSAgYi1w cmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi9hICBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2Rp ciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvYSAgYi1wcmVm aXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9hICBiL2EgIGItcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Eg IGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9hICBiL2EgIGItcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCnRlc3QgLXogIi9hICBiLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvYSAgYi1wcmVmaXgvZm9vIgogL3Av YmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9h ICBiLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXByZWZpeC9mb28nCnRlc3QgLXogIi9hICBiLXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2EgIGIvYSAgYi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBi L2EgIGItcHJlZml4L2ZvbycKdGVzdCAteiAiL2EgIGItcHJlZml4L2ZvbyIgfHwgL3AvYmluL21r ZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi9hICBiLXBy ZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9hICBiL2EgIGItcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi9hICBiLXByZWZpeC9mb28iIHx8 IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Eg IGIvYSAgYi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci9hICBiL2EgIGItcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJl Y3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1hX19iJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiLy4vYSAg Yi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi8uL2EgIGItcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2EgIGIvLi9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvLi9hICBiLXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9zdWIv bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiLy4v YSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2EgIGIvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiLy4vYSAgYi1wcmVm aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2EgIGIvLi9hICBiLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hICBiLy4vYSAgYi1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nYV9f YiBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBhX19iCisgY2FzZSAkMSBpbgor IGlzX2luX2xpc3QgYV9fYiBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZl ZWQgYV9sZl9iCisgaXRlbT1hX19iCisgc2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdhX19i IGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDg0IC0gYV9fYiBpbiBkZXN0ZGlyClBBU1M6IGluc3Rz cGMudGFwIDg0IC0gYV9fYiBpbiBkZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtYV9fYiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2EgIGInCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1hX19iICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYicgLXR5cGUgZCAnIScgLXBlcm0gLTcw MCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiBidWlsZC1hX19iICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYSAgYicKKyBmb3IgdGVzdF9uYW1lIGluICck dGVzdF9uYW1lc19saXN0JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYV9sZl9ifScK KysgdGVzdF9zdHJpbmc9J2EKYicKKyB0ZXN0ICd4YQpiJyAnIT0nIHgKKyBta2RpciAnLi9hCmIn CisgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPScuL2EK YicKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWFfbGZf YgorIGNkICcuL2EKYicKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvYQpiLXByZWZp eCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmln dXJlOiBlcnJvcjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPSdu b3Qgb2snCisgZGVzY3JpcHRpb249J2FfbGZfYiBpbiBidWlsZGRpcicKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIGFfbGZfYgorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGFfbGZfYiBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFk cmlncmFwaDAgYV9sZl9iCisgaXRlbT1hX2xmX2IKKyBzaGlmdAorIGNhc2UgIiAkKiAiIGluCisg cmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj0nbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uJworIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAnbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uJyAtLSAnYV9sZl9iIGluIGJ1aWxkZGlyJworIHNldCAreApub3Qgb2sgODUgLSBhX2xmX2Ig aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogaW5zdHNw Yy50YXAgODUgLSBhX2xmX2IgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRh dGlvbgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRp cnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCAnbm90IG9rJyA9IG9rCisgOiBGb3Ig bGVzc2VyIHNoZWxscyB3aXRoIGJyb2tlbiAnc2V0IC1lLicKKyBmb3Igd2hlcmUgaW4gYnVpbGQg ZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtYV9sZl9iCisgZGVzdD0nL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2EKYicKKyBta2RpciBidWlsZC1hX2xmX2IK KyBjZCBidWlsZC1hX2xmX2IKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvYQpiLXBy ZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz Li4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5 Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFr ZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2lu ZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCk1ha2VmaWxlOjIx NjogKioqIG1pc3Npbmcgc2VwYXJhdG9yLiAgU3RvcC4KKyByPSdub3Qgb2snCisgZGVzY3JpcHRp b249J2FfbGZfYiBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBhX2xmX2IKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBhX2xmX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09YV9sZl9iCisgc2hpZnQKKyBjYXNlICIgJCog IiBpbgorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249J2xvbmctc3RhbmRpbmcg bGltaXRhdGlvbicKKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcg bGltaXRhdGlvbicgLS0gJ2FfbGZfYiBpbiBkZXN0ZGlyJworIHNldCAreApub3Qgb2sgODYgLSBh X2xmX2IgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiBp bnN0c3BjLnRhcCA4NiAtIGFfbGZfYiBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rl c3RkaXJzIGluCisgcmV0dXJuIDEKKyByZXR1cm4gMAorIHRlc3QgJ25vdCBvaycgPSBvaworIDog Rm9yIGxlc3NlciBzaGVsbHMgd2l0aCBicm9rZW4gJ3NldCAtZS4nCisgZm9yIHRlc3RfbmFtZSBp biAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2RvdGRv dGRvdH0nCisrIHRlc3Rfc3RyaW5nPS4uLgorIHRlc3QgeC4uLiAnIT0nIHgKKyBta2RpciAuLy4u LgorIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD0uLy4u LgorIGRlc3Q9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90CisgY2QgLi8uLi4KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8uLi4tcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVj a2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp bGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4g R05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVj a2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIv bGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdAorIGZpbGU9Li8uLi4KKyBtYWtlIC1l IHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4nCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLi4uLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAt cCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXBy ZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVz dC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16 ICIvLi4uLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vIgogIC9wL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCnRlc3QgLXogIi8uLi4tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4 L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9v L3N1Yi8nCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLy4uLi1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9v L3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1Yi8nCnRl c3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28iCiAv cC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCnRlc3Qg LXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIv Li4uLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLi4tcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvLi4uLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt ZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWIn CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1 YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8uLi4nCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28v bm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXBy ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90 Ly4vLi4uLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdkb3Rkb3Rkb3QgaW4gYnVpbGRkaXIn CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBkb3Rkb3Rkb3QKKyBjYXNlICQxIGluCisgaXNfaW5f bGlzdCBkb3Rkb3Rkb3Qgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBh bXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09ZG90ZG90ZG90Cisg c2hpZnQKKyBjYXNlICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0K KyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdkb3Rkb3Rkb3QgaW4gYnVpbGRkaXInCisgc2V0 ICt4Cm9rIDg3IC0gZG90ZG90ZG90IGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDg3IC0g ZG90ZG90ZG90IGluIGJ1aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gLi8uLi4gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90CisgdGVzdCAyIC1ndCAwCisgZmluZCAuLy4uLiAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QgLXR5cGUgZCAnIScgLXBlcm0gLTcw MCAtZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAuLy4uLiAvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QKKyBmb3Igd2hlcmUgaW4gYnVp bGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtZG90ZG90ZG90CisgZGVzdD0v aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uCisgbWtkaXIgYnVpbGQtZG90 ZG90ZG90CisgY2QgYnVpbGQtZG90ZG90ZG90Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvLi4uLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9w L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNl ZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291 cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8Kcm0gLWYgc3ViL2xp YmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCisgREVTVERJUj0vaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uCisgZmlsZT0uLy4uLgorIG1ha2Ug LWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWRvdGRvdGRvdCcKdGVzdCAteiAiLy4uLi1wcmVm aXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFz ZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLi4tcHJlZml4 L2ZvbycKdGVzdCAteiAiLy4uLi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28iCiAvcC9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli YmFzZS5hICkKdGVzdCAteiAiLy4uLi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28iCiAg L3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28nCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4u Ly4uLi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv Li4uLy4uLi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4u Li1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8uLi4vLi4uLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyLy4uLi8uLi4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1wcmVmaXgvZm9vIgogL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1w cmVmaXgvZm9vL3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLi4tcHJlZml4L2Zvby9zdWIvJwp0ZXN0 IC16ICIvLi4uLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLi4tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28nCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4u Ly4uLi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28n CnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1wcmVmaXgvZm9vIgovcC9iaW4vbWtk aXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZp eC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLi4tcHJlZml4L2Zvby9z dWInCnRlc3QgLXogIi8uLi4tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4uLi1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXBy ZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi4uLXByZWZpeC9mb28v c3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2J1aWxkLWRvdGRvdGRvdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi8uLi4t cHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvLi4uLy4vLi4uLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi8uLi4tcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvLi4uLy4vLi4uLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4vLi4uLXByZWZpeC9mb28vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLy4u Li1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4vLi4uLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvLi4uLy4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLi4uLy4vLi4uLXByZWZpeC9mb28vbm9iYXNl Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4vLi8u Li4tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci8uLi4vLi8uLi4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4uLi8uLy4uLi1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8uLi4vLi8uLi4tcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249J2Rv dGRvdGRvdCBpbiBkZXN0ZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBkb3Rkb3Rkb3QKKyBj YXNlICQxIGluCisgaXNfaW5fbGlzdCBkb3Rkb3Rkb3Qgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09ZG90ZG90ZG90Cisgc2hpZnQKKyBjYXNl ICIgJCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9r IC1EICcnIC1yICcnIC0tICdkb3Rkb3Rkb3QgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgODggLSBk b3Rkb3Rkb3QgaW4gZGVzdGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA4OCAtIGRvdGRvdGRvdCBpbiBk ZXN0ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0 ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVp bGQtZG90ZG90ZG90IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uLi4KKyB0 ZXN0IDIgLWd0IDAKKyBmaW5kIGJ1aWxkLWRvdGRvdGRvdCAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLi4uIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdSty d3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtZG90ZG90ZG90IC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8uLi4KKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0 JworIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZG9zZHJpdmV9JworKyB0ZXN0X3N0cmlu Zz1hOgorIHRlc3QgeGE6ICchPScgeAorIG1rZGlyIC4vYToKKyBmb3Igd2hlcmUgaW4gYnVpbGQg ZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9Li9hOgorIGRlc3Q9L2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUKKyBjZCAuL2E6Cisgcj1vaworIC4u L2NvbmZpZ3VyZSAtLXByZWZpeCAvYTotcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jv c3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5 bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj ZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJu b2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlCisgZmlsZT0uL2E6CisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTonCnRlc3Qg LXogIi9hOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28iCiAvcC9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKdGVzdCAteiAiL2E6LXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQp0ZXN0IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgv Zm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvYTot cHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1w ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1w cmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgv Zm9vL3N1Yi8nCnRlc3QgLXogIi9hOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiL2E6LXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTotcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogIC9w L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViLycKdGVzdCAteiAiL2E6LXBy ZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCnRlc3QgLXogIi9hOi1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt ZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKdGVzdCAteiAiL2E6LXByZWZpeC9mb28iIHx8IC9wL2Jp bi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTotcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViJwp0ZXN0 IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vIgovcC9iaW4v bWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlL2E6LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlL2E6LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0 ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZl Ly4vYTotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9m b28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9h Oi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS8uL2E6LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nZG9zZHJpdmUgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRf dG9fZmFpbCBidWlsZCBkb3Nkcml2ZQorIGNhc2UgJDEgaW4KKyBpc19pbl9saXN0IGRvc2RyaXZl IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWRvc2RyaXZlCisgc2hpZnQKKyBjYXNlICIg JCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICcnIC1yICcnIC0tICdkb3Nkcml2ZSBpbiBidWlsZGRpcicKKyBzZXQgK3gKb2sgODkgLSBkb3Nk cml2ZSBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA4OSAtIGRvc2RyaXZlIGluIGJ1aWxk ZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGly cyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9hOiAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZQorIHRlc3Qg MiAtZ3QgMAorIGZpbmQgLi9hOiAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1kb3Nkcml2ZSAtdHlwZSBkICchJyAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4ICd7 fScgJzsnCisgcm0gLXJmIC4vYTogL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtZG9zZHJpdmUKKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGlu CisgYnVpbGQ9YnVpbGQtZG9zZHJpdmUKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9hOgorIG1rZGlyIGJ1aWxkLWRvc2RyaXZlCisgY2QgYnVpbGQtZG9zZHJpdmUK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9hOi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZv ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tp bmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jh c2Ugc291cmNlLm8gIAorIERFU1RESVI9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2E6CisgZmlsZT0uL2E6CisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcg ZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQtZG9z ZHJpdmUnCnRlc3QgLXogIi9hOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hOi9hOi1wcmVmaXgvZm9vIgogL3AvYmlu L2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9hOi9hOi1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovYTot cHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6L2E6LXByZWZpeC9mb28nCiAoIGNk ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2Zvbycg JiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi9hOi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4v bWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hOi9hOi1wcmVm aXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2ZvbycKdGVzdCAteiAiL2E6LXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2E6L2E6LXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9hOi9hOi1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvYTovYTotcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovYTot cHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvYTovYTotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJub2Jhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6 L2E6LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2E6L2E6LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0 IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6L2E6LXByZWZpeC9mb28vc3Vi LycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvYTotcHJlZml4 L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvYTovYTotcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hOi9hOi1wcmVm aXgvZm9vJwp0ZXN0IC16ICIvYTotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2ZvbycKdGVzdCAteiAiL2E6LXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2E6L2E6LXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2E6L2E6LXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvYTotcHJlZml4L2ZvbyIgfHwg L3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTov YTotcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvYTovYTotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2E6L2E6LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLWRvc2RyaXZlJwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hOi8uL2E6LXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9hOi8uL2E6LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTov Li9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci9hOi8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFzZScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTovLi9hOi1wcmVm aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2E6Ly4vYTotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6Ly4vYTotcHJlZml4L2Zvby9saWJub2Jh c2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYTov Li9hOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj0nZG9zZHJpdmUgaW4gZGVz dGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgZG9zZHJpdmUKKyBjYXNlICQxIGluCisgaXNf aW5fbGlzdCBkb3Nkcml2ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZl ZWQgYV9sZl9iCisgaXRlbT1kb3Nkcml2ZQorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAn ZG9zZHJpdmUgaW4gZGVzdGRpcicKKyBzZXQgK3gKb2sgOTAgLSBkb3Nkcml2ZSBpbiBkZXN0ZGly ClBBU1M6IGluc3RzcGMudGFwIDkwIC0gZG9zZHJpdmUgaW4gZGVzdGRpcgorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMQor IHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWRvc2RyaXZlIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9hOgorIHRlc3QgMiAtZ3QgMAorIGZpbmQgYnVp bGQtZG9zZHJpdmUgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6IC10eXBl IGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgYnVp bGQtZG9zZHJpdmUgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2E6CisgZm9y IHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2lu c3RzcGNfX21pc2NnbG9iMX0nCisrIHRlc3Rfc3RyaW5nPSc/W2Etel0qJworIHRlc3QgJ3g/W2Et el0qJyAnIT0nIHgKKyBta2RpciAnLi8/W2Etel0qJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0 CisgY2FzZSAkd2hlcmUgaW4KKyBidWlsZD0nLi8/W2Etel0qJworIGRlc3Q9L2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisgY2QgJy4vP1thLXpdKicK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvP1thLXpdKi1wcmVmaXgnCmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRl cHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGli YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNl LmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2Uu YQpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMQorIGZpbGU9Jy4vP1thLXpdKicKKyBtYWtlIC1lIHRl c3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qJwp0ZXN0IC16ICIvP1thLXpdKi1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogKCBjZCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zvbycg JiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8/W2Etel0qLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvYmFz ZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9b YS16XSotcHJlZml4L2ZvbycKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmlu L21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9v L3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9v L3N1Yi8nCnRlc3QgLXogIi8/W2Etel0qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16 XSotcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i MS8/W2Etel0qLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQp0ZXN0IC16 ICIvP1thLXpdKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28i CiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAt YyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8/W2Etel0qLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nCnRlc3QgLXogIi8/W2Et el0qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbyIKIC9wL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwp0ZXN0IC16 ICIvP1thLXpdKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28i Ci9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLz9b YS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vIgovcC9i aW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSonCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXBy ZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1w cmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16 XSotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpd Ki1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSot cHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPSdtaXNjZ2xvYjEgaW4gYnVpbGRkaXInCisgZXhwZWN0ZWRfdG9f ZmFpbCBidWlsZCBtaXNjZ2xvYjEKKyBjYXNlICQxIGluCisgaXNfaW5fbGlzdCBtaXNjZ2xvYjEg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZl ZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bWlzY2dsb2IxCisgc2hpZnQKKyBjYXNlICIg JCogIiBpbgorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICcnIC1yICcnIC0tICdtaXNjZ2xvYjEgaW4gYnVpbGRkaXInCisgc2V0ICt4Cm9rIDkxIC0gbWlz Y2dsb2IxIGluIGJ1aWxkZGlyClBBU1M6IGluc3RzcGMudGFwIDkxIC0gbWlzY2dsb2IxIGluIGJ1 aWxkZGlyCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyCisgbm90IGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0 ZGlycyBpbgorIHJldHVybiAxCisgcmV0dXJuIDAKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gJy4v P1thLXpdKicgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IxCisgdGVzdCAyIC1ndCAwCisgZmluZCAnLi8/W2Etel0qJyAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAt ZXhlYyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi8/W2Etel0qJyAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEKKyBmb3Igd2hlcmUgaW4g YnVpbGQgZGVzdAorIGNhc2UgJHdoZXJlIGluCisgYnVpbGQ9YnVpbGQtbWlzY2dsb2IxCisgZGVz dD0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSonCisgbWtkaXIg YnVpbGQtbWlzY2dsb2IxCisgY2QgYnVpbGQtbWlzY2dsb2IxCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAnLz9bYS16XSotcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxl IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2 ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBz dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAg CisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSon CisgZmlsZT0nLi8/W2Etel0qJworIG1ha2UgLWUgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2J1aWxkLW1p c2NnbG9iMScKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwp0ZXN0 IC16ICIvP1thLXpdKi1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbyIKIC9w L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogKCBjZCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIg fHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIv P1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28iCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJl Zml4L2ZvbycKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1w ICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9zdWIvJwogL3AvYmluL2luc3RhbGwg LWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Lz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8nCnRlc3QgLXogIi8/W2Etel0qLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zv by9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v L3N1YicKICggY2QgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0q Lz9bYS16XSotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCnRlc3QgLXog Ii8/W2Etel0qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vIgogL3AvYmlu L21rZGlyIC1wICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/ W2Etel0qLXByZWZpeC9mb28vc3ViLycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0qLXByZWZp eC9mb28vc3ViLycKdGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0q LXByZWZpeC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0qLXByZWZp eC9mb28nCnRlc3QgLXogIi8/W2Etel0qLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAi L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVm aXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycK dGVzdCAteiAiLz9bYS16XSotcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28i Ci9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9b YS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/ W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9zdWInCnRlc3QgLXogIi8/W2Etel0qLXByZWZpeC9m b28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vIgovcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9z dWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1 YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9idWlsZC1taXNjZ2xvYjEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFz ZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Et el0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1th LXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8uLz9bYS16XSotcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLy4vP1thLXpdKi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL2luc3RzcGMuZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qLy4v P1thLXpdKi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpd Ki8uLz9bYS16XSotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvP1thLXpdKi8u Lz9bYS16XSotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9u PSdtaXNjZ2xvYjEgaW4gZGVzdGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbWlzY2dsb2Ix CisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgbWlzY2dsb2IxIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMQorIHNoaWZ0Cisg Y2FzZSAiICQqICIgaW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0 XyBvayAtRCAnJyAtciAnJyAtLSAnbWlzY2dsb2IxIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDky IC0gbWlzY2dsb2IxIGluIGRlc3RkaXIKUEFTUzogaW5zdHNwYy50YXAgOTIgLSBtaXNjZ2xvYjEg aW4gZGVzdGRpcgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5v dCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBf dGVzdGRpcnMgaW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IGJ1aWxkLW1pc2NnbG9iMSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9b YS16XSonCisgdGVzdCAyIC1ndCAwCisgZmluZCBidWlsZC1taXNjZ2xvYjEgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8/W2Etel0qJyAtdHlwZSBkICchJyAtcGVybSAtNzAw IC1leGVjIGNobW9kIHUrcnd4ICd7fScgJzsnCisgcm0gLXJmIGJ1aWxkLW1pc2NnbG9iMSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLz9bYS16XSonCisgZm9yIHRlc3RfbmFt ZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21p c2NnbG9iMn0nCisrIHRlc3Rfc3RyaW5nPScuKj9bMC05XScKKyB0ZXN0ICd4Lio/WzAtOV0nICch PScgeAorIG1rZGlyICcuLy4qP1swLTldJworIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CisgY2Fz ZSAkd2hlcmUgaW4KKyBidWlsZD0nLi8uKj9bMC05XScKKyBkZXN0PS9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMgorIGNkICcuLy4qP1swLTldJworIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8uKj9bMC05XS1wcmVmaXgnCmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwi MS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEK YXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKKyBERVNURElSPS9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMgorIGZpbGU9Jy4vLio/WzAtOV0nCisgbWFrZSAtZSB0ZXN0 LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLio/WzAtOV0nCnRlc3QgLXogIi8uKj9bMC05XS1wcmVmaXgvZm9vIiB8 fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9k ZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vIgogL3AvYmluL2luc3RhbGwgLWMgLi4v c3ViL2Jhc2Uuc2ggJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2Zv byIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nCiAoIGNkICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCnRlc3QgLXogIi8uKj9bMC05XS1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vIgogIC9wL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKdGVzdCAteiAiLy4qP1swLTldLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05 XS1wcmVmaXgvZm9vL3N1Yi8nCiAvcC9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAt OV0tcHJlZml4L2Zvby9zdWIvJwp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28vc3Vi LycKICAvcC9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwp0 ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJl Zml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9oL2ov dy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1w cmVmaXgvZm9vJwp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5oICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0tcHJlZml4L2ZvbycKdGVzdCAteiAiLy4qP1swLTldLXByZWZpeC9mb28iIHx8IC9w L2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZp eC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1sw LTldLXByZWZpeC9mb28vc3ViJwp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3Av YmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbyIKL3AvYmluL21rZGlyIC1wICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4 L2Zvby9zdWInCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZp eC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9b MC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zv by9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8u Ly4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/ WzAtOV0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL2xpYmJhc2UuYScK KyBkZXNjcmlwdGlvbj0nbWlzY2dsb2IyIGluIGJ1aWxkZGlyJworIGV4cGVjdGVkX3RvX2ZhaWwg YnVpbGQgbWlzY2dsb2IyCisgY2FzZSAkMSBpbgorIGlzX2luX2xpc3QgbWlzY2dsb2IyIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1 YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0CisgY2FzZSAiICQqICIg aW4KKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAt ciAnJyAtLSAnbWlzY2dsb2IyIGluIGJ1aWxkZGlyJworIHNldCAreApvayA5MyAtIG1pc2NnbG9i MiBpbiBidWlsZGRpcgpQQVNTOiBpbnN0c3BjLnRhcCA5MyAtIG1pc2NnbG9iMiBpbiBidWlsZGRp cgorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMg aW4KKyByZXR1cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfICcuLy4qP1sw LTldJyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIK KyB0ZXN0IDIgLWd0IDAKKyBmaW5kICcuLy4qP1swLTldJyAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIgLXR5cGUgZCAnIScgLXBlcm0gLTcwMCAtZXhl YyBjaG1vZCB1K3J3eCAne30nICc7JworIHJtIC1yZiAnLi8uKj9bMC05XScgL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyCisgZm9yIHdoZXJlIGluIGJ1 aWxkIGRlc3QKKyBjYXNlICR3aGVyZSBpbgorIGJ1aWxkPWJ1aWxkLW1pc2NnbG9iMgorIGRlc3Q9 Jy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XScKKyBta2RpciBi dWlsZC1taXNjZ2xvYjIKKyBjZCBidWlsZC1taXNjZ2xvYjIKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4ICcvLio/WzAtOV0tcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxl IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2 ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8Kcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKZ2NjICAtZyAtTzIgICAtbyBz dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAg CisgREVTVERJUj0nL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTld JworIGZpbGU9Jy4vLio/WzAtOV0nCisgbWFrZSAtZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvYnVpbGQt bWlzY2dsb2IyJwp0ZXN0IC16ICIvLio/WzAtOV0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGly IC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2ZvbyIKIC9wL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv bycKdGVzdCAteiAiLy4qP1swLTldLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZp eC9mb28iCiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9v JwogKCBjZCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4q P1swLTldLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQp0ZXN0IC16ICIvLio/WzAt OV0tcHJlZml4L2ZvbyIgfHwgL3AvYmluL21rZGlyIC1wICIvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbyIKICAvcC9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4q P1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCnRlc3QgLXogIi8uKj9bMC05XS1wcmVmaXgvZm9v IiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vIgogL3AvYmluL21rZGlyIC1wICcvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv by9zdWIvJwogL3AvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2gvai93L2NvL2F1 dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3Vi LycKdGVzdCAteiAiLy4qP1swLTldLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZp eC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMu ZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3Bj LmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJyAm JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKdGVzdCAteiAiLy4qP1swLTldLXByZWZpeC9mb28i IHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGly Ly4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28iCiAvcC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9v L3N1Yi8nCiAgL3AvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3ViLycKdGVz dCAteiAiLy4qP1swLTldLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKdGVz dCAteiAiLy4qP1swLTldLXByZWZpeC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28i CiAvcC9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2gvai93L2NvL2F1dG9t YWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCnRlc3Qg LXogIi8uKj9bMC05XS1wcmVmaXgvZm9vIiB8fCAvcC9iaW4vbWtkaXIgLXAgIi9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vIgov cC9iaW4vbWtkaXIgLXAgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9b MC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC9wL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8u Kj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKdGVzdCAteiAiLy4qP1swLTldLXByZWZp eC9mb28iIHx8IC9wL2Jpbi9ta2RpciAtcCAiL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28iCi9wL2Jpbi9ta2RpciAtcCAnL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4qP1swLTldLXByZWZp eC9mb28vc3ViJwogL3AvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uKj9bMC05XS1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9pbnN0c3BjLmRpci9idWlsZC1taXNjZ2xvYjInCnRlc3QgICAtZiAnL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3Rz cGMuZGlyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05 XS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv aW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0 Jwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05 XS8uLy4qP1swLTldLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRp ci8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05 XS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vbm9i YXNlJwp0ZXN0ICAgLWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9b MC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5zdHNw Yy5kaXIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpci8uKj9bMC05XS8uLy4qP1sw LTldLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPSdtaXNjZ2xvYjIgaW4gZGVz dGRpcicKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbWlzY2dsb2IyCisgY2FzZSAkMSBpbgorIGlz X2luX2xpc3QgbWlzY2dsb2IyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0CisgY2FzZSAiICQqICIgaW4KKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAt LSAnbWlzY2dsb2IyIGluIGRlc3RkaXInCisgc2V0ICt4Cm9rIDk0IC0gbWlzY2dsb2IyIGluIGRl c3RkaXIKUEFTUzogaW5zdHNwYy50YXAgOTQgLSBtaXNjZ2xvYjIgaW4gZGVzdGRpcgorIGNkIC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1 cm4gMQorIHJldHVybiAwCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLW1pc2NnbG9iMiAn L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2luc3RzcGMuZGlyLy4qP1swLTldJworIHRlc3QgMiAt Z3QgMAorIGZpbmQgYnVpbGQtbWlzY2dsb2IyICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvaW5z dHNwYy5kaXIvLio/WzAtOV0nIC10eXBlIGQgJyEnIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdSty d3ggJ3t9JyAnOycKKyBybSAtcmYgYnVpbGQtbWlzY2dsb2IyICcvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvaW5zdHNwYy5kaXIvLio/WzAtOV0nCisgOgorIGV4aXRfc3RhdHVzPTAKKyBzZXQgK2UK KyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IHllcyA9IHllcworIHRlc3QgeWVz ICchPScgeWVzCisgdGVzdCAwIC1lcSAwCisgdGVzdCA3NyAtZXEgOTQKKyBrZWVwX3Rlc3RkaXJz PXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0 dXJuIDAKKyBzZXQgK3gKaW5zdHNwYzogZXhpdCAwCgpYRkFJTDogYWxsCj09PT09PT09PT0KClJ1 bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0 L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46 L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgorKyBwd2QK L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2FsbC5kaXIKKyB0YXJnZXRzPSdhbGwgaW5zdGFsbC1l eGVjIGluc3RhbGwtZGF0YSB1bmluc3RhbGwnCisgZWNobyAnYWxsIGluc3RhbGwtZXhlYyBpbnN0 YWxsLWRhdGEgdW5pbnN0YWxsOicKKyBzZWQgLWUgJ3MvWyA6XS8tbG9jYWwmL2cnCisgY2F0IE1h a2VmaWxlLmFtCmFsbC1sb2NhbCBpbnN0YWxsLWV4ZWMtbG9jYWwgaW5zdGFsbC1kYXRhLWxvY2Fs IHVuaW5zdGFsbC1sb2NhbDoKKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IKKyBhdXRvbWFrZS0xLjEx YSAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIGZvciB0YXJnZXQgaW4gJyR0YXJnZXRzJworIGdy ZXAgYWxsLWxvY2FsIE1ha2VmaWxlLmluCmFsbC1sb2NhbCBpbnN0YWxsLWV4ZWMtbG9jYWwgaW5z dGFsbC1kYXRhLWxvY2FsIHVuaW5zdGFsbC1sb2NhbDoKKyBncmVwICdhbGwtYW06LiphbGwtbG9j YWwnIE1ha2VmaWxlLmluCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9oL2ovdy9jby9h dXRvbWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBp bgorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreAphbGw6IGV4aXQg MQoKU0tJUDogYW1oZWxsby1jcm9zcy1jb21waWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3Iv bGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjov c2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmFt aGVsbG8tY3Jvc3MtY29tcGlsZTogcnVubmluZyBpNTg2LW1pbmd3MzJtc3ZjLWdjYyAtLXZlcnNp b24KLi9kZWZzOiBsaW5lIDkwNTogaTU4Ni1taW5ndzMybXN2Yy1nY2M6IGNvbW1hbmQgbm90IGZv dW5kCgpTS0lQOiBhci1saWI1YQo9PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9v cHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Bl cmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNy L2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmFyLWxpYjVhOiBydW5uaW5nIGxpYiAtb3V0 OmRlZnN0ZXN0LmxpYgouL2RlZnM6IGxpbmUgNzc3OiBsaWI6IGNvbW1hbmQgbm90IGZvdW5kCgpQ QVNTOiBhdXhkaXItY29tcHV0ZWQKPT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20g aW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IHllcwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9o L2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46 L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvYXV4ZGlyLWNvbXB1dGVkLmRpcgorIHBsYW5fIDMKKyB0ZXN0IDEgLWVx IDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHgzID0geHVua25vd24KKyB0ZXN0IHgzID0geGxhdGVy CisgdGVzdCB4MyA9IHhsYXp5CisgdGVzdCB4MyA9IHhub3cKKyB0ZXN0IDMgLWdlIDAKKyBlY2hv IDEuLjMKMS4uMworIGhhdmVfdGFwX3BsYW5fPXllcworIGNhdAorIDoKKyBjb21tYW5kX29rXyBh Y2xvY2FsIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIHRhcF9kaXJlY3RpdmVfPQorIHRhcF9yZWFz b25fPQorIHRlc3QgMyAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89YWNsb2NhbAorIHNoaWZ0Cisg dGVzdCAyIC1ndCAwCisgY2FzZSAkMSBpbgorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhY2xv Y2FsLTEuMTFhIC1XZXJyb3IKKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tIGFjbG9jYWwKKyBz ZXQgK3gKb2sgMSAtIGFjbG9jYWwKUEFTUzogYXV4ZGlyLWNvbXB1dGVkLnRhcCAxIC0gYWNsb2Nh bAorIGNvbW1hbmRfb2tfICdhdXRvbWFrZSAtYScgLUQgVE9ETyAtciAnbG9uZy1zdGFuZGluZyBs aW1pdGF0aW9uJyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQorIHRh cF9kaXJlY3RpdmVfPQorIHRhcF9yZWFzb25fPQorIHRlc3QgMTAgLWd0IDAKKyB0YXBfZGVzY3Jp cHRpb25fPSdhdXRvbWFrZSAtYScKKyBzaGlmdAorIHRlc3QgOSAtZ3QgMAorIGNhc2UgJDEgaW4K KyB0YXBfZGlyZWN0aXZlXz1UT0RPCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgNyAtZ3QgMAorIGNh c2UgJDEgaW4KKyB0YXBfcmVhc29uXz0nbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJworIHNoaWZ0 Cisgc2hpZnQKKyB0ZXN0IDUgLWd0IDAKKyBjYXNlICQxIGluCisgYnJlYWsKKyB0YXBfcmVzdWx0 Xz1vaworIGF1dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3Vy ZS5pbjoyOiBlcnJvcjogcmVxdWlyZWQgZGlyZWN0b3J5IC4vJGZvbyBkb2VzIG5vdCBleGlzdApj b25maWd1cmUuaW46MzogZXJyb3I6IGluc3RhbGxpbmcgYCRmb28vaW5zdGFsbC1zaCc7IGVycm9y IHdoaWxlIG1ha2luZyBsaW5rOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZS5p bjozOiBlcnJvcjogaW5zdGFsbGluZyBgJGZvby9taXNzaW5nJzsgZXJyb3Igd2hpbGUgbWFraW5n IGxpbms6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyB0YXBfcmVzdWx0Xz0nbm90IG9rJwor IHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAnbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJyAt LSAnYXV0b21ha2UgLWEnCisgc2V0ICt4Cm5vdCBvayAyIC0gYXV0b21ha2UgLWEgIyBUT0RPIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogYXV4ZGlyLWNvbXB1dGVkLnRhcCAyIC0gYXV0 b21ha2UgLWEgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNvbW1hbmRfb2tfIGF1 dG9tYWtlIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicgYXV0b21ha2UtMS4x MWEgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyB0YXBfZGlyZWN0aXZlXz0KKyB0YXBfcmVhc29u Xz0KKyB0ZXN0IDkgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPWF1dG9tYWtlCisgc2hpZnQKKyB0 ZXN0IDggLWd0IDAKKyBjYXNlICQxIGluCisgdGFwX2RpcmVjdGl2ZV89VE9ETworIHNoaWZ0Cisg c2hpZnQKKyB0ZXN0IDYgLWd0IDAKKyBjYXNlICQxIGluCisgdGFwX3JlYXNvbl89J2xvbmctc3Rh bmRpbmcgbGltaXRhdGlvbicKKyBzaGlmdAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgY2FzZSAk MSBpbgorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24g LVdlcnJvciAtV2FsbApjb25maWd1cmUuaW46MjogZXJyb3I6IHJlcXVpcmVkIGRpcmVjdG9yeSAu LyRmb28gZG9lcyBub3QgZXhpc3QKY29uZmlndXJlLmluOjM6IGVycm9yOiByZXF1aXJlZCBmaWxl IGAkZm9vL2luc3RhbGwtc2gnIG5vdCBmb3VuZApjb25maWd1cmUuaW46MzogICBgYXV0b21ha2Ug LS1hZGQtbWlzc2luZycgY2FuIGluc3RhbGwgYGluc3RhbGwtc2gnCmNvbmZpZ3VyZS5pbjozOiBl cnJvcjogcmVxdWlyZWQgZmlsZSBgJGZvby9taXNzaW5nJyBub3QgZm91bmQKY29uZmlndXJlLmlu OjM6ICAgYGF1dG9tYWtlIC0tYWRkLW1pc3NpbmcnIGNhbiBpbnN0YWxsIGBtaXNzaW5nJworIHRh cF9yZXN1bHRfPSdub3Qgb2snCisgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0 YW5kaW5nIGxpbWl0YXRpb24nIC0tIGF1dG9tYWtlCisgc2V0ICt4Cm5vdCBvayAzIC0gYXV0b21h a2UgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogYXV4ZGlyLWNvbXB1dGVk LnRhcCAzIC0gYXV0b21ha2UgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIDoKKyBl eGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVz dCB5ZXMgPSB5ZXMKKyB0ZXN0IHllcyAnIT0nIHllcworIHRlc3QgMCAtZXEgMAorIHRlc3QgMSAt ZXEgMworIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtl ZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreAphdXhkaXItY29tcHV0ZWQ6IGV4aXQg MAoKU0tJUDogY29tcGlsZTQKPT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hl Y2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0 L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJs Oi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9i aW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2Jpbgpjb21waWxlNDogcnVubmluZyBjbCAtPwouL2Rl ZnM6IGxpbmUgNjY4OiBjbDogY29tbWFuZCBub3QgZm91bmQKClNLSVA6IGNvbXBpbGU1Cj09PT09 PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBB VEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9i aW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46 L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2Nh bC9iaW4KKysgcHdkCi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jb21waWxlNS5kaXIKKyBnZXRf c2hlbGxfc2NyaXB0IGNvbXBpbGUKKyB0ZXN0IHggPSB4eWVzCisgY3AgL2gvai93L2NvL2F1dG9t YWtlL2xpYi9jb21waWxlIC4KKyBzZWQgMTBxIGNvbXBpbGUKIyEgL2Jpbi9zaAojIFdyYXBwZXIg Zm9yIGNvbXBpbGVycyB3aGljaCBkbyBub3QgdW5kZXJzdGFuZCBgLWMgLW8nLgoKc2NyaXB0dmVy c2lvbj0yMDEwLTExLTE1LjA5OyAjIFVUQwoKIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIw MDMsIDIwMDQsIDIwMDUsIDIwMDksIDIwMTAgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIElu Yy4KIyBXcml0dGVuIGJ5IFRvbSBUcm9tZXkgPHRyb21leUBjeWdudXMuY29tPi4KIwojIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgY2F0CisgY2htb2QgK3ggLi9jbAorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEu MTFhIC1XZXJyb3IKKyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIKKyBhdXRvbWFrZS0xLjExYSAt LWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQpjb25maWd1cmUuaW46NDogaW5zdGFsbGluZyBgLi9j b25maWcuZ3Vlc3MnCmNvbmZpZ3VyZS5pbjo0OiBpbnN0YWxsaW5nIGAuL2NvbmZpZy5zdWInCisg Li9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC11bmtu b3duLWxpbnV4LWdudQpjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uIHg4Nl82NC11bmtub3du LWxpbnV4LWdudQpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBjaGVj a19ob3N0CisgLiAuL2NoZWNrX2hvc3QKKysgY2FzZSAnbGludXgtZ251JyBpbgorKyBza2lwXyAn dGFyZ2V0IE9TIGlzIG5vdCBNaW5HVycKKysgd2Fybl8gJ2NvbXBpbGU1OiBza2lwcGVkIHRlc3Q6 IHRhcmdldCBPUyBpcyBub3QgTWluR1cnCisrIGVjaG8gJ2NvbXBpbGU1OiBza2lwcGVkIHRlc3Q6 IHRhcmdldCBPUyBpcyBub3QgTWluR1cnCisrIEV4aXQgNzcKKysgc2V0ICtlCisrIHRlc3QgNzcg PSA3NworKyBhbV9fdGVzdF9za2lwcGVkPXllcworKyBleGl0IDc3CisrIGV4aXQgNzcKKyBleGl0 X3N0YXR1cz03NworIHNldCArZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qg bm8gPSB5ZXMKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgNzcgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKY29tcGlsZTU6IGV4aXQgNzcKClhGQUlMOiBjb25k MTcKPT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQ OiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQt NS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9n aXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91 c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY29uZDE3LmRpcgor IGNhdAorIGNhdAorIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTFhIC0tZm9y ZWlnbiAtV2Vycm9yIC1XYWxsIC1hCk1ha2VmaWxlLmFtOiBlcnJvcjogb2JqZWN0IGBmb28uJChP QkpFWFQpJyBjcmVhdGVkIGJ5IGBmb28uY2MnIGFuZCBgZm9vLmMnCisgZXhpdF9zdGF0dXM9MQor IHNldCArZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBj YXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9 eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1 cm4gMAorIHNldCAreApjb25kMTc6IGV4aXQgMQoKU0tJUDogY3Njb3BlCj09PT09PT09PT09PQoK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGli NjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2Jp bjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3 ZAovaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpcgorIGNhdAorIG1rZGlyIHN1YiBz dWIvc3Vic3ViCisgY2F0CisgY2F0CisgZWNobyAnaW50IGZvb19mdW5jICgpIHsgcmV0dXJuIDA7 IH0nCisgZWNobyAnaW50IG1haW4gKCkgeyByZXR1cm4gMDsgfScKKyBjYXQKKyA6CisgZWNobyAn aW50IG1haW4gKCkgeyByZXR1cm4gMDsgfScKKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IKKyBhdXRv Y29uZiAtQiAvbm8vc3VjaC9kaXIKKyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24gLVdlcnJvciAt V2FsbCAtLWFkZC1taXNzaW5nCk1ha2VmaWxlLmFtOjQ6IGluc3RhbGxpbmcgYC4vZWxpc3AtY29t cCcKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisgLi4vY29uZmlndXJlCmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJl YWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVj a2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGcrKy4uLiBnKysKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDKysgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZysrIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZysrLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGdmb3J0cmFuLi4uIG5vCmNoZWNraW5n IGZvciBnOTUuLi4gbm8KY2hlY2tpbmcgZm9yIHhsZjk1Li4uIG5vCmNoZWNraW5nIGZvciBmOTUu Li4gbm8KY2hlY2tpbmcgZm9yIGZvcnQuLi4gbm8KY2hlY2tpbmcgZm9yIGlmb3J0Li4uIG5vCmNo ZWNraW5nIGZvciBpZmMuLi4gbm8KY2hlY2tpbmcgZm9yIGVmYy4uLiBubwpjaGVja2luZyBmb3Ig cGdmb3J0cmFuLi4uIG5vCmNoZWNraW5nIGZvciBwZ2Y5NS4uLiBubwpjaGVja2luZyBmb3IgbGY5 NS4uLiBubwpjaGVja2luZyBmb3IgZnRuLi4uIG5vCmNoZWNraW5nIGZvciBuYWdmb3IuLi4gbm8K Y2hlY2tpbmcgZm9yIHhsZjkwLi4uIG5vCmNoZWNraW5nIGZvciBmOTAuLi4gbm8KY2hlY2tpbmcg Zm9yIHBnZjkwLi4uIG5vCmNoZWNraW5nIGZvciBwZ2hwZi4uLiBubwpjaGVja2luZyBmb3IgZXBj ZjkwLi4uIG5vCmNoZWNraW5nIGZvciBnNzcuLi4gbm8KY2hlY2tpbmcgZm9yIHhsZi4uLiBubwpj aGVja2luZyBmb3IgZjc3Li4uIG5vCmNoZWNraW5nIGZvciBmcnQuLi4gbm8KY2hlY2tpbmcgZm9y IHBnZjc3Li4uIG5vCmNoZWNraW5nIGZvciBjZjc3Li4uIG5vCmNoZWNraW5nIGZvciBmb3J0Nzcu Li4gbm8KY2hlY2tpbmcgZm9yIGZsMzIuLi4gbm8KY2hlY2tpbmcgZm9yIGFmNzcuLi4gbm8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBGb3J0cmFuIGNvbXBpbGVyLi4uIG5v CmNoZWNraW5nIHdoZXRoZXIgIGFjY2VwdHMgLWcuLi4gbm8KY2hlY2tpbmcgZm9yIGdjai4uLiBu bwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjai4uLiBub25lCmNoZWNraW5nIGZvciBl bWFjcy4uLiBlbWFjcwpjaGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAke2Rh dGFyb290ZGlyfS9lbWFjcy9zaXRlLWxpc3AKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgc3ViL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl cyBjb21tYW5kcworIG1ha2UgLW4gY3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpsaXN0PSdzdWIn OyBmb3Igc3ViZGlyIGluICRsaXN0OyBkbyBcCiAgdGVzdCAiJHN1YmRpciIgPSAuIHx8IChDRFBB VEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAkc3ViZGlyICYmIG1ha2UgIGNzY29wZWxpc3Qp OyBcCmRvbmUKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvY3Njb3BlLmRpci9idWlsZC9zdWInCi9wL2Jpbi9ta2RpciAtcCBzdWJzdWIKZWNobyAn aW50IGdlbmVyYXRlZF9zdWJzdWIgKCkgeyByZXR1cm4gMDsgfScgPiBzdWJzdWIvZ2VuLmMKbGlz dD0nc3Vic3ViL2Rpc3QuYyBzdWJzdWIvZ2VuLmMgICc7IFwKY2FzZSAiLi4vLi4vc3ViIiBpbiBc CiAgW1xcL10qIHwgPzpbXFwvXSopIHNkaXI9Ii4uLy4uL3N1YiIgOzsgXAogICopIHNkaXI9c3Vi Ly4uLy4uL3N1YiA7OyBcCmVzYWM7IFwKZm9yIGkgaW4gJGxpc3Q7IGRvIFwKICBpZiB0ZXN0IC1m ICIkaSI7IHRoZW4gXAogICAgZWNobyAic3ViLyRpIjsgXAogIGVsc2UgXAogICAgZWNobyAiJHNk aXIvJGkiOyBcCiAgZmk7IFwKZG9uZSA+PiAuLi9jc2NvcGUuZmlsZXMKbWFrZVsxXTogTGVhdmlu ZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jc2NvcGUuZGlyL2J1aWxkL3N1 YicKbGlzdD0nZm9vLmMgYmFyLmNwcCBiYXouZjkwICBmb28uZWwnOyBcCmNhc2UgIi4uIiBpbiBc CiAgW1xcL10qIHwgPzpbXFwvXSopIHNkaXI9Ii4uIiA7OyBcCiAgKikgc2Rpcj0uLy4uIDs7IFwK ZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBcCiAg ICBlY2hvICIuLyRpIjsgXAogIGVsc2UgXAogICAgZWNobyAiJHNkaXIvJGkiOyBcCiAgZmk7IFwK ZG9uZSA+PiAuL2NzY29wZS5maWxlcwp0ZXN0ICEgLXMgY3Njb3BlLmZpbGVzIFwKICB8fCBjc2Nv cGUgLWIgLXEgICAtaSBjc2NvcGUuZmlsZXMgCisgOiBjc2NvcGUKKyBtYWtlIGNzY29wZQpybSAt ZiBjc2NvcGUuZmlsZXMKbGlzdD0nc3ViJzsgZm9yIHN1YmRpciBpbiAkbGlzdDsgZG8gXAogIHRl c3QgIiRzdWJkaXIiID0gLiB8fCAoQ0RQQVRIPSIke1pTSF9WRVJTSU9OKy59OiIgJiYgY2QgJHN1 YmRpciAmJiBtYWtlICBjc2NvcGVsaXN0KTsgXApkb25lCm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvc3ViJwovcC9i aW4vbWtkaXIgLXAgc3Vic3ViCmVjaG8gJ2ludCBnZW5lcmF0ZWRfc3Vic3ViICgpIHsgcmV0dXJu IDA7IH0nID4gc3Vic3ViL2dlbi5jCmxpc3Q9J3N1YnN1Yi9kaXN0LmMgc3Vic3ViL2dlbi5jICAn OyBcCmNhc2UgIi4uLy4uL3N1YiIgaW4gXAogIFtcXC9dKiB8ID86W1xcL10qKSBzZGlyPSIuLi8u Li9zdWIiIDs7IFwKICAqKSBzZGlyPXN1Yi8uLi8uLi9zdWIgOzsgXAplc2FjOyBcCmZvciBpIGlu ICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7 IFwKICBlbHNlIFwKICAgIGVjaG8gIiRzZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Nj b3BlLmZpbGVzCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvY3Njb3BlLmRpci9idWlsZC9zdWInCmxpc3Q9J2Zvby5jIGJhci5jcHAgYmF6LmY5MCAg Zm9vLmVsJzsgXApjYXNlICIuLiIgaW4gXAogIFtcXC9dKiB8ID86W1xcL10qKSBzZGlyPSIuLiIg OzsgXAogICopIHNkaXI9Li8uLiA7OyBcCmVzYWM7IFwKZm9yIGkgaW4gJGxpc3Q7IGRvIFwKICBp ZiB0ZXN0IC1mICIkaSI7IHRoZW4gXAogICAgZWNobyAiLi8kaSI7IFwKICBlbHNlIFwKICAgIGVj aG8gIiRzZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi9jc2NvcGUuZmlsZXMKdGVzdCAhIC1z IGNzY29wZS5maWxlcyBcCiAgfHwgY3Njb3BlIC1iIC1xICAgLWkgY3Njb3BlLmZpbGVzIAorIGNh dCBzdGRlcnIKKyBncmVwICdjYW5ub3QgZmluZCBmaWxlJyBzdGRlcnIKKyB0ZXN0IC1mIGNzY29w ZS5maWxlcworIC9wL2Jpbi9ncmVwIC1GIGZvby5jIGNzY29wZS5maWxlcwouLy4uL2Zvby5jCisg L3AvYmluL2dyZXAgLUYgYmFyLmNwcCBjc2NvcGUuZmlsZXMKLi8uLi9iYXIuY3BwCisgL3AvYmlu L2dyZXAgLUYgc3ViL3N1YnN1Yi9kaXN0LmMgY3Njb3BlLmZpbGVzCnN1Yi8uLi8uLi9zdWIvc3Vi c3ViL2Rpc3QuYworIC9wL2Jpbi9ncmVwIC1GIHN1Yi9zdWJzdWIvZ2VuLmMgY3Njb3BlLmZpbGVz CnN1Yi9zdWJzdWIvZ2VuLmMKKyBjcCBjc2NvcGUuZmlsZXMgY3Njb3BlLmZpbGVzMQorIG1ha2Ug Y3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpsaXN0PSdzdWInOyBmb3Igc3ViZGlyIGluICRsaXN0 OyBkbyBcCiAgdGVzdCAiJHN1YmRpciIgPSAuIHx8IChDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06 IiAmJiBjZCAkc3ViZGlyICYmIG1ha2UgIGNzY29wZWxpc3QpOyBcCmRvbmUKbWFrZVsxXTogRW50 ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9idWls ZC9zdWInCmxpc3Q9J3N1YnN1Yi9kaXN0LmMgc3Vic3ViL2dlbi5jICAnOyBcCmNhc2UgIi4uLy4u L3N1YiIgaW4gXAogIFtcXC9dKiB8ID86W1xcL10qKSBzZGlyPSIuLi8uLi9zdWIiIDs7IFwKICAq KSBzZGlyPXN1Yi8uLi8uLi9zdWIgOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAg aWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7IFwKICBlbHNlIFwKICAg IGVjaG8gIiRzZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Njb3BlLmZpbGVzCm1ha2Vb MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRp ci9idWlsZC9zdWInCmxpc3Q9J2Zvby5jIGJhci5jcHAgYmF6LmY5MCAgZm9vLmVsJzsgXApjYXNl ICIuLiIgaW4gXAogIFtcXC9dKiB8ID86W1xcL10qKSBzZGlyPSIuLiIgOzsgXAogICopIHNkaXI9 Li8uLiA7OyBcCmVzYWM7IFwKZm9yIGkgaW4gJGxpc3Q7IGRvIFwKICBpZiB0ZXN0IC1mICIkaSI7 IHRoZW4gXAogICAgZWNobyAiLi8kaSI7IFwKICBlbHNlIFwKICAgIGVjaG8gIiRzZGlyLyRpIjsg XAogIGZpOyBcCmRvbmUgPj4gLi9jc2NvcGUuZmlsZXMKdGVzdCAhIC1zIGNzY29wZS5maWxlcyBc CiAgfHwgY3Njb3BlIC1iIC1xICAgLWkgY3Njb3BlLmZpbGVzIAorIGRpZmYgY3Njb3BlLmZpbGVz IGNzY29wZS5maWxlczEKKyBtYWtlIGRpc3RjbGVhbgpNYWtpbmcgZGlzdGNsZWFuIGluIHN1Ygpt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jc2Nv cGUuZGlyL2J1aWxkL3N1YicKdGVzdCAteiAiYmFyIiB8fCBybSAtZiBiYXIKdGVzdCAteiAic3Vi c3ViL2dlbi5jIiB8fCBybSAtZiBzdWJzdWIvZ2VuLmMKcm0gLWYgKi5vCnJtIC1mICoudGFiLmMK dGVzdCAteiAiIiB8fCBybSAtZiAKdGVzdCAuID0gIi4uLy4uL3N1YiIgfHwgdGVzdCAteiAiIiB8 fCBybSAtZiAKcm0gLWYgVEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAt cmYgLi8uZGVwcwpybSAtZiBNYWtlZmlsZQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvc3ViJwpNYWtpbmcgZGlzdGNs ZWFuIGluIC4KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHMvY3Njb3BlLmRpci9idWlsZCcKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28Kcm0gLWYg ZWxjLXN0YW1wIGZvby5lbGMKcm0gLWYgKi5vCnJtIC1mICoudGFiLmMKdGVzdCAteiAiIiB8fCBy bSAtZiAKdGVzdCAuID0gIi4uIiB8fCB0ZXN0IC16ICIiIHx8IHJtIC1mIApybSAtZiBUQUdTIElE IEdUQUdTIEdSVEFHUyBHU1lNUyBHUEFUSCB0YWdzCnJtIC1mIGNzY29wZS5vdXQgY3Njb3BlLmlu Lm91dCBjc2NvcGUucG8ub3V0IGNzY29wZS5maWxlcwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQnCnJtIC1mIGNvbmZp Zy5zdGF0dXMgY29uZmlnLmNhY2hlIGNvbmZpZy5sb2cgY29uZmlndXJlLmxpbmVubyBjb25maWcu c3RhdHVzLmxpbmVubwpybSAtcmYgLi8uZGVwcwpybSAtZiBNYWtlZmlsZQorIHRlc3QgJyEnIC1m IGNzY29wZS5maWxlcworIHRlc3QgJyEnIC1mIGNzY29wZS5vdXQKKyB0ZXN0ICchJyAtZiBjc2Nv cGUuaW4ub3V0CisgdGVzdCAnIScgLWYgY3Njb3BlLnBvLm91dAorKyBwd2QKKyAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZC8uLi9jb25maWd1cmUKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4g eWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNo ZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgZysrLi4uIGcrKwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnKysuLi4gZ2NjMwpjaGVja2luZyBmb3IgZ2ZvcnRyYW4uLi4gbm8KY2hlY2tp bmcgZm9yIGc5NS4uLiBubwpjaGVja2luZyBmb3IgeGxmOTUuLi4gbm8KY2hlY2tpbmcgZm9yIGY5 NS4uLiBubwpjaGVja2luZyBmb3IgZm9ydC4uLiBubwpjaGVja2luZyBmb3IgaWZvcnQuLi4gbm8K Y2hlY2tpbmcgZm9yIGlmYy4uLiBubwpjaGVja2luZyBmb3IgZWZjLi4uIG5vCmNoZWNraW5nIGZv ciBwZ2ZvcnRyYW4uLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjk1Li4uIG5vCmNoZWNraW5nIGZvciBs Zjk1Li4uIG5vCmNoZWNraW5nIGZvciBmdG4uLi4gbm8KY2hlY2tpbmcgZm9yIG5hZ2Zvci4uLiBu bwpjaGVja2luZyBmb3IgeGxmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIGY5MC4uLiBubwpjaGVja2lu ZyBmb3IgcGdmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBnaHBmLi4uIG5vCmNoZWNraW5nIGZvciBl cGNmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIGc3Ny4uLiBubwpjaGVja2luZyBmb3IgeGxmLi4uIG5v CmNoZWNraW5nIGZvciBmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZydC4uLiBubwpjaGVja2luZyBm b3IgcGdmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGNmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZvcnQ3 Ny4uLiBubwpjaGVja2luZyBmb3IgZmwzMi4uLiBubwpjaGVja2luZyBmb3IgYWY3Ny4uLiBubwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEZvcnRyYW4gY29tcGlsZXIuLi4g bm8KY2hlY2tpbmcgd2hldGhlciAgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBmb3IgZ2NqLi4u IG5vCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NqLi4uIG5vbmUKY2hlY2tpbmcgZm9y IGVtYWNzLi4uIGVtYWNzCmNoZWNraW5nIHdoZXJlIC5lbGMgZmlsZXMgc2hvdWxkIGdvLi4uICR7 ZGF0YXJvb3RkaXJ9L2VtYWNzL3NpdGUtbGlzcApjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBzdWIvTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp bGVzIGNvbW1hbmRzCisgbWFrZSBjc2NvcGUKcm0gLWYgY3Njb3BlLmZpbGVzCmxpc3Q9J3N1Yic7 IGZvciBzdWJkaXIgaW4gJGxpc3Q7IGRvIFwKICB0ZXN0ICIkc3ViZGlyIiA9IC4gfHwgKENEUEFU SD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRzdWJkaXIgJiYgbWFrZSAgY3Njb3BlbGlzdCk7 IFwKZG9uZQptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9jc2NvcGUuZGlyL2J1aWxkL3N1YicKL3AvYmluL21rZGlyIC1wIHN1YnN1YgplY2hvICdp bnQgZ2VuZXJhdGVkX3N1YnN1YiAoKSB7IHJldHVybiAwOyB9JyA+IHN1YnN1Yi9nZW4uYwpsaXN0 PSdzdWJzdWIvZGlzdC5jIHN1YnN1Yi9nZW4uYyAgJzsgXApjYXNlICIvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZC8uLi9zdWIiIGluIFwKICBbXFwvXSogfCA/OltcXC9d Kikgc2Rpcj0iL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvLi4vc3Vi IiA7OyBcCiAgKikgc2Rpcj1zdWIvL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIv YnVpbGQvLi4vc3ViIDs7IFwKZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3Qg LWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICJzdWIvJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIk c2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+IC4uL2NzY29wZS5maWxlcwptYWtlWzFdOiBMZWF2 aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQv c3ViJwpsaXN0PSdmb28uYyBiYXIuY3BwIGJhei5mOTAgIGZvby5lbCc7IFwKY2FzZSAiL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvLi4iIGluIFwKICBbXFwvXSogfCA/ OltcXC9dKikgc2Rpcj0iL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQv Li4iIDs7IFwKICAqKSBzZGlyPS4vL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIv YnVpbGQvLi4gOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAi JGkiOyB0aGVuIFwKICAgIGVjaG8gIi4vJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8k aSI7IFwKICBmaTsgXApkb25lID4+IC4vY3Njb3BlLmZpbGVzCnRlc3QgISAtcyBjc2NvcGUuZmls ZXMgXAogIHx8IGNzY29wZSAtYiAtcSAgIC1pIGNzY29wZS5maWxlcyAKKyBjYXQgc3RkZXJyCisg Z3JlcCAnY2Fubm90IGZpbmQgZmlsZScgc3RkZXJyCisgbWFrZQpNYWtpbmcgYWxsIGluIHN1Ygpt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jc2Nv cGUuZGlyL2J1aWxkL3N1YicKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiY3Njb3BlXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJjc2NvcGVcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T VFJJTkc9XCJjc2NvcGVcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0Vf VVJMPVwiXCIgLURQQUNLQUdFPVwiY3Njb3BlXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvLi4vc3ViICAgICAtZyAtTzIg LU1UIGRpc3QubyAtTUQgLU1QIC1NRiAuZGVwcy9kaXN0LlRwbyAtYyAtbyBkaXN0Lm8gYHRlc3Qg LWYgJ3N1YnN1Yi9kaXN0LmMnIHx8IGVjaG8gJy9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jc2Nv cGUuZGlyL2J1aWxkLy4uL3N1Yi8nYHN1YnN1Yi9kaXN0LmMKbXYgLWYgLmRlcHMvZGlzdC5UcG8g LmRlcHMvZGlzdC5QbwpnY2MgLURQQUNLQUdFX05BTUU9XCJjc2NvcGVcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImNzY29wZVwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImNzY29wZVwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJjc2NvcGVcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZC8uLi9zdWIgICAgIC1nIC1PMiAtTVQg Z2VuLm8gLU1EIC1NUCAtTUYgLmRlcHMvZ2VuLlRwbyAtYyAtbyBnZW4ubyBgdGVzdCAtZiAnc3Vi c3ViL2dlbi5jJyB8fCBlY2hvICcvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9i dWlsZC8uLi9zdWIvJ2BzdWJzdWIvZ2VuLmMKbXYgLWYgLmRlcHMvZ2VuLlRwbyAuZGVwcy9nZW4u UG8KZ2NjICAtZyAtTzIgICAtbyBiYXIgZGlzdC5vIGdlbi5vICAKbWFrZVsxXTogTGVhdmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9jc2NvcGUuZGlyL2J1aWxkL3N1YicK bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Nj b3BlLmRpci9idWlsZCcKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiY3Njb3BlXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJjc2NvcGVcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJjc2NvcGVcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiY3Njb3BlXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzL2NzY29wZS5kaXIvYnVpbGQvLi4gICAgIC1nIC1PMiAtTVQgZm9v Lm8gLU1EIC1NUCAtTUYgLmRlcHMvZm9vLlRwbyAtYyAtbyBmb28ubyAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZC8uLi9mb28uYwptdiAtZiAuZGVwcy9mb28uVHBvIC5k ZXBzL2Zvby5QbwpnKysgLURQQUNLQUdFX05BTUU9XCJjc2NvcGVcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImNzY29wZVwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c ImNzY29wZVwgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJjc2NvcGVcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkvaC9qL3cvY28v YXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZC8uLiAgICAgLWcgLU8yIC1NVCBiYXIubyAt TUQgLU1QIC1NRiAuZGVwcy9iYXIuVHBvIC1jIC1vIGJhci5vIC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9jc2NvcGUuZGlyL2J1aWxkLy4uL2Jhci5jcHAKbXYgLWYgLmRlcHMvYmFyLlRwbyAuZGVw cy9iYXIuUG8KYyAtbyBiYXoubyAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9i dWlsZC8uLi9iYXouZjkwCm1ha2VbMV06IGM6IENvbW1hbmQgbm90IGZvdW5kCm1ha2VbMV06IFti YXoub10gRXJyb3IgMTI3IChpZ25vcmVkKQpnKysgIC1nIC1PMiAgIC1vIGZvbyBmb28ubyBiYXIu byBiYXoubyAgCmcrKzogZXJyb3I6IGJhei5vOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cm1h a2VbMV06ICoqKiBbZm9vXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMvY3Njb3BlLmRpci9idWlsZCcKbWFrZTogKioqIFthbGwtcmVj dXJzaXZlXSBFcnJvciAxCisgRXhpdCA3NworIHNldCArZQorIHRlc3QgNzcgPSA3NworIGFtX190 ZXN0X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBleGl0X3N0YXR1cz03NworIHNl dCArZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBjYXNl ICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXll cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJu IDAKKyBzZXQgK3gKY3Njb3BlOiBleGl0IDc3CgpTS0lQOiBkZXBjb21wNQo9PT09PT09PT09PT09 PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3Iv bGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjov c2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmRl cGNvbXA1OiBydW5uaW5nIGljYyAtViAtaGVscAouL2RlZnM6IGxpbmUgNzU2OiBpY2M6IGNvbW1h bmQgbm90IGZvdW5kCgpTS0lQOiBmb3J0NAo9PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz Oi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmlu L3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2Jpbjov dXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmZvcnQ0OiBydW5uaW5nIGc3NyAtLXZl cnNpb24KLi9kZWZzOiBsaW5lIDc0MDogZzc3OiBjb21tYW5kIG5vdCBmb3VuZAoKU0tJUDogZm9y dDUKPT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDog bm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUu NC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0 L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNy L2xvY2FsL2Jpbgpmb3J0NTogcnVubmluZyBsaWJ0b29saXplIC0tdmVyc2lvbgpsaWJ0b29saXpl IChHTlUgbGlidG9vbCkgMi40LjIKV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4gPGdhcnlAZ251 Lm9yZz4sIDIwMDMKCkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBj b25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCmZvcnQ1OiBydW5uaW5n IGc3NyAtLXZlcnNpb24KLi9kZWZzOiBsaW5lIDc0MDogZzc3OiBjb21tYW5kIG5vdCBmb3VuZAoK U0tJUDogZ2NqNAo9PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2lu ZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGlu dXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2Jpbjov cC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9j YWw6L3Vzci9sb2NhbC9iaW4KZ2NqNDogcnVubmluZyBnY2ogLS12ZXJzaW9uCi4vZGVmczogbGlu ZSA3MTI6IGdjajogY29tbWFuZCBub3QgZm91bmQKClNLSVA6IGdjajYKPT09PT09PT09PQoKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQv Y2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2Jpbjov dXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmdjajY6IHJ1 bm5pbmcgZ2NqIC0tdmVyc2lvbgouL2RlZnM6IGxpbmUgNzEyOiBnY2o6IGNvbW1hbmQgbm90IGZv dW5kCgpTS0lQOiBpbnN0ZGlyLWphdmEKPT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20g aW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2Uv dGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gv ai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2Jpbjov YmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KaW5zdGRpci1qYXZhOiBydW5u aW5nIGphdmFjIC12ZXJzaW9uIC1oZWxwCi4vZGVmczogbGluZSA3NjQ6IGphdmFjOiBjb21tYW5k IG5vdCBmb3VuZAoKU0tJUDogaW5zdGZhaWwtamF2YQo9PT09PT09PT09PT09PT09PT09CgpSdW5u aW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28v YXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9j Y2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91 c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KaW5zdGZhaWwt amF2YTogcnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL2RlZnM6IGxpbmUgNzY0OiBqYXZh YzogY29tbWFuZCBub3QgZm91bmQKClNLSVA6IGphdmEKPT09PT09PT09PQoKUnVubmluZyBmcm9t IGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtl L3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9o L2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46 L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmphdmE6IHJ1bm5pbmcgamF2 YWMgLXZlcnNpb24gLWhlbHAKLi9kZWZzOiBsaW5lIDc2NDogamF2YWM6IGNvbW1hbmQgbm90IGZv dW5kCgpTS0lQOiBqYXZhLWNoZWNrCj09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0 YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jp bi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46 L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgpqYXZhLWNoZWNrOiBydW5uaW5nIGph dmFjIC12ZXJzaW9uIC1oZWxwCi4vZGVmczogbGluZSA3NjQ6IGphdmFjOiBjb21tYW5kIG5vdCBm b3VuZAoKU0tJUDogamF2YS1jbGVhbgo9PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9i aW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmlu Oi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KamF2YS1jbGVhbjogcnVubmluZyBq YXZhYyAtdmVyc2lvbiAtaGVscAouL2RlZnM6IGxpbmUgNzY0OiBqYXZhYzogY29tbWFuZCBub3Qg Zm91bmQKClNLSVA6IGphdmEtY29tcGlsZS1pbnN0YWxsCj09PT09PT09PT09PT09PT09PT09PT09 PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vz ci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmlu Oi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4K amF2YS1jb21waWxlLWluc3RhbGw6IHJ1bm5pbmcgamF2YWMgLXZlcnNpb24gLWhlbHAKLi9kZWZz OiBsaW5lIDc2NDogamF2YWM6IGNvbW1hbmQgbm90IGZvdW5kCgpTS0lQOiBqYXZhLWNvbXBpbGUt cnVuLWZsYXQKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFs bGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6 L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4v cGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91 c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KamF2YS1jb21waWxlLXJ1bi1mbGF0OiBy dW5uaW5nIGphdmEgLXZlcnNpb24gLWhlbHAKamF2YSB2ZXJzaW9uICIxLjYuMF8yMiIKT3BlbkpE SyBSdW50aW1lIEVudmlyb25tZW50IChJY2VkVGVhNiAxLjEwLjQpIChmZWRvcmEtNjEuMS4xMC40 LmZjMTYteDg2XzY0KQpPcGVuSkRLIDY0LUJpdCBTZXJ2ZXIgVk0gKGJ1aWxkIDIwLjAtYjExLCBt aXhlZCBtb2RlKQpqYXZhLWNvbXBpbGUtcnVuLWZsYXQ6IHJ1bm5pbmcgamF2YWMgLXZlcnNpb24g LWhlbHAKLi9kZWZzOiBsaW5lIDc2NDogamF2YWM6IGNvbW1hbmQgbm90IGZvdW5kCgpTS0lQOiBq YXZhLWNvbXBpbGUtcnVuLW5lc3RlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2Nv L2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQv Y2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2Jpbjov dXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCmphdmEtY29t cGlsZS1ydW4tbmVzdGVkOiBydW5uaW5nIGphdmEgLXZlcnNpb24gLWhlbHAKamF2YSB2ZXJzaW9u ICIxLjYuMF8yMiIKT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50IChJY2VkVGVhNiAxLjEwLjQp IChmZWRvcmEtNjEuMS4xMC40LmZjMTYteDg2XzY0KQpPcGVuSkRLIDY0LUJpdCBTZXJ2ZXIgVk0g KGJ1aWxkIDIwLjAtYjExLCBtaXhlZCBtb2RlKQpqYXZhLWNvbXBpbGUtcnVuLW5lc3RlZDogcnVu bmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL2RlZnM6IGxpbmUgNzY0OiBqYXZhYzogY29tbWFu ZCBub3QgZm91bmQKClNLSVA6IGphdmEtZW1wdHktY2xhc3NwYXRoCj09PT09PT09PT09PT09PT09 PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBB VEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9i aW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46 L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2Nh bC9iaW4KamF2YS1lbXB0eS1jbGFzc3BhdGg6IHJ1bm5pbmcgamF2YWMgLXZlcnNpb24gLWhlbHAK Li9kZWZzOiBsaW5lIDc2NDogamF2YWM6IGNvbW1hbmQgbm90IGZvdW5kCgpTS0lQOiBqYXZhLWV4 dHJhCj09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5n IFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51 eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9w L3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2Nh bDovdXNyL2xvY2FsL2JpbgpqYXZhLWV4dHJhOiBydW5uaW5nIGphdmFjIC12ZXJzaW9uIC1oZWxw Ci4vZGVmczogbGluZSA3NjQ6IGphdmFjOiBjb21tYW5kIG5vdCBmb3VuZAoKU0tJUDogamF2YS1u b2Jhc2UKPT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVz aW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1s aW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmlu Oi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9s b2NhbDovdXNyL2xvY2FsL2JpbgpqYXZhLW5vYmFzZTogcnVubmluZyBqYXZhYyAtdmVyc2lvbiAt aGVscAouL2RlZnM6IGxpbmUgNzY0OiBqYXZhYzogY29tbWFuZCBub3QgZm91bmQKClNLSVA6IGph dmEtbm9pbnN0Cj09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBu bwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Yt c2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9q L2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91 c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KamF2YS1ub2luc3Q6IHJ1bm5pbmcgamF2YWMgLXZlcnNp b24gLWhlbHAKLi9kZWZzOiBsaW5lIDc2NDogamF2YWM6IGNvbW1hbmQgbm90IGZvdW5kCgpTS0lQ OiBqYXZhLXJlYnVpbGQKPT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNo ZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29w dC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVy bDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3Iv YmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KamF2YS1yZWJ1aWxkOiBydW5uaW5nIGphdmFj IC12ZXJzaW9uIC1oZWxwCi4vZGVmczogbGluZSA3NjQ6IGphdmFjOiBjb21tYW5kIG5vdCBmb3Vu ZAoKU0tJUDogamF2YS11bmluc3RhbGwKPT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJv bSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTov aC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmlu Oi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgpqYXZhLXVuaW5zdGFsbDog cnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL2RlZnM6IGxpbmUgNzY0OiBqYXZhYzogY29t bWFuZCBub3QgZm91bmQKClhGQUlMOiBsZXgtc3Vib2JqLW5vZGVwCj09PT09PT09PT09PT09PT09 PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEgg PSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46 L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3Av YmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9i aW4KbGV4LXN1Ym9iai1ub2RlcDogcnVubmluZyBmbGV4IC0tdmVyc2lvbgpmbGV4IDIuNS4zNQor KyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2xleC1zdWJvYmotbm9kZXAuZGlyCisgY2F0 CisgY2F0CisgbWtkaXIgc3ViMSBzdWIyCisgY2F0CisgY3Agc3ViMS9zMS5sIHN1YjIvczIubAor IGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1dG9jb25mIC1CIC9uby9zdWNoL2RpcgorIGF1dG9t YWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5pbjo1OiBpbnN0 YWxsaW5nIGAuL2NvbXBpbGUnCmNvbmZpZ3VyZS5pbjogaW5zdGFsbGluZyBgLi95bHdyYXAnCisg bWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIC4uL2NvbmZpZ3VyZSAtLWRpc2FibGUtZGVwZW5kZW5j eS10cmFja2luZwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jp bi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBi eSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBub25lCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dldGhlci4u LiB5ZXMKY2hlY2tpbmcgZm9yIGZsZXguLi4gZmxleApjaGVja2luZyBsZXggb3V0cHV0IGZpbGUg cm9vdC4uLiBsZXgueXkKY2hlY2tpbmcgbGV4IGxpYnJhcnkuLi4gbm9uZSBuZWVkZWQKY2hlY2tp bmcgd2hldGhlciB5eXRleHQgaXMgYSBwb2ludGVyLi4uIG5vCmNoZWNraW5nIHRoYXQgZ2VuZXJh dGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2Ugc3ViMS9zMS5j Ci9iaW4vc2ggLi4veWx3cmFwIC4uL3N1YjEvczEubCBsZXgueXkuYyBzdWIxL3MxLmMgLS0gZmxl eCAgCi4uL3lsd3JhcDogbGluZSAxODI6IC4uL3N1YjEvczEuYzogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQptYWtlOiAqKiogW3N1YjEvczEuY10gRXJyb3IgMQorIGV4aXRfc3RhdHVzPTIKKyBz ZXQgK2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0geWVzCisgY2Fz ZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDIgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXll cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJu IDAKKyBzZXQgK3gKbGV4LXN1Ym9iai1ub2RlcDogZXhpdCAyCgpTS0lQOiBsZXgtbGliLWV4dGVy bmFsCj09PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5v ClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1z YS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ov YmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vz ci9sb2NhbDovdXNyL2xvY2FsL2JpbgpsZXgtbGliLWV4dGVybmFsOiBydW5uaW5nIGZsZXggLS12 ZXJzaW9uCmZsZXggMi41LjM1CisrIHB3ZAovaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvbGV4LWxp Yi1leHRlcm5hbC5kaXIKKyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IK KyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIKKyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24gLVdl cnJvciAtV2FsbCAtYQpjb25maWd1cmUuaW46IGluc3RhbGxpbmcgYC4veWx3cmFwJworIC4vY29u ZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1h a2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgZm9yIGZsZXguLi4gZmxleApjaGVja2lu ZyBsZXggb3V0cHV0IGZpbGUgcm9vdC4uLiBsZXgueXkKY2hlY2tpbmcgbGV4IGxpYnJhcnkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciB5eXRleHQgaXMgYSBwb2ludGVyLi4uIG5vCmNo ZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgaGF2ZS1sZXhsaWIKdGVzdCB4JycgIT0geAptYWtlOiAqKiogW2hhdmUtbGV4bGli XSBFcnJvciAxCisgc2tpcF8gJ25vIHN5c3RlbS13aWRlIGxleCBsaWJyYXJ5IGZvdW5kJworIHdh cm5fICdsZXgtbGliLWV4dGVybmFsOiBza2lwcGVkIHRlc3Q6IG5vIHN5c3RlbS13aWRlIGxleCBs aWJyYXJ5IGZvdW5kJworIGVjaG8gJ2xleC1saWItZXh0ZXJuYWw6IHNraXBwZWQgdGVzdDogbm8g c3lzdGVtLXdpZGUgbGV4IGxpYnJhcnkgZm91bmQnCisgRXhpdCA3NworIHNldCArZQorIHRlc3Qg NzcgPSA3NworIGFtX190ZXN0X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBleGl0 X3N0YXR1cz03NworIHNldCArZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qg bm8gPSB5ZXMKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgNzcgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKbGV4LWxpYi1leHRlcm5hbDogZXhpdCA3NwoKU0tJ UDogbHppcAo9PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBU QVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2 NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9w L2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6 L3Vzci9sb2NhbC9iaW4KbHppcDogcnVubmluZyBsemlwIC0tdmVyc2lvbgouL2RlZnM6IGxpbmUg OTA1OiBsemlwOiBjb21tYW5kIG5vdCBmb3VuZAoKWEZBSUw6IG92ZXJyaWRlLWNvbmRpdGlvbmFs LTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hl Y2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0 L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJs Oi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9i aW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgorKyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL292ZXJyaWRlLWNvbmRpdGlvbmFsLTIuZGlyCisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjEx YSAtV2Vycm9yCisgQVVUT01BS0VfZmFpbHMKKyBBVVRPTUFLRV9ydW4gLWUgMQorIGFtX19kZXNj PQorIGFtX19leHBfcmM9MAorIHRlc3QgMiAtZ3QgMAorIGNhc2UgJDEgaW4KKyBhbV9fZXhwX3Jj PTEKKyBzaGlmdAorIHNoaWZ0CisgdGVzdCAwIC1ndCAwCisgYW1fX2dvdF9yYz0wCisgYXV0b21h a2UtMS4xMWEgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBjYXQgc3RkZXJyCisgY2F0IHN0ZG91 dAorIHRlc3Qgbm8gJyE9JyB5ZXMKKyB0ZXN0IDAgLWVxIDEKKyBFeGl0IDEKKyBzZXQgK2UKKyB0 ZXN0IDc3ID0gMQorIGV4aXQgMQorIGV4aXQgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBj ZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0geWVzCisgY2FzZSAkYW1fZXhw bGljaXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQg K3gKb3ZlcnJpZGUtY29uZGl0aW9uYWwtMjogZXhpdCAxCgpGQUlMOiBwYXJhbGxlbC10ZXN0cy1p bnRlcnJ1cHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IHllcwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ov YmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2Jp bjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvcGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0LmRpcgorIHBsYW5fIDE2CisgdGVz dCAxIC1lcSAwCisgdGVzdCAxIC1nZSAyCisgdGVzdCB4MTYgPSB4dW5rbm93bgorIHRlc3QgeDE2 ID0geGxhdGVyCisgdGVzdCB4MTYgPSB4bGF6eQorIHRlc3QgeDE2ID0geG5vdworIHRlc3QgMTYg LWdlIDAKKyBlY2hvIDEuLjE2CjEuLjE2CisgaGF2ZV90YXBfcGxhbl89eWVzCisgY2F0CisgY2F0 CisgY2F0IC0gL2gvai93L2NvL2F1dG9tYWtlL2xpYi90ZXN0LWRyaXZlcgorIGNhdAorIGNobW9k IGEreCBmb28udGVzdAorIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1dG9jb25mIC1CIC9uby9z dWNoL2RpcgorIGF1dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgLi9jb25m aWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgdHJhcHBlZF9zaWduYWxzPScxIDIgMTMgMTUn CisgZm9yIHNpZyBpbiAnJHRyYXBwZWRfc2lnbmFscycKKyBpc19ibG9ja2VkX3NpZ25hbCAxCisg L3Vzci9iaW4vcGVybCAtdyAtZSAnCiAgICB1c2Ugc3RyaWN0OwogICAgdXNlIHdhcm5pbmdzIEZB VEFMID0+ICJhbGwiOwogICAgdXNlIFBPU0lYOwogICAgbXkgJW9sZHNpZ2FjdGlvbiA9ICgpOwog ICAgc2lnYWN0aW9uKDEsIDAsIFwlb2xkc2lnYWN0aW9uKTsKICAgIGV4aXQgKCRvbGRzaWdhY3Rp b257IkhBTkRMRVIifSBlcSAiSUdOT1JFIiA/IDAgOiA3Nyk7CiAgJworIHRlc3QgNzcgLWVxIDc3 CisgcmV0dXJuIDEKKyBybSAtZiBwaWQgZmFpbCBjb25maWcubG9nCisgcj1vaworIGVudiBzaWc9 MSBtYWtlIGNoZWNrCm1ha2UgIGNoZWNrLVRFU1RTCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3BhcmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXIn Cm1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3Bh cmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXInCnRvdGFsIDI4NAotcnctLS0tLS0tLiAxIG1leWVy aW5nIG1leWVyaW5nIDI2NTY2IERlYyAyOCAxMTowOSBNYWtlZmlsZQotcnctLS0tLS0tLiAxIG1l eWVyaW5nIG1leWVyaW5nICAgMTQ1IERlYyAyOCAxMTowOSBNYWtlZmlsZS5hbQotcnctLS0tLS0t LiAxIG1leWVyaW5nIG1leWVyaW5nIDI1NjU5IERlYyAyOCAxMTowOSBNYWtlZmlsZS5pbgotcnct LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDIyODM1IERlYyAyOCAxMTowOSBhY2xvY2FsLm00 CmRyd3gtLS0tLS0uIDIgbWV5ZXJpbmcgbWV5ZXJpbmcgIDQwOTYgRGVjIDI4IDExOjA5IGF1dG9t NHRlLmNhY2hlCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMjU3ODUgRGVjIDI4IDEx OjA5IGNvbmZpZy5zdGF0dXMKLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyA5OTg2OSBE ZWMgMjggMTE6MDkgY29uZmlndXJlCi1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgICAx MTYgRGVjIDI4IDExOjA5IGNvbmZpZ3VyZS5pbgotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVy aW5nIDIwMzM0IERlYyAyOCAxMTowOSBkZXBjb21wCi1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5 ZXJpbmcgICAgNjMgRGVjIDI4IDExOjA5IGZvby5sb2cKLXJ3eC0teC0teC4gMSBtZXllcmluZyBt ZXllcmluZyAgIDU0OCBEZWMgMjggMTE6MDkgZm9vLnRlc3QKLXJ3eC0tLS0tLS4gMSBtZXllcmlu ZyBtZXllcmluZyAxMzk5NyBEZWMgMjggMTE6MDkgaW5zdGFsbC1zaAotcnd4LS0tLS0tLiAxIG1l eWVyaW5nIG1leWVyaW5nIDExMjUxIERlYyAyOCAxMTowOSBtaXNzaW5nCi1ydy0tLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgICAgIDUgRGVjIDI4IDExOjA5IHBpZAotcnctLS0tLS0tLiAxIG1l eWVyaW5nIG1leWVyaW5nICA0MDE5IERlYyAyOCAxMTowOSB0ZXN0LWRyaXZlcgorIGVjaG8gJ2Zv byBpcyBzdGFydGluZyB0byBydW4nCmZvbyBpcyBzdGFydGluZyB0byBydW4KKyBscyAtbAorIHRl c3QgMSAtZ3QgMAorIHJlcz1vaworIGNhdCBmb28ubG9nCm9rIC0gbG9nZmlsZSBjcmVhdGVkIGFu ZCByZWFkYWJsZSBbU0lHIDFdClBBU1M6IHBhcmFsbGVsLXRlc3RzLWludGVycnVwdC50YXAgMSAt IGxvZ2ZpbGUgY3JlYXRlZCBhbmQgcmVhZGFibGUgW1NJRyAxXQpub3Qgb2sgLSBsb2dmaWxlIGNv bnRhaW5zIG91dHB1dCBmcm9tIHRlc3Qgc2NyaXB0IFtTSUcgMV0KRkFJTDogcGFyYWxsZWwtdGVz dHMtaW50ZXJydXB0LnRhcCAyIC0gbG9nZmlsZSBjb250YWlucyBvdXRwdXQgZnJvbSB0ZXN0IHNj cmlwdCBbU0lHIDFdCjg0MjQKbWFrZVsyXTogKioqIFtmb28ubG9nXSBFcnJvciAxMjkKbWFrZVsy XTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9wYXJhbGxlbC10 ZXN0cy1pbnRlcnJ1cHQuZGlyJwptYWtlWzFdOiAqKiogW2NoZWNrLVRFU1RTXSBFcnJvciAyCm1h a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvcGFyYWxs ZWwtdGVzdHMtaW50ZXJydXB0LmRpcicKbWFrZTogKioqIFtjaGVjay1hbV0gRXJyb3IgMgorIGVj aG8gJ29rIC0gc2lnbmFsIDEgdG8gdGVzdCBkcml2ZXIgY2F1c2VzICJtYWtlIGNoZWNrIiB0byBm YWlsJwpvayAtIHNpZ25hbCAxIHRvIHRlc3QgZHJpdmVyIGNhdXNlcyAibWFrZSBjaGVjayIgdG8g ZmFpbApQQVNTOiBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQudGFwIDMgLSBzaWduYWwgMSB0byB0 ZXN0IGRyaXZlciBjYXVzZXMgIm1ha2UgY2hlY2siIHRvIGZhaWwKKyBscyAtbAp0b3RhbCAyODAK LXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyNjU2NiBEZWMgMjggMTE6MDkgTWFrZWZp bGUKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAgIDE0NSBEZWMgMjggMTE6MDkgTWFr ZWZpbGUuYW0KLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyNTY1OSBEZWMgMjggMTE6 MDkgTWFrZWZpbGUuaW4KLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyMjgzNSBEZWMg MjggMTE6MDkgYWNsb2NhbC5tNApkcnd4LS0tLS0tLiAyIG1leWVyaW5nIG1leWVyaW5nICA0MDk2 IERlYyAyOCAxMTowOSBhdXRvbTR0ZS5jYWNoZQotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVy aW5nIDI1Nzg1IERlYyAyOCAxMTowOSBjb25maWcuc3RhdHVzCi1yd3gtLS0tLS0uIDEgbWV5ZXJp bmcgbWV5ZXJpbmcgOTk4NjkgRGVjIDI4IDExOjA5IGNvbmZpZ3VyZQotcnctLS0tLS0tLiAxIG1l eWVyaW5nIG1leWVyaW5nICAgMTE2IERlYyAyOCAxMTowOSBjb25maWd1cmUuaW4KLXJ3eC0tLS0t LS4gMSBtZXllcmluZyBtZXllcmluZyAyMDMzNCBEZWMgMjggMTE6MDkgZGVwY29tcAotcnd4LS14 LS14LiAxIG1leWVyaW5nIG1leWVyaW5nICAgNTQ4IERlYyAyOCAxMTowOSBmb28udGVzdAotcnd4 LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDEzOTk3IERlYyAyOCAxMTowOSBpbnN0YWxsLXNo Ci1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMTEyNTEgRGVjIDI4IDExOjA5IG1pc3Np bmcKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAgICAgNSBEZWMgMjggMTE6MDkgcGlk Ci1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgIDQwMTkgRGVjIDI4IDExOjA5IHRlc3Qt ZHJpdmVyCisgY2F0IGZvby5sb2cKY2F0OiBmb28ubG9nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CisgOgorIGNhdCB0ZXN0LXN1aXRlLmxvZwpjYXQ6IHRlc3Qtc3VpdGUubG9nOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CisgOgorIHI9b2sKKyAvcC9iaW4vZ3JlcCAtRSAnZm9vLipcLihs b2d8dG1wKScKKyBscworIGVjaG8gJ29rIC0gdGVzdCBkcml2ZXIgY2xlYW4gdXAgbG9nIGFuZCB0 bXAgZmlsZXMgYWZ0ZXIgc2lnbmFsIDEnCm9rIC0gdGVzdCBkcml2ZXIgY2xlYW4gdXAgbG9nIGFu ZCB0bXAgZmlsZXMgYWZ0ZXIgc2lnbmFsIDEKUEFTUzogcGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0 LnRhcCA0IC0gdGVzdCBkcml2ZXIgY2xlYW4gdXAgbG9nIGFuZCB0bXAgZmlsZXMgYWZ0ZXIgc2ln bmFsIDEKKyBmb3Igc2lnIGluICckdHJhcHBlZF9zaWduYWxzJworIGlzX2Jsb2NrZWRfc2lnbmFs IDIKKyAvdXNyL2Jpbi9wZXJsIC13IC1lICcKICAgIHVzZSBzdHJpY3Q7CiAgICB1c2Ugd2Fybmlu Z3MgRkFUQUwgPT4gImFsbCI7CiAgICB1c2UgUE9TSVg7CiAgICBteSAlb2xkc2lnYWN0aW9uID0g KCk7CiAgICBzaWdhY3Rpb24oMiwgMCwgXCVvbGRzaWdhY3Rpb24pOwogICAgZXhpdCAoJG9sZHNp Z2FjdGlvbnsiSEFORExFUiJ9IGVxICJJR05PUkUiID8gMCA6IDc3KTsKICAnCisgdGVzdCA3NyAt ZXEgNzcKKyByZXR1cm4gMQorIHJtIC1mIHBpZCBmYWlsICcqLmxvZycKKyByPW9rCisgZW52IHNp Zz0yIG1ha2UgY2hlY2sKbWFrZSAgY2hlY2stVEVTVFMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0 b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvcGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0LmRp cicKbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMv cGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0LmRpcicKdG90YWwgMjg0Ci1ydy0tLS0tLS0uIDEgbWV5 ZXJpbmcgbWV5ZXJpbmcgMjY1NjYgRGVjIDI4IDExOjA5IE1ha2VmaWxlCi1ydy0tLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgICAxNDUgRGVjIDI4IDExOjA5IE1ha2VmaWxlLmFtCi1ydy0tLS0t LS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMjU2NTkgRGVjIDI4IDExOjA5IE1ha2VmaWxlLmluCi1y dy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMjI4MzUgRGVjIDI4IDExOjA5IGFjbG9jYWwu bTQKZHJ3eC0tLS0tLS4gMiBtZXllcmluZyBtZXllcmluZyAgNDA5NiBEZWMgMjggMTE6MDkgYXV0 b200dGUuY2FjaGUKLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyNTc4NSBEZWMgMjgg MTE6MDkgY29uZmlnLnN0YXR1cwotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDk5ODY5 IERlYyAyOCAxMTowOSBjb25maWd1cmUKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAg IDExNiBEZWMgMjggMTE6MDkgY29uZmlndXJlLmluCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5 ZXJpbmcgMjAzMzQgRGVjIDI4IDExOjA5IGRlcGNvbXAKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBt ZXllcmluZyAgICA2MyBEZWMgMjggMTE6MDkgZm9vLmxvZwotcnd4LS14LS14LiAxIG1leWVyaW5n IG1leWVyaW5nICAgNTQ4IERlYyAyOCAxMTowOSBmb28udGVzdAotcnd4LS0tLS0tLiAxIG1leWVy aW5nIG1leWVyaW5nIDEzOTk3IERlYyAyOCAxMTowOSBpbnN0YWxsLXNoCi1yd3gtLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgMTEyNTEgRGVjIDI4IDExOjA5IG1pc3NpbmcKLXJ3LS0tLS0tLS4g MSBtZXllcmluZyBtZXllcmluZyAgICAgNSBEZWMgMjggMTE6MDkgcGlkCi1ydy0tLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgIDQwMTkgRGVjIDI4IDExOjA5IHRlc3QtZHJpdmVyCisgZWNobyAn Zm9vIGlzIHN0YXJ0aW5nIHRvIHJ1bicKZm9vIGlzIHN0YXJ0aW5nIHRvIHJ1bgorIGxzIC1sCisg dGVzdCAyIC1ndCAwCisgcmVzPW9rCisgY2F0IGZvby5sb2cKb2sgLSBsb2dmaWxlIGNyZWF0ZWQg YW5kIHJlYWRhYmxlIFtTSUcgMl0KUEFTUzogcGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0LnRhcCA1 IC0gbG9nZmlsZSBjcmVhdGVkIGFuZCByZWFkYWJsZSBbU0lHIDJdCm5vdCBvayAtIGxvZ2ZpbGUg Y29udGFpbnMgb3V0cHV0IGZyb20gdGVzdCBzY3JpcHQgW1NJRyAyXQpGQUlMOiBwYXJhbGxlbC10 ZXN0cy1pbnRlcnJ1cHQudGFwIDYgLSBsb2dmaWxlIGNvbnRhaW5zIG91dHB1dCBmcm9tIHRlc3Qg c2NyaXB0IFtTSUcgMl0KOTU1NwptYWtlWzJdOiAqKiogW2Zvby5sb2ddIEVycm9yIDEzMAptYWtl WzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3BhcmFsbGVs LXRlc3RzLWludGVycnVwdC5kaXInCm1ha2VbMV06ICoqKiBbY2hlY2stVEVTVFNdIEVycm9yIDIK bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9wYXJh bGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGlyJwptYWtlOiAqKiogW2NoZWNrLWFtXSBFcnJvciAyCisg ZWNobyAnb2sgLSBzaWduYWwgMiB0byB0ZXN0IGRyaXZlciBjYXVzZXMgIm1ha2UgY2hlY2siIHRv IGZhaWwnCm9rIC0gc2lnbmFsIDIgdG8gdGVzdCBkcml2ZXIgY2F1c2VzICJtYWtlIGNoZWNrIiB0 byBmYWlsClBBU1M6IHBhcmFsbGVsLXRlc3RzLWludGVycnVwdC50YXAgNyAtIHNpZ25hbCAyIHRv IHRlc3QgZHJpdmVyIGNhdXNlcyAibWFrZSBjaGVjayIgdG8gZmFpbAorIGxzIC1sCnRvdGFsIDI4 MAotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI2NTY2IERlYyAyOCAxMTowOSBNYWtl ZmlsZQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAgMTQ1IERlYyAyOCAxMTowOSBN YWtlZmlsZS5hbQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI1NjU5IERlYyAyOCAx MTowOSBNYWtlZmlsZS5pbgotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDIyODM1IERl YyAyOCAxMTowOSBhY2xvY2FsLm00CmRyd3gtLS0tLS0uIDIgbWV5ZXJpbmcgbWV5ZXJpbmcgIDQw OTYgRGVjIDI4IDExOjA5IGF1dG9tNHRlLmNhY2hlCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5 ZXJpbmcgMjU3ODUgRGVjIDI4IDExOjA5IGNvbmZpZy5zdGF0dXMKLXJ3eC0tLS0tLS4gMSBtZXll cmluZyBtZXllcmluZyA5OTg2OSBEZWMgMjggMTE6MDkgY29uZmlndXJlCi1ydy0tLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgICAxMTYgRGVjIDI4IDExOjA5IGNvbmZpZ3VyZS5pbgotcnd4LS0t LS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDIwMzM0IERlYyAyOCAxMTowOSBkZXBjb21wCi1yd3gt LXgtLXguIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgICA1NDggRGVjIDI4IDExOjA5IGZvby50ZXN0Ci1y d3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMTM5OTcgRGVjIDI4IDExOjA5IGluc3RhbGwt c2gKLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAxMTI1MSBEZWMgMjggMTE6MDkgbWlz c2luZwotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAgICA1IERlYyAyOCAxMTowOSBw aWQKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAgNDAxOSBEZWMgMjggMTE6MDkgdGVz dC1kcml2ZXIKKyBjYXQgZm9vLmxvZwpjYXQ6IGZvby5sb2c6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKKyA6CisgY2F0IHRlc3Qtc3VpdGUubG9nCmNhdDogdGVzdC1zdWl0ZS5sb2c6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyA6Cisgcj1vaworIC9wL2Jpbi9ncmVwIC1FICdmb28uKlwu KGxvZ3x0bXApJworIGxzCisgZWNobyAnb2sgLSB0ZXN0IGRyaXZlciBjbGVhbiB1cCBsb2cgYW5k IHRtcCBmaWxlcyBhZnRlciBzaWduYWwgMicKb2sgLSB0ZXN0IGRyaXZlciBjbGVhbiB1cCBsb2cg YW5kIHRtcCBmaWxlcyBhZnRlciBzaWduYWwgMgpQQVNTOiBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1 cHQudGFwIDggLSB0ZXN0IGRyaXZlciBjbGVhbiB1cCBsb2cgYW5kIHRtcCBmaWxlcyBhZnRlciBz aWduYWwgMgorIGZvciBzaWcgaW4gJyR0cmFwcGVkX3NpZ25hbHMnCisgaXNfYmxvY2tlZF9zaWdu YWwgMTMKKyAvdXNyL2Jpbi9wZXJsIC13IC1lICcKICAgIHVzZSBzdHJpY3Q7CiAgICB1c2Ugd2Fy bmluZ3MgRkFUQUwgPT4gImFsbCI7CiAgICB1c2UgUE9TSVg7CiAgICBteSAlb2xkc2lnYWN0aW9u ID0gKCk7CiAgICBzaWdhY3Rpb24oMTMsIDAsIFwlb2xkc2lnYWN0aW9uKTsKICAgIGV4aXQgKCRv bGRzaWdhY3Rpb257IkhBTkRMRVIifSBlcSAiSUdOT1JFIiA/IDAgOiA3Nyk7CiAgJworIHRlc3Qg NzcgLWVxIDc3CisgcmV0dXJuIDEKKyBybSAtZiBwaWQgZmFpbCAnKi5sb2cnCisgcj1vaworIGVu diBzaWc9MTMgbWFrZSBjaGVjawptYWtlICBjaGVjay1URVNUUwptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9wYXJhbGxlbC10ZXN0cy1pbnRlcnJ1 cHQuZGlyJwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0cy9wYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGlyJwp0b3RhbCAyODQKLXJ3LS0tLS0tLS4g MSBtZXllcmluZyBtZXllcmluZyAyNjU2NiBEZWMgMjggMTE6MDkgTWFrZWZpbGUKLXJ3LS0tLS0t LS4gMSBtZXllcmluZyBtZXllcmluZyAgIDE0NSBEZWMgMjggMTE6MDkgTWFrZWZpbGUuYW0KLXJ3 LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyNTY1OSBEZWMgMjggMTE6MDkgTWFrZWZpbGUu aW4KLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyMjgzNSBEZWMgMjggMTE6MDkgYWNs b2NhbC5tNApkcnd4LS0tLS0tLiAyIG1leWVyaW5nIG1leWVyaW5nICA0MDk2IERlYyAyOCAxMTow OSBhdXRvbTR0ZS5jYWNoZQotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI1Nzg1IERl YyAyOCAxMTowOSBjb25maWcuc3RhdHVzCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcg OTk4NjkgRGVjIDI4IDExOjA5IGNvbmZpZ3VyZQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVy aW5nICAgMTE2IERlYyAyOCAxMTowOSBjb25maWd1cmUuaW4KLXJ3eC0tLS0tLS4gMSBtZXllcmlu ZyBtZXllcmluZyAyMDMzNCBEZWMgMjggMTE6MDkgZGVwY29tcAotcnctLS0tLS0tLiAxIG1leWVy aW5nIG1leWVyaW5nICAgIDYzIERlYyAyOCAxMTowOSBmb28ubG9nCi1yd3gtLXgtLXguIDEgbWV5 ZXJpbmcgbWV5ZXJpbmcgICA1NDggRGVjIDI4IDExOjA5IGZvby50ZXN0Ci1yd3gtLS0tLS0uIDEg bWV5ZXJpbmcgbWV5ZXJpbmcgMTM5OTcgRGVjIDI4IDExOjA5IGluc3RhbGwtc2gKLXJ3eC0tLS0t LS4gMSBtZXllcmluZyBtZXllcmluZyAxMTI1MSBEZWMgMjggMTE6MDkgbWlzc2luZwotcnctLS0t LS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAgICA2IERlYyAyOCAxMTowOSBwaWQKLXJ3LS0tLS0t LS4gMSBtZXllcmluZyBtZXllcmluZyAgNDAxOSBEZWMgMjggMTE6MDkgdGVzdC1kcml2ZXIKKyBl Y2hvICdmb28gaXMgc3RhcnRpbmcgdG8gcnVuJwpmb28gaXMgc3RhcnRpbmcgdG8gcnVuCisgbHMg LWwKKyB0ZXN0IDEzIC1ndCAwCisgcmVzPW9rCisgY2F0IGZvby5sb2cKb2sgLSBsb2dmaWxlIGNy ZWF0ZWQgYW5kIHJlYWRhYmxlIFtTSUcgMTNdClBBU1M6IHBhcmFsbGVsLXRlc3RzLWludGVycnVw dC50YXAgOSAtIGxvZ2ZpbGUgY3JlYXRlZCBhbmQgcmVhZGFibGUgW1NJRyAxM10Kbm90IG9rIC0g bG9nZmlsZSBjb250YWlucyBvdXRwdXQgZnJvbSB0ZXN0IHNjcmlwdCBbU0lHIDEzXQpGQUlMOiBw YXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQudGFwIDEwIC0gbG9nZmlsZSBjb250YWlucyBvdXRwdXQg ZnJvbSB0ZXN0IHNjcmlwdCBbU0lHIDEzXQoxMDUwMgptYWtlWzJdOiAqKiogW2Zvby5sb2ddIEVy cm9yIDE0MQptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzL3BhcmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXInCm1ha2VbMV06ICoqKiBbY2hlY2stVEVT VFNdIEVycm9yIDIKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0cy9wYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGlyJwptYWtlOiAqKiogW2NoZWNrLWFt XSBFcnJvciAyCisgZWNobyAnb2sgLSBzaWduYWwgMTMgdG8gdGVzdCBkcml2ZXIgY2F1c2VzICJt YWtlIGNoZWNrIiB0byBmYWlsJwpvayAtIHNpZ25hbCAxMyB0byB0ZXN0IGRyaXZlciBjYXVzZXMg Im1ha2UgY2hlY2siIHRvIGZhaWwKUEFTUzogcGFyYWxsZWwtdGVzdHMtaW50ZXJydXB0LnRhcCAx MSAtIHNpZ25hbCAxMyB0byB0ZXN0IGRyaXZlciBjYXVzZXMgIm1ha2UgY2hlY2siIHRvIGZhaWwK KyBscyAtbAp0b3RhbCAyODAKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyNjU2NiBE ZWMgMjggMTE6MDkgTWFrZWZpbGUKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAgIDE0 NSBEZWMgMjggMTE6MDkgTWFrZWZpbGUuYW0KLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmlu ZyAyNTY1OSBEZWMgMjggMTE6MDkgTWFrZWZpbGUuaW4KLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBt ZXllcmluZyAyMjgzNSBEZWMgMjggMTE6MDkgYWNsb2NhbC5tNApkcnd4LS0tLS0tLiAyIG1leWVy aW5nIG1leWVyaW5nICA0MDk2IERlYyAyOCAxMTowOSBhdXRvbTR0ZS5jYWNoZQotcnd4LS0tLS0t LiAxIG1leWVyaW5nIG1leWVyaW5nIDI1Nzg1IERlYyAyOCAxMTowOSBjb25maWcuc3RhdHVzCi1y d3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgOTk4NjkgRGVjIDI4IDExOjA5IGNvbmZpZ3Vy ZQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAgMTE2IERlYyAyOCAxMTowOSBjb25m aWd1cmUuaW4KLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyMDMzNCBEZWMgMjggMTE6 MDkgZGVwY29tcAotcnd4LS14LS14LiAxIG1leWVyaW5nIG1leWVyaW5nICAgNTQ4IERlYyAyOCAx MTowOSBmb28udGVzdAotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDEzOTk3IERlYyAy OCAxMTowOSBpbnN0YWxsLXNoCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgMTEyNTEg RGVjIDI4IDExOjA5IG1pc3NpbmcKLXJ3LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAgICAg NiBEZWMgMjggMTE6MDkgcGlkCi1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgIDQwMTkg RGVjIDI4IDExOjA5IHRlc3QtZHJpdmVyCisgY2F0IGZvby5sb2cKY2F0OiBmb28ubG9nOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgOgorIGNhdCB0ZXN0LXN1aXRlLmxvZwpjYXQ6IHRlc3Qt c3VpdGUubG9nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgOgorIHI9b2sKKyBscworIC9w L2Jpbi9ncmVwIC1FICdmb28uKlwuKGxvZ3x0bXApJworIGVjaG8gJ29rIC0gdGVzdCBkcml2ZXIg Y2xlYW4gdXAgbG9nIGFuZCB0bXAgZmlsZXMgYWZ0ZXIgc2lnbmFsIDEzJwpvayAtIHRlc3QgZHJp dmVyIGNsZWFuIHVwIGxvZyBhbmQgdG1wIGZpbGVzIGFmdGVyIHNpZ25hbCAxMwpQQVNTOiBwYXJh bGxlbC10ZXN0cy1pbnRlcnJ1cHQudGFwIDEyIC0gdGVzdCBkcml2ZXIgY2xlYW4gdXAgbG9nIGFu ZCB0bXAgZmlsZXMgYWZ0ZXIgc2lnbmFsIDEzCisgZm9yIHNpZyBpbiAnJHRyYXBwZWRfc2lnbmFs cycKKyBpc19ibG9ja2VkX3NpZ25hbCAxNQorIC91c3IvYmluL3BlcmwgLXcgLWUgJwogICAgdXNl IHN0cmljdDsKICAgIHVzZSB3YXJuaW5ncyBGQVRBTCA9PiAiYWxsIjsKICAgIHVzZSBQT1NJWDsK ICAgIG15ICVvbGRzaWdhY3Rpb24gPSAoKTsKICAgIHNpZ2FjdGlvbigxNSwgMCwgXCVvbGRzaWdh Y3Rpb24pOwogICAgZXhpdCAoJG9sZHNpZ2FjdGlvbnsiSEFORExFUiJ9IGVxICJJR05PUkUiID8g MCA6IDc3KTsKICAnCisgdGVzdCA3NyAtZXEgNzcKKyByZXR1cm4gMQorIHJtIC1mIHBpZCBmYWls ICcqLmxvZycKKyByPW9rCisgZW52IHNpZz0xNSBtYWtlIGNoZWNrCm1ha2UgIGNoZWNrLVRFU1RT Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3Bh cmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXInCm1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3BhcmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXInCnRv dGFsIDI4NAotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI2NTY2IERlYyAyOCAxMTow OSBNYWtlZmlsZQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAgMTQ1IERlYyAyOCAx MTowOSBNYWtlZmlsZS5hbQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI1NjU5IERl YyAyOCAxMTowOSBNYWtlZmlsZS5pbgotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDIy ODM1IERlYyAyOCAxMTowOSBhY2xvY2FsLm00CmRyd3gtLS0tLS0uIDIgbWV5ZXJpbmcgbWV5ZXJp bmcgIDQwOTYgRGVjIDI4IDExOjA5IGF1dG9tNHRlLmNhY2hlCi1yd3gtLS0tLS0uIDEgbWV5ZXJp bmcgbWV5ZXJpbmcgMjU3ODUgRGVjIDI4IDExOjA5IGNvbmZpZy5zdGF0dXMKLXJ3eC0tLS0tLS4g MSBtZXllcmluZyBtZXllcmluZyA5OTg2OSBEZWMgMjggMTE6MDkgY29uZmlndXJlCi1ydy0tLS0t LS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgICAxMTYgRGVjIDI4IDExOjA5IGNvbmZpZ3VyZS5pbgot cnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDIwMzM0IERlYyAyOCAxMTowOSBkZXBjb21w Ci1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgICAgNjMgRGVjIDI4IDExOjA5IGZvby5s b2cKLXJ3eC0teC0teC4gMSBtZXllcmluZyBtZXllcmluZyAgIDU0OCBEZWMgMjggMTE6MDkgZm9v LnRlc3QKLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAxMzk5NyBEZWMgMjggMTE6MDkg aW5zdGFsbC1zaAotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDExMjUxIERlYyAyOCAx MTowOSBtaXNzaW5nCi1ydy0tLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgICAgIDYgRGVjIDI4 IDExOjA5IHBpZAotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICA0MDE5IERlYyAyOCAx MTowOSB0ZXN0LWRyaXZlcgorIGVjaG8gJ2ZvbyBpcyBzdGFydGluZyB0byBydW4nCmZvbyBpcyBz dGFydGluZyB0byBydW4KKyBscyAtbAorIHRlc3QgMTUgLWd0IDAKKyByZXM9b2sKKyBjYXQgZm9v LmxvZwpvayAtIGxvZ2ZpbGUgY3JlYXRlZCBhbmQgcmVhZGFibGUgW1NJRyAxNV0KUEFTUzogcGFy YWxsZWwtdGVzdHMtaW50ZXJydXB0LnRhcCAxMyAtIGxvZ2ZpbGUgY3JlYXRlZCBhbmQgcmVhZGFi bGUgW1NJRyAxNV0Kbm90IG9rIC0gbG9nZmlsZSBjb250YWlucyBvdXRwdXQgZnJvbSB0ZXN0IHNj cmlwdCBbU0lHIDE1XQpGQUlMOiBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQudGFwIDE0IC0gbG9n ZmlsZSBjb250YWlucyBvdXRwdXQgZnJvbSB0ZXN0IHNjcmlwdCBbU0lHIDE1XQoxMTI3OQptYWtl WzJdOiAqKiogW2Zvby5sb2ddIEVycm9yIDE0MwptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3BhcmFsbGVsLXRlc3RzLWludGVycnVwdC5kaXInCm1h a2VbMV06ICoqKiBbY2hlY2stVEVTVFNdIEVycm9yIDIKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9wYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGly JwptYWtlOiAqKiogW2NoZWNrLWFtXSBFcnJvciAyCisgZWNobyAnb2sgLSBzaWduYWwgMTUgdG8g dGVzdCBkcml2ZXIgY2F1c2VzICJtYWtlIGNoZWNrIiB0byBmYWlsJwpvayAtIHNpZ25hbCAxNSB0 byB0ZXN0IGRyaXZlciBjYXVzZXMgIm1ha2UgY2hlY2siIHRvIGZhaWwKUEFTUzogcGFyYWxsZWwt dGVzdHMtaW50ZXJydXB0LnRhcCAxNSAtIHNpZ25hbCAxNSB0byB0ZXN0IGRyaXZlciBjYXVzZXMg Im1ha2UgY2hlY2siIHRvIGZhaWwKKyBscyAtbAp0b3RhbCAyODAKLXJ3LS0tLS0tLS4gMSBtZXll cmluZyBtZXllcmluZyAyNjU2NiBEZWMgMjggMTE6MDkgTWFrZWZpbGUKLXJ3LS0tLS0tLS4gMSBt ZXllcmluZyBtZXllcmluZyAgIDE0NSBEZWMgMjggMTE6MDkgTWFrZWZpbGUuYW0KLXJ3LS0tLS0t LS4gMSBtZXllcmluZyBtZXllcmluZyAyNTY1OSBEZWMgMjggMTE6MDkgTWFrZWZpbGUuaW4KLXJ3 LS0tLS0tLS4gMSBtZXllcmluZyBtZXllcmluZyAyMjgzNSBEZWMgMjggMTE6MDkgYWNsb2NhbC5t NApkcnd4LS0tLS0tLiAyIG1leWVyaW5nIG1leWVyaW5nICA0MDk2IERlYyAyOCAxMTowOSBhdXRv bTR0ZS5jYWNoZQotcnd4LS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nIDI1Nzg1IERlYyAyOCAx MTowOSBjb25maWcuc3RhdHVzCi1yd3gtLS0tLS0uIDEgbWV5ZXJpbmcgbWV5ZXJpbmcgOTk4Njkg RGVjIDI4IDExOjA5IGNvbmZpZ3VyZQotcnctLS0tLS0tLiAxIG1leWVyaW5nIG1leWVyaW5nICAg MTE2IERlYyAyOCAxMTowOSBjb25maWd1cmUuaW4KLXJ3eC0tLS0tLS4gMSBtZXllcmluZyBtZXll cmluZyAyMDMzNCBEZWMgMjggMTE6MDkgZGVwY29tcAotcnd4LS14LS14LiAxIG1leWVyaW5nIG1l eWVyaW5nICAgNTQ4IERlYyAyOCAxMTowOSBmb28udGVzdAotcnd4LS0tLS0tLiAxIG1leWVyaW5n IG1leWVyaW5nIDEzOTk3IERlYyAyOCAxMTowOSBpbnN0YWxsLXNoCi1yd3gtLS0tLS0uIDEgbWV5 ZXJpbmcgbWV5ZXJpbmcgMTEyNTEgRGVjIDI4IDExOjA5IG1pc3NpbmcKLXJ3LS0tLS0tLS4gMSBt ZXllcmluZyBtZXllcmluZyAgICAgNiBEZWMgMjggMTE6MDkgcGlkCi1ydy0tLS0tLS0uIDEgbWV5 ZXJpbmcgbWV5ZXJpbmcgIDQwMTkgRGVjIDI4IDExOjA5IHRlc3QtZHJpdmVyCisgY2F0IGZvby5s b2cKY2F0OiBmb28ubG9nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgOgorIGNhdCB0ZXN0 LXN1aXRlLmxvZwpjYXQ6IHRlc3Qtc3VpdGUubG9nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CisgOgorIHI9b2sKKyBscworIC9wL2Jpbi9ncmVwIC1FICdmb28uKlwuKGxvZ3x0bXApJworIGVj aG8gJ29rIC0gdGVzdCBkcml2ZXIgY2xlYW4gdXAgbG9nIGFuZCB0bXAgZmlsZXMgYWZ0ZXIgc2ln bmFsIDE1JwpvayAtIHRlc3QgZHJpdmVyIGNsZWFuIHVwIGxvZyBhbmQgdG1wIGZpbGVzIGFmdGVy IHNpZ25hbCAxNQpQQVNTOiBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQudGFwIDE2IC0gdGVzdCBk cml2ZXIgY2xlYW4gdXAgbG9nIGFuZCB0bXAgZmlsZXMgYWZ0ZXIgc2lnbmFsIDE1CisgOgorIGV4 aXRfc3RhdHVzPTAKKyBzZXQgK2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0 IHllcyA9IHllcworIHRlc3QgeWVzICchPScgeWVzCisgdGVzdCAwIC1lcSAwCisgdGVzdCAwIC1l cSAwCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1 cm4gMQorIHJtX3JmXyBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGlyCisgdGVzdCAxIC1ndCAw CisgZmluZCBwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQuZGlyIC10eXBlIGQgJyEnIC1wZXJtIC03 MDAgLWV4ZWMgY2htb2QgdStyd3ggJ3t9JyAnOycKKyBybSAtcmYgcGFyYWxsZWwtdGVzdHMtaW50 ZXJydXB0LmRpcgorIHNldCAreApwYXJhbGxlbC10ZXN0cy1pbnRlcnJ1cHQ6IGV4aXQgMAoKU0tJ UDogcHl0aG9uLXZpcnR1YWxlbnYKPT09PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJv bSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFr ZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTov aC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmlu Oi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgpweXRob24tdmlydHVhbGVu djogcnVubmluZyBweXRob24gLVYKUHl0aG9uIDIuNy4yCnB5dGhvbi12aXJ0dWFsZW52OiBydW5u aW5nIHZpcnR1YWxlbnYgLS12ZXJzaW9uCi4vZGVmczogbGluZSA5MDU6IHZpcnR1YWxlbnY6IGNv bW1hbmQgbm90IGZvdW5kCgpYRkFJTDogcmVtYWtlLWFtLXByMTAxMTEKPT09PT09PT09PT09PT09 PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBB VEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9i aW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46 L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2Nh bC9iaW4KKysgcHdkCi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9yZW1ha2UtYW0tcHIxMDExMS5k aXIKKyBjYXQKKyA6CisgY2F0CisgYWNsb2NhbC0xLjExYSAtV2Vycm9yCisgYXV0b2NvbmYgLUIg L25vL3N1Y2gvZGlyCisgYXV0b21ha2UtMS4xMWEgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKYXV0 b21ha2U6IHdhcm5pbmdzIGFyZSB0cmVhdGVkIGFzIGVycm9ycwpNYWtlZmlsZS5hbToyOiB3YXJu aW5nOiB1c2VyIHRhcmdldCBgJChzcmNkaXIpL2Zvb2Jhci5hbScgZGVmaW5lZCBoZXJlIC4uLgov aC9qL3cvY28vYXV0b21ha2UvbGliL2FtL2NvbmZpZ3VyZS5hbTogLi4uIG92ZXJyaWRlcyBBdXRv bWFrZSB0YXJnZXQgYCQoc3JjZGlyKS9mb29iYXIuYW0nIGRlZmluZWQgaGVyZQorIGV4aXRfc3Rh dHVzPTEKKyBzZXQgK2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0g eWVzCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rl c3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGlu CisgcmV0dXJuIDAKKyBzZXQgK3gKcmVtYWtlLWFtLXByMTAxMTE6IGV4aXQgMQoKWEZBSUw6IHJl bWFrZS1tNC1wcjEwMTExCj09PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGlu c3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rl c3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ov YmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2Jp bjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0 b21ha2UvdGVzdHMvcmVtYWtlLW00LXByMTAxMTEuZGlyCisgY2F0CisgOgorIGNhdAorIGFjbG9j YWwtMS4xMWEgLVdlcnJvcgorIGF1dG9jb25mIC1CIC9uby9zdWNoL2RpcgorIGF1dG9tYWtlLTEu MTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCisgbWFrZSBkaXN0ZGlyCnsgdGVzdCAhIC1kICJyZW1ha2UtbTQtcHIxMDExMS0xLjAi IHx8IHsgZmluZCAicmVtYWtlLW00LXByMTAxMTEtMS4wIiAtdHlwZSBkICEgLXBlcm0gLTIwMCAt ZXhlYyBjaG1vZCB1K3cge30gJzsnICYmIHJtIC1mciAicmVtYWtlLW00LXByMTAxMTEtMS4wIjsg fTsgfQp0ZXN0IC1kICJyZW1ha2UtbTQtcHIxMDExMS0xLjAiIHx8IG1rZGlyICJyZW1ha2UtbTQt cHIxMDExMS0xLjAiCnRlc3QgLW4gIiIgXAp8fCBmaW5kICJyZW1ha2UtbTQtcHIxMDExMS0xLjAi IC10eXBlIGQgISAtcGVybSAtNzU1IFwKCS1leGVjIGNobW9kIHUrcnd4LGdvK3J4IHt9IFw7IC1v IFwKICAhIC10eXBlIGQgISAtcGVybSAtNDQ0IC1saW5rcyAxIC1leGVjIGNobW9kIGErciB7fSBc OyAtbyBcCiAgISAtdHlwZSBkICEgLXBlcm0gLTQwMCAtZXhlYyBjaG1vZCBhK3Ige30gXDsgLW8g XAogICEgLXR5cGUgZCAhIC1wZXJtIC00NDQgLWV4ZWMgL2Jpbi9zaCAvaC9qL3cvY28vYXV0b21h a2UvdGVzdHMvcmVtYWtlLW00LXByMTAxMTEuZGlyL2luc3RhbGwtc2ggLWMgLW0gYStyIHt9IHt9 IFw7IFwKfHwgY2htb2QgLVIgYStyICJyZW1ha2UtbTQtcHIxMDExMS0xLjAiCisgY2QgcmVtYWtl LW00LXByMTAxMTEtMS4wCisgbWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIC4uL2NvbmZpZ3VyZQpj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5n IGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKKyBybSAtZiAuLi9mb29iYXIubTQKKyBtYWtlCm1ha2U6IE5v dGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbCcuCisgZ3JlcCAnOiBmb29iYXIgd2FzIGhlcmUgOicg Li4vY29uZmlndXJlCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgor IHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycwor IGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApyZW1ha2UtbTQtcHIx MDExMTogZXhpdCAxCgpYRkFJTDogcHI4MzY1LXJlbWFrZS10aW1pbmcKPT09PT09PT09PT09PT09 PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5v ClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQu MC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9i aW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9s b2NhbC9iaW4KKysgcHdkCi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9wcjgzNjUtcmVtYWtlLXRp bWluZy5kaXIKKyBzdGF0IC9kZXYvbnVsbAogIEZpbGU6IGAvZGV2L251bGwnCiAgU2l6ZTogMCAg ICAgICAgIAlCbG9ja3M6IDAgICAgICAgICAgSU8gQmxvY2s6IDQwOTYgICBjaGFyYWN0ZXIgc3Bl Y2lhbCBmaWxlCkRldmljZTogNWgvNWQJSW5vZGU6IDEwMjggICAgICAgIExpbmtzOiAxICAgICBE ZXZpY2UgdHlwZTogMSwzCkFjY2VzczogKDA2NjYvY3J3LXJ3LXJ3LSkgIFVpZDogKCAgICAwLyAg ICByb290KSAgIEdpZDogKCAgICAwLyAgICByb290KQpDb250ZXh0OiBzeXN0ZW1fdTpvYmplY3Rf cjpudWxsX2RldmljZV90OnMwCkFjY2VzczogMjAxMS0xMi0xNyAxOTo1ODo0MS4wNTA2OTQwMDMg KzAxMDAKTW9kaWZ5OiAyMDExLTEyLTE3IDE5OjU4OjQxLjA1MDY5NDAwMyArMDEwMApDaGFuZ2U6 IDIwMTEtMTItMTcgMTk6NTg6NDEuMDUwNjk0MDAzICswMTAwCiBCaXJ0aDogLQorIHN0YXQ9c3Rh dAorIGNhdAorIDoKKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IKKyBhdXRvbWFrZS0xLjExYSAtLWZv cmVpZ24gLVdlcnJvciAtV2FsbAorIGF1dG9jb25mIC1CIC9uby9zdWNoL2RpcgorIC4vY29uZmln dXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UgTWFrZWZpbGUKbWFrZTogYE1ha2VmaWxl JyBpcyB1cCB0byBkYXRlLgorIC9wL2Jpbi9ncmVwIC1FICdGT09CQVJ8emFyZG96JyBNYWtlZmls ZQorIGVjaG8gJ0FDX1NVQlNUKFtGT09CQVJdKScKKyBzdGF0IGNvbmZpZy5zdGF0dXMgTWFrZWZp bGUgY29uZmlndXJlLmluCiAgRmlsZTogYGNvbmZpZy5zdGF0dXMnCiAgU2l6ZTogMjU3MTMgICAg IAlCbG9ja3M6IDU2ICAgICAgICAgSU8gQmxvY2s6IDQwOTYgICByZWd1bGFyIGZpbGUKRGV2aWNl OiA4MDhoLzIwNTZkCUlub2RlOiA1NzY0MzEgICAgICBMaW5rczogMQpBY2Nlc3M6ICgwNzAwLy1y d3gtLS0tLS0pICBVaWQ6ICggMTAwMC9tZXllcmluZykgICBHaWQ6ICggMTAwMC9tZXllcmluZykK Q29udGV4dDogdW5jb25maW5lZF91Om9iamVjdF9yOnVzZXJfaG9tZV90OnMwCkFjY2VzczogMjAx MS0xMi0yOCAxMToxMDoyNi41MTkxMzI1MzIgKzAxMDAKTW9kaWZ5OiAyMDExLTEyLTI4IDExOjEw OjI2LjUxNjEzMjQ1MyArMDEwMApDaGFuZ2U6IDIwMTEtMTItMjggMTE6MTA6MjYuNTE2MTMyNDUz ICswMTAwCiBCaXJ0aDogLQogIEZpbGU6IGBNYWtlZmlsZScKICBTaXplOiAxNTA0MiAgICAgCUJs b2NrczogMzIgICAgICAgICBJTyBCbG9jazogNDA5NiAgIHJlZ3VsYXIgZmlsZQpEZXZpY2U6IDgw OGgvMjA1NmQJSW5vZGU6IDU3NjUwOSAgICAgIExpbmtzOiAxCkFjY2VzczogKDA2MDAvLXJ3LS0t LS0tLSkgIFVpZDogKCAxMDAwL21leWVyaW5nKSAgIEdpZDogKCAxMDAwL21leWVyaW5nKQpDb250 ZXh0OiB1bmNvbmZpbmVkX3U6b2JqZWN0X3I6dXNlcl9ob21lX3Q6czAKQWNjZXNzOiAyMDExLTEy LTI4IDExOjEwOjI2LjYzNDEzNTUwMCArMDEwMApNb2RpZnk6IDIwMTEtMTItMjggMTE6MTA6MjYu NTczMTMzOTI1ICswMTAwCkNoYW5nZTogMjAxMS0xMi0yOCAxMToxMDoyNi41NzYxMzQwMDMgKzAx MDAKIEJpcnRoOiAtCiAgRmlsZTogYGNvbmZpZ3VyZS5pbicKICBTaXplOiAxMjcgICAgICAgCUJs b2NrczogOCAgICAgICAgICBJTyBCbG9jazogNDA5NiAgIHJlZ3VsYXIgZmlsZQpEZXZpY2U6IDgw OGgvMjA1NmQJSW5vZGU6IDU3NTQ1NyAgICAgIExpbmtzOiAxCkFjY2VzczogKDA2MDAvLXJ3LS0t LS0tLSkgIFVpZDogKCAxMDAwL21leWVyaW5nKSAgIEdpZDogKCAxMDAwL21leWVyaW5nKQpDb250 ZXh0OiB1bmNvbmZpbmVkX3U6b2JqZWN0X3I6dXNlcl9ob21lX3Q6czAKQWNjZXNzOiAyMDExLTEy LTI4IDExOjEwOjI0LjE3ODA3MjEwNSArMDEwMApNb2RpZnk6IDIwMTEtMTItMjggMTE6MTA6MjYu NjM3MTM1NTc4ICswMTAwCkNoYW5nZTogMjAxMS0xMi0yOCAxMToxMDoyNi42MzcxMzU1NzggKzAx MDAKIEJpcnRoOiAtCisgc2xlZXAgMgorIHRvdWNoIGNvbmZpZy5zdGF0dXMKKyB0b3VjaCAtciBj b25maWcuc3RhdHVzIGNvbmZpZy5zdGF0dXMgTWFrZWZpbGUgY29uZmlndXJlLmluCisgc3RhdCBj b25maWcuc3RhdHVzIE1ha2VmaWxlIGNvbmZpZ3VyZS5pbgogIEZpbGU6IGBjb25maWcuc3RhdHVz JwogIFNpemU6IDI1NzEzICAgICAJQmxvY2tzOiA1NiAgICAgICAgIElPIEJsb2NrOiA0MDk2ICAg cmVndWxhciBmaWxlCkRldmljZTogODA4aC8yMDU2ZAlJbm9kZTogNTc2NDMxICAgICAgTGlua3M6 IDEKQWNjZXNzOiAoMDcwMC8tcnd4LS0tLS0tKSAgVWlkOiAoIDEwMDAvbWV5ZXJpbmcpICAgR2lk OiAoIDEwMDAvbWV5ZXJpbmcpCkNvbnRleHQ6IHVuY29uZmluZWRfdTpvYmplY3Rfcjp1c2VyX2hv bWVfdDpzMApBY2Nlc3M6IDIwMTEtMTItMjggMTE6MTA6MjguNjQyMTg3MzI5ICswMTAwCk1vZGlm eTogMjAxMS0xMi0yOCAxMToxMDoyOC42NDIxODczMjkgKzAxMDAKQ2hhbmdlOiAyMDExLTEyLTI4 IDExOjEwOjI4LjY0MzE4NzM1NSArMDEwMAogQmlydGg6IC0KICBGaWxlOiBgTWFrZWZpbGUnCiAg U2l6ZTogMTUwNDIgICAgIAlCbG9ja3M6IDMyICAgICAgICAgSU8gQmxvY2s6IDQwOTYgICByZWd1 bGFyIGZpbGUKRGV2aWNlOiA4MDhoLzIwNTZkCUlub2RlOiA1NzY1MDkgICAgICBMaW5rczogMQpB Y2Nlc3M6ICgwNjAwLy1ydy0tLS0tLS0pICBVaWQ6ICggMTAwMC9tZXllcmluZykgICBHaWQ6ICgg MTAwMC9tZXllcmluZykKQ29udGV4dDogdW5jb25maW5lZF91Om9iamVjdF9yOnVzZXJfaG9tZV90 OnMwCkFjY2VzczogMjAxMS0xMi0yOCAxMToxMDoyOC42NDIxODczMjkgKzAxMDAKTW9kaWZ5OiAy MDExLTEyLTI4IDExOjEwOjI4LjY0MjE4NzMyOSArMDEwMApDaGFuZ2U6IDIwMTEtMTItMjggMTE6 MTA6MjguNjQzMTg3MzU1ICswMTAwCiBCaXJ0aDogLQogIEZpbGU6IGBjb25maWd1cmUuaW4nCiAg U2l6ZTogMTI3ICAgICAgIAlCbG9ja3M6IDggICAgICAgICAgSU8gQmxvY2s6IDQwOTYgICByZWd1 bGFyIGZpbGUKRGV2aWNlOiA4MDhoLzIwNTZkCUlub2RlOiA1NzU0NTcgICAgICBMaW5rczogMQpB Y2Nlc3M6ICgwNjAwLy1ydy0tLS0tLS0pICBVaWQ6ICggMTAwMC9tZXllcmluZykgICBHaWQ6ICgg MTAwMC9tZXllcmluZykKQ29udGV4dDogdW5jb25maW5lZF91Om9iamVjdF9yOnVzZXJfaG9tZV90 OnMwCkFjY2VzczogMjAxMS0xMi0yOCAxMToxMDoyOC42NDIxODczMjkgKzAxMDAKTW9kaWZ5OiAy MDExLTEyLTI4IDExOjEwOjI4LjY0MjE4NzMyOSArMDEwMApDaGFuZ2U6IDIwMTEtMTItMjggMTE6 MTA6MjguNjQzMTg3MzU1ICswMTAwCiBCaXJ0aDogLQorIGNhdAorIGNhdAorIGNhdAorIGNobW9k IGEreCBhY2xvY2FsLXdyYXAgYXV0b21ha2Utd3JhcCBhdXRvY29uZi13cmFwCisgZW52IEFDTE9D QUw9Li9hY2xvY2FsLXdyYXAgQVVUT01BS0U9Li9hdXRvbWFrZS13cmFwIEFVVE9DT05GPS4vYXV0 b2NvbmYtd3JhcCBtYWtlIC1lIE1ha2VmaWxlCkNEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYm IGNkIC4gJiYgLi9hY2xvY2FsLXdyYXAgCisgQVVUT0NPTkY9J2F1dG9jb25mIC1CIC9uby9zdWNo L2RpcicKKyBleHBvcnQgQVVUT0NPTkYKKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IKKyB0b3VjaCAt ciBjb25maWcuc3RhdHVzIGFjbG9jYWwubTQKKyBzdGF0IGFjbG9jYWwubTQKICBGaWxlOiBgYWNs b2NhbC5tNCcKICBTaXplOiAyMjgzNSAgICAgCUJsb2NrczogNDggICAgICAgICBJTyBCbG9jazog NDA5NiAgIHJlZ3VsYXIgZmlsZQpEZXZpY2U6IDgwOGgvMjA1NmQJSW5vZGU6IDU3NzM3NyAgICAg IExpbmtzOiAxCkFjY2VzczogKDA2MDAvLXJ3LS0tLS0tLSkgIFVpZDogKCAxMDAwL21leWVyaW5n KSAgIEdpZDogKCAxMDAwL21leWVyaW5nKQpDb250ZXh0OiB1bmNvbmZpbmVkX3U6b2JqZWN0X3I6 dXNlcl9ob21lX3Q6czAKQWNjZXNzOiAyMDExLTEyLTI4IDExOjEwOjI4LjY0MjE4NzMyOSArMDEw MApNb2RpZnk6IDIwMTEtMTItMjggMTE6MTA6MjguNjQyMTg3MzI5ICswMTAwCkNoYW5nZTogMjAx MS0xMi0yOCAxMToxMDoyOS4xNTQyMDA1NDYgKzAxMDAKIEJpcnRoOiAtCiBjZCAuICYmIC4vYXV0 b21ha2Utd3JhcCAtLWZvcmVpZ24KKyBBVVRPQ09ORj0nYXV0b2NvbmYgLUIgL25vL3N1Y2gvZGly JworIGV4cG9ydCBBVVRPQ09ORgorIGF1dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1X YWxsIC0tZm9yZWlnbgorIHRvdWNoIC1yIGNvbmZpZy5zdGF0dXMgTWFrZWZpbGUuaW4KKyBzdGF0 IE1ha2VmaWxlLmluCiAgRmlsZTogYE1ha2VmaWxlLmluJwogIFNpemU6IDE0MjQ1ICAgICAJQmxv Y2tzOiAzMiAgICAgICAgIElPIEJsb2NrOiA0MDk2ICAgcmVndWxhciBmaWxlCkRldmljZTogODA4 aC8yMDU2ZAlJbm9kZTogNTc3OTAwICAgICAgTGlua3M6IDEKQWNjZXNzOiAoMDYwMC8tcnctLS0t LS0tKSAgVWlkOiAoIDEwMDAvbWV5ZXJpbmcpICAgR2lkOiAoIDEwMDAvbWV5ZXJpbmcpCkNvbnRl eHQ6IHVuY29uZmluZWRfdTpvYmplY3Rfcjp1c2VyX2hvbWVfdDpzMApBY2Nlc3M6IDIwMTEtMTIt MjggMTE6MTA6MjguNjQyMTg3MzI5ICswMTAwCk1vZGlmeTogMjAxMS0xMi0yOCAxMToxMDoyOC42 NDIxODczMjkgKzAxMDAKQ2hhbmdlOiAyMDExLTEyLTI4IDExOjEwOjMwLjM5NDIzMjU1MCArMDEw MAogQmlydGg6IC0KQ0RQQVRIPSIke1pTSF9WRVJTSU9OKy59OiIgJiYgY2QgLiAmJiAuL2F1dG9j b25mLXdyYXAKKyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIKKyB0b3VjaCAtciBjb25maWcuc3Rh dHVzIGNvbmZpZ3VyZQorIHN0YXQgY29uZmlndXJlCiAgRmlsZTogYGNvbmZpZ3VyZScKICBTaXpl OiA5OTg0MyAgICAgCUJsb2NrczogMjAwICAgICAgICBJTyBCbG9jazogNDA5NiAgIHJlZ3VsYXIg ZmlsZQpEZXZpY2U6IDgwOGgvMjA1NmQJSW5vZGU6IDUyNzM5MSAgICAgIExpbmtzOiAxCkFjY2Vz czogKDA3MDAvLXJ3eC0tLS0tLSkgIFVpZDogKCAxMDAwL21leWVyaW5nKSAgIEdpZDogKCAxMDAw L21leWVyaW5nKQpDb250ZXh0OiB1bmNvbmZpbmVkX3U6b2JqZWN0X3I6dXNlcl9ob21lX3Q6czAK QWNjZXNzOiAyMDExLTEyLTI4IDExOjEwOjI4LjY0MjE4NzMyOSArMDEwMApNb2RpZnk6IDIwMTEt MTItMjggMTE6MTA6MjguNjQyMTg3MzI5ICswMTAwCkNoYW5nZTogMjAxMS0xMi0yOCAxMToxMDoz MC44MDEyNDMwNTggKzAxMDAKIEJpcnRoOiAtCm1ha2U6IGBNYWtlZmlsZScgaXMgdXAgdG8gZGF0 ZS4KKyBncmVwICdeRk9PQkFSID0nIE1ha2VmaWxlLmluCkZPT0JBUiA9IEBGT09CQVJACisgZ3Jl cCAnXkZPT0JBUiAqPSAqemFyZG96ICokJyBNYWtlZmlsZQorIGV4aXRfc3RhdHVzPTEKKyBzZXQg K2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0geWVzCisgY2FzZSAk YW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAK KyBzZXQgK3gKcHI4MzY1LXJlbWFrZS10aW1pbmc6IGV4aXQgMQoKU0tJUDogc2lsZW50Zjc3Cj09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBu bwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40 LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQv YmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3Iv bG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvc2lsZW50Zjc3LmRpcgor IG1rZGlyIHN1YgorIGNhdAorIGNhdAorIGNhdAorIGNhdAorIGNwIGZvby5mIHN1Yi9iYXIuZgor IGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9y IC1XYWxsIC0tYWRkLW1pc3NpbmcKKyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIKKyAuL2NvbmZp Z3VyZSAtLWVuYWJsZS1zaWxlbnQtcnVsZXMKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9wL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnNzcuLi4gbm8KY2hl Y2tpbmcgZm9yIHhsZi4uLiBubwpjaGVja2luZyBmb3IgZjc3Li4uIG5vCmNoZWNraW5nIGZvciBm cnQuLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjc3Li4uIG5vCmNoZWNraW5nIGZvciBjZjc3Li4uIG5v CmNoZWNraW5nIGZvciBmb3J0NzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZsMzIuLi4gbm8KY2hlY2tp bmcgZm9yIGFmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIHhsZjkwLi4uIG5vCmNoZWNraW5nIGZvciBm OTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjkwLi4uIG5vCmNoZWNraW5nIGZvciBwZ2hwZi4uLiBu bwpjaGVja2luZyBmb3IgZXBjZjkwLi4uIG5vCmNoZWNraW5nIGZvciBnZm9ydHJhbi4uLiBubwpj aGVja2luZyBmb3IgZzk1Li4uIG5vCmNoZWNraW5nIGZvciB4bGY5NS4uLiBubwpjaGVja2luZyBm b3IgZjk1Li4uIG5vCmNoZWNraW5nIGZvciBmb3J0Li4uIG5vCmNoZWNraW5nIGZvciBpZm9ydC4u LiBubwpjaGVja2luZyBmb3IgaWZjLi4uIG5vCmNoZWNraW5nIGZvciBlZmMuLi4gbm8KY2hlY2tp bmcgZm9yIHBnZm9ydHJhbi4uLiBubwpjaGVja2luZyBmb3IgcGdmOTUuLi4gbm8KY2hlY2tpbmcg Zm9yIGxmOTUuLi4gbm8KY2hlY2tpbmcgZm9yIGZ0bi4uLiBubwpjaGVja2luZyBmb3IgbmFnZm9y Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgdGhlIEZvcnRyYW4gNzcgY29tcGlsZXIgd29ya3MuLi4g bm8KY29uZmlndXJlOiBlcnJvcjogaW4gYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy9zaWxlbnRm NzcuZGlyJzoKY29uZmlndXJlOiBlcnJvcjogRm9ydHJhbiA3NyBjb21waWxlciBjYW5ub3QgY3Jl YXRlIGV4ZWN1dGFibGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGV4aXRf c3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVzdCBu byA9IHllcworIGNhc2UgJGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCA3NyAtZXEgMAorIGtl ZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRp cnMgaW4KKyByZXR1cm4gMAorIHNldCAreApzaWxlbnRmNzc6IGV4aXQgNzcKClNLSVA6IHNpbGVu dGY5MAo9PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5n IFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51 eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9w L3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2Nh bDovdXNyL2xvY2FsL2JpbgorKyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3NpbGVudGY5 MC5kaXIKKyBta2RpciBzdWIKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjcCBmb28uZjkwIHN1 Yi9iYXIuZjkwCisgYWNsb2NhbC0xLjExYSAtV2Vycm9yCisgYXV0b21ha2UtMS4xMWEgLS1mb3Jl aWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZworIGF1dG9jb25mIC1CIC9uby9zdWNoL2Rp cgorIC4vY29uZmlndXJlIC0tZW5hYmxlLXNpbGVudC1ydWxlcwpjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdm b3J0cmFuLi4uIG5vCmNoZWNraW5nIGZvciBnOTUuLi4gbm8KY2hlY2tpbmcgZm9yIHhsZjk1Li4u IG5vCmNoZWNraW5nIGZvciBmOTUuLi4gbm8KY2hlY2tpbmcgZm9yIGZvcnQuLi4gbm8KY2hlY2tp bmcgZm9yIGlmb3J0Li4uIG5vCmNoZWNraW5nIGZvciBpZmMuLi4gbm8KY2hlY2tpbmcgZm9yIGVm Yy4uLiBubwpjaGVja2luZyBmb3IgcGdmb3J0cmFuLi4uIG5vCmNoZWNraW5nIGZvciBwZ2Y5NS4u LiBubwpjaGVja2luZyBmb3IgbGY5NS4uLiBubwpjaGVja2luZyBmb3IgZnRuLi4uIG5vCmNoZWNr aW5nIGZvciBuYWdmb3IuLi4gbm8KY2hlY2tpbmcgZm9yIHhsZjkwLi4uIG5vCmNoZWNraW5nIGZv ciBmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjkwLi4uIG5vCmNoZWNraW5nIGZvciBwZ2hwZi4u LiBubwpjaGVja2luZyBmb3IgZXBjZjkwLi4uIG5vCmNoZWNraW5nIGZvciBnNzcuLi4gbm8KY2hl Y2tpbmcgZm9yIHhsZi4uLiBubwpjaGVja2luZyBmb3IgZjc3Li4uIG5vCmNoZWNraW5nIGZvciBm cnQuLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjc3Li4uIG5vCmNoZWNraW5nIGZvciBjZjc3Li4uIG5v CmNoZWNraW5nIGZvciBmb3J0NzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZsMzIuLi4gbm8KY2hlY2tp bmcgZm9yIGFmNzcuLi4gbm8KY2hlY2tpbmcgd2hldGhlciB0aGUgRm9ydHJhbiBjb21waWxlciB3 b3Jrcy4uLiBubwpjb25maWd1cmU6IGVycm9yOiBpbiBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz L3NpbGVudGY5MC5kaXInOgpjb25maWd1cmU6IGVycm9yOiBGb3J0cmFuIGNvbXBpbGVyIGNhbm5v dCBjcmVhdGUgZXhlY3V0YWJsZXMKU2VlIGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzCisg ZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMKKyB0 ZXN0IG5vID0geWVzCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDc3IC1lcSAw Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90 ZXN0ZGlycyBpbgorIHJldHVybiAwCisgc2V0ICt4CnNpbGVudGY5MDogZXhpdCA3NwoKU0tJUDog c2lsZW50LW1hbnktZ2NjCj09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3Rz Oi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmlu L3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2Jpbjov dXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCnNpbGVudC1tYW55LWdjYzogcnVubmlu ZyBnY2MgLS12ZXJzaW9uCmdjYyAoR0NDKSA0LjcuMCAyMDExMTIwMiAoZXhwZXJpbWVudGFsKQpD b3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKc2lsZW50LW1hbnktZ2NjOiBydW5uaW5nIGdj YyAtdgpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9L3AvYmluL2djYwpDT0xMRUNU X0xUT19XUkFQUEVSPS9wL3AvZ2NjLTIwMTEtMTItMDIuMTJoMzcvbGliZXhlYy9nY2MveDg2XzY0 LXVua25vd24tbGludXgtZ251LzQuNy4wL2x0by13cmFwcGVyClRhcmdldDogeDg2XzY0LXVua25v d24tbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogL2gvai93L2NvL2djYy1zdm4vY29uZmlndXJl IC0tcHJlZml4PS9wL3AvZ2NjLTIwMTEtMTItMDIuMTJoMzcgLS1kaXNhYmxlLW11bHRpbGliIC0t ZGlzYWJsZS1saWJtdWRmbGFwIC0tZGlzYWJsZS1ubHMgLS1lbmFibGUtbGFuZ3VhZ2VzPWMKVGhy ZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjcuMCAyMDExMTIwMiAoZXhwZXJpbWVudGFs KSAoR0NDKSAKc2lsZW50LW1hbnktZ2NjOiBydW5uaW5nIGcrKyAtLXZlcnNpb24KZysrIChHQ0Mp IDQuNi4yIDIwMTExMDI3IChSZWQgSGF0IDQuNi4yLTEpCkNvcHlyaWdodCAoQykgMjAxMSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5v dCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuCgpzaWxlbnQtbWFueS1nY2M6IHJ1bm5pbmcgZysrIC12ClVzaW5nIGJ1aWx0LWluIHNw ZWNzLgpDT0xMRUNUX0dDQz0vdXNyL2Jpbi9nKysKQ09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xp YmV4ZWMvZ2NjL3g4Nl82NC1yZWRoYXQtbGludXgvNC42LjIvbHRvLXdyYXBwZXIKVGFyZ2V0OiB4 ODZfNjQtcmVkaGF0LWxpbnV4CkNvbmZpZ3VyZWQgd2l0aDogLi4vY29uZmlndXJlIC0tcHJlZml4 PS91c3IgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyAt LXdpdGgtYnVndXJsPWh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhIC0tZW5hYmxl LWJvb3RzdHJhcCAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJs ZS1jaGVja2luZz1yZWxlYXNlIC0td2l0aC1zeXN0ZW0temxpYiAtLWVuYWJsZS1fX2N4YV9hdGV4 aXQgLS1kaXNhYmxlLWxpYnVud2luZC1leGNlcHRpb25zIC0tZW5hYmxlLWdudS11bmlxdWUtb2Jq ZWN0IC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCAtLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssb2Jq YyxvYmotYysrLGphdmEsZm9ydHJhbixhZGEsZ28sbHRvIC0tZW5hYmxlLXBsdWdpbiAtLWVuYWJs ZS1qYXZhLWF3dD1ndGsgLS1kaXNhYmxlLWRzc2kgLS13aXRoLWphdmEtaG9tZT0vdXNyL2xpYi9q dm0vamF2YS0xLjUuMC1nY2otMS41LjAuMC9qcmUgLS1lbmFibGUtbGliZ2NqLW11bHRpZmlsZSAt LWVuYWJsZS1qYXZhLW1haW50YWluZXItbW9kZSAtLXdpdGgtZWNqLWphcj0vdXNyL3NoYXJlL2ph dmEvZWNsaXBzZS1lY2ouamFyIC0tZGlzYWJsZS1saWJqYXZhLW11bHRpbGliIC0td2l0aC1wcGwg LS13aXRoLWNsb29nIC0td2l0aC10dW5lPWdlbmVyaWMgLS13aXRoLWFyY2hfMzI9aTY4NiAtLWJ1 aWxkPXg4Nl82NC1yZWRoYXQtbGludXgKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0 LjYuMiAyMDExMTAyNyAoUmVkIEhhdCA0LjYuMi0xKSAoR0NDKSAKc2lsZW50LW1hbnktZ2NjOiBy dW5uaW5nIGdmb3J0cmFuIC0tdmVyc2lvbgouL2RlZnM6IGxpbmUgNzI4OiBnZm9ydHJhbjogY29t bWFuZCBub3QgZm91bmQKClNLSVA6IHNpbGVudC1tYW55LWdlbmVyaWMKPT09PT09PT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQ QVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAv YmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmlu Oi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9j YWwvYmluCnNpbGVudC1tYW55LWdlbmVyaWM6IHJ1bm5pbmcgZmxleCAtLXZlcnNpb24KZmxleCAy LjUuMzUKc2lsZW50LW1hbnktZ2VuZXJpYzogcnVubmluZyBiaXNvbiAtLXZlcnNpb24KYmlzb24g KEdOVSBCaXNvbikgMi40LjYwOS1mM2JkCldyaXR0ZW4gYnkgUm9iZXJ0IENvcmJldHQgYW5kIFJp Y2hhcmQgU3RhbGxtYW4uCgpDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlp bmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorKyBwd2QKL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzL3NpbGVudC1tYW55LWdlbmVyaWMuZGlyCisgbWtkaXIgc3Vi CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY3AgZm9v MS5jcHAgYmFyLmMKKyBjcCBmb28xLmNwcCBzdWIvYmF6LmMKKyBjcCBmb28xLmNwcCBzdWIvYmxh LmMKKyBjcCBmb28xLmNwcCBzdWIvYmF6MS5jcHAKKyBjcCBmb28yLmY5MCBzdWIvYmF6Mi5mOTAK KyBjcCBmb28zLmYgc3ViL2JhejMuZgorIGNwIGZvbzUubCBzdWIvYmF6NS5sCisgY3AgZm9vNi55 IHN1Yi9iYXo2LnkKKyBta2RpciBiaW4KKyBzYXZlZF9QQVRIPS9oL2ovdy9jby9hdXRvbWFrZS90 ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNoZTovaC9q L2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9zYmluOi9i aW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgorIGV4cG9ydCBzYXZlZF9QQVRI CisrIHB3ZAorIFBBVEg9L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3NpbGVudC1tYW55LWdlbmVy aWMuZGlyL2JpbjovaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01 LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dp dC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vz ci9sb2NhbC9iaW4KKyBleHBvcnQgUEFUSAorIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1dG9t YWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC0tYWRkLW1pc3NpbmcKY29uZmlndXJl LmluOjU6IGluc3RhbGxpbmcgYC4vY29tcGlsZScKY29uZmlndXJlLmluOiBpbnN0YWxsaW5nIGAu L3lsd3JhcCcKKyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIKKyBmb3IgY29uZmlnX2FyZ3MgaW4g LS1lbmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2lu ZworIC4vY29uZmlndXJlIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgLS1lbmFibGUtc2ls ZW50LXJ1bGVzCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3AvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvcC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2Uu Li4gR05VCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0 IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw dHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4u IHllcwpjaGVja2luZyBmb3IgZzc3Li4uIG5vCmNoZWNraW5nIGZvciB4bGYuLi4gbm8KY2hlY2tp bmcgZm9yIGY3Ny4uLiBubwpjaGVja2luZyBmb3IgZnJ0Li4uIG5vCmNoZWNraW5nIGZvciBwZ2Y3 Ny4uLiBubwpjaGVja2luZyBmb3IgY2Y3Ny4uLiBubwpjaGVja2luZyBmb3IgZm9ydDc3Li4uIG5v CmNoZWNraW5nIGZvciBmbDMyLi4uIG5vCmNoZWNraW5nIGZvciBhZjc3Li4uIG5vCmNoZWNraW5n IGZvciB4bGY5MC4uLiBubwpjaGVja2luZyBmb3IgZjkwLi4uIG5vCmNoZWNraW5nIGZvciBwZ2Y5 MC4uLiBubwpjaGVja2luZyBmb3IgcGdocGYuLi4gbm8KY2hlY2tpbmcgZm9yIGVwY2Y5MC4uLiBu bwpjaGVja2luZyBmb3IgZ2ZvcnRyYW4uLi4gbm8KY2hlY2tpbmcgZm9yIGc5NS4uLiBubwpjaGVj a2luZyBmb3IgeGxmOTUuLi4gbm8KY2hlY2tpbmcgZm9yIGY5NS4uLiBubwpjaGVja2luZyBmb3Ig Zm9ydC4uLiBubwpjaGVja2luZyBmb3IgaWZvcnQuLi4gbm8KY2hlY2tpbmcgZm9yIGlmYy4uLiBu bwpjaGVja2luZyBmb3IgZWZjLi4uIG5vCmNoZWNraW5nIGZvciBwZ2ZvcnRyYW4uLi4gbm8KY2hl Y2tpbmcgZm9yIHBnZjk1Li4uIG5vCmNoZWNraW5nIGZvciBsZjk1Li4uIG5vCmNoZWNraW5nIGZv ciBmdG4uLi4gbm8KY2hlY2tpbmcgZm9yIG5hZ2Zvci4uLiBubwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEZvcnRyYW4gNzcgY29tcGlsZXIuLi4gbm8KY2hlY2tpbmcgd2hl dGhlciAgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBmb3IgZ2ZvcnRyYW4uLi4gbm8KY2hlY2tp bmcgZm9yIGc5NS4uLiBubwpjaGVja2luZyBmb3IgeGxmOTUuLi4gbm8KY2hlY2tpbmcgZm9yIGY5 NS4uLiBubwpjaGVja2luZyBmb3IgZm9ydC4uLiBubwpjaGVja2luZyBmb3IgaWZvcnQuLi4gbm8K Y2hlY2tpbmcgZm9yIGlmYy4uLiBubwpjaGVja2luZyBmb3IgZWZjLi4uIG5vCmNoZWNraW5nIGZv ciBwZ2ZvcnRyYW4uLi4gbm8KY2hlY2tpbmcgZm9yIHBnZjk1Li4uIG5vCmNoZWNraW5nIGZvciBs Zjk1Li4uIG5vCmNoZWNraW5nIGZvciBmdG4uLi4gbm8KY2hlY2tpbmcgZm9yIG5hZ2Zvci4uLiBu bwpjaGVja2luZyBmb3IgeGxmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIGY5MC4uLiBubwpjaGVja2lu ZyBmb3IgcGdmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBnaHBmLi4uIG5vCmNoZWNraW5nIGZvciBl cGNmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIGc3Ny4uLiBubwpjaGVja2luZyBmb3IgeGxmLi4uIG5v CmNoZWNraW5nIGZvciBmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZydC4uLiBubwpjaGVja2luZyBm b3IgcGdmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGNmNzcuLi4gbm8KY2hlY2tpbmcgZm9yIGZvcnQ3 Ny4uLiBubwpjaGVja2luZyBmb3IgZmwzMi4uLiBubwpjaGVja2luZyBmb3IgYWY3Ny4uLiBubwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEZvcnRyYW4gY29tcGlsZXIuLi4g bm8KY2hlY2tpbmcgd2hldGhlciAgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBmb3IgZmxleC4u LiBmbGV4CmNoZWNraW5nIGxleCBvdXRwdXQgZmlsZSByb290Li4uIGxleC55eQpjaGVja2luZyBs ZXggbGlicmFyeS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIHl5dGV4dCBpcyBhIHBv aW50ZXIuLi4gbm8KY2hlY2tpbmcgZm9yIGJpc29uLi4uIGJpc29uIC15CmNoZWNraW5nIGZvciBn KysuLi4gZysrCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGcrKyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGcrKy4uLiBnY2MzCmNvbmZpZ3VyZTogZXJyb3I6IEZvcnRy YW4gY29tcGlsZXIgbm90IGZvdW5kCisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaC9q L3cvY28vYXV0b21ha2UvdGVzdHMKKyB0ZXN0IG5vID0geWVzCisgY2FzZSAkYW1fZXhwbGljaXRf c2tpcHMgaW4KKyB0ZXN0IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAwCisgc2V0ICt4CnNp bGVudC1tYW55LWdlbmVyaWM6IGV4aXQgNzcKClBBU1M6IHRhcC1iYWQtcHJvZwo9PT09PT09PT09 PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogeWVzClBB VEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9i aW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46 L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2Nh bC9iaW4KKysgcHdkCi9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy90YXAtYmFkLXByb2cuZGlyCisg cGxhbl8gNQorIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRlc3QgeDUgPSB4dW5rbm93 bgorIHRlc3QgeDUgPSB4bGF0ZXIKKyB0ZXN0IHg1ID0geGxhenkKKyB0ZXN0IHg1ID0geG5vdwor IHRlc3QgNSAtZ2UgMAorIGVjaG8gMS4uNQoxLi41CisgaGF2ZV90YXBfcGxhbl89eWVzCisgZmV0 Y2hfdGFwX2RyaXZlcgorIGNhc2UgJGFtX3RhcF9pbXBsZW1lbnRhdGlvbiBpbgorIHNlZCAnMXN8 IyEuKnwjISAvYmluL3NofCcgL2gvai93L2NvL2F1dG9tYWtlL2xpYi90YXAtZHJpdmVyLnNoCisg Y2htb2QgYSt4IHRhcC1kcml2ZXIKKyBzZWQgMTBxIHRhcC1kcml2ZXIKIyEgL2Jpbi9zaAojIENv cHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIwojIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiMgYW55IGxhdGVyIHZlcnNpb24uCiMK IyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorIGNhdAorIGNhdAorIGNhdAorIGNwIG5vZXhlYy50ZXN0IG5vcmVh ZC50ZXN0CisgY2htb2QgYS1yIG5vcmVhZC50ZXN0CisgYWNsb2NhbC0xLjExYSAtV2Vycm9yCisg YXV0b2NvbmYgLUIgL25vL3N1Y2gvZGlyCisgYXV0b21ha2UtMS4xMWEgLS1mb3JlaWduIC1XZXJy b3IgLVdhbGwKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC9wL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4g L3AvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGNoZWNr Cm1ha2VbMl06ICoqKiBbdGVzdC1zdWl0ZS5sb2ddIEVycm9yIDEKbWFrZVsxXTogKioqIFtjaGVj ay1URVNUU10gRXJyb3IgMgptYWtlOiAqKiogW2NoZWNrLWFtXSBFcnJvciAyCisgcj1vaworIGNh dCBzdGRvdXQKbWFrZSAgY2hlY2stVEVTVFMKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv aC9qL3cvY28vYXV0b21ha2UvdGVzdHMvdGFwLWJhZC1wcm9nLmRpcicKbWFrZVsyXTogRW50ZXJp bmcgZGlyZWN0b3J5IGAvaC9qL3cvY28vYXV0b21ha2UvdGVzdHMvdGFwLWJhZC1wcm9nLmRpcicK RVJST1I6IG5vbmUudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub25lLnRlc3QgLSBl eGl0ZWQgd2l0aCBzdGF0dXMgMTI3IChjb21tYW5kIG5vdCBmb3VuZD8pCkVSUk9SOiBub3JlYWQu dGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub3JlYWQudGVzdCAtIGV4aXRlZCB3aXRo IHN0YXR1cyAxMjYKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6 IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClRlc3RzdWl0ZSBzdW1tYXJ5IGZvciB0YXAtYmFkLXByb2cgMS4wCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KIyBUT1RBTDogNgojIFBBU1M6ICAwCiMgU0tJUDogIDAKIyBYRkFJTDogMAojIEZBSUw6ICAw CiMgWFBBU1M6IDAKIyBFUlJPUjogNgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClNlZSAuL3Rlc3Qtc3Vp dGUubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0cy90YXAtYmFkLXByb2cuZGlyJwptYWtlWzFdOiBMZWF2aW5n IGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3RhcC1iYWQtcHJvZy5kaXInCisg cmVzdWx0XyBvayAnIm1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBzdGF0dXMnCisg c2V0ICt4Cm9rIDEgLSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cwpQ QVNTOiB0YXAtYmFkLXByb2cudGFwIDEgLSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBl eGl0IHN0YXR1cworIGNvbW1hbmRfb2tfICdub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZCcg Z3JlcCAnXkVSUk9SOiBub25lXC50ZXN0JyBzdGRvdXQKKyB0YXBfZGlyZWN0aXZlXz0KKyB0YXBf cmVhc29uXz0KKyB0ZXN0IDQgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPSdub24tZXhpc3RlbnQg dGVzdCBpcyByZXBvcnRlZCcKKyBzaGlmdAorIHRlc3QgMyAtZ3QgMAorIGNhc2UgJDEgaW4KKyBi cmVhaworIHRhcF9yZXN1bHRfPW9rCisgZ3JlcCAnXkVSUk9SOiBub25lXC50ZXN0JyBzdGRvdXQK RVJST1I6IG5vbmUudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub25lLnRlc3QgLSBl eGl0ZWQgd2l0aCBzdGF0dXMgMTI3IChjb21tYW5kIG5vdCBmb3VuZD8pCisgcmVzdWx0XyBvayAt RCAnJyAtciAnJyAtLSAnbm9uLWV4aXN0ZW50IHRlc3QgaXMgcmVwb3J0ZWQnCisgc2V0ICt4Cm9r IDIgLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZApQQVNTOiB0YXAtYmFkLXByb2cudGFw IDIgLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9J25vbi1leGVjdXRhYmxl IHRlc3QgaXMgcmVwb3J0ZWQnCisgLi9ub2V4ZWMudGVzdAouL3RhcC1iYWQtcHJvZy50YXA6IGxp bmUgNjQ6IC4vbm9leGVjLnRlc3Q6IFBlcm1pc3Npb24gZGVuaWVkCisgY29tbWFuZF9va18gJ25v bi1leGVjdXRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQnIC0tIGdyZXAgJ15FUlJPUjogbm9leGVjXC50 ZXN0JyBzdGRvdXQKKyB0YXBfZGlyZWN0aXZlXz0KKyB0YXBfcmVhc29uXz0KKyB0ZXN0IDUgLWd0 IDAKKyB0YXBfZGVzY3JpcHRpb25fPSdub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkJwor IHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgY2FzZSAkMSBpbgorIHNoaWZ0CisgYnJlYWsKKyB0YXBf cmVzdWx0Xz1vaworIGdyZXAgJ15FUlJPUjogbm9leGVjXC50ZXN0JyBzdGRvdXQKRVJST1I6IG5v ZXhlYy50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5vZXhlYy50ZXN0IC0gZXhpdGVk IHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ25vbi1leGVjdXRh YmxlIHRlc3QgaXMgcmVwb3J0ZWQnCisgc2V0ICt4Cm9rIDMgLSBub24tZXhlY3V0YWJsZSB0ZXN0 IGlzIHJlcG9ydGVkClBBU1M6IHRhcC1iYWQtcHJvZy50YXAgMyAtIG5vbi1leGVjdXRhYmxlIHRl c3QgaXMgcmVwb3J0ZWQKKyBkZXNjPSdub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZCcKKyB0 ZXN0IC1yIG5vcmVhZC50ZXN0CisgY29tbWFuZF9va18gJ25vbi1yZWFkYWJsZSB0ZXN0IGlzIHJl cG9ydGVkJyAtLSBncmVwICdeRVJST1I6IG5vcmVhZFwudGVzdCcgc3Rkb3V0CisgdGFwX2RpcmVj dGl2ZV89CisgdGFwX3JlYXNvbl89CisgdGVzdCA1IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz0n bm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQnCisgc2hpZnQKKyB0ZXN0IDQgLWd0IDAKKyBj YXNlICQxIGluCisgc2hpZnQKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgZ3JlcCAnXkVSUk9S OiBub3JlYWRcLnRlc3QnIHN0ZG91dApFUlJPUjogbm9yZWFkLnRlc3QgLSBtaXNzaW5nIHRlc3Qg cGxhbgpFUlJPUjogbm9yZWFkLnRlc3QgLSBleGl0ZWQgd2l0aCBzdGF0dXMgMTI2CisgcmVzdWx0 XyBvayAtRCAnJyAtciAnJyAtLSAnbm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQnCisgc2V0 ICt4Cm9rIDQgLSBub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZApQQVNTOiB0YXAtYmFkLXBy b2cudGFwIDQgLSBub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZAorIGNvbW1hbmRfb2tfICdu byBzcHVyaW91cyByZXN1bHRzJyAtRCBUT0RPIC1yICdzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIn IGNvdW50X3Rlc3RfcmVzdWx0cyB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4ZmFpbD0w IHNraXA9MCBlcnJvcj0zCisgdGFwX2RpcmVjdGl2ZV89CisgdGFwX3JlYXNvbl89CisgdGVzdCAx MyAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89J25vIHNwdXJpb3VzIHJlc3VsdHMnCisgc2hpZnQK KyB0ZXN0IDEyIC1ndCAwCisgY2FzZSAkMSBpbgorIHRhcF9kaXJlY3RpdmVfPVRPRE8KKyBzaGlm dAorIHNoaWZ0CisgdGVzdCAxMCAtZ3QgMAorIGNhc2UgJDEgaW4KKyB0YXBfcmVhc29uXz0nc3Rp bGwgZ2V0ICJtaXNzaW5nIHBsYW4iJworIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDggLWd0IDAKKyBj YXNlICQxIGluCisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIGNvdW50X3Rlc3RfcmVzdWx0cyB0 b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4ZmFpbD0wIHNraXA9MCBlcnJvcj0zCisgdG90 YWw9RVJSCisgcGFzcz1FUlIKKyBmYWlsPUVSUgorIHhwYXNzPUVSUgorIHhmYWlsPUVSUgorIHNr aXA9RVJSCisgZXJyb3I9RVJSCisgZXZhbCB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4 ZmFpbD0wIHNraXA9MCBlcnJvcj0zCisrIHRvdGFsPTMKKysgcGFzcz0wCisrIGZhaWw9MAorKyB4 cGFzcz0wCisrIHhmYWlsPTAKKysgc2tpcD0wCisrIGVycm9yPTMKKyAvcC9iaW4vZ3JlcCAtRSAt aSAnKHRvdGFsfHg/cGFzc3x4P2ZhaWx8c2tpcHxlcnJvciknIHN0ZG91dApFUlJPUjogbm9uZS50 ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5vbmUudGVzdCAtIGV4aXRlZCB3aXRoIHN0 YXR1cyAxMjcgKGNvbW1hbmQgbm90IGZvdW5kPykKRVJST1I6IG5vcmVhZC50ZXN0IC0gbWlzc2lu ZyB0ZXN0IHBsYW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgpF UlJPUjogbm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3Qg LSBleGl0ZWQgd2l0aCBzdGF0dXMgMTI2CiMgVE9UQUw6IDYKIyBQQVNTOiAgMAojIFNLSVA6ICAw CiMgWEZBSUw6IDAKIyBGQUlMOiAgMAojIFhQQVNTOiAwCiMgRVJST1I6IDYKKyByYz0wCisgc2V0 ICtlCisrIGdyZXAgLWMgJ15QQVNTOicgc3Rkb3V0CisgdGVzdCAwIC1lcSAwCisrIGdyZXAgLWMg J15YRkFJTDonIHN0ZG91dAorIHRlc3QgMCAtZXEgMAorKyBncmVwIC1jICdeU0tJUDonIHN0ZG91 dAorIHRlc3QgMCAtZXEgMAorKyBncmVwIC1jICdeRkFJTDonIHN0ZG91dAorIHRlc3QgMCAtZXEg MAorKyBncmVwIC1jICdeWFBBU1M6JyBzdGRvdXQKKyB0ZXN0IDAgLWVxIDAKKysgZ3JlcCAtYyAn XkVSUk9SOicgc3Rkb3V0CisgdGVzdCA2IC1lcSAzCisgcmM9MQorIGdyZXAgJ14jIFRPVEFMOiAg KjMkJyBzdGRvdXQKKyByYz0xCisgZ3JlcCAnXiMgUEFTUzogICowJCcgc3Rkb3V0CiMgUEFTUzog IDAKKyBncmVwICdeIyBYRkFJTDogICowJCcgc3Rkb3V0CiMgWEZBSUw6IDAKKyBncmVwICdeIyBT S0lQOiAgKjAkJyBzdGRvdXQKIyBTS0lQOiAgMAorIGdyZXAgJ14jIEZBSUw6ICAqMCQnIHN0ZG91 dAojIEZBSUw6ICAwCisgZ3JlcCAnXiMgWFBBU1M6ICAqMCQnIHN0ZG91dAojIFhQQVNTOiAwCisg Z3JlcCAnXiMgRVJST1I6ICAqMyQnIHN0ZG91dAorIHJjPTEKKyB0ZXN0IDEgLWVxIDAKKyB0YXBf cmVzdWx0Xz0nbm90IG9rJworIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAnc3RpbGwgZ2V0 ICJtaXNzaW5nIHBsYW4iJyAtLSAnbm8gc3B1cmlvdXMgcmVzdWx0cycKKyBzZXQgK3gKbm90IG9r IDUgLSBubyBzcHVyaW91cyByZXN1bHRzICMgVE9ETyBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIK WEZBSUw6IHRhcC1iYWQtcHJvZy50YXAgNSAtIG5vIHNwdXJpb3VzIHJlc3VsdHMgIyBUT0RPIHN0 aWxsIGdldCAibWlzc2luZyBwbGFuIgorIDoKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2Qg L2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVzdCB5ZXMgPSB5ZXMKKyB0ZXN0IHllcyAnIT0n IHllcworIHRlc3QgMCAtZXEgMAorIHRlc3QgNCAtZXEgNQorIGtlZXBfdGVzdGRpcnM9eWVzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAor IHNldCAreAp0YXAtYmFkLXByb2c6IGV4aXQgMAoKWEZBSUw6IHR4aW5mbzUKPT09PT09PT09PT09 PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9o L2ovdy9jby9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNy L2xpYjY0L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46 L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2Jpbgor KyBwd2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3R4aW5mbzUuZGlyCisgY2F0CisgY2F0Cisg ZWNobyAnQHNldGZpbGVuYW1lIGlhbi5pbmZvJworIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1 dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC0tY3lnbnVzCmF1dG9tYWtlOiB3 YXJuaW5ncyBhcmUgdHJlYXRlZCBhcyBlcnJvcnMKY29uZmlndXJlLmluOjI6IHdhcm5pbmc6IHVz ZXIgdmFyaWFibGUgYE1BS0VJTkZPJyBkZWZpbmVkIGhlcmUgLi4uCi9oL2ovdy9jby9hdXRvbWFr ZS9saWIvYW0vdGV4aW5mb3MuYW06IC4uLiBvdmVycmlkZXMgQXV0b21ha2UgdmFyaWFibGUgYE1B S0VJTkZPJyBkZWZpbmVkIGhlcmUKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVzdCBubyA9IHllcworIGNhc2UgJGFtX2V4cGxpY2l0X3Nr aXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAwCisgc2V0ICt4CnR4aW5m bzU6IGV4aXQgMQoKU0tJUDogdXBjCj09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVj azogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQv Y292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6 L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2Jp bjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvdXBjLmRpcgorIGNhdAorIGNhdAorIGNhdAorIGFjbG9jYWwtMS4xMWEgLVdlcnJvcgorIGF1 dG9tYWtlLTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgYXV0b2NvbmYgLUIgL25vL3N1 Y2gvZGlyCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9w L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVz ZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2Mu Li4gZ2NjMwpjaGVja2luZyBmb3IgdXBjYy4uLiBubwpjaGVja2luZyBmb3IgdXBjLi4uIG5vCmNv bmZpZ3VyZTogZXJyb3I6IG5vIFVuaWZpZWQgUGFyYWxsZWwgQyBjb21waWxlciB3YXMgZm91bmQK KyBFeGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVzdCBubyA9IHllcworIGNhc2UgJGFtX2V4cGxpY2l0X3Nr aXBzIGluCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreAp1cGM6 IGV4aXQgNzcKClNLSVA6IHVwYzMKPT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVj azogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQv Y292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6 L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2Jp bjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrIHB3ZAovaC9qL3cvY28vYXV0b21ha2UvdGVz dHMvdXBjMy5kaXIKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTFh IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIGF1dG9j b25mIC1CIC9uby9zdWNoL2RpcgorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3AvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvcC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz Li4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Ig c3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIHVwY2MuLi4gbm8KY2hlY2tpbmcgZm9y IHVwYy4uLiBubwpjb25maWd1cmU6IGVycm9yOiBubyBVbmlmaWVkIFBhcmFsbGVsIEMgY29tcGls ZXIgd2FzIGZvdW5kCisgRXhpdCA3NworIHNldCArZQorIHRlc3QgNzcgPSA3NworIGFtX190ZXN0 X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCAr ZQorIGNkIC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBjYXNlICRh bV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAK KyBzZXQgK3gKdXBjMzogZXhpdCA3NwoKU0tJUDogdmFsYTIKPT09PT09PT09PT0KClJ1bm5pbmcg ZnJvbSBpbnN0YWxsY2hlY2s6IG5vClVzaW5nIFRBUDogbm8KUEFUSCA9IC9oL2ovdy9jby9hdXRv bWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0L2NjYWNo ZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46L3Vzci9z YmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2Jpbgp2YWxhMjogcnVubmlu ZyBsaWJ0b29sIC0tdmVyc2lvbgpsaWJ0b29sIChHTlUgbGlidG9vbCkgMi40LjIKV3JpdHRlbiBi eSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKCkNvcHlyaWdo dCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNv ZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMg Tk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuCnZhbGEyOiBydW5uaW5nIGxpYnRvb2xpemUgLS12ZXJzaW9u CmxpYnRvb2xpemUgKEdOVSBsaWJ0b29sKSAyLjQuMgpXcml0dGVuIGJ5IEdhcnkgVi4gVmF1Z2hh biA8Z2FyeUBnbnUub3JnPiwgMjAwMwoKQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZv ciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9y IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KdmFs YTI6IHJ1bm5pbmcgcGtnLWNvbmZpZyAtLXZlcnNpb24KMC4yNQp2YWxhMjogcnVubmluZyB2YWxh YyAtLXZlcnNpb24KLi9kZWZzOiBsaW5lIDkwNTogdmFsYWM6IGNvbW1hbmQgbm90IGZvdW5kCgpT S0lQOiB2YWxhMwo9PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNp bmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxp bnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46 L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xv Y2FsOi91c3IvbG9jYWwvYmluCnZhbGEzOiBydW5uaW5nIGxpYnRvb2wgLS12ZXJzaW9uCmxpYnRv b2wgKEdOVSBsaWJ0b29sKSAyLjQuMgpXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3Jk QGdudS5haS5taXQuZWR1PiwgMTk5NgoKQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZv ciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9y IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KdmFs YTM6IHJ1bm5pbmcgbGlidG9vbGl6ZSAtLXZlcnNpb24KbGlidG9vbGl6ZSAoR05VIGxpYnRvb2wp IDIuNC4yCldyaXR0ZW4gYnkgR2FyeSBWLiBWYXVnaGFuIDxnYXJ5QGdudS5vcmc+LCAyMDAzCgpD b3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgp2YWxhMzogcnVubmluZyBwa2ctY29uZmlnIC0t dmVyc2lvbgowLjI1CnZhbGEzOiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL2RlZnM6IGxpbmUg OTA1OiB2YWxhYzogY29tbWFuZCBub3QgZm91bmQKClNLSVA6IHZhbGE1Cj09PT09PT09PT09CgpS dW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2 NC9jY2FjaGU6L2gvai9iaW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmlu Oi91c3Ivc2JpbjovYmluOi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KdmFsYTU6 IHJ1bm5pbmcgbGlidG9vbCAtLXZlcnNpb24KbGlidG9vbCAoR05VIGxpYnRvb2wpIDIuNC4yCldy aXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQgPGdvcmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CgpD b3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgp2YWxhNTogcnVubmluZyBsaWJ0b29saXplIC0t dmVyc2lvbgpsaWJ0b29saXplIChHTlUgbGlidG9vbCkgMi40LjIKV3JpdHRlbiBieSBHYXJ5IFYu IFZhdWdoYW4gPGdhcnlAZ251Lm9yZz4sIDIwMDMKCkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNv dXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBl dmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuCnZhbGE1OiBydW5uaW5nIHBrZy1jb25maWcgLS12ZXJzaW9uCjAuMjUKdmFsYTU6IHJ1bm5p bmcgdmFsYWMgLS12ZXJzaW9uCi4vZGVmczogbGluZSA5MDU6IHZhbGFjOiBjb21tYW5kIG5vdCBm b3VuZAoKU0tJUDogdmFsYS12cGF0aAo9PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpVc2luZyBUQVA6IG5vClBBVEggPSAvaC9qL3cvY28vYXV0b21ha2UvdGVz dHM6L29wdC9jb3Ytc2EtbGludXg2NC01LjQuMC9iaW46L3Vzci9saWI2NC9jY2FjaGU6L2gvai9i aW4vcGVybDovaC9qL2JpbjovcC9wL2dpdC9iaW46L3AvYmluOi9zYmluOi91c3Ivc2JpbjovYmlu Oi91c3IvYmluOi91c3IvbG9jYWw6L3Vzci9sb2NhbC9iaW4KdmFsYS12cGF0aDogcnVubmluZyB2 YWxhYyAtLXZlcnNpb24KLi9kZWZzOiBsaW5lIDkwNTogdmFsYWM6IGNvbW1hbmQgbm90IGZvdW5k CgpTS0lQOiBjb21waWxlNC13Cj09PT09PT09PT09PT09PT0KCi4vY29tcGlsZTQtdy50ZXN0OiB3 aWxsIHNvdXJjZSAuL2NvbXBpbGU0LnRlc3QKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8K VXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNh LWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGliNjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9i aW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNy L2xvY2FsOi91c3IvbG9jYWwvYmluCmNvbXBpbGU0LXc6IHJ1bm5pbmcgY2wgLT8KLi9kZWZzOiBs aW5lIDY2ODogY2w6IGNvbW1hbmQgbm90IGZvdW5kCgpTS0lQOiBjb21waWxlNS13Cj09PT09PT09 PT09PT09PT0KCi4vY29tcGlsZTUtdy50ZXN0OiB3aWxsIHNvdXJjZSAuL2NvbXBpbGU1LnRlc3QK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiBubwpQQVRIID0gL2gvai93 L2NvL2F1dG9tYWtlL3Rlc3RzOi9vcHQvY292LXNhLWxpbnV4NjQtNS40LjAvYmluOi91c3IvbGli NjQvY2NhY2hlOi9oL2ovYmluL3Blcmw6L2gvai9iaW46L3AvcC9naXQvYmluOi9wL2Jpbjovc2Jp bjovdXNyL3NiaW46L2JpbjovdXNyL2JpbjovdXNyL2xvY2FsOi91c3IvbG9jYWwvYmluCisrKyBw d2QKL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL2NvbXBpbGU1LXcuZGlyCisrIGdldF9zaGVsbF9z Y3JpcHQgY29tcGlsZQorKyB0ZXN0IHh5ZXMgPSB4eWVzCisrIHNlZCAnMXN8IyEuKnwjISAvYmlu L3NofCcgL2gvai93L2NvL2F1dG9tYWtlL2xpYi9jb21waWxlCisrIGNobW9kIGEreCBjb21waWxl CisrIHNlZCAxMHEgY29tcGlsZQojISAvYmluL3NoCiMgV3JhcHBlciBmb3IgY29tcGlsZXJzIHdo aWNoIGRvIG5vdCB1bmRlcnN0YW5kIGAtYyAtbycuCgpzY3JpcHR2ZXJzaW9uPTIwMTAtMTEtMTUu MDk7ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMywgMjAwNCwgMjAwNSwg MjAwOSwgMjAxMCBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkg VG9tIFRyb21leSA8dHJvbWV5QGN5Z251cy5jb20+LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgY2F0Cisr IGNobW9kICt4IC4vY2wKKysgY2F0CisrIDoKKysgY2F0CisrIGFjbG9jYWwtMS4xMWEgLVdlcnJv cgorKyBhdXRvY29uZiAtQiAvbm8vc3VjaC9kaXIgLUIgL25vL3N1Y2gvZGlyCisrIGF1dG9tYWtl LTEuMTFhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5pbjo0OiBpbnN0YWxs aW5nIGAuL2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmluOjQ6IGluc3RhbGxpbmcgYC4vY29uZmln LnN1YicKKysgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvcC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9w L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4 Nl82NC11bmtub3duLWxpbnV4LWdudQpjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uIHg4Nl82 NC11bmtub3duLWxpbnV4LWdudQpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBjaGVja19ob3N0CisrIC4gLi9jaGVja19ob3N0CisrKyBjYXNlICdsaW51eC1nbnUnIGlu CisrKyBza2lwXyAndGFyZ2V0IE9TIGlzIG5vdCBNaW5HVycKKysrIHdhcm5fICdjb21waWxlNS13 OiBza2lwcGVkIHRlc3Q6IHRhcmdldCBPUyBpcyBub3QgTWluR1cnCisrKyBlY2hvICdjb21waWxl NS13OiBza2lwcGVkIHRlc3Q6IHRhcmdldCBPUyBpcyBub3QgTWluR1cnCisrKyBFeGl0IDc3Cisr KyBzZXQgK2UKKysrIHRlc3QgNzcgPSA3NworKysgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKysrIGV4 aXQgNzcKKysrIGV4aXQgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0cworIHRlc3Qgbm8gPSB5ZXMKKyBjYXNlICRhbV9leHBsaWNpdF9za2lw cyBpbgorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKY29tcGls ZTUtdzogZXhpdCA3NwoKRkFJTDogdGFwLWJhZC1wcm9nLXcKPT09PT09PT09PT09PT09PT09PT0K Ci4vdGFwLWJhZC1wcm9nLXcudGFwOiB3aWxsIHNvdXJjZSAuL3RhcC1iYWQtcHJvZy50YXAKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVXNpbmcgVEFQOiB5ZXMKUEFUSCA9IC9oL2ovdy9j by9hdXRvbWFrZS90ZXN0czovb3B0L2Nvdi1zYS1saW51eDY0LTUuNC4wL2JpbjovdXNyL2xpYjY0 L2NjYWNoZTovaC9qL2Jpbi9wZXJsOi9oL2ovYmluOi9wL3AvZ2l0L2JpbjovcC9iaW46L3NiaW46 L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9sb2NhbDovdXNyL2xvY2FsL2JpbgorKysgcHdk Ci9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy90YXAtYmFkLXByb2ctdy5kaXIKKysgcGxhbl8gNQor KyB0ZXN0IDEgLWVxIDAKKysgdGVzdCAxIC1nZSAyCisrIHRlc3QgeDUgPSB4dW5rbm93bgorKyB0 ZXN0IHg1ID0geGxhdGVyCisrIHRlc3QgeDUgPSB4bGF6eQorKyB0ZXN0IHg1ID0geG5vdworKyB0 ZXN0IDUgLWdlIDAKKysgZWNobyAxLi41CjEuLjUKKysgaGF2ZV90YXBfcGxhbl89eWVzCisrIGZl dGNoX3RhcF9kcml2ZXIKKysgY2FzZSAkYW1fdGFwX2ltcGxlbWVudGF0aW9uIGluCisrIHNlZCAn MXN8IyEuKnwjISAvdXNyL2Jpbi9wZXJsIC13fCcgL2gvai93L2NvL2F1dG9tYWtlL2xpYi90YXAt ZHJpdmVyLnBsCisrIGNobW9kIGEreCB0YXAtZHJpdmVyCisrIHNlZCAxMHEgdGFwLWRyaXZlcgoj ISAvdXNyL2Jpbi9wZXJsIC13CiMgQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikK IyBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIGNhdAorKyBjYXQKKysg Y2F0CisrIGNwIG5vZXhlYy50ZXN0IG5vcmVhZC50ZXN0CisrIGNobW9kIGEtciBub3JlYWQudGVz dAorKyBhY2xvY2FsLTEuMTFhIC1XZXJyb3IKKysgYXV0b2NvbmYgLUIgL25vL3N1Y2gvZGlyIC1C IC9uby9zdWNoL2RpcgorKyBhdXRvbWFrZS0xLjExYSAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAor KyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9w L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL3AvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0 dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKysgbWFrZSBjaGVjawpDb3VsZCBu b3QgZXhlY3V0ZSAoLi9ub25lLnRlc3QpOiBvcGVuMzogZXhlYyBvZiAuL25vbmUudGVzdCBmYWls ZWQgYXQgL3Vzci9zaGFyZS9wZXJsNS9UQVAvUGFyc2VyL0l0ZXJhdG9yL1Byb2Nlc3MucG0gbGlu ZSAxNjgKbWFrZVsyXTogKioqIFtub25lLmxvZ10gRXJyb3IgMjkKbWFrZVsxXTogKioqIFtjaGVj ay1URVNUU10gRXJyb3IgMgptYWtlOiAqKiogW2NoZWNrLWFtXSBFcnJvciAyCisrIHI9b2sKKysg Y2F0IHN0ZG91dAptYWtlICBjaGVjay1URVNUUwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg YC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0cy90YXAtYmFkLXByb2ctdy5kaXInCm1ha2VbMl06IEVu dGVyaW5nIGRpcmVjdG9yeSBgL2gvai93L2NvL2F1dG9tYWtlL3Rlc3RzL3RhcC1iYWQtcHJvZy13 LmRpcicKbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9oL2ovdy9jby9hdXRvbWFrZS90ZXN0 cy90YXAtYmFkLXByb2ctdy5kaXInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaC9qL3cv Y28vYXV0b21ha2UvdGVzdHMvdGFwLWJhZC1wcm9nLXcuZGlyJworKyByZXN1bHRfIG9rICcibWFr ZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cycKKysgc2V0ICt4Cm9rIDEgLSAi bWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cwpQQVNTOiB0YXAtYmFkLXBy b2ctdy50YXAgMSAtICJtYWtlIGNoZWNrIiByZXR1cm5zIG5vbi16ZXJvIGV4aXQgc3RhdHVzCisr IGNvbW1hbmRfb2tfICdub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZCcgZ3JlcCAnXkVSUk9S OiBub25lXC50ZXN0JyBzdGRvdXQKKysgdGFwX2RpcmVjdGl2ZV89CisrIHRhcF9yZWFzb25fPQor KyB0ZXN0IDQgLWd0IDAKKysgdGFwX2Rlc2NyaXB0aW9uXz0nbm9uLWV4aXN0ZW50IHRlc3QgaXMg cmVwb3J0ZWQnCisrIHNoaWZ0CisrIHRlc3QgMyAtZ3QgMAorKyBjYXNlICQxIGluCisrIGJyZWFr CisrIHRhcF9yZXN1bHRfPW9rCisrIGdyZXAgJ15FUlJPUjogbm9uZVwudGVzdCcgc3Rkb3V0Cisr IHRhcF9yZXN1bHRfPSdub3Qgb2snCisrIHJlc3VsdF8gJ25vdCBvaycgLUQgJycgLXIgJycgLS0g J25vbi1leGlzdGVudCB0ZXN0IGlzIHJlcG9ydGVkJworKyBzZXQgK3gKbm90IG9rIDIgLSBub24t ZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZApGQUlMOiB0YXAtYmFkLXByb2ctdy50YXAgMiAtIG5v bi1leGlzdGVudCB0ZXN0IGlzIHJlcG9ydGVkCisrIGRlc2M9J25vbi1leGVjdXRhYmxlIHRlc3Qg aXMgcmVwb3J0ZWQnCisrIC4vbm9leGVjLnRlc3QKLi90YXAtYmFkLXByb2cudGFwOiBsaW5lIDY0 OiAuL25vZXhlYy50ZXN0OiBQZXJtaXNzaW9uIGRlbmllZAorKyBjb21tYW5kX29rXyAnbm9uLWV4 ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZCcgLS0gZ3JlcCAnXkVSUk9SOiBub2V4ZWNcLnRlc3Qn IHN0ZG91dAorKyB0YXBfZGlyZWN0aXZlXz0KKysgdGFwX3JlYXNvbl89CisrIHRlc3QgNSAtZ3Qg MAorKyB0YXBfZGVzY3JpcHRpb25fPSdub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkJwor KyBzaGlmdAorKyB0ZXN0IDQgLWd0IDAKKysgY2FzZSAkMSBpbgorKyBzaGlmdAorKyBicmVhawor KyB0YXBfcmVzdWx0Xz1vaworKyBncmVwICdeRVJST1I6IG5vZXhlY1wudGVzdCcgc3Rkb3V0Cisr IHRhcF9yZXN1bHRfPSdub3Qgb2snCisrIHJlc3VsdF8gJ25vdCBvaycgLUQgJycgLXIgJycgLS0g J25vbi1leGVjdXRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQnCisrIHNldCAreApub3Qgb2sgMyAtIG5v bi1leGVjdXRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQKRkFJTDogdGFwLWJhZC1wcm9nLXcudGFwIDMg LSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkCisrIGRlc2M9J25vbi1yZWFkYWJsZSB0 ZXN0IGlzIHJlcG9ydGVkJworKyB0ZXN0IC1yIG5vcmVhZC50ZXN0CisrIGNvbW1hbmRfb2tfICdu b24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZCcgLS0gZ3JlcCAnXkVSUk9SOiBub3JlYWRcLnRl c3QnIHN0ZG91dAorKyB0YXBfZGlyZWN0aXZlXz0KKysgdGFwX3JlYXNvbl89CisrIHRlc3QgNSAt Z3QgMAorKyB0YXBfZGVzY3JpcHRpb25fPSdub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZCcK Kysgc2hpZnQKKysgdGVzdCA0IC1ndCAwCisrIGNhc2UgJDEgaW4KKysgc2hpZnQKKysgYnJlYWsK KysgdGFwX3Jlc3VsdF89b2sKKysgZ3JlcCAnXkVSUk9SOiBub3JlYWRcLnRlc3QnIHN0ZG91dAor KyB0YXBfcmVzdWx0Xz0nbm90IG9rJworKyByZXN1bHRfICdub3Qgb2snIC1EICcnIC1yICcnIC0t ICdub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZCcKKysgc2V0ICt4Cm5vdCBvayA0IC0gbm9u LXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQKRkFJTDogdGFwLWJhZC1wcm9nLXcudGFwIDQgLSBu b24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRlZAorKyBjb21tYW5kX29rXyAnbm8gc3B1cmlvdXMg cmVzdWx0cycgLUQgVE9ETyAtciAnc3RpbGwgZ2V0ICJtaXNzaW5nIHBsYW4iJyBjb3VudF90ZXN0 X3Jlc3VsdHMgdG90YWw9MyBwYXNzPTAgZmFpbD0wIHhwYXNzPTAgeGZhaWw9MCBza2lwPTAgZXJy b3I9MworKyB0YXBfZGlyZWN0aXZlXz0KKysgdGFwX3JlYXNvbl89CisrIHRlc3QgMTMgLWd0IDAK KysgdGFwX2Rlc2NyaXB0aW9uXz0nbm8gc3B1cmlvdXMgcmVzdWx0cycKKysgc2hpZnQKKysgdGVz dCAxMiAtZ3QgMAorKyBjYXNlICQxIGluCisrIHRhcF9kaXJlY3RpdmVfPVRPRE8KKysgc2hpZnQK Kysgc2hpZnQKKysgdGVzdCAxMCAtZ3QgMAorKyBjYXNlICQxIGluCisrIHRhcF9yZWFzb25fPSdz dGlsbCBnZXQgIm1pc3NpbmcgcGxhbiInCisrIHNoaWZ0CisrIHNoaWZ0CisrIHRlc3QgOCAtZ3Qg MAorKyBjYXNlICQxIGluCisrIGJyZWFrCisrIHRhcF9yZXN1bHRfPW9rCisrIGNvdW50X3Rlc3Rf cmVzdWx0cyB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4ZmFpbD0wIHNraXA9MCBlcnJv cj0zCisrIHRvdGFsPUVSUgorKyBwYXNzPUVSUgorKyBmYWlsPUVSUgorKyB4cGFzcz1FUlIKKysg eGZhaWw9RVJSCisrIHNraXA9RVJSCisrIGVycm9yPUVSUgorKyBldmFsIHRvdGFsPTMgcGFzcz0w IGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMKKysrIHRvdGFsPTMKKysrIHBh c3M9MAorKysgZmFpbD0wCisrKyB4cGFzcz0wCisrKyB4ZmFpbD0wCisrKyBza2lwPTAKKysrIGVy cm9yPTMKKysgL3AvYmluL2dyZXAgLUUgLWkgJyh0b3RhbHx4P3Bhc3N8eD9mYWlsfHNraXB8ZXJy b3IpJyBzdGRvdXQKKysgOgorKyByYz0wCisrIHNldCArZQorKysgZ3JlcCAtYyAnXlBBU1M6JyBz dGRvdXQKKysgdGVzdCAwIC1lcSAwCisrKyBncmVwIC1jICdeWEZBSUw6JyBzdGRvdXQKKysgdGVz dCAwIC1lcSAwCisrKyBncmVwIC1jICdeU0tJUDonIHN0ZG91dAorKyB0ZXN0IDAgLWVxIDAKKysr IGdyZXAgLWMgJ15GQUlMOicgc3Rkb3V0CisrIHRlc3QgMCAtZXEgMAorKysgZ3JlcCAtYyAnXlhQ QVNTOicgc3Rkb3V0CisrIHRlc3QgMCAtZXEgMAorKysgZ3JlcCAtYyAnXkVSUk9SOicgc3Rkb3V0 CisrIHRlc3QgMCAtZXEgMworKyByYz0xCisrIGdyZXAgJ14jIFRPVEFMOiAgKjMkJyBzdGRvdXQK KysgcmM9MQorKyBncmVwICdeIyBQQVNTOiAgKjAkJyBzdGRvdXQKKysgcmM9MQorKyBncmVwICde IyBYRkFJTDogICowJCcgc3Rkb3V0CisrIHJjPTEKKysgZ3JlcCAnXiMgU0tJUDogICowJCcgc3Rk b3V0CisrIHJjPTEKKysgZ3JlcCAnXiMgRkFJTDogICowJCcgc3Rkb3V0CisrIHJjPTEKKysgZ3Jl cCAnXiMgWFBBU1M6ICAqMCQnIHN0ZG91dAorKyByYz0xCisrIGdyZXAgJ14jIEVSUk9SOiAgKjMk JyBzdGRvdXQKKysgcmM9MQorKyB0ZXN0IDEgLWVxIDAKKysgdGFwX3Jlc3VsdF89J25vdCBvaycK KysgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIn IC0tICdubyBzcHVyaW91cyByZXN1bHRzJworKyBzZXQgK3gKbm90IG9rIDUgLSBubyBzcHVyaW91 cyByZXN1bHRzICMgVE9ETyBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIKWEZBSUw6IHRhcC1iYWQt cHJvZy13LnRhcCA1IC0gbm8gc3B1cmlvdXMgcmVzdWx0cyAjIFRPRE8gc3RpbGwgZ2V0ICJtaXNz aW5nIHBsYW4iCisrIDoKKyBleGl0IDAKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2gv ai93L2NvL2F1dG9tYWtlL3Rlc3RzCisgdGVzdCB5ZXMgPSB5ZXMKKyB0ZXN0IHllcyAnIT0nIHll cworIHRlc3QgMCAtZXEgMAorIHRlc3QgMSAtZXEgNQorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNl dCAreAp0YXAtYmFkLXByb2ctdzogZXhpdCAwCgo= --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 13 07:45:24 2012 Received: (at 10374-done) by debbugs.gnu.org; 13 Jan 2012 12:45:24 +0000 Received: from localhost ([127.0.0.1]:55962 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgVW-0001Q6-HC for submit@debbugs.gnu.org; Fri, 13 Jan 2012 07:45:23 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:50534) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlgVT-0001LL-QH for 10374-done@debbugs.gnu.org; Fri, 13 Jan 2012 07:45:20 -0500 Received: by wibhj6 with SMTP id hj6so372401wib.3 for <10374-done@debbugs.gnu.org>; Fri, 13 Jan 2012 04:44:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=hzfhgSd4rY2THEXAnh102KGIZ5HAugfrePbvJfWBtP0=; b=X8tKgjg172ZDf+PPhvNRN2NQAK2Kdj5vklJ2UHuimdl9dq4QsxvOUa4MlzlIurDphI +e/L+33LE9VoaMvvaR/JbZtfZEhH7TJLnb3+kW1b0V7uBiDnZQ22qLRwAAWKnRqHFKG/ +1CfajzUL1Yv1hwiZYQZcm1Gvt7w/TCyD9eK0= Received: by 10.180.93.168 with SMTP id cv8mr8697928wib.2.1326458682398; Fri, 13 Jan 2012 04:44:42 -0800 (PST) Received: from [82.56.38.186] (host186-38-dynamic.56-82-r.retail.telecomitalia.it. [82.56.38.186]) by mx.google.com with ESMTPS id o17sm10918754wbh.19.2012.01.13.04.44.41 (version=SSLv3 cipher=OTHER); Fri, 13 Jan 2012 04:44:41 -0800 (PST) Message-ID: <4F102738.9080702@gmail.com> Date: Fri, 13 Jan 2012 13:44:40 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#10374: 3 test failures on fedora 16 References: <87lipzasw4.fsf@rho.meyering.net> <4EF8F1C5.4080000@gmail.com> <87aa6fas0p.fsf@rho.meyering.net> <4EF9A391.7050408@gmail.com> <87hb0mgj32.fsf@rho.meyering.net> <4EF9FDE9.2090208@gmail.com> <4EF9FECE.3010809@gmail.com> <4EFA4435.1020809@gmail.com> <87vcp1ez8u.fsf@rho.meyering.net> In-Reply-To: <87vcp1ez8u.fsf@rho.meyering.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10374-done Cc: 10374-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On 12/28/2011 12:01 PM, Jim Meyering wrote: > > With that, make check on master (Fedora 16, x86_64) does this: > > # TOTAL: 2477 > # PASS: 2378 > # SKIP: 60 > # XFAIL: 29 > # FAIL: 9 > # XPASS: 0 > # ERROR: 1 > These failures are now being analyzed in automake bug#10418: (and few of them have already been fixed in fact). To avoid having too much noise and extra confusion in the bug tracker, I'm closing this bug report. Refer to bug#10418 for further discussion. Thanks, Stefano From unknown Wed Jun 18 00:18:47 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 11 Feb 2012 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator