summaryrefslogtreecommitdiff
authorSam Wu <yihui.wu@amlogic.com>2017-06-06 07:38:28 (GMT)
committer Sam Wu <yihui.wu@amlogic.com>2017-06-06 07:38:28 (GMT)
commitf61ae3027b3bf5f0325ded0f98ce0aef1a25c7d1 (patch)
treea169a9e419a703376b79602c1f7b610fa29bb7f9
parent9d17c6848856a0d930c01a961a5f80f8a579fd52 (diff)
downloadtools-f61ae3027b3bf5f0325ded0f98ce0aef1a25c7d1.zip
tools-f61ae3027b3bf5f0325ded0f98ce0aef1a25c7d1.tar.gz
tools-f61ae3027b3bf5f0325ded0f98ce0aef1a25c7d1.tar.bz2
PD#144029: [Factory] Makefile support generate emmc mirror
1, support target 'aml_emmc_bin', executable 'amlogic_emmc_bin_maker.sh and dtb_pc' are tools to gen emmc mirror. Change-Id: I3ebba24c2822d403fda42f0a1157c321f0b71613
Diffstat
-rwxr-xr-xaml_upgrade/amlogic_emmc_bin_maker.sh184
-rwxr-xr-xaml_upgrade/dtb_pc2957
2 files changed, 3141 insertions, 0 deletions
diff --git a/aml_upgrade/amlogic_emmc_bin_maker.sh b/aml_upgrade/amlogic_emmc_bin_maker.sh
new file mode 100755
index 0000000..2f6462d
--- a/dev/null
+++ b/aml_upgrade/amlogic_emmc_bin_maker.sh
@@ -0,0 +1,184 @@
+#!/bin/sh
+
+emmc_partition_h=$1 #Header file of emmc_partition.h
+partInfoXml=$2
+AmlBurnPkg=$3
+EmmcBin=$4
+SIMG2IMG=$5
+
+shellDir=$(cd `dirname $0`; pwd)
+DTB_PC=${shellDir}/dtb_pc
+UNPACKIMG=${shellDir}/aml_image_v2_packer
+unpackDir=`cd $(mktemp -d); pwd`
+
+
+if [ 4 -gt $# ]; then
+ echo "Usage:[$0] emmc_partition_h partInfoXml AmlBurnPkg EmmcBin"
+ exit 1
+fi
+if [ ! -f $partInfoXml ]; then
+ echo "partInfoXml($partInfoXml) not existed!"
+ exit 1
+fi
+if [ ! -f $AmlBurnPkg ]; then
+ echo "AmlBurnPkg($AmlBurnPkg) not existed!"
+ exit 1
+fi
+
+for tool in $(echo $SIMG2IMG $UNPACKIMG $DTB_PC); do
+ if [ ! -f $tool ]; then
+ echo "tool[$tool] not existed\n"
+ exit 1
+ fi
+done
+
+rm -rf $unpackDir/*
+if [ ! -d $unpackDir ]; then
+ mkdir $unpackDir
+fi
+
+echo "To unpack AmlBurnPkg($AmlBurnPkg)"
+$UNPACKIMG -d $AmlBurnPkg $unpackDir
+if [ $? -ne 0 ]; then
+ echo "fail in UNPACKIMG"
+ exit $?
+fi
+rm -f $EmmcBin
+
+SZ_1M=1024*1024
+tmpPartsSz=""
+szMacroDef="MMC_BOOT_DEVICE_SIZE MMC_RESERVED_SIZE MMC_ENV_SIZE MMC_KEY_SIZE MMC_BOOT_PARTITION_RESERVED PARTITION_RESERVED"
+for definedSz in $(echo $szMacroDef); do
+ tmp=`sed -n "/#define[ \t]\+${definedSz}/p" ${emmc_partition_h}`
+ if [ -z "$tmp" ]; then
+ printf "Val(%s) undefined, pls check emmc_partition_h(%s)\n" $definedSz $emmc_partition_h
+ exit 1
+ fi
+ tmp=`echo $tmp | sed "s/SZ_1M/${SZ_1M}/" | awk -F[\(\)] '{print $2}'`
+ printf "%s is %s," $definedSz $tmp
+ tmp=$(($tmp))
+ printf "(0x%x)\n" $tmp
+ tmpPartsSz="${tmpPartsSz},${tmp}"
+done
+echo tmpPartsSz is [${tmpPartsSz}]
+PART_SZ_bootloader=`echo $tmpPartsSz | awk -F, '{print $2}'`
+PART_SZ_reserved=`echo $tmpPartsSz | awk -F, '{print $3}'`
+PART_SZ_env=`echo $tmpPartsSz | awk -F, '{print $4}'`
+PART_SZ_unifykey=`echo $tmpPartsSz | awk -F, '{print $5}'`
+GAP_SZ_bootloader=`echo $tmpPartsSz | awk -F, '{print $6}'`
+GAP_SZ_logic=`echo $tmpPartsSz | awk -F, '{print $7}'`
+
+#Add one sector for bootloader
+bootloader="$unpackDir/bootloader.PARTITION"
+if [ ! -f $bootloader ]; then
+ echo "bootloader(${bootloader}) NOT existed"
+ exit 1
+fi
+dd if=$bootloader of=${bootloader}.sdd seek=1 bs=512
+mv ${bootloader}.sdd $bootloader
+
+#dtb.img change to 512k
+dtbPart=${unpackDir}/_aml_dtb.PARTITION
+
+if [ ! -f ${dtbPart} ]; then
+ dtbSrc=${unpackDir}/meson1.dtb
+else
+ mv ${dtbPart} ${dtbPart}.tmp
+ dtbSrc=${dtbPart}.tmp
+fi
+if [ ! -f ${dtbSrc} ]; then
+ echo "dtbSrc ${dtbSrc} not existed"
+ exit 1
+fi
+$DTB_PC ${dtbSrc} ${dtbPart}
+
+#Move line of Partition cache to line1
+sed -n "/cache/ s/^\(<Part PartitionName=\"\)cache\(.*\)/&\n\1env\2/p" $partInfoXml \
+ | cat - $partInfoXml | \
+ awk '{if (data[$0]++ == 0) lines[++count] = $0} END{for (i = 1; i <= count; i++) print lines[i]}' | \
+ #update for each Logic partition \
+ awk --non-decimal-data -F[=\"] 'BEGIN {\
+ partOffset = 0; \
+ print 0 "," "bootloader" "," "raw" "," '$PART_SZ_bootloader'/2 "," partOffset;\
+ partOffset += '$PART_SZ_bootloader' + '$GAP_SZ_bootloader'; \
+ print 0 "," "unifykey" "," "raw" "," '$PART_SZ_unifykey' "," partOffset; \
+ part_sz_dtb = 512 * 1024; gapSzLogic = '$GAP_SZ_logic';\
+ print 0 "," "_aml_dtb" "," "raw" "," part_sz_dtb "," partOffset + 4 * 1024 * 1024; \
+ partOffset += '$PART_SZ_reserved' + gapSzLogic; \
+ } \
+ /^<Part /{thisPart = $3; fsType = $6; partCap = $9;\
+ if(thisPart == "env") thisPartSz = '$PART_SZ_env'; else thisPartSz = partCap;\
+ print NR "," thisPart "," fsType "," thisPartSz, "," partOffset; \
+ partOffset += thisPartSz + gapSzLogic};' \
+| while read line
+do
+ LineNo=`echo $line|awk -F ',' '{print $1}'`
+ partName=`echo $line|awk -F ',' '{print $2}'`
+ FileSystem=`echo $line|awk -F ',' '{print $3}'`
+ Length=`echo $line|awk -F ',' '{print $4}'`
+ Start=`echo $line|awk -F ',' '{print $5}'`
+
+ printf "\npartName=%-16s, Length=0x%09x, FileSystem=%-8s, Start=0x%09x\n" $partName $Length $FileSystem $Start
+ echo [$line]
+ burnFile=${partName}.PARTITION
+ bsUnit=1M
+
+ burnFile=$unpackDir/$burnFile
+ if [ ! -f $burnFile ]; then
+ echo "Skip Not existed item ($burnFile)!"
+ continue
+ fi
+
+ partOffsetInB=$Start
+ partOffsetInMB=$((${partOffsetInB} / 1024 / 1024))
+ partSzInB=`echo $Length | sed -n 's/^\(0x\)\?\([0-9]\+\)$/\1\2/p'`
+ if [ -z $partSzInB ]; then
+ printf "Line(%d) fmt err at Length(%s)\nPls copy length from /partitions of dts\n" $LineNo $Length
+ break 1;
+ fi
+ partSzInMB=$((${partSzInB} / 1024 / 1024))
+ printf "Cap of part(%s) is 0x%x(0x%xM)\n" $partName $partSzInB $partSzInMB
+ partSzInB=$((${partSzInB}))
+
+ if [ "$FileSystem" = "ext4" ]; then
+ echo "[EXT4] to unsparse $burnFile"
+ $SIMG2IMG $burnFile $burnFile.unsparse
+ status=$?
+ if [ $status -ne 0 ]; then
+ echo "fail in unsparse, err=$status"
+ rm $EmmcBin
+ break $status
+ fi
+ burnFile=$burnFile.unsparse
+ if [ ! -f $burnFile ]; then
+ echo "ext4 img ($burnFile) not existed"
+ rm $EmmcBin
+ break 1
+ fi
+ fi
+
+ #targetFileSz=`stat -L -c %s $burnFile`
+ targetFileSz=`du -b $burnFile | awk '{print $1}'`
+ printf "targetFileSz is %s Bytes(0x%xM)\n" $targetFileSz $(($targetFileSz/1024/1024))
+ if [ $targetFileSz -gt $partSzInB ]; then
+ echo "targetFileSz($targetFileSz) > partSz($Length)"
+ rm $EmmcBin
+ break 1;
+ fi
+
+ echo "dd if=$burnFile of=$EmmcBin bs=$bsUnit seek=$partOffsetInMB"
+ dd if=$burnFile of=$EmmcBin bs=$bsUnit seek=$partOffsetInMB
+ if [ $? -ne 0 ]; then
+ echo "fail in packing $burnFile to $EmmcBin"
+ rm $EmmcBin
+ break 1
+ fi
+done
+
+if [ ! -f $EmmcBin ]; then
+ echo "\nfail in packing $burnFile to $EmmcBin"
+ exit 1
+fi
+targetFileSz=`du -b $EmmcBin | awk '{print $1}'`
+printf "\nSuccessful to generate %s, sz 0x%x(%dM)^^\n" $EmmcBin $targetFileSz $(($targetFileSz / 1024 /1024))
+exit 0
diff --git a/aml_upgrade/dtb_pc b/aml_upgrade/dtb_pc
new file mode 100755
index 0000000..894fcfe
--- a/dev/null
+++ b/aml_upgrade/dtb_pc
@@ -0,0 +1,2957 @@
+ELF
+
+
+
+
+
+
+
+ u8}
+<.tCK$U<.EU1I)I
+ uN;us}
+ u8}
+<.tCK$U<.EU1I)I
+ uN;us}
+ k
+;Eu
+?/u
+
+,t:u @/u
+Et
+u
+9wtEEX9we[^_]
+L0
+}
+.MEMԉ
+9ZsÀ}
+~G1
+
+
+
+
+D$=D$<
+D$<1i
+Y$
+Y(
+
+PHĀu+SHBBuB
+
+J
+?
+i
+Put&
+t9uD$[Ít&
+
+*
+x;t.Z,
+JZZ J,J$Z$J ȉB1[^Í&
+J,Z,Z r JZ$Ít&
+N
+
+
+
+]
+
+AW
+tD$CD$CD$ CD$V D$G $
+uދT$L
+}P
+]F
+$ V 
+9|$<
+Hn<`
+|$L\$x|$`\$L|$d~
+9Puŋ@;h U 3
+
+T$0ЋT$0D$X1 u- H9l$@L$D H
+
+
+
+
+
+
+
+
+
+
+
+
+
+uCS
+wn
+
+I
+
+G%
+T$<T$T$$ЅD$$D$
+
+
+w nD$ Gw wD$ 1D$ ~
+YE[Ðt&
+&
+[Ðt&
+}
+}
+}
+{
+|
+y
+
+
+1ʁ
+@
+u1[[|Vƃ 
+8u8u 8u9^[Ð$Ð=`
+f:
+ fT:f\:r0foT8 fo\8 fof:
+f:
+ fT:f\:sI D
+_$j 
+R^p_o
+D$Ðt&
+D$Í&
+D$Ít&
+D$Í
+fB
+~@fBf
+D$Ív
+(1 ^foT8 fo\8 fof:
+f:
+ fT:f\:r0foT8 fo\8 fof:
+f:
+ fT:f\:s D
+_$ m 
+8
+D$Ít&
+D$Ít&
+J
+HJHJf
+D$Ív
+S 
+t
+
+
+
+
+
+
+
+ftfo^ f:
+ft_ffӍ v
+_^
+ftfo^ f:^
+ft_f؃ ffofo^@f:^0
+
+ftG v ft_0 tf؃
+_^A
+~
+
+uuD$(L$,-
+t%$
+$
+
+
+
+u<9\$$u'T$ D$(.l$T$$y1|$,ڋ|$,D$ ov D${
+
+
+U
+
+t
+Ѓ Ée(
+e=
+
+f9띍ڐ v 
+
+z ~ Y
+z rD$
+t1.u x
+
+t|$;|$$Bt$L$8tL$81T$`t
+D$ |$`D$ 
+$< &
+
+
+tD
+t uA)čT$U|$1$L$>kU
+"ED$
+EMv
+
+
+P
+
+
+
+
+
+
+4kz
+2z
+61ɀz
+
+
+B
+t&
+
+
+D$ 0D$
+:u9w3u=,1e=
+
+T$t$(C\E
+u틬$ 
+t€ t t|l$,j
+
+
+t#ȃ
+uÐL$|$T$f%?f fD$l$3t0\$ɋT$ȁ
+e[^_]Ít&
+xt&
+7"
+0htw]Uԉ$w
+
+
+:t&
+
+H,}Hp(>
+
+
+L$,
+
+
+
+tat,t?&
+
+tL$8>\$8 Sfƒu[^_]ÐL$8fЃ҈u[^_]Ðغ
+U
+R
+9HDˉ`|$H$\$^HGLL@8 <Z"
+TЉ$PxJЃ vރ$މL(
+D܋LL@8 <Z"
+DC;C4
+
+
+
+#
+
+
+
+
+
+
+
+
+
+
+
+Dž(
+DžD
+DЃˈLYЃ vht L$oMLM I((
+
+sWCt̓
+
+
+*+~
+*`
+yf
+
+
+tlE}|Ut,
+
+
+}f,
+
+9uu] C u ]F9^DEt=D9lltUDT$$wPP[
+
+ӉUʃ0E] S uPt\+`E
+
+
+
+
+
+PɿT$<D$T
+
+
+fK;KN
+T$h9L$`
+u+T$;T$~ND$T$L$ 6uT$ 
+*
+BD$@L.
+ы SD$@C0!
+0 vBfC,|$DƉ{$&
+<L$@\$ $T$@
+BS0T$ S(T$D$
+l
+u ey뎍p뺐VS\$ 
+
+O\s랍jڐD$@<t&
+
+.늍ڐ,t$$t$0\$ |$(%
+I
+@덍7ڐ,t$ t$8|$$|$4\$\$<l$(
+
+1t$4Ɖ\$t$ |$$l$(,Ch
+뱍ڐUt WVS,T$D|$@\$H t#0 t
+
+H뛍ڐS
+
+K<[Ðc<[Í&
+;J
+;JRf
+[Ít&
+;Jv9At
+S\$ CX;PvJBt#[Ð
+Put&
+t9rD$[Ít&
+;t$8!
+
+;J
+
+
+t 9s??
+u)OD$
+z9P
+1(뷍t&
+JfCXPt&
+Jt-zaSC$T$)ЉD$
+뻍
+/>S-G\$\$ t$T$,|$t$$|$(
+1t$)Ћ
+
+
+1t$щ)ȉD$ 
+itt&
+u)ݍED$
+
+
+u uo&
+t&
+ESD$PX9vPӋ
+C;CC
+@
+tU1F
+tM1F
+tE1Fv)Hs1)%
+F uF 
+@
+t[1F
+tS1F
+tK1Fv)Hs1)%
+@
+M
+2
+ff)\
+ff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+ftff)yB
+fof:ftftff
+
+fof:ftftff
+
+
+
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof: ftftff
+fof: ftftff
+z
+
+fof:
+ftftff
+fof:
+ftftff
+fs
+
+fof: ftftff
+fof: ftftff
+fof: ftftff
+fof: ftftff
+fof: ftftff
+fof: ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+fof:ftftff
+B
+u$J;HuZsR3JuD8
+u
+
+ftfIfJf)΅
+
+c
+ftfv=
+ftf(څ
+(Y((a*((i:fffftf(f:f:f:I@f:()j0)b )Z)R@fqfr
+
+
+()(QftRfI(څ
+)(Q(ftRfI(څ
+)(QftRfI
+)IRȃ)ȍI)(I(Q(Y((a&((i6fffftf(f:
+f:
+f:
+I@f:
+()j0)b )Z)R@fAfB
+
+ftfIfJf)΃l
+
+^
+ftfv
+ftf(ڃt
+(Y((a*((i:fffftf(f:f:@
+
+
+()(QftRfI(ڃB
+)(Q(ftRfI(ڃ
+)(QftRfI
+)IRȃ)ȍI)(I(Q(Y((a&((i6fffftf(f:
+f:
+@
+I@f:
+()j0)b )Z)R@fAfB
+C
+I
+J
+R
+  _f1҃pffAIʃ)1҃@rffAfA fA0I@@s |!ffAI fI
+fI&
+J
+3[fAfBЃ J [ffAfBЃ J [fffIffJЃ J [Í&
+
+)j0v[T2L1oA1B(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2L1oA1B(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2 L1 oA1B.(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2 L1 fAAfBB1(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2 L1 fAAfBB1f(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2
+L1
+fAfAfBfB1
+)j0v[T2 L1 fAafBb1(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2L1fAfB1>(ڃ0~=f: )(Qvv(f: )Rvv)b vv
+)j0v[T2L1fAfB1(ڃ0~=f:
+)(Qvv(f:
+)Rvv)b vv
+)j0v[T2L1fAfB1(ڃ0~=f: )(Qvv(f: )Rvv)b vv
+)j0v[T2L1qarb1"(ڃ0~=f: )(Qvv(f: )Rvv)b vv
+)j0v[T2L1AB1(ڃ0~=f: )(Qvv(f: )Rvv)b vv
+)j0v[T2L1AB1n(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2L1fAfB1(ڃ0~=f:)(Qvv(f:)Rvv)b vv
+)j0v[T2L1ab1&
+
+y
+
+
+ftfIfJf)΅
+
+c
+ftfv=
+ftf(څ
+(Y((a*((i:fffftf(f:f:f:I@f:()j0)b )Z)R@fqfr
+
+
+()(QftRfI(څ
+)(Q(ftRfI(څ
+)(QftRfI
+)IRȃ)ȍI)(I(Q(Y((a&((i6fffftf(f:
+f:
+f:
+I@f:
+()j0)b )Z)R@fAfB
+_Í
+Í&
+
+ftf)˅
+ftfq
+
+
+
+
+
+
+
+t
+
+ftf)˅
+ftfq
+_Ít&
+_Ít&
+_Ít&
+rKG _Í
+_Í
+
+
+rK@ _Í
+_Í
+
+_Ã _Ã _Ã _Ã_Ã_ÐV1S\$t$ tB
+ကt :
+
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftff)yC
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+z
+
+fof:
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fs
+
+
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+D$ D$t$L$1[^_]ft>޹
+8 
+t8!Au;
+Dƒ Ív
+JJJ wV…t
+t JuJ[^Ðd$ xd$ 6#UW<Ve5
+zt
+ e3=
+ e3
+ e3
+@ ɉC tBCt@[^Á@  tF봐t&
+ƃv9l$- +<$9~N,
+<,uBz
+
+
+
+D$ CT$D$D$z 4$x?Cf2f (C
+fff{ UTC
+\$ t$D$
+
+|WT$,\$ D$
+)ϐt&
+
+)|$ E$
+
+|$D$ D$
+)k(<|$ E
+\$ [W,t&
+$ M0
+|$$L$E\$D$$
+
+v
+
+
+tu܀x .
+
+Nt$D$
+Nt$D$
+U܋UE@ 
+MH b f PZU덐H 
+
+@ 
+MK b ` ErS
+;Zs/\t'JJ !
+tZ!Í 
+
+
+$l${
+ 
+%d
+t}14 e1h YEػO 4C}1UэA)čD$L$T$$NjE܉$r}
+1 G <tuG t t1 1 <w 1D$
+E$]e
+$n}NE
+U؋ y E܉QTM܀?/ 
+l
+ t$xD$ D$
+t_uD$@$
+
+ɉMU1;Bt;MB;Dul
+
+
+z
+x
+
+
+
+\
+A
+}$
+E
+
+D$E UMMD$
+
+fz
+pp1} p; 
+
+
+=
+t
+<%u?
+<%tR<
+t.a
+
+
+UzBƅ0}DŽ
+D$Lu14$A$
+W
+t X
+x
+{/ 
+$P!)ԍ\$D$t$$ )f
+<,tE
+
+<,t
+ e3=
+ D$$nt
+ DщUD$$l
+v
+ D$$xeM$Mt&
+
+Jue[^_]
+ D$E܍E܉$]rE̋M$
+
+ D$<$Zt;8t<$[^_]Í
+PUP=)ԍ\$D$t$$
+)
+<:tO
+t:zu
+
+DO tt&
+DO u9tAt:DG u0 fDG u
+u)Ѓ7
+ D$4$EZV
+ MP UĉD$E܉D$E؉$ fD$
+
+DW E]t&
+
+t@9D$4D$,$
+Lw9T$|wL$ 
+wL$LL$TD$h
+9D$D
+w$
+
+
+v
+1DDN9u͋D$()Չ9
+L$$
+L$$f4
+9vBH 9r:1쀉[^_á,$
+fL$Wu|$8C
+T;0vt&
+Tm;0wD$d
+f
+
+Uĉ
+D$
+$]e$Ue[ÃuߋCD$C$C ȐD$T$
+
+9
+;D$v9u )
+9 
+0
+
+
+t&
+BT$4UWV SD$@|$<\$0T$4 D
+[u&t&
+Džh
+w
+
+
+
+wDDžl
+4hXOh9Ӊp
+
+zpp"
+
+
+(
+9dg
+
+(
+;
+
+
+
+tl3
+
+
+
+
+ 49p
+p9
+3
+
+
+
+3
+13
+
+D$
+
+L
+
+
+
+l[l`@L F8: :;l
+
+tp`Ldpo<$1HDžd
+
+dfQPdƅ3Dž`
+KV,t$ t$0\$|$$|$4l$(FXT
+VO
+9$D΋|$t$)F@ ZM$
+ȃ Zv
+DЉlPxJЃ v߁l?2
+Z
+DЃ
+YЃ vt $MM ɉl.
+
+DЃJЃ vM``
+SXdvA
+
+
+
+
+Džh
+
+
+
+ Z  ` ≅1Dž
+Džh
+Dž0
+Dž8
+DžH
+DžL
+M87W
+Dž4
+Džh
+M$
+
+
+
+
+Dž`
+q
+0
+
+DžD
+r
+
+
+DžT
+0
+Dž<
+Džt
+
+
+L
+
+ $D$B@ujf`D$0
+
+Dž`
+
+\x$\Q|Dž
+DЃ
+YЃ vt $ǶMM I`,$WDž
+
+Q鞰u郲
+9]cUWVS,D$@\$HƒD$T$@k C$C
+BD$@y.w1$4 
+,tߍ|$@\$<$I T$@uNj
+Bt&
+0 vT$@fBrt$@0 w6zJL$@WЃ wt&
+
+T$Du$L$Dx
+EUWVS,\$T|$@t$Ht
+T$T
+ e35
+T$\K(
+
+ e35
+
+ e35
+T$\KT
+
+ e3=
+CDp
+C`FXǃ
+CLp
+CP
+
+CX
+,
+
+J 뫍
+I
+,P덍Gڐ\$\$(|$|$$t$u1ۉ؋t$\$|$Ít&
+
+ftfto f8
+ƒ)fo
+foftfo f8
+ftfo f8
+ftfL$o f8
+ e3-
+ e3
+ e3-
+ e3=
+L݋D$$D$ D$,)ȉ1)Ѓ~2T$,҉)ȉ1)ȃ
+T$T$8K\$D$F $T$FV
+9w,[^_]؃e
+
+ML$<
+tg-u7D$d
+u։1e
+9tZft$5 &
+ft99u9t$G<T$L$/$T$(D$$D$(
+땐t&
+r1҅uD$tD$ PЃÐt&
+1҅uD$tD$ PЃÐt&
+w1҅uD$$D$$虁
+t&
+{
+
+T$(9T$HrD$<
+
+
+c
+
+T$(9T$LrD$D
+
+
+
+
+
+
+
+$
+
+
+0
+
+
+҈T$\uߋ\$T\$Xb|$XL$\
+0 v$
+uT$T]뻋T$TT$T\$t
+
+
+
+
+$
+
+
+
+0
+
+
+uT$D]뻋T$DH,L$T}p(>
+҈T$PuT$DT$He
+
+/
+
+
+
+
+
+
+0
+
+$
+$T$0D$ z D$
+҈T$Lu\$D\$HL$TՉ L$80t;|$8
+uT$D]뷋T$D둸e
+Cv111$F ]xt&
+
+
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftff)y
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+vf
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+z
+
+fof:
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:
+fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fs
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof: fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+fof:fofofo50 fd- fd= fdffo50 fdff-@ ff=@ fftftff
+
+r
+ 4 9
+ikL
+u
+9tHu9r܋}u9tyM܋E+MED$
+E
+l$09rfR
+
+džl
+9t9uދUЉre
+t&
+\L@
+
+$Pƒ=
+
+D$L$$J ,D$PP,UWVS,
+
+EӋEȍE̋JU9u 
+uЉguЉ]D$ D$
+
+&t&
+Tt&
+NىJ P uËF t밋}MCuFu}f@H u#P X
+B
+
+U
+ t&
+<tA |l
+Bu
+pMEMЍ<
+҉11ɉ}׉U0 ׉xu}듋UU{MI\MhMITMZ
+zp
+M䉍v
+
+N
+t&
+x
+~;
+Pōv
+JRuV1tEċ}E+@G}E
+Gv
+x1M1ɐЃ DŽxE<>}Љ$);uЉEEǃEpE}t .
+ED$
+D$LiƸ
+D$ҋD$ Iu#>
+
+(
+tB u+1 t&
+
+
+
+
+
+
+
+
+
+
+
+<sizes>
+
+
+
+
+
+
+
+
+
+
+
+
+<total type="fast" count="%zu" size="%zu"/>
+<total type="rest" count="%zu" size="%zu"/>
+<system type="current" size="%zu"/>
+<system type="max" size="%zu"/>
+
+<aspace type="mprotect" size="%zu"/>
+
+
+<total type="rest" count="%zu" size="%zu"/>
+<system type="current" size="%zu"/>
+<system type="max" size="%zu"/>
+<aspace type="total" size="%zu"/>
+<aspace type="mprotect" size="%zu"/>
+</malloc>
+
+AA*B@@JAAP@
+DDJEBCjDBpC0DEpECCDpB@C
+GG*HFPGGpHF
+]:]j]]]]:^j^^^_J___\\]5]e]]]]5^e^^^_E___\\
+ 
+
+
+  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
+
+
+%n
+  
+  
+      
+ 
+ 
+   
+
+
+p=
+ ^B{ I$ B|uPq
+
+
+
+
+
+@p
+@p
+@p
+@p
+@p
+@p
+e-e$cbdbdbdbdbdinvalid openat call: O_CREAT without mode
+
+ entry: 0x%0*lx phdr: 0x%0*lx phnum: %*u
+
+
+file=%s [%lu]; needed by %s [%lu]
+
+file=%s [%lu]; dynamically loaded by %s [%lu]
+
+
+
+
+
+
+
+
+
+file=%s [%lu]; needed by %s [%lu] (relocation dependency)
+
+
+
+
+
+relocation processing: %s%s
+
+
+
+
+ 
+  +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+!
+$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}L,D4fl}C}Ο+#U>#`e!Q4\Ycɟ+1*ZibBtz["؊4س?ŏmk1Ke6ukG܉ـ( f13j~{j6h߸<bBQuɶluYD?e1Væ5RğIJ@A[
+"Ωo$po?b(UxI>Nkw};u
+
+#6'0q'"(\<a+H+Tq40{&)tJSܵ
+z!pt0tvlw뛡c5ތ7d@ч;Bb&.^ Y]=u8Q)+
+9/%->؄t.z-TMеub
+<4 9Ԣ7.~2!'{n $-PԓX+1"#+%? D~br*~xxކzos{'~j=jr1|òAv09&Ѷ~j2=_+0cm-X%<|b
+7w
+ʐ,5P6xPnx [4? E,W8 9qIHۚ풴lMP#*wg:8-ñj@?F[$GtJL0s-o|;#o`Is{Kҵ65m1 k?f%(炸r;v=4tP
+IA?7߻D!W
+dKE)0b
+
+
+#Z
+Y
+Y
+>Y
+.]
+[
+fZ
+|]
+\
+Qi
+X
+!o
+^
+n
+v
+b
+Me
+Ks
+l
+5s
+-j
+j
+'k
+=_
+t
+jo
+X
+I[
+
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+|]
+\
+Qi
+X
+!o
+^
+n
+v
+b
+Me
+Ks
+l
+5s
+-j
+j
+'k
+=_
+t
+jo
+X
+7W
+
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+\
+Qi
+X
+!o
+^
+n
+v
+b
+Me
+Ks
+l
+5s
+-j
+j
+'k
+=_
+t
+jo
+X
+7W
+
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+\
+7W
+7W
+7W
+^
+n
+v
+b
+Me
+7W
+7W
+7W
+7W
+j
+7W
+7W
+7W
+7W
+7W
+7W
+
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+^
+n
+v
+b
+Me
+Ks
+l
+5s
+-j
+j
+'k
+=_
+t
+7W
+7W
+7W
+
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+7W
+X
+7W
+7W
+^
+n
+v
+b
+Me
+Ks
+l
+5s
+-j
+j
+'k
+=_
+t
+7W
+7W
+7W
+
+o
+o
+o
+o
+o
+o
+o
+o
+o
+o
+o
+o
+o
+i
+i
+`
+e
+\e
+ke
+m
+o
+5f
+f
+g
+u
+e
+o
+o
+o
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+8
+
+X
+
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+8
+0
+
+
+
+0
+0
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+P
+
+0
+0
+0
+
+
+
+
+
+
+ب
+
+
+
+
+Ȩ
+
+
+
+
+
+iofwide.c
+p
+
+p
+
+в
+
+
+ mbrtowc.c
+
+
+
+
+
+
+p=
+ףp=
+؉؉ %^B{ $I$I$ =B!B|PuPuPqqinity
+
+
+
+add %s [%lu] to global scope
+
+
+
+calling fini: %s [%lu]
+
+
+closing file=%s; direct_opencount=%u
+
+file=%s [%lu]; destroying link map
+
+
+
+
+
+calling init: %s
+
+
+calling preinit: %s
+
+
+
+
+A
+AA AAB 
+A AAA
+CA AAG
+A
+D
+AAA A 
+AA AAF
+A AAD
+
+F
+
+
+
+
+AG
+
+AH 
+
+
+AD H
+FB g
+AH 4
+AD H
+FB m
+AB ,
+AG F
+AA
+AE ~A
+AG
+AA CAB
+D
+B
+AE 
+AH
+AG \A
+E F
+CA AAD <
+AA AAC
+AA AAE
+B
+AH
+A
+CA AAB 5
+CA AAE $
+A
+AA AAA
+B
+E
+ AAB z
+ AAD
+H
+AA AAC Y
+AA AAC
+AA AAA
+A s
+AA AAG  
+AA AAA C
+CA AAG  
+FA AAE
+CA AAB 
+CA AAA 
+CA AAA
+CL VC
+C E
+K
+F W
+I `(
+D
+O A
+G A4
+AE [
+CJ `C
+H
+C AAC 
+C AAD
+AA AAA 
+AA AAC
+C
+AA AAA 
+FA AAA
+A
+AG O
+CN Y
+CE CC
+I o
+E W
+F 
+I
+G W
+I 
+D
+F (
+E
+AA AAA
+F I
+AA AAD
+CF 
+AF O
+FC
+AC 
+CE
+A (
+A
+e
+GGG
+^lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]l
+TGVG
+AG
+AG
+AG
+UlG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lG
+]lz
+hG
+lAd\G
+ AE
+ AE
+X AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+P AE
+ AE
+U AAA
+L AAA
+M AAA
+M AAA
+M AAA
+M AAA
+M AAA
+M AAA
+} AAAbAAAAj
+C
+AA AAG
+CG S
+CJ ICT
+AA AAA >
+AA AAA
+A V
+A V
+A
+G r
+F
+E 
+AA AAF
+E
+A
+E
+AAA A 
+AAA A
+CA AAA
+
+
+A
+A
+A ,
+
+H
+A
+AAA F NAAA 
+AA AAF
+AA AAB T
+AA AAD c
+AA AAA
+ FAF A CA
+CA AAJ
+AG ^
+AA
+CA AAA $
+G
+A
+E e
+G
+C AAJ CE AA
+ AAB
+AAA G 
+AAA E L
+AAA A 
+AAA A 
+AAA A
+AAA C
+AAA G P
+AA AAF \AA AA
+AAA G 
+AAA A
+C AAH
+CA AAG K
+CA AAG
+AA AAC
+CA AAH
+AA
+AA AAA ZAA AA
+
+CA AAA
+A
+
+AA AAG
+AAA E h
+AAA E
+AA AAA cAD AA
+AAA D (
+AG VF
+CA AAC nFA AA
+B
+AA AAA 
+AF AAA
+AC AAC X
+CA AAA
+AA AAE ;
+AA AAA
+ AAF X AA
+CA AAB `
+CA AAB
+F h
+E
+AAA C 
+AAA H T
+ CAC v
+ CAF k
+ CAA Y
+ CAC
+AAA G ,
+CE 
+CA AAF
+C AAH 
+C AAA <
+AA AAA
+AA AAA
+A
+CA AAH 
+CA AAF <
+AAA F W
+AAA A
+C AAE
+ CAD C
+ AAE
+CA 
+H
+E B
+F ,
+A
+CA AAH [AE AA
+G d
+A
+A
+CF
+F
+ CAA
+C
+I YP
+CA AAH [AE AA
+AA AAF
+AB G
+AH
+B
+AJ 
+AB A
+B
+AG
+AG X
+AG ]
+AB
+AC AAF
+AG X
+AG b
+AE
+AA
+AB
+E I
+E
+E m
+C
+D p
+AA AAE h
+AF AAG 
+FA AAF
+FB SA
+ AAD E
+ AAA e
+ AAA
+AA AAA (
+D
+D
+E
+H
+E
+G
+A
+A
+CC AAA H
+CC AAH
+B
+AA AAB
+CC AAB #
+AA AAA 
+AA AAA
+CA
+AA ZA
+F
+AA mA
+H
+D
+E
+AG
+AH 4
+C AAE
+AAA E N
+AAA G 
+AAA B 0
+G R
+F 4
+A AAE
+D
+C
+F
+F (
+D
+C AAA MC AA
+C AAG
+AA
+AA AAC
+AA AAA &
+CA AAC
+CA AAB C
+CC AAE
+D
+
+
+
+AAA C 
+AAA G @
+CA AAA
+CA AAD ~
+CC AAB $
+AA
+CC MC
+AAA A ,
+ AAA
+ AAH
+G
+CA AAA
+AAA D
+B 
+F 
+C
+C AAA
+AAA D
+AA AAA MAA AA
+AA AAA {
+AA AAA Q
+AA AAC
+AA AAB
+A AAA
+F
+CA AAA
+AA AAA
+AA AAD
+AA AAA o
+CA AAC
+AC
+I
+A
+AJ VF
+
+CA AAA
+AAA A 
+AAA D
+AAA F 4
+E 
+E
+A V
+A
+A
+E
+G
+A V
+B Y
+A
+A
+H
+E
+CA AAD 4
+C AAA
+AAA F ]
+AAA H
+A k
+AA AAF CCA AA
+AA AAH j
+FA AAE
+AA AAF
+CA AAA T
+AA AAA P
+AA AAA
+AAA E &
+AAA A
+AAA A T
+AAA F <
+AAA F 
+AAC A
+AA AAF
+AA AAG
+E 
+A
+B
+AAA A 
+AAA A
+CA AAD 
+AA EAF
+ AAD
+AA AAA b
+AA ACA C
+FA AAA C
+GC AAA CFA AAT
+CA AAE 
+CA AAA 
+AA AAH
+B
+AA AAG }
+FA AAB
+AAA G 
+AAA J
+A
+ AAA
+CA AAG $
+H
+AA
+ AAA
+AA
+AAA A (
+C
+CC
+G G
+AAA A
+E
+ CAC C EA
+F
+A
+D m
+C
+AA AAA 
+I H
+A (
+A
+C AAE a
+C AAB F
+H AAH
+A
+AA
+A, R ICO DC@PDc
+AAA C T
+AA AAI C
+FA AAD
+CA AAI
+ x"
+ AAB 
+AA AAE
+A
+H K
+B
+AAA C ,
+D u
+A
+F
+AA AAB AA AA
+AAA C
+AA AAG
+AAA G
+AAA F 
+AAA A 8
+AA AAA
+AA AAA R
+AA AAG 
+AA AAA 
+AA AAA VAA AA<
+AA AAA
+AA AAA g
+AA AAB ?
+AA AAA X
+AA AAA V
+AA AAA
+AA AAA ^
+AA AAA 
+AA AAA [
+AA AAA V
+AA AAA
+AA AAA 9
+AA AAA d
+AA AAA 
+AA AAA h
+AA AAA
+AA AAA m
+AA AAE 
+AA AAA 
+AA AAA 
+AA AAA R
+AA AAA
+AA AAA 3
+AA AAA  
+AA AAA 
+AA AAA
+AA AAA s
+AA AAA 
+AA AAA
+AA AAA I
+AA AAA b
+AA AAA 
+AA AAA _
+AA AAA m
+AA AAA
+CA AAA 
+AA AEA l
+AC AAA
+AA AAA I
+AA AAA b
+AA AAA 
+AA AAA _
+AA AAA m
+AA AAA
+AA fC
+CA AAA 
+EC AAC x
+CA AAA
+CA AAE
+FA AAH UCA AA
+E K
+C AAA ,
+D j
+F
+C
+AE G
+AH
+C AAF \
+A AAA 
+CA AAF 
+AC AAG hAE AA
+AAA A 
+CAA G C
+CAA H
+ AD 
+AA AAA ,
+AAA A
+AA
+
+AAA B W
+AAA A
+A AAA
+A f
+A (
+F
+E W
+A
+AB CA
+AA AAA j
+AA AAG 
+AA AAA
+IiA AAA E AA@
+IcA AAA E AA<
+AAA A v
+AAA G
+AA AAA
+AA AAH N
+AA AAF
+AA AAA
+AA AAB 
+AA AAF
+ AC \
+ AC
+G
+E
+AA AAA
+CA AAC _
+CA AAC
+AAA F 
+AAA A
+"
+"
+D j
+AAA C v
+AAA G Q
+CAA A
+E
+]
+CA AAH  
+CA AAF (
+H ,
+CA AAA T
+AA AAA F
+AA AAA
+A
+ CAA
+E B
+F $
+E
+ AAB
+AA AAH 
+CA AAH I
+CA AAA
+D e
+C
+E
+C
+F
+
+AA AAC 
+CA AAC b
+FA AAE
+CA AAE
+C C
+E C
+
+AA AAE $
+C P
+AA AAE TAA AA
+CA AAC F
+HA AAG
+
+CA AAA
+
+
+CA AAA
+A
+ AAA
+A V
+A
+A
+A
+E
+ AAA
+AA AAA
+CA AAC 
+AAA A <
+AA AAC 4
+ CAG E CA<
+AA AAA
+C f
+A G
+A (
+A
+A
+F m
+AA AAB 
+AA AAA
+AA AAE n
+AA AAF
+G G
+I
+CA AAF l
+AA AAH
+AA AAG 
+AA AAF
+H x
+H
+CA AAF l
+AA AAH
+AA AAC 
+AC AAF
+G @
+H
+CA AAF l
+AA AAH
+AA AAC 
+AC AAA
+A
+A AAD 
+A AAG
+A
+F
+AE SA
+AG K
+AD H
+AG F
+CG F
+FL X
+AG T
+AC 
+ AAA
+%A AeD`PbNbNbNbNbNbNgILA
+ AAL A CAK JAE 
+ CAA ] EA
+CA AAH
+AAA A
+AAA A h
+AA AAE u
+AA AAG I
+FA AAF
+AAA A
+AE C
+AA
+ AAA
+D
+AAA C (
+G
+AA AAH
+AAA C ,
+AAA F 0
+AAA F
+AAA A 
+AAA A N
+AAA A
+AAA F
+
+
+
+
+M
+m
+U
+
+q
+u
+
+h
+q
+`p (@!
++0u  
+$
+`
+P
+   ` `n `r r s t 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+ T
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'
+
+
+
+
+
+
+
+
+
+
+#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
+
+
+
+
+_
+
+^
+r
+K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5
+
+e
+
+j
+
+>
+
+
+H
+
+5
+
+<
+
+1
+
+
+4
+]
+
+
+>
+
+
+
+
+>
+
+o
+2
+
+3
+;
+
+
+
+
+e
+
+
+#
+ 
+
+
+
+>
+
+
+
+
+
+
+
+
+4
+
+
+
+
+
+
+>
+
+
+
+
+3
+l
+
+
+#
+Q
+
+
+o
+
+%
+
+t
+
+
+(
+
+
+
+
+MN
+
+
+
+
+
+ 
+
+
+
+
+
+
+4
+
+
+
+4
+
+d
+
+
+
+!
+>
+
+
+
+
+
+MN
+I
+
+
+
+
+:
+
+2
+
+
+
+;
+\
+
+I
+
+
+
+j
+j
+
+
+
+1
+4
+
+
+(
+
+
+ 
+H
+
+
+
+
+
+
+
+
+
+o
++
+>
+MN
+
+
+
+
+
+
+j
+
+
+
+
+F
+
+1
+
+
+F
+
+;
++
+s
+
+
+
+
+Q
+
++
+
+
+
+
+
+
+