From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sfi-mx-1.v28.ch3.sourceforge.com ([172.29.28.121] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from ) id 1NF2fc-0004sB-7Q for ltp-list@lists.sourceforge.net; Mon, 30 Nov 2009 09:35:48 +0000 Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by sfi-mx-1.v28.ch3.sourceforge.com with esmtp (Exim 4.69) id 1NF2fW-0001b4-IK for ltp-list@lists.sourceforge.net; Mon, 30 Nov 2009 09:35:48 +0000 Message-ID: <4B1392D5.1020405@cn.fujitsu.com> Date: Mon, 30 Nov 2009 17:39:33 +0800 From: Miao Xie MIME-Version: 1.0 References: <4AE54BCA.7060104@cn.fujitsu.com> <1256563577.4929.35.camel@subratamodak.linux.ibm.com> <1256650551.4957.33.camel@subratamodak.linux.ibm.com> <1256841114.5210.25.camel@subratamodak.linux.ibm.com> <1257170360.4977.58.camel@subratamodak.linux.ibm.com> <4B133BC1.5020109@cn.fujitsu.com> In-Reply-To: <4B133BC1.5020109@cn.fujitsu.com> Content-Type: multipart/mixed; boundary="------------090604050300050405070609" Subject: Re: [LTP] [PATCH] Add new testcases for ext4 new features - V3 Reply-To: miaox@cn.fujitsu.com List-Id: Linux Test Project General Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-list-bounces@lists.sourceforge.net To: subrata@linux.vnet.ibm.com Cc: LTP-ML , miaox@cn.fujitsu.com This is a multi-part message in MIME format. --------------090604050300050405070609 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Subrata The attached file is the test result of ext4 new features on my x86_64 box. Regards Miao on 2009-11-30 11:28, Miao Xie wrote: > Hi, Subrata > > I'm sorry. There is something wrong in the patch that I sent on > 2009-11-26. So > I made a new patch to instead of it. > > And Subrata, I didn't find these failure about online defrag on my box. > The attached patch opens the verbose mode of e4defrag to get more > information later, it is > useful to find the problem of online defrag. So, Could you test it again > and send the output > info to me? > > This patch can fix the following problem: > -- delete the code of setting the test_fs flag > -- open the verbose mode of e4defrag, it is useful to find the problem > of online defrag > -- fix some bug of the Makefile > -- throw the utilities version info away > -- delete two unnecessary testcases about ext4 subdir limit test > > Signed-off-by: Miao Xie > --- > testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- > testcases/kernel/fs/ext4-new-features/README | 7 +---- > .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ > .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- > .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- > .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- > .../ext4_nsec_timestamps_test.sh | 8 ++--- > .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 > ++++++++++++------- > .../ext4_persist_prealloc_test.sh | 4 +- > .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- > .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ > 11 files changed, 78 insertions(+), 67 deletions(-) > > diff --git a/testcases/kernel/fs/ext4-new-features/Makefile > b/testcases/kernel/fs/ext4-new-features/Makefile > index 0e09dd6..208b8a6 100644 > --- a/testcases/kernel/fs/ext4-new-features/Makefile > +++ b/testcases/kernel/fs/ext4-new-features/Makefile > @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. > > include $(top_srcdir)/include/mk/env_pre.mk > > -INSTALL_TARGETS := *.sh > -INSTALL_TARGETS := ext4-test-config > -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb > +INSTALL_TARGETS += ffsb > +INSTALL_TARGETS += run_ext4_test.sh > +INSTALL_TARGETS += ext4_funcs.sh > +INSTALL_TARGETS += ext4-test-config > > -FILTER_OUT_DIRS := ffsb-6.0-rc2 > +FFSBDIR := ffsb-6.0-rc2 > +FILTER_OUT_DIRS := $(FFSBDIR) > +FFSB := $(FFSBDIR)/ffsb > > -trunk-all: ffsb-6.0-rc2 > +$(FFSB): $(FFSBDIR) > + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all > + cp $(FFSBDIR)/ffsb ffsb > + > +trunk-all: $(FFSB) > > trunk-clean:: | ffsb-clean > > -ffsb-clean:: ffsb-6.0-rc2 > +ffsb-clean:: $(FFSBDIR) > $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean > + rm -rf ffsb > > include $(top_srcdir)/include/mk/generic_trunk_target.mk > diff --git a/testcases/kernel/fs/ext4-new-features/README > b/testcases/kernel/fs/ext4-new-features/README > index 0ea0460..bda16e5 100644 > --- a/testcases/kernel/fs/ext4-new-features/README > +++ b/testcases/kernel/fs/ext4-new-features/README > @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art > feature requirements. More > extensive information of ext4 can be found at the ext4 wiki site at the > URL: > http://ext4.wiki.kernel.org > > -There are total 119 testcases for ext4 new features test that have been > added. > +There are total 117 testcases for ext4 new features test that have been > added. > Now, these testcases can test multi-block alloc/delayed alloc, inode > version > field on disk, journal checksumming, nanosec timestamps, online defrag, > persist > prealloc, subdirectory limit and uninit groups of ext4. > @@ -111,11 +111,6 @@ Directory containing the shell script which is used > to test subdirectory limit > of ext4. According to the kernel documentation, we create more than 32000 > subdirectorys on the ext4 filesystem. > > -But, when then block size is small, such as 1024, and the name of every > -subdirectory is very long, such as every name is 255 bytes, we can just > create > -less than 20000 subdirectory. In this test suite, there is two FAIL > cases by > -reason of it. > - > ext4-uninit-groups > ------------------ > Directory containing the shell script which is used to test > uninitialized groups > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > index ec2f389..be7b074 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > @@ -37,14 +37,12 @@ read_config $1 > # Case 17: mount ext4 partition to ext3 > ext4_test_remount() > { > - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > @@ -71,7 +69,7 @@ ext4_test_remount() > fi > umount mnt_point > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -87,16 +85,15 @@ ext4_test_remount() > # $4: auto_da_alloc > ext4_test_delalloc_mballoc() > { > - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ > - isAuto_da_alloc: $4" > + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, > isAuto_da_alloc: $4" > > - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > index 8f5c907..0e7a8b6 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > @@ -24,7 +24,7 @@ > #$2: 1 - return inode version by return value > # !1 - writting inode version to stddev > > -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ > +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep > 'Version' | awk '{ > print $NF }'` > > # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > index f27248b..4a58b36 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > @@ -41,13 +41,13 @@ ext4_test_128_inode_version() > { > tst_resm TINFO "Test inode version is 32 bits with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -67,7 +67,7 @@ ext4_test_128_inode_version() > fi > > # inode version is 32 bits: 0x00000000 > - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` > + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep > 'Version'` > version=`echo $version | awk '{ print $NF }'` > version=`echo $version | sed 's/^0x//'` > len=${#version} > @@ -91,14 +91,12 @@ ext4_test_128_inode_version() > # $1: file operation > test_inode_version() > { > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > /dev/null > - > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > index 550afa1..eb72b5d 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > @@ -59,17 +59,17 @@ ext4_test_journal_checksum() > async_commit="Used" > fi > > - tst_resm TINFO "journal mode: $1, commit interval: $2, \ > - journal_checksum: $checksum, \ > - journal_async_commit: $async_commit, barrier: $5" > + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ > + "journal_checksum: $checksum, " \ > + "journal_async_commit: $async_commit, barrier: $5" > > - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV > mnt_point > if [ $? -ne 0 ]; then > @@ -90,7 +90,7 @@ ext4_test_journal_checksum() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > index ced6576..cc00507 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() > { > tst_resm TINFO "Test timestamps with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() > { > tst_resm TINFO "Test timestamps with 256 inode size" > > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > index 84613c8..7b4dda3 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > @@ -94,23 +94,23 @@ my_e4defrag() > { > if [ $1 -eq $FILE ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > # EMPTY or LARGE > else > - ./e4defrag mnt_point/tmp_file > + ./e4defrag -v mnt_point/tmp_file > return $? > fi > elif [ $1 -eq $DIR ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > else > - ./e4defrag mnt_point/tmp_dir > + ./e4defrag -v mnt_point/tmp_dir > return $? > fi > else > - ./e4defrag $EXT4_DEV > + ./e4defrag -v $EXT4_DEV > return $? > fi > } > @@ -121,15 +121,20 @@ my_e4defrag() > # $3: block size > ext4_test_online_defrag() > { > + echo Test $TST_COUNT start >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > + > tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" > > - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null > + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -137,7 +142,7 @@ ext4_test_online_defrag() > return 1 > fi > > - age_filesystem $2 $1 > + age_filesystem $2 $1 >> > $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > @@ -152,18 +157,21 @@ ext4_test_online_defrag() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > fi > > - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, > Aging: $2, block size: $3)" > + tst_resm TPASS "ext4 online defrag test pass" > } > > # main > ext4_setup > > +rm -f $LTPROOT/output/ext4_online_defrag_result.txt > + > DEFRAG=( $FILE $DIR $FILESYSTEM ) > AGING=( $EMPTY $SMALL $LARGE ) > BLOCK_SIZE=( 1024 4096 ) > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > index 0d293e8..e895d25 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ > # $1: 1024 or 4096 > ext4_test_persist_prealloc() > { > - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > index 42c4336..5631fe5 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin > . ./ext4_funcs.sh > > export TCID="ext4-subdir-limit" > -export TST_TOTAL=12 > +export TST_TOTAL=10 > export TST_COUNT=1 > > # $1: the test config > @@ -59,20 +59,20 @@ ext4_run_case() > dir_name_len="long name" > fi > > - tst_resm TINFO "Num of dirs to create: $1, Dir name len: > $dir_name_len \ > - Parent dir: $3, Block size: $4" > + tst_resm TINFO "Num of dirs to create: $1, Dir name len: > $dir_name_len, " \ > + "Parent dir: $3, Block size: $4" > > # only mkfs if block size has been changed, > # or previous case failed > if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then > - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > prev_block_size=$4 > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > fi > > prev_result=$FAIL > @@ -120,14 +120,14 @@ ext4_run_case() > fi > > # run fsck to make sure the filesystem has no errors > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck: the filesystem has errors" > return 1 > fi > > # check dir_nlink is set > - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink > + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | > grep -q dir_nlink > if [ $? -ne 0 ]; then > tst_resm TFAIL "feature dir_nlink is not set" > return 1 > @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) > { > for ((k = 0; k < 2; k++)) > { > + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then > + continue > + fi > ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ > ${BLOCK_SIZE[$i]} > if [ $? -ne 0 ]; then > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > index 27cbb5f..b479c8f 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > @@ -40,8 +40,8 @@ LARGE=3 > # filesystem free size in bytes: blocks_size * free_blocks > filesystem_free_size() > { > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` > - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 > }'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk > '{ print $2 }'` > + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| > awk '{ print $2 }'` > > echo $bsize * $blocks > } > @@ -61,9 +61,9 @@ age_filesystem() > } > elif [ $1 -eq $LARGE ]; then > rm -rf mnt_point/* > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` > bsize=`echo $bsize | awk '{ print $3 }'` > - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` > + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` > bcount=`echo $bcount | awk '{ print $3 }'` > dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount > else > @@ -80,7 +80,9 @@ age_filesystem() > # $4: age filesystem: $EMPTY, $SMALL, $LARGE > ext4_test_uninit_groups() > { > - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null > + echo "Test $TST_COUNT" >> > $LTPROOT/output/ext4_uninit_groups_result.txt > + > + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -92,10 +94,10 @@ ext4_test_uninit_groups() > flag=$3 > fi > > - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV > + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null > > # Must run fsck after setting uninit_groups > - fsck -p $EXT4_DEV > /dev/null > + fsck -p $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -103,7 +105,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - age_filesystem $4 > + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt > 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "age filesystem failed" > umount mnt_point > @@ -116,7 +118,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) > > RET=0 > > +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt > + > for ((i = 0; i < 2; i++)) > { > for ((j = 0; j < 2; j++)) --------------090604050300050405070609 Content-Type: text/plain; name="ext4_result" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ext4_result" SU5GTzogY3JlYXRpbmcgL29wdC9sdHAvcmVzdWx0cyBkaXJlY3RvcnkKSWYgc29tZSBmaWVs ZHMgYXJlIGVtcHR5IG9yIGxvb2sgdW51c3VhbCB5b3UgbWF5IGhhdmUgYW4gb2xkIHZlcnNp b24uCkNvbXBhcmUgdG8gdGhlIGN1cnJlbnQgbWluaW1hbCByZXF1aXJlbWVudHMgaW4gRG9j dW1lbnRhdGlvbi9DaGFuZ2VzLgogCkZlZG9yYSByZWxlYXNlIDEyIChDb25zdGFudGluZSkK RmVkb3JhIHJlbGVhc2UgMTIgKENvbnN0YW50aW5lKQpGZWRvcmEgcmVsZWFzZSAxMiAoQ29u c3RhbnRpbmUpCkxpbnV4IG1pYW8gMi42LjMyLXJjOCAjMSBTTVAgVGh1IE5vdiAyNiAxMjox MDo0MSBDU1QgMjAwOSB4ODZfNjQgeDg2XzY0IHg4Nl82NCBHTlUvTGludXgKIApHbnUgQyAg ICAgICAgICAgICAgICAgIGdjYyAoR0NDKSA0LjQuMiAyMDA5MTAyNyAoUmVkIEhhdCA0LjQu Mi03KQpHbnUgbWFrZSAgICAgICAgICAgICAgIDMuODEKdXRpbC1saW51eCAgICAgICAgICAg ICBuZyAyLjE2KQptb3VudCAgICAgICAgICAgICAgICAgIG5nIDIuMTYgKHdpdGggbGliYmxr aWQgYW5kIHNlbGludXggc3VwcG9ydCkKbW9kdXRpbHMgICAgICAgICAgICAgICAzLjkKZTJm c3Byb2dzICAgICAgICAgICAgICAxLjQxLjkKUFBQICAgICAgICAgICAgICAgICAgICAyLjQu NApMaW51eCBDIExpYnJhcnkgICAgICAgID4gbGliYy4yLjExCkR5bmFtaWMgbGlua2VyIChs ZGQpICAgMi4xMQpQcm9jcHMgICAgICAgICAgICAgICAgIDMuMi44Ck5ldC10b29scyAgICAg ICAgICAgICAgMS42MAppcHJvdXRlMiAgICAgICAgICAgICAgaXByb3V0ZTItc3MwOTAzMjQK S2JkICAgICAgICAgICAgICAgICAgICAxLjE1ClNoLXV0aWxzICAgICAgICAgICAgICAgNy42 Ck1vZHVsZXMgTG9hZGVkICAgICAgICAgZnVzZSBzdW5ycGMgaXA2dF9SRUpFQ1QgbmZfY29u bnRyYWNrX2lwdjYgaXA2dGFibGVfZmlsdGVyIGlwNl90YWJsZXMgaXB2NiBjcHVmcmVxX29u ZGVtYW5kIGFjcGlfY3B1ZnJlcSBmcmVxX3RhYmxlIGRtX211bHRpcGF0aCB1aW5wdXQgc25k X2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfaW50ZWwgc25kX2hkYV9jb2RlYyBzbmRfaHdk ZXAgc2t5MiBzbmRfc2VxIHNuZF9zZXFfZGV2aWNlIHNuZF9wY20gc25kX3RpbWVyIGkyY19p ODAxIGlUQ09fd2R0IGlUQ09fdmVuZG9yX3N1cHBvcnQgc25kIHBwZGV2IHBhcnBvcnRfcGMg cGFycG9ydCBwY3Nwa3Igc291bmRjb3JlIHNuZF9wYWdlX2FsbG9jIGF0YV9nZW5lcmljIHBh dGFfYWNwaSBpOTE1IGRybV9rbXNfaGVscGVyIGRybSBpMmNfYWxnb19iaXQgaTJjX2NvcmUg dmlkZW8gb3V0cHV0CgpmcmVlIHJlcG9ydHM6CiAgICAgICAgICAgICB0b3RhbCAgICAgICB1 c2VkICAgICAgIGZyZWUgICAgIHNoYXJlZCAgICBidWZmZXJzICAgICBjYWNoZWQKTWVtOiAg ICAgICAyMDQ4ODAwICAgICA5MjQ1NzYgICAgMTEyNDIyNCAgICAgICAgICAwICAgICAgNjEy MTYgICAgIDM2NDg4NAotLysgYnVmZmVycy9jYWNoZTogICAgIDQ5ODQ3NiAgICAxNTUwMzI0 ClN3YXA6ICAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAKCi9wcm9jL2NwdWlu Zm8KcHJvY2Vzc29yCTogMAp2ZW5kb3JfaWQJOiBHZW51aW5lSW50ZWwKY3B1IGZhbWlseQk6 IDYKbW9kZWwJCTogMjMKbW9kZWwgbmFtZQk6IEludGVsKFIpIENvcmUoVE0pMiBEdW8gQ1BV ICAgICBFNzMwMCAgQCAyLjY2R0h6CnN0ZXBwaW5nCTogNgpjcHUgTUh6CQk6IDE2MDMuMDAw CmNhY2hlIHNpemUJOiAzMDcyIEtCCnBoeXNpY2FsIGlkCTogMApzaWJsaW5ncwk6IDIKY29y ZSBpZAkJOiAwCmNwdSBjb3Jlcwk6IDIKYXBpY2lkCQk6IDAKaW5pdGlhbCBhcGljaWQJOiAw CmZwdQkJOiB5ZXMKZnB1X2V4Y2VwdGlvbgk6IHllcwpjcHVpZCBsZXZlbAk6IDEwCndwCQk6 IHllcwpmbGFncwkJOiBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMg c2VwIG10cnIgcGdlIG1jYSBjbW92IHBhdCBwc2UzNiBjbGZsdXNoIGR0cyBhY3BpIG1teCBm eHNyIHNzZSBzc2UyIHNzIGh0IHRtIHBiZSBzeXNjYWxsIG54IGxtIGNvbnN0YW50X3RzYyBh cmNoX3BlcmZtb24gcGVicyBidHMgcmVwX2dvb2QgYXBlcmZtcGVyZiBwbmkgZHRlczY0IG1v bml0b3IgZHNfY3BsIGVzdCB0bTIgc3NzZTMgY3gxNiB4dHByIHBkY20gc3NlNF8xIGxhaGZf bG0KYm9nb21pcHMJOiA1MzIwLjM5CmNsZmx1c2ggc2l6ZQk6IDY0CmNhY2hlX2FsaWdubWVu dAk6IDY0CmFkZHJlc3Mgc2l6ZXMJOiAzNiBiaXRzIHBoeXNpY2FsLCA0OCBiaXRzIHZpcnR1 YWwKcG93ZXIgbWFuYWdlbWVudDoKCnByb2Nlc3Nvcgk6IDEKdmVuZG9yX2lkCTogR2VudWlu ZUludGVsCmNwdSBmYW1pbHkJOiA2Cm1vZGVsCQk6IDIzCm1vZGVsIG5hbWUJOiBJbnRlbChS KSBDb3JlKFRNKTIgRHVvIENQVSAgICAgRTczMDAgIEAgMi42NkdIegpzdGVwcGluZwk6IDYK Y3B1IE1IegkJOiAxNjAzLjAwMApjYWNoZSBzaXplCTogMzA3MiBLQgpwaHlzaWNhbCBpZAk6 IDAKc2libGluZ3MJOiAyCmNvcmUgaWQJCTogMQpjcHUgY29yZXMJOiAyCmFwaWNpZAkJOiAx CmluaXRpYWwgYXBpY2lkCTogMQpmcHUJCTogeWVzCmZwdV9leGNlcHRpb24JOiB5ZXMKY3B1 aWQgbGV2ZWwJOiAxMAp3cAkJOiB5ZXMKZmxhZ3MJCTogZnB1IHZtZSBkZSBwc2UgdHNjIG1z ciBwYWUgbWNlIGN4OCBhcGljIHNlcCBtdHJyIHBnZSBtY2EgY21vdiBwYXQgcHNlMzYgY2xm bHVzaCBkdHMgYWNwaSBtbXggZnhzciBzc2Ugc3NlMiBzcyBodCB0bSBwYmUgc3lzY2FsbCBu eCBsbSBjb25zdGFudF90c2MgYXJjaF9wZXJmbW9uIHBlYnMgYnRzIHJlcF9nb29kIGFwZXJm bXBlcmYgcG5pIGR0ZXM2NCBtb25pdG9yIGRzX2NwbCBlc3QgdG0yIHNzc2UzIGN4MTYgeHRw ciBwZGNtIHNzZTRfMSBsYWhmX2xtCmJvZ29taXBzCTogNTMxOS43MQpjbGZsdXNoIHNpemUJ OiA2NApjYWNoZV9hbGlnbm1lbnQJOiA2NAphZGRyZXNzIHNpemVzCTogMzYgYml0cyBwaHlz aWNhbCwgNDggYml0cyB2aXJ0dWFsCnBvd2VyIG1hbmFnZW1lbnQ6CgpyZW1vdmUgdGVzdCBj YXNlcyB3aGljaCByZXF1aXJlIHRoZSBibG9jayBkZXZpY2UuCllvdSBjYW4gc3BlY2lmeSBp dCB3aXRoIG9wdGlvbiAtYgpDT01NQU5EOiAgICAvb3B0L2x0cC9iaW4vbHRwLXBhbiAgLWUg LVMgICAtYSAxMDg0MSAgICAgLW4gMTA4NDEgIC1wICAtZiAvdG1wL2x0cC03YTBFbUx6cnRQ L2FsbHRlc3RzIC1sIC9vcHQvbHRwL3Jlc3VsdHMvTFRQX1JVTl9PTi0yMDA5XzEx5pyIXzI4 LTA5aF8zNW1fNDdzLmxvZyAgLUMgL29wdC9sdHAvb3V0cHV0L0xUUF9SVU5fT04tMjAwOV8x MeaciF8yOC0wOWhfMzVtXzQ3cy5mYWlsZWQKTE9HIEZpbGU6IC9vcHQvbHRwL3Jlc3VsdHMv TFRQX1JVTl9PTi0yMDA5XzEx5pyIXzI4LTA5aF8zNW1fNDdzLmxvZwpGQUlMRUQgQ09NTUFO RCBGaWxlOiAvb3B0L2x0cC9vdXRwdXQvTFRQX1JVTl9PTi0yMDA5XzEx5pyIXzI4LTA5aF8z NW1fNDdzLmZhaWxlZApSdW5uaW5nIHRlc3RzLi4uLi4uLgo8PDx0ZXN0X3N0YXJ0Pj4+CnRh Zz1leHQ0X25ld19mZWF0dXJlX3Rlc3Qgc3RpbWU9MTI1OTM3MjE0NwpjbWRsaW5lPSJydW5f ZXh0NF90ZXN0LnNoIgpjb250YWN0cz0iIgphbmFseXNpcz1leGl0Cjw8PHRlc3Rfb3V0cHV0 Pj4+CkVYVDQgTkVXIEZFQVRVUkUgVEVTVElORwpURVNUIFNUQVJURUQ6IFBsZWFzZSBhdm9p ZCB1c2luZyBzeXN0ZW0gd2hpbGUgdGhpcyB0ZXN0IGV4ZWN1dGVzCiAKRXh0NCBibG9jayBh bGxvY2F0aW9uIHRlc3QKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAgIDAgIFRJTkZPICA6ICBp c0RlbGFsbG9jOiBkZWxhbGxvYywgaXNEaXJlY3RJTzogMCwgQmxvY2tzaXplOiAxMDI0LCBp c0F1dG9fZGFfYWxsb2M6IGF1dG9fZGFfYWxsb2M9MQpleHQ0LWRlbGFsbG9jLW1iYWxsb2Mg ICAgMSAgVFBBU1MgIDogIGRlbGFsbG9jL21iYWxsb2MgdGVzdCBwYXNzCmV4dDQtZGVsYWxs b2MtbWJhbGxvYyAgICAwICBUSU5GTyAgOiAgaXNEZWxhbGxvYzogZGVsYWxsb2MsIGlzRGly ZWN0SU86IDAsIEJsb2Nrc2l6ZTogMTAyNCwgaXNBdXRvX2RhX2FsbG9jOiBub2F1dG9fZGFf YWxsb2MKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAgIDIgIFRQQVNTICA6ICBkZWxhbGxvYy9t YmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgMCAgVElORk8gIDog IGlzRGVsYWxsb2M6IG5vZGVsYWxsb2MsIGlzRGlyZWN0SU86IDAsIEJsb2Nrc2l6ZTogMTAy NCwgaXNBdXRvX2RhX2FsbG9jOiBhdXRvX2RhX2FsbG9jPTEKZXh0NC1kZWxhbGxvYy1tYmFs bG9jICAgIDMgIFRQQVNTICA6ICBkZWxhbGxvYy9tYmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRl bGFsbG9jLW1iYWxsb2MgICAgMCAgVElORk8gIDogIGlzRGVsYWxsb2M6IG5vZGVsYWxsb2Ms IGlzRGlyZWN0SU86IDAsIEJsb2Nrc2l6ZTogMTAyNCwgaXNBdXRvX2RhX2FsbG9jOiBub2F1 dG9fZGFfYWxsb2MKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAgIDQgIFRQQVNTICA6ICBkZWxh bGxvYy9tYmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgMCAgVElO Rk8gIDogIGlzRGVsYWxsb2M6IGRlbGFsbG9jLCBpc0RpcmVjdElPOiAxLCBCbG9ja3NpemU6 IDEwMjQsIGlzQXV0b19kYV9hbGxvYzogYXV0b19kYV9hbGxvYz0xCmV4dDQtZGVsYWxsb2Mt bWJhbGxvYyAgICA1ICBUUEFTUyAgOiAgZGVsYWxsb2MvbWJhbGxvYyB0ZXN0IHBhc3MKZXh0 NC1kZWxhbGxvYy1tYmFsbG9jICAgIDAgIFRJTkZPICA6ICBpc0RlbGFsbG9jOiBkZWxhbGxv YywgaXNEaXJlY3RJTzogMSwgQmxvY2tzaXplOiAxMDI0LCBpc0F1dG9fZGFfYWxsb2M6IG5v YXV0b19kYV9hbGxvYwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgNiAgVFBBU1MgIDogIGRl bGFsbG9jL21iYWxsb2MgdGVzdCBwYXNzCmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAgICAwICBU SU5GTyAgOiAgaXNEZWxhbGxvYzogbm9kZWxhbGxvYywgaXNEaXJlY3RJTzogMSwgQmxvY2tz aXplOiAxMDI0LCBpc0F1dG9fZGFfYWxsb2M6IGF1dG9fZGFfYWxsb2M9MQpleHQ0LWRlbGFs bG9jLW1iYWxsb2MgICAgNyAgVFBBU1MgIDogIGRlbGFsbG9jL21iYWxsb2MgdGVzdCBwYXNz CmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAgICAwICBUSU5GTyAgOiAgaXNEZWxhbGxvYzogbm9k ZWxhbGxvYywgaXNEaXJlY3RJTzogMSwgQmxvY2tzaXplOiAxMDI0LCBpc0F1dG9fZGFfYWxs b2M6IG5vYXV0b19kYV9hbGxvYwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgOCAgVFBBU1Mg IDogIGRlbGFsbG9jL21iYWxsb2MgdGVzdCBwYXNzCmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAg ICAwICBUSU5GTyAgOiAgaXNEZWxhbGxvYzogZGVsYWxsb2MsIGlzRGlyZWN0SU86IDAsIEJs b2Nrc2l6ZTogNDA5NiwgaXNBdXRvX2RhX2FsbG9jOiBhdXRvX2RhX2FsbG9jPTEKZXh0NC1k ZWxhbGxvYy1tYmFsbG9jICAgIDkgIFRQQVNTICA6ICBkZWxhbGxvYy9tYmFsbG9jIHRlc3Qg cGFzcwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgMCAgVElORk8gIDogIGlzRGVsYWxsb2M6 IGRlbGFsbG9jLCBpc0RpcmVjdElPOiAwLCBCbG9ja3NpemU6IDQwOTYsIGlzQXV0b19kYV9h bGxvYzogbm9hdXRvX2RhX2FsbG9jCmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAgIDEwICBUUEFT UyAgOiAgZGVsYWxsb2MvbWJhbGxvYyB0ZXN0IHBhc3MKZXh0NC1kZWxhbGxvYy1tYmFsbG9j ICAgIDAgIFRJTkZPICA6ICBpc0RlbGFsbG9jOiBub2RlbGFsbG9jLCBpc0RpcmVjdElPOiAw LCBCbG9ja3NpemU6IDQwOTYsIGlzQXV0b19kYV9hbGxvYzogYXV0b19kYV9hbGxvYz0xCmV4 dDQtZGVsYWxsb2MtbWJhbGxvYyAgIDExICBUUEFTUyAgOiAgZGVsYWxsb2MvbWJhbGxvYyB0 ZXN0IHBhc3MKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAgIDAgIFRJTkZPICA6ICBpc0RlbGFs bG9jOiBub2RlbGFsbG9jLCBpc0RpcmVjdElPOiAwLCBCbG9ja3NpemU6IDQwOTYsIGlzQXV0 b19kYV9hbGxvYzogbm9hdXRvX2RhX2FsbG9jCmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAgIDEy ICBUUEFTUyAgOiAgZGVsYWxsb2MvbWJhbGxvYyB0ZXN0IHBhc3MKZXh0NC1kZWxhbGxvYy1t YmFsbG9jICAgIDAgIFRJTkZPICA6ICBpc0RlbGFsbG9jOiBkZWxhbGxvYywgaXNEaXJlY3RJ TzogMSwgQmxvY2tzaXplOiA0MDk2LCBpc0F1dG9fZGFfYWxsb2M6IGF1dG9fZGFfYWxsb2M9 MQpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAxMyAgVFBBU1MgIDogIGRlbGFsbG9jL21iYWxs b2MgdGVzdCBwYXNzCmV4dDQtZGVsYWxsb2MtbWJhbGxvYyAgICAwICBUSU5GTyAgOiAgaXNE ZWxhbGxvYzogZGVsYWxsb2MsIGlzRGlyZWN0SU86IDEsIEJsb2Nrc2l6ZTogNDA5NiwgaXNB dXRvX2RhX2FsbG9jOiBub2F1dG9fZGFfYWxsb2MKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAg MTQgIFRQQVNTICA6ICBkZWxhbGxvYy9tYmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRlbGFsbG9j LW1iYWxsb2MgICAgMCAgVElORk8gIDogIGlzRGVsYWxsb2M6IG5vZGVsYWxsb2MsIGlzRGly ZWN0SU86IDEsIEJsb2Nrc2l6ZTogNDA5NiwgaXNBdXRvX2RhX2FsbG9jOiBhdXRvX2RhX2Fs bG9jPTEKZXh0NC1kZWxhbGxvYy1tYmFsbG9jICAgMTUgIFRQQVNTICA6ICBkZWxhbGxvYy9t YmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRlbGFsbG9jLW1iYWxsb2MgICAgMCAgVElORk8gIDog IGlzRGVsYWxsb2M6IG5vZGVsYWxsb2MsIGlzRGlyZWN0SU86IDEsIEJsb2Nrc2l6ZTogNDA5 NiwgaXNBdXRvX2RhX2FsbG9jOiBub2F1dG9fZGFfYWxsb2MKZXh0NC1kZWxhbGxvYy1tYmFs bG9jICAgMTYgIFRQQVNTICA6ICBkZWxhbGxvYy9tYmFsbG9jIHRlc3QgcGFzcwpleHQ0LWRl bGFsbG9jLW1iYWxsb2MgICAxNyAgVFBBU1MgIDogIHJlbW91bnQgdGVzdCBwYXNzCiAKRXh0 NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJ TkZPICA6ICBqb3VybmFsIG1vZGU6IHdyaXRlYmFjaywgY29tbWl0IGludGVydmFsOiAxLCAK ZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDEgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hl Y2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAg am91cm5hbCBtb2RlOiBvcmRlcmVkLCBjb21taXQgaW50ZXJ2YWw6IDEsIApleHQ0LWpvdXJu YWwtY2hlY2tzdW0gICAgMiAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0 IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1v ZGU6IGpvdXJuYWwsIGNvbW1pdCBpbnRlcnZhbDogMSwgCmV4dDQtam91cm5hbC1jaGVja3N1 bSAgICAzICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0 LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogd3JpdGVi YWNrLCBjb21taXQgaW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICA0 ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJu YWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogb3JkZXJlZCwgY29t bWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgNSAgVFBBU1Mg IDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNr c3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IGpvdXJuYWwsIGNvbW1pdCBpbnRl cnZhbDogMTAwLCAKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDYgIFRQQVNTICA6ICBleHQ0 IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAw ICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiB3cml0ZWJhY2ssIGNvbW1pdCBpbnRlcnZhbDog MSwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICA3ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFs IGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8g IDogIGpvdXJuYWwgbW9kZTogb3JkZXJlZCwgY29tbWl0IGludGVydmFsOiAxLCAKZXh0NC1q b3VybmFsLWNoZWNrc3VtICAgIDggIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0g dGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5h bCBtb2RlOiBqb3VybmFsLCBjb21taXQgaW50ZXJ2YWw6IDEsIApleHQ0LWpvdXJuYWwtY2hl Y2tzdW0gICAgOSAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MK ZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IHdy aXRlYmFjaywgY29tbWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0g ICAxMCAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1q b3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IG9yZGVyZWQs IGNvbW1pdCBpbnRlcnZhbDogMTAwLCAKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgMTEgIFRQ QVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1j aGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiBqb3VybmFsLCBjb21taXQg aW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgIDEyICBUUEFTUyAgOiAg ZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0g ICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogd3JpdGViYWNrLCBjb21taXQgaW50ZXJ2 YWw6IDEsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAxMyAgVFBBU1MgIDogIGV4dDQgam91 cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJ TkZPICA6ICBqb3VybmFsIG1vZGU6IG9yZGVyZWQsIGNvbW1pdCBpbnRlcnZhbDogMSwgCmV4 dDQtam91cm5hbC1jaGVja3N1bSAgIDE0ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNr c3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpv dXJuYWwgbW9kZTogam91cm5hbCwgY29tbWl0IGludGVydmFsOiAxLCAKZXh0NC1qb3VybmFs LWNoZWNrc3VtICAgMTUgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBw YXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5hbCBtb2Rl OiB3cml0ZWJhY2ssIGNvbW1pdCBpbnRlcnZhbDogMTAwLCAKZXh0NC1qb3VybmFsLWNoZWNr c3VtICAgMTYgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4 dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiBvcmRl cmVkLCBjb21taXQgaW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgIDE3 ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJu YWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogam91cm5hbCwgY29t bWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAxOCAgVFBBU1Mg IDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNr c3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IHdyaXRlYmFjaywgY29tbWl0IGlu dGVydmFsOiAxLCAKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgMTkgIFRQQVNTICA6ICBleHQ0 IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAw ICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiBvcmRlcmVkLCBjb21taXQgaW50ZXJ2YWw6IDEs IApleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAyMCAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBj aGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6 ICBqb3VybmFsIG1vZGU6IGpvdXJuYWwsIGNvbW1pdCBpbnRlcnZhbDogMSwgCmV4dDQtam91 cm5hbC1jaGVja3N1bSAgIDIxICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRl c3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwg bW9kZTogd3JpdGViYWNrLCBjb21taXQgaW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1j aGVja3N1bSAgIDIyICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFz cwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTog b3JkZXJlZCwgY29tbWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0g ICAyMyAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1q b3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IGpvdXJuYWws IGNvbW1pdCBpbnRlcnZhbDogMTAwLCAKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgMjQgIFRQ QVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1j aGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiB3cml0ZWJhY2ssIGNvbW1p dCBpbnRlcnZhbDogMSwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgIDI1ICBUUEFTUyAgOiAg ZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0g ICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogb3JkZXJlZCwgY29tbWl0IGludGVydmFs OiAxLCAKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgMjYgIFRQQVNTICA6ICBleHQ0IGpvdXJu YWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5G TyAgOiAgam91cm5hbCBtb2RlOiBqb3VybmFsLCBjb21taXQgaW50ZXJ2YWw6IDEsIApleHQ0 LWpvdXJuYWwtY2hlY2tzdW0gICAyNyAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1 bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3Vy bmFsIG1vZGU6IHdyaXRlYmFjaywgY29tbWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJu YWwtY2hlY2tzdW0gICAyOCAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0 IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1v ZGU6IG9yZGVyZWQsIGNvbW1pdCBpbnRlcnZhbDogMTAwLCAKZXh0NC1qb3VybmFsLWNoZWNr c3VtICAgMjkgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0gdGVzdCBwYXNzCmV4 dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5hbCBtb2RlOiBqb3Vy bmFsLCBjb21taXQgaW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgIDMw ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJu YWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTogd3JpdGViYWNrLCBj b21taXQgaW50ZXJ2YWw6IDEsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAzMSAgVFBBU1Mg IDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKZXh0NC1qb3VybmFsLWNoZWNr c3VtICAgIDAgIFRJTkZPICA6ICBqb3VybmFsIG1vZGU6IG9yZGVyZWQsIGNvbW1pdCBpbnRl cnZhbDogMSwgCmV4dDQtam91cm5hbC1jaGVja3N1bSAgIDMyICBUUEFTUyAgOiAgZXh0NCBq b3VybmFsIGNoZWNrc3VtIHRlc3QgcGFzcwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAg VElORk8gIDogIGpvdXJuYWwgbW9kZTogam91cm5hbCwgY29tbWl0IGludGVydmFsOiAxLCAK ZXh0NC1qb3VybmFsLWNoZWNrc3VtICAgMzMgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hl Y2tzdW0gdGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAg am91cm5hbCBtb2RlOiB3cml0ZWJhY2ssIGNvbW1pdCBpbnRlcnZhbDogMTAwLCAKZXh0NC1q b3VybmFsLWNoZWNrc3VtICAgMzQgIFRQQVNTICA6ICBleHQ0IGpvdXJuYWwgY2hlY2tzdW0g dGVzdCBwYXNzCmV4dDQtam91cm5hbC1jaGVja3N1bSAgICAwICBUSU5GTyAgOiAgam91cm5h bCBtb2RlOiBvcmRlcmVkLCBjb21taXQgaW50ZXJ2YWw6IDEwMCwgCmV4dDQtam91cm5hbC1j aGVja3N1bSAgIDM1ICBUUEFTUyAgOiAgZXh0NCBqb3VybmFsIGNoZWNrc3VtIHRlc3QgcGFz cwpleHQ0LWpvdXJuYWwtY2hlY2tzdW0gICAgMCAgVElORk8gIDogIGpvdXJuYWwgbW9kZTog am91cm5hbCwgY29tbWl0IGludGVydmFsOiAxMDAsIApleHQ0LWpvdXJuYWwtY2hlY2tzdW0g ICAzNiAgVFBBU1MgIDogIGV4dDQgam91cm5hbCBjaGVja3N1bSB0ZXN0IHBhc3MKIApFeHQ0 IHN1YmRpciBsaW1pdCB0ZXN0CmV4dDQtc3ViZGlyLWxpbWl0ICAgIDAgIFRJTkZPICA6ICBO dW0gb2YgZGlycyB0byBjcmVhdGU6IDY1NTM3LCBEaXIgbmFtZSBsZW46IHNob3J0IG5hbWUs IApleHQ0LXN1YmRpci1saW1pdCAgICAxICBUUEFTUyAgOiAgZXh0NCBzdWJkaXIgbGltaXQg dGVzdCBwYXNzCmV4dDQtc3ViZGlyLWxpbWl0ICAgIDAgIFRJTkZPICA6ICBOdW0gb2YgZGly cyB0byBjcmVhdGU6IDY1NTM3LCBEaXIgbmFtZSBsZW46IHNob3J0IG5hbWUsIApleHQ0LXN1 YmRpci1saW1pdCAgICAyICBUUEFTUyAgOiAgZXh0NCBzdWJkaXIgbGltaXQgdGVzdCBwYXNz CmV4dDQtc3ViZGlyLWxpbWl0ICAgIDAgIFRJTkZPICA6ICBOdW0gb2YgZGlycyB0byBjcmVh dGU6IDY1NTM3LCBEaXIgbmFtZSBsZW46IHNob3J0IG5hbWUsIApleHQ0LXN1YmRpci1saW1p dCAgICAzICBUUEFTUyAgOiAgZXh0NCBzdWJkaXIgbGltaXQgdGVzdCBwYXNzCmV4dDQtc3Vi ZGlyLWxpbWl0ICAgIDAgIFRJTkZPICA6ICBOdW0gb2YgZGlycyB0byBjcmVhdGU6IDY1NTM3 LCBEaXIgbmFtZSBsZW46IGxvbmcgbmFtZSwgCmV4dDQtc3ViZGlyLWxpbWl0ICAgIDQgIFRQ QVNTICA6ICBleHQ0IHN1YmRpciBsaW1pdCB0ZXN0IHBhc3MKZXh0NC1zdWJkaXItbGltaXQg ICAgMCAgVElORk8gIDogIE51bSBvZiBkaXJzIHRvIGNyZWF0ZTogNjU1MzcsIERpciBuYW1l IGxlbjogc2hvcnQgbmFtZSwgCmV4dDQtc3ViZGlyLWxpbWl0ICAgIDUgIFRQQVNTICA6ICBl eHQ0IHN1YmRpciBsaW1pdCB0ZXN0IHBhc3MKZXh0NC1zdWJkaXItbGltaXQgICAgMCAgVElO Rk8gIDogIE51bSBvZiBkaXJzIHRvIGNyZWF0ZTogNjU1MzcsIERpciBuYW1lIGxlbjogbG9u ZyBuYW1lLCAKZXh0NC1zdWJkaXItbGltaXQgICAgNiAgVFBBU1MgIDogIGV4dDQgc3ViZGly IGxpbWl0IHRlc3QgcGFzcwpleHQ0LXN1YmRpci1saW1pdCAgICAwICBUSU5GTyAgOiAgTnVt IG9mIGRpcnMgdG8gY3JlYXRlOiA2NTUzNywgRGlyIG5hbWUgbGVuOiBzaG9ydCBuYW1lLCAK ZXh0NC1zdWJkaXItbGltaXQgICAgNyAgVFBBU1MgIDogIGV4dDQgc3ViZGlyIGxpbWl0IHRl c3QgcGFzcwpleHQ0LXN1YmRpci1saW1pdCAgICAwICBUSU5GTyAgOiAgTnVtIG9mIGRpcnMg dG8gY3JlYXRlOiA2NTUzNywgRGlyIG5hbWUgbGVuOiBsb25nIG5hbWUsIApleHQ0LXN1YmRp ci1saW1pdCAgICA4ICBUUEFTUyAgOiAgZXh0NCBzdWJkaXIgbGltaXQgdGVzdCBwYXNzCmV4 dDQtc3ViZGlyLWxpbWl0ICAgIDAgIFRJTkZPICA6ICBOdW0gb2YgZGlycyB0byBjcmVhdGU6 IDY1NTM3LCBEaXIgbmFtZSBsZW46IHNob3J0IG5hbWUsIApleHQ0LXN1YmRpci1saW1pdCAg ICA5ICBUUEFTUyAgOiAgZXh0NCBzdWJkaXIgbGltaXQgdGVzdCBwYXNzCmV4dDQtc3ViZGly LWxpbWl0ICAgIDAgIFRJTkZPICA6ICBOdW0gb2YgZGlycyB0byBjcmVhdGU6IDY1NTM3LCBE aXIgbmFtZSBsZW46IGxvbmcgbmFtZSwgCmV4dDQtc3ViZGlyLWxpbWl0ICAgMTAgIFRQQVNT ICA6ICBleHQ0IHN1YmRpciBsaW1pdCB0ZXN0IHBhc3MKIApFeHQ0IG5hbm9zZWNvbmQgdGlt ZXN0YW1wIHRlc3QKZXh0NC1uc2VjLXRpbWVzdGFtcHMgICAgMCAgVElORk8gIDogIFRlc3Qg dGltZXN0YW1wcyB3aXRoIDEyOCBpbm9kZSBzaXplCmV4dDQtbnNlYy10aW1lc3RhbXBzICAg IDEgIFRQQVNTICA6ICBFeHQ0IG5hbm9zZWNvbmQgdGltZXN0YW1wcyB0ZXN0IHdpdGggMTI4 IGlub2RlIHNpemUgcGFzcwpleHQ0LW5zZWMtdGltZXN0YW1wcyAgICAwICBUSU5GTyAgOiAg VGVzdCB0aW1lc3RhbXBzIHdpdGggMjU2IGlub2RlIHNpemUKZXh0NC1uc2VjLXRpbWVzdGFt cHMgICAgMiAgVFBBU1MgIDogIEV4dDQgbmFub3NlY29uZCB0aW1lc3RhbXBzIHRlc3Qgd2l0 aCAyNTYgaW5vZGUgc2l6ZSBwYXNzCiAKRXh0NCBwZXJzaXN0IHByZWFsbG9jIHRlc3QKZXh0 NC1wZXJzaXN0ZW50LXByZWFsbG9jYXRpb24gICAgMSAgVFBBU1MgIDogIGV4dDQgcGVyc2lz dGVudCBwcmVhbGxvY2F0aW9uIHRlc3QgcGFzcwpleHQ0LXBlcnNpc3RlbnQtcHJlYWxsb2Nh dGlvbiAgICAyICBUUEFTUyAgOiAgZXh0NCBwZXJzaXN0ZW50IHByZWFsbG9jYXRpb24gdGVz dCBwYXNzCiAKRXh0NCBpbm9kZSB2ZXJzaW9uIHRlc3QKZXh0NC1pbm9kZS12ZXJzaW9uICAg IDAgIFRJTkZPICA6ICBUZXN0IGlub2RlIHZlcnNpb24gaXMgMzIgYml0cyB3aXRoIDEyOCBp bm9kZSBzaXplCmV4dDQtaW5vZGUtdmVyc2lvbiAgICAxICBUUEFTUyAgOiAgMzIgYml0cyBp bm9kZSB2ZXJzaW9uIHdpdGggMTI4IGlub2RlIHNpemUgdGVzdCBwYXNzCmV4dDQtaW5vZGUt dmVyc2lvbiAgICAyICBUUEFTUyAgOiAgaW5vZGUgdmVyc2lvbiB3aXRoIDI1NiBpbm9kZSBz aXplIHRlc3QgcGFzcwpleHQ0LWlub2RlLXZlcnNpb24gICAgMyAgVFBBU1MgIDogIGlub2Rl IHZlcnNpb24gd2l0aCAyNTYgaW5vZGUgc2l6ZSB0ZXN0IHBhc3MKZXh0NC1pbm9kZS12ZXJz aW9uICAgIDQgIFRQQVNTICA6ICBpbm9kZSB2ZXJzaW9uIHdpdGggMjU2IGlub2RlIHNpemUg dGVzdCBwYXNzCmV4dDQtaW5vZGUtdmVyc2lvbiAgICA1ICBUUEFTUyAgOiAgaW5vZGUgdmVy c2lvbiB3aXRoIDI1NiBpbm9kZSBzaXplIHRlc3QgcGFzcwpleHQ0LWlub2RlLXZlcnNpb24g ICAgNiAgVFBBU1MgIDogIGlub2RlIHZlcnNpb24gd2l0aCAyNTYgaW5vZGUgc2l6ZSB0ZXN0 IHBhc3MKZXh0NC1pbm9kZS12ZXJzaW9uICAgIDcgIFRQQVNTICA6ICBpbm9kZSB2ZXJzaW9u IHdpdGggMjU2IGlub2RlIHNpemUgdGVzdCBwYXNzCmV4dDQtaW5vZGUtdmVyc2lvbiAgICA4 ICBUUEFTUyAgOiAgaW5vZGUgdmVyc2lvbiB3aXRoIDI1NiBpbm9kZSBzaXplIHRlc3QgcGFz cwogCkV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0CmV4dDQtdW5pbml0LWdyb3VwcyAgICAxICBU UEFTUyAgOiAgZXh0NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5pdC1ncm91 cHMgICAgMiAgVFBBU1MgIDogIGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MKZXh0NC11 bmluaXQtZ3JvdXBzICAgIDMgIFRQQVNTICA6ICBleHQ0IHVuaW5pdCBncm91cHMgdGVzdCBw YXNzCmV4dDQtdW5pbml0LWdyb3VwcyAgICA0ICBUUEFTUyAgOiAgZXh0NCB1bmluaXQgZ3Jv dXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5pdC1ncm91cHMgICAgNSAgVFBBU1MgIDogIGV4dDQg dW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MKZXh0NC11bmluaXQtZ3JvdXBzICAgIDYgIFRQQVNT ICA6ICBleHQ0IHVuaW5pdCBncm91cHMgdGVzdCBwYXNzCmV4dDQtdW5pbml0LWdyb3VwcyAg ICA3ICBUUEFTUyAgOiAgZXh0NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5p dC1ncm91cHMgICAgOCAgVFBBU1MgIDogIGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MK ZXh0NC11bmluaXQtZ3JvdXBzICAgIDkgIFRQQVNTICA6ICBleHQ0IHVuaW5pdCBncm91cHMg dGVzdCBwYXNzCmV4dDQtdW5pbml0LWdyb3VwcyAgIDEwICBUUEFTUyAgOiAgZXh0NCB1bmlu aXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5pdC1ncm91cHMgICAxMSAgVFBBU1MgIDog IGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MKZXh0NC11bmluaXQtZ3JvdXBzICAgMTIg IFRQQVNTICA6ICBleHQ0IHVuaW5pdCBncm91cHMgdGVzdCBwYXNzCmV4dDQtdW5pbml0LWdy b3VwcyAgIDEzICBUUEFTUyAgOiAgZXh0NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0 LXVuaW5pdC1ncm91cHMgICAxNCAgVFBBU1MgIDogIGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0 IHBhc3MKZXh0NC11bmluaXQtZ3JvdXBzICAgMTUgIFRQQVNTICA6ICBleHQ0IHVuaW5pdCBn cm91cHMgdGVzdCBwYXNzCmV4dDQtdW5pbml0LWdyb3VwcyAgIDE2ICBUUEFTUyAgOiAgZXh0 NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5pdC1ncm91cHMgICAxNyAgVFBB U1MgIDogIGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MKZXh0NC11bmluaXQtZ3JvdXBz ICAgMTggIFRQQVNTICA6ICBleHQ0IHVuaW5pdCBncm91cHMgdGVzdCBwYXNzCmV4dDQtdW5p bml0LWdyb3VwcyAgIDE5ICBUUEFTUyAgOiAgZXh0NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFz cwpleHQ0LXVuaW5pdC1ncm91cHMgICAyMCAgVFBBU1MgIDogIGV4dDQgdW5pbml0IGdyb3Vw cyB0ZXN0IHBhc3MKZXh0NC11bmluaXQtZ3JvdXBzICAgMjEgIFRQQVNTICA6ICBleHQ0IHVu aW5pdCBncm91cHMgdGVzdCBwYXNzCmV4dDQtdW5pbml0LWdyb3VwcyAgIDIyICBUUEFTUyAg OiAgZXh0NCB1bmluaXQgZ3JvdXBzIHRlc3QgcGFzcwpleHQ0LXVuaW5pdC1ncm91cHMgICAy MyAgVFBBU1MgIDogIGV4dDQgdW5pbml0IGdyb3VwcyB0ZXN0IHBhc3MKZXh0NC11bmluaXQt Z3JvdXBzICAgMjQgIFRQQVNTICA6ICBleHQ0IHVuaW5pdCBncm91cHMgdGVzdCBwYXNzCiAK RXh0NCBvbmxpbmUgZGVmcmFnIHRlc3QKVGhlIG91dHB1dCBvZiBkZWZyYWcgcHJvZ3JhbSBp cyBpbiB0aGUgZmlsZSBMVFBST09UL291dHB1dC9leHQ0X29ubGluZV9kZWZyYWcudHh0CmV4 dDQtb25saW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6IDEsIGRlZnJh ZyBvYmo6IDEsIGJsb2NrIHNpemU6IDEwMjQKZXh0NC1vbmxpbmUtZGVmcmFnICAgIDEgIFRQ QVNTICA6ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVzdCBwYXNzCmV4dDQtb25saW5lLWRlZnJh ZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6IDEsIGRlZnJhZyBvYmo6IDIsIGJsb2Nr IHNpemU6IDEwMjQKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9kYXRhMCIK CUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50 X3BvaW50L2RhdGEwL2RhdGFkaXIwIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCmV4dDQt b25saW5lLWRlZnJhZyAgICAyICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRlc3Qg cGFzcwpleHQ0LW9ubGluZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBlOiAx LCBkZWZyYWcgb2JqOiAzLCBibG9jayBzaXplOiAxMDI0CmV4dDQtb25saW5lLWRlZnJhZyAg ICAzICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRlc3QgcGFzcwpleHQ0LW9ubGlu ZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBlOiAyLCBkZWZyYWcgb2JqOiAx LCBibG9jayBzaXplOiAxMDI0CiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQv dG1wX2RpciIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQpleHQ0LW9ubGluZS1kZWZyYWcg ICAgNCAgVFBBU1MgIDogIGV4dDQgb25saW5lIGRlZnJhZyB0ZXN0IHBhc3MKZXh0NC1vbmxp bmUtZGVmcmFnICAgIDAgIFRJTkZPICA6ICBkZWZyYWcgdHlwZTogMiwgZGVmcmFnIG9iajog MiwgYmxvY2sgc2l6ZTogMTAyNAogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50 L2RhdGEwIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCiAiL29wdC9sdHAvdGVzdGNhc2Vz L2Jpbi9tbnRfcG9pbnQvZGF0YTAvZGF0YWRpcjAiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZp bGUKZXh0NC1vbmxpbmUtZGVmcmFnICAgIDUgIFRQQVNTICA6ICBleHQ0IG9ubGluZSBkZWZy YWcgdGVzdCBwYXNzCmV4dDQtb25saW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFn IHR5cGU6IDIsIGRlZnJhZyBvYmo6IDMsIGJsb2NrIHNpemU6IDEwMjQKICIvb3B0L2x0cC90 ZXN0Y2FzZXMvYmluL21udF9wb2ludC90bXBfZGlyIgoJRmlsZSBpcyBub3QgcmVndWxhciBm aWxlCmV4dDQtb25saW5lLWRlZnJhZyAgICA2ICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVm cmFnIHRlc3QgcGFzcwpleHQ0LW9ubGluZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJh ZyB0eXBlOiAzLCBkZWZyYWcgb2JqOiAxLCBibG9jayBzaXplOiAxMDI0CiAiL29wdC9sdHAv dGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKZXh0 NC1vbmxpbmUtZGVmcmFnICAgIDcgIFRQQVNTICA6ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVz dCBwYXNzCmV4dDQtb25saW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6 IDMsIGRlZnJhZyBvYmo6IDIsIGJsb2NrIHNpemU6IDEwMjQKICIvb3B0L2x0cC90ZXN0Y2Fz ZXMvYmluL21udF9wb2ludCIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRw L3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50L2RhdGEyIgoJRmlsZSBpcyBub3QgcmVndWxhciBm aWxlCiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTIvZGF0YWRpcjAi CglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21u dF9wb2ludC9kYXRhMCIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rl c3RjYXNlcy9iaW4vbW50X3BvaW50L2RhdGEwL2RhdGFkaXIwIgoJRmlsZSBpcyBub3QgcmVn dWxhciBmaWxlCiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvbWV0YSIKCUZp bGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3Bv aW50L2RhdGEzIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCiAiL29wdC9sdHAvdGVzdGNh c2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTMvZGF0YWRpcjAiCglGaWxlIGlzIG5vdCByZWd1bGFy IGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9kYXRhNCIKCUZpbGUg aXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50 L2RhdGE0L2ZpbGxmaWxlMTY5OSIKCUZpbGUgc2l6ZSBpcyAwCiAiL29wdC9sdHAvdGVzdGNh c2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTQvZGF0YWRpcjAiCglGaWxlIGlzIG5vdCByZWd1bGFy IGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9kYXRhMSIKCUZpbGUg aXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50 L2RhdGExL2RhdGFkaXIwIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCmV4dDQtb25saW5l LWRlZnJhZyAgICA4ICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRlc3QgcGFzcwpl eHQ0LW9ubGluZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBlOiAzLCBkZWZy YWcgb2JqOiAzLCBibG9jayBzaXplOiAxMDI0CiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9t bnRfcG9pbnQiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKZXh0NC1vbmxpbmUtZGVmcmFn ICAgIDkgIFRQQVNTICA6ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVzdCBwYXNzCmV4dDQtb25s aW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6IDEsIGRlZnJhZyBvYmo6 IDEsIGJsb2NrIHNpemU6IDQwOTYKZXh0NC1vbmxpbmUtZGVmcmFnICAgMTAgIFRQQVNTICA6 ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVzdCBwYXNzCmV4dDQtb25saW5lLWRlZnJhZyAgICAw ICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6IDEsIGRlZnJhZyBvYmo6IDIsIGJsb2NrIHNpemU6 IDQwOTYKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9kYXRhMCIKCUZpbGUg aXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50 L2RhdGEwL2RhdGFkaXIwIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCmV4dDQtb25saW5l LWRlZnJhZyAgIDExICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRlc3QgcGFzcwpl eHQ0LW9ubGluZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBlOiAxLCBkZWZy YWcgb2JqOiAzLCBibG9jayBzaXplOiA0MDk2CmV4dDQtb25saW5lLWRlZnJhZyAgIDEyICBU UEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRlc3QgcGFzcwpleHQ0LW9ubGluZS1kZWZy YWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBlOiAyLCBkZWZyYWcgb2JqOiAxLCBibG9j ayBzaXplOiA0MDk2CiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvdG1wX2Rp ciIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQpleHQ0LW9ubGluZS1kZWZyYWcgICAxMyAg VFBBU1MgIDogIGV4dDQgb25saW5lIGRlZnJhZyB0ZXN0IHBhc3MKZXh0NC1vbmxpbmUtZGVm cmFnICAgIDAgIFRJTkZPICA6ICBkZWZyYWcgdHlwZTogMiwgZGVmcmFnIG9iajogMiwgYmxv Y2sgc2l6ZTogNDA5NgogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50L2RhdGEw IgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9t bnRfcG9pbnQvZGF0YTAvZGF0YWRpcjAiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKZXh0 NC1vbmxpbmUtZGVmcmFnICAgMTQgIFRQQVNTICA6ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVz dCBwYXNzCmV4dDQtb25saW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6 IDIsIGRlZnJhZyBvYmo6IDMsIGJsb2NrIHNpemU6IDQwOTYKICIvb3B0L2x0cC90ZXN0Y2Fz ZXMvYmluL21udF9wb2ludC90bXBfZGlyIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCmV4 dDQtb25saW5lLWRlZnJhZyAgIDE1ICBUUEFTUyAgOiAgZXh0NCBvbmxpbmUgZGVmcmFnIHRl c3QgcGFzcwpleHQ0LW9ubGluZS1kZWZyYWcgICAgMCAgVElORk8gIDogIGRlZnJhZyB0eXBl OiAzLCBkZWZyYWcgb2JqOiAxLCBibG9jayBzaXplOiA0MDk2CiAiL29wdC9sdHAvdGVzdGNh c2VzL2Jpbi9tbnRfcG9pbnQiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKZXh0NC1vbmxp bmUtZGVmcmFnICAgMTYgIFRQQVNTICA6ICBleHQ0IG9ubGluZSBkZWZyYWcgdGVzdCBwYXNz CmV4dDQtb25saW5lLWRlZnJhZyAgICAwICBUSU5GTyAgOiAgZGVmcmFnIHR5cGU6IDMsIGRl ZnJhZyBvYmo6IDIsIGJsb2NrIHNpemU6IDQwOTYKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmlu L21udF9wb2ludCIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3Rj YXNlcy9iaW4vbW50X3BvaW50L2RhdGExIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCiAi L29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTEvZGF0YWRpcjAiCglGaWxl IGlzIG5vdCByZWd1bGFyIGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2lu dC9kYXRhMCIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rlc3RjYXNl cy9iaW4vbW50X3BvaW50L2RhdGEwL2RhdGFkaXIwIgoJRmlsZSBpcyBub3QgcmVndWxhciBm aWxlCiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTIiCglGaWxlIGlz IG5vdCByZWd1bGFyIGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9k YXRhMi9kYXRhZGlyMCIKCUZpbGUgaXMgbm90IHJlZ3VsYXIgZmlsZQogIi9vcHQvbHRwL3Rl c3RjYXNlcy9iaW4vbW50X3BvaW50L2RhdGEzIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxl CiAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTMvZGF0YWRpcjAiCglG aWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKICIvb3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9w b2ludC9tZXRhIgoJRmlsZSBpcyBub3QgcmVndWxhciBmaWxlCiAiL29wdC9sdHAvdGVzdGNh c2VzL2Jpbi9tbnRfcG9pbnQvZGF0YTQiCglGaWxlIGlzIG5vdCByZWd1bGFyIGZpbGUKICIv b3B0L2x0cC90ZXN0Y2FzZXMvYmluL21udF9wb2ludC9kYXRhNC9kYXRhZGlyMCIKCUZpbGUg aXMgbm90IHJlZ3VsYXIgZmlsZQpleHQ0LW9ubGluZS1kZWZyYWcgICAxNyAgVFBBU1MgIDog IGV4dDQgb25saW5lIGRlZnJhZyB0ZXN0IHBhc3MKZXh0NC1vbmxpbmUtZGVmcmFnICAgIDAg IFRJTkZPICA6ICBkZWZyYWcgdHlwZTogMywgZGVmcmFnIG9iajogMywgYmxvY2sgc2l6ZTog NDA5NgogIi9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbW50X3BvaW50IgoJRmlsZSBpcyBub3Qg cmVndWxhciBmaWxlCmV4dDQtb25saW5lLWRlZnJhZyAgIDE4ICBUUEFTUyAgOiAgZXh0NCBv bmxpbmUgZGVmcmFnIHRlc3QgcGFzcwppbmNyZW1lbnRpbmcgc3RvcAo8PDxleGVjdXRpb25f c3RhdHVzPj4+CmluaXRpYXRpb25fc3RhdHVzPSJvayIKZHVyYXRpb249Mzk2MTcgdGVybWlu YXRpb25fdHlwZT1leGl0ZWQgdGVybWluYXRpb25faWQ9MCBjb3JlZmlsZT1ubwpjdXRpbWU9 MTI2NzEgY3N0aW1lPTE5OTY0Mgo8PDx0ZXN0X2VuZD4+PgpJTkZPOiBsdHAtcGFuIHJlcG9y dGVkIGFsbCB0ZXN0cyBQQVNTCkxUUCBWZXJzaW9uOiBMVFAtMjAwOTEwMzEKICAgICAgICAK ICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyIKICAgICAgICAKICAgICAgICAgICAgRG9uZSBleGVjdXRpbmcg dGVzdGNhc2VzLiIKICAgICAgICAgICAgTFRQIFZlcnNpb246ICBMVFAtMjAwOTEwMzEKICAg ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyIKICAgICAgIAo= --------------090604050300050405070609 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july --------------090604050300050405070609 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list --------------090604050300050405070609--