#!/bin/sh # This script was generated using Makeself 2.5.0 # The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) ORIG_UMASK=`umask` if test "n" = n; then umask 077 fi CRCsum="3955433651" MD5="08da4376f4cc39b754bd178c47e9f8de" SHA="0000000000000000000000000000000000000000000000000000000000000000" SIGNATURE="" TMPROOT=${TMPDIR:=/tmp} USER_PWD="$PWD" export USER_PWD ARCHIVE_DIR=`dirname "$0"` export ARCHIVE_DIR label="doublecmd-settings" script="./install-doublecmd-settings.sh" scriptargs="" cleanup_script="" licensetxt="" helpheader="" targetdir="payload-doublecmd-settings" filesizes="29048" totalsize="29048" keep="n" nooverwrite="n" quiet="n" accept="n" nodiskspace="n" export_conf="n" decrypt_cmd="" skip="715" print_cmd_arg="" if type printf > /dev/null; then print_cmd="printf" elif test -x /usr/ucb/echo; then print_cmd="/usr/ucb/echo" else print_cmd="echo" fi if test -d /usr/xpg4/bin; then PATH=/usr/xpg4/bin:$PATH export PATH fi if test -d /usr/sfw/bin; then PATH=$PATH:/usr/sfw/bin export PATH fi unset CDPATH MS_Printf() { $print_cmd $print_cmd_arg "$1" } MS_PrintLicense() { PAGER=${PAGER:=more} if test x"$licensetxt" != x; then PAGER_PATH=`exec <&- 2>&-; which $PAGER || command -v $PAGER || type $PAGER` if test -x "$PAGER_PATH"; then echo "$licensetxt" | $PAGER else echo "$licensetxt" fi if test x"$accept" != xy; then while true do MS_Printf "Please type y to accept, n otherwise: " read yn if test x"$yn" = xn; then keep=n eval $finish; exit 1 break; elif test x"$yn" = xy; then break; fi done fi fi } MS_diskspace() { ( df -k "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' ) } MS_dd() { blocks=`expr $3 / 1024` bytes=`expr $3 % 1024` # Test for ibs, obs and conv feature if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null else dd if="$1" bs=$2 skip=1 2> /dev/null fi } MS_dd_Progress() { if test x"$noprogress" = xy; then MS_dd "$@" return $? fi file="$1" offset=$2 length=$3 pos=0 bsize=4194304 while test $bsize -gt $length; do bsize=`expr $bsize / 4` done blocks=`expr $length / $bsize` bytes=`expr $length % $bsize` ( dd ibs=$offset skip=1 count=1 2>/dev/null pos=`expr $pos \+ $bsize` MS_Printf " 0%% " 1>&2 if test $blocks -gt 0; then while test $pos -le $length; do dd bs=$bsize count=1 2>/dev/null pcent=`expr $length / 100` pcent=`expr $pos / $pcent` if test $pcent -lt 100; then MS_Printf "\b\b\b\b\b\b\b" 1>&2 if test $pcent -lt 10; then MS_Printf " $pcent%% " 1>&2 else MS_Printf " $pcent%% " 1>&2 fi fi pos=`expr $pos \+ $bsize` done fi if test $bytes -gt 0; then dd bs=$bytes count=1 2>/dev/null fi MS_Printf "\b\b\b\b\b\b\b" 1>&2 MS_Printf " 100%% " 1>&2 ) < "$file" } MS_Help() { cat << EOH >&2 Makeself version 2.5.0 1) Getting help or info about $0 : $0 --help Print this message $0 --info Print embedded info : title, default target directory, embedded script ... $0 --lsm Print embedded lsm entry (or no LSM) $0 --list Print the list of files in the archive $0 --check Checks integrity of the archive $0 --verify-sig key Verify signature agains a provided key id 2) Running $0 : $0 [options] [--] [additional arguments to embedded script] with following options (in that order) --confirm Ask before running embedded script --quiet Do not print anything except error messages --accept Accept the license --noexec Do not run embedded script (implies --noexec-cleanup) --noexec-cleanup Do not run embedded cleanup script --keep Do not erase target directory after running the embedded script --noprogress Do not show the progress during the decompression --nox11 Do not spawn an xterm --nochown Do not give the target folder to the current user --chown Give the target folder to the current user recursively --nodiskspace Do not check for available disk space --target dir Extract directly to a target directory (absolute or relative) This directory may undergo recursive chown (see --nochown). --tar arg1 [arg2 ...] Access the contents of the archive through the tar command --ssl-pass-src src Use the given src as the source of password to decrypt the data using OpenSSL. See "PASS PHRASE ARGUMENTS" in man openssl. Default is to prompt the user to enter decryption password on the current terminal. --cleanup-args args Arguments to the cleanup script. Wrap in quotes to provide multiple arguments. -- Following arguments will be passed to the embedded script${helpheader} EOH } MS_Verify_Sig() { GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` test -x "$GPG_PATH" || GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` test -x "$MKTEMP_PATH" || MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` offset=`head -n "$skip" "$1" | wc -c | sed "s/ //g"` temp_sig=`mktemp -t XXXXX` echo $SIGNATURE | base64 --decode > "$temp_sig" gpg_output=`MS_dd "$1" $offset $totalsize | LC_ALL=C "$GPG_PATH" --verify "$temp_sig" - 2>&1` gpg_res=$? rm -f "$temp_sig" if test $gpg_res -eq 0 && test `echo $gpg_output | grep -c Good` -eq 1; then if test `echo $gpg_output | grep -c $sig_key` -eq 1; then test x"$quiet" = xn && echo "GPG signature is good" >&2 else echo "GPG Signature key does not match" >&2 exit 2 fi else test x"$quiet" = xn && echo "GPG signature failed to verify" >&2 exit 2 fi } MS_Check() { OLD_PATH="$PATH" PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} MD5_ARG="" MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` PATH="$OLD_PATH" SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` if test x"$quiet" = xn; then MS_Printf "Verifying archive integrity..." fi offset=`head -n "$skip" "$1" | wc -c | sed "s/ //g"` fsize=`cat "$1" | wc -c | sed "s/ //g"` if test $totalsize -ne `expr $fsize - $offset`; then echo " Unexpected archive size." >&2 exit 2 fi verb=$2 i=1 for s in $filesizes do crc=`echo $CRCsum | cut -d" " -f$i` if test -x "$SHA_PATH"; then if test x"`basename $SHA_PATH`" = xshasum; then SHA_ARG="-a 256" fi sha=`echo $SHA | cut -d" " -f$i` if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 else shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; if test x"$shasum" != x"$sha"; then echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 exit 2 elif test x"$quiet" = xn; then MS_Printf " SHA256 checksums are OK." >&2 fi crc="0000000000"; fi fi if test -x "$MD5_PATH"; then if test x"`basename $MD5_PATH`" = xdigest; then MD5_ARG="-a md5" fi md5=`echo $MD5 | cut -d" " -f$i` if test x"$md5" = x00000000000000000000000000000000; then test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 else md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; if test x"$md5sum" != x"$md5"; then echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 exit 2 elif test x"$quiet" = xn; then MS_Printf " MD5 checksums are OK." >&2 fi crc="0000000000"; verb=n fi fi if test x"$crc" = x0000000000; then test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 else sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` if test x"$sum1" != x"$crc"; then echo "Error in checksums: $sum1 is different from $crc" >&2 exit 2 elif test x"$quiet" = xn; then MS_Printf " CRC checksums are OK." >&2 fi fi i=`expr $i + 1` offset=`expr $offset + $s` done if test x"$quiet" = xn; then echo " All good." fi } MS_Decompress() { if test x"$decrypt_cmd" != x""; then { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "xz -d" else eval "xz -d" fi if test $? -ne 0; then echo " ... Decompression failed." >&2 fi } UnTAR() { if test x"$quiet" = xn; then tar $1vf - 2>&1 || { echo " ... Extraction failed." >&2; kill -15 $$; } else tar $1f - 2>&1 || { echo Extraction failed. >&2; kill -15 $$; } fi } MS_exec_cleanup() { if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then cleanup=n cd "$tmpdir" eval "\"$cleanup_script\" $scriptargs $cleanupargs" fi } MS_cleanup() { echo 'Signal caught, cleaning up' >&2 MS_exec_cleanup cd "$TMPROOT" rm -rf "$tmpdir" eval $finish; exit 15 } finish=true xterm_loop= noprogress=n nox11=n copy=none ownership=n verbose=n cleanup=y cleanupargs= sig_key= initargs="$@" while true do case "$1" in -h | --help) MS_Help exit 0 ;; -q | --quiet) quiet=y noprogress=y shift ;; --accept) accept=y shift ;; --info) echo Identification: "$label" echo Target directory: "$targetdir" echo Uncompressed size: 260 KB echo Compression: xz if test x"n" != x""; then echo Encryption: n fi echo Date of packaging: Mon Feb 10 08:39:59 MSK 2025 echo Built with Makeself version 2.5.0 echo Build command was: "/usr/bin/makeself \\ \"--xz\" \\ \"/mnt/data/home/alex/projects/build-makeself/doublecmd-settings/payload-doublecmd-settings\" \\ \"install-doublecmd-settings.run\" \\ \"doublecmd-settings\" \\ \"./install-doublecmd-settings.sh\"" if test x"$script" != x; then echo Script run after extraction: echo " " $script $scriptargs fi if test x"" = xcopy; then echo "Archive will copy itself to a temporary location" fi if test x"n" = xy; then echo "Root permissions required for extraction" fi if test x"n" = xy; then echo "directory $targetdir is permanent" else echo "$targetdir will be removed after extraction" fi exit 0 ;; --dumpconf) echo LABEL=\"$label\" echo SCRIPT=\"$script\" echo SCRIPTARGS=\"$scriptargs\" echo CLEANUPSCRIPT=\"$cleanup_script\" echo archdirname=\"payload-doublecmd-settings\" echo KEEP=n echo NOOVERWRITE=n echo COMPRESS=xz echo filesizes=\"$filesizes\" echo totalsize=\"$totalsize\" echo CRCsum=\"$CRCsum\" echo MD5sum=\"$MD5sum\" echo SHAsum=\"$SHAsum\" echo SKIP=\"$skip\" exit 0 ;; --lsm) cat << EOLSM No LSM. EOLSM exit 0 ;; --list) echo Target directory: $targetdir offset=`head -n "$skip" "$0" | wc -c | sed "s/ //g"` for s in $filesizes do MS_dd "$0" $offset $s | MS_Decompress | UnTAR t offset=`expr $offset + $s` done exit 0 ;; --tar) offset=`head -n "$skip" "$0" | wc -c | sed "s/ //g"` arg1="$2" shift 2 || { MS_Help; exit 1; } for s in $filesizes do MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" offset=`expr $offset + $s` done exit 0 ;; --check) MS_Check "$0" y exit 0 ;; --verify-sig) sig_key="$2" shift 2 || { MS_Help; exit 1; } MS_Verify_Sig "$0" ;; --confirm) verbose=y shift ;; --noexec) script="" cleanup_script="" shift ;; --noexec-cleanup) cleanup_script="" shift ;; --keep) keep=y shift ;; --target) keep=y targetdir="${2:-.}" shift 2 || { MS_Help; exit 1; } ;; --noprogress) noprogress=y shift ;; --nox11) nox11=y shift ;; --nochown) ownership=n shift ;; --chown) ownership=y shift ;; --nodiskspace) nodiskspace=y shift ;; --xwin) if test "n" = n; then finish="echo Press Return to close this window...; read junk" fi xterm_loop=1 shift ;; --phase2) copy=phase2 shift ;; --ssl-pass-src) if test x"n" != x"openssl"; then echo "Invalid option --ssl-pass-src: $0 was not encrypted with OpenSSL!" >&2 exit 1 fi decrypt_cmd="$decrypt_cmd -pass $2" shift 2 || { MS_Help; exit 1; } ;; --cleanup-args) cleanupargs="$2" shift 2 || { MS_Help; exit 1; } ;; --) shift break ;; -*) echo Unrecognized flag : "$1" >&2 MS_Help exit 1 ;; *) break ;; esac done if test x"$quiet" = xy -a x"$verbose" = xy; then echo Cannot be verbose and quiet at the same time. >&2 exit 1 fi if test x"n" = xy -a `id -u` -ne 0; then echo "Administrative privileges required for this archive (use su or sudo)" >&2 exit 1 fi if test x"$copy" \!= xphase2; then MS_PrintLicense fi case "$copy" in copy) tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ mkdir "$tmpdir" || { echo "Could not create temporary directory $tmpdir" >&2 exit 1 } SCRIPT_COPY="$tmpdir/makeself" echo "Copying to a temporary location..." >&2 cp "$0" "$SCRIPT_COPY" chmod +x "$SCRIPT_COPY" cd "$TMPROOT" export USER_PWD="$tmpdir" exec "$SCRIPT_COPY" --phase2 -- $initargs ;; phase2) finish="$finish ; rm -rf `dirname $0`" ;; esac if test x"$nox11" = xn; then if test -t 1; then # Do we have a terminal on stdout? : else if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" for a in $GUESS_XTERMS; do if type $a >/dev/null 2>&1; then XTERM=$a break fi done chmod a+x $0 || echo Please add execution rights on $0 >&2 if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! exec $XTERM -e "$0 --xwin $initargs" else exec $XTERM -e "./$0 --xwin $initargs" fi fi fi fi fi if test x"$targetdir" = x.; then tmpdir="." else if test x"$keep" = xy; then if test x"$nooverwrite" = xy && test -d "$targetdir"; then echo "Target directory $targetdir already exists, aborting." >&2 exit 1 fi if test x"$quiet" = xn; then echo "Creating directory $targetdir" >&2 fi tmpdir="$targetdir" dashp="-p" else tmpdir="$TMPROOT/selfgz$$$RANDOM" dashp="" fi mkdir $dashp "$tmpdir" || { echo 'Cannot create target directory' $tmpdir >&2 echo 'You should try option --target dir' >&2 eval $finish exit 1 } fi location="`pwd`" if test x"$SETUP_NOCHECK" != x1; then MS_Check "$0" fi offset=`head -n "$skip" "$0" | wc -c | sed "s/ //g"` if test x"$verbose" = xy; then MS_Printf "About to extract 260 KB in $tmpdir ... Proceed ? [Y/n] " read yn if test x"$yn" = xn; then eval $finish; exit 1 fi fi if test x"$quiet" = xn; then # Decrypting with openssl will ask for password, # the prompt needs to start on new line if test x"n" = x"openssl"; then echo "Decrypting and uncompressing $label..." else MS_Printf "Uncompressing $label" fi fi res=3 if test x"$keep" = xn; then trap MS_cleanup 1 2 3 15 fi if test x"$nodiskspace" = xn; then leftspace=`MS_diskspace "$tmpdir"` if test -n "$leftspace"; then if test "$leftspace" -lt 260; then echo echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (260 KB)" >&2 echo "Use --nodiskspace option to skip this check and proceed anyway" >&2 if test x"$keep" = xn; then echo "Consider setting TMPDIR to a directory with more free space." fi eval $finish; exit 1 fi fi fi for s in $filesizes do if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then if test x"$ownership" = xy; then (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) fi else echo >&2 echo "Unable to decompress $0" >&2 eval $finish; exit 1 fi offset=`expr $offset + $s` done if test x"$quiet" = xn; then echo fi cd "$tmpdir" res=0 if test x"$script" != x; then if test x"$export_conf" = x"y"; then MS_BUNDLE="$0" MS_LABEL="$label" MS_SCRIPT="$script" MS_SCRIPTARGS="$scriptargs" MS_ARCHDIRNAME="$archdirname" MS_KEEP="$KEEP" MS_NOOVERWRITE="$NOOVERWRITE" MS_COMPRESS="$COMPRESS" MS_CLEANUP="$cleanup" export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS fi if test x"$verbose" = x"y"; then MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " read yn if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then eval "\"$script\" $scriptargs \"\$@\""; res=$?; fi else eval "\"$script\" $scriptargs \"\$@\""; res=$? fi if test "$res" -ne 0; then test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 fi fi MS_exec_cleanup if test x"$keep" = xn; then cd "$TMPROOT" rm -rf "$tmpdir" fi eval $finish; exit $res 7zXZִF!Xq6] AvYbN-ם#mm*I%r8NEa3&$‚PK6o/ ^uIv]5 w[]Wc@lˍ>goS93Ά`I8K}S_gwm%XFJaGyr[P Ah-t˚u)nG|4:-K#?UW@w41׳k˓ èg%W39bBMC$#g5?.G?S F-dSqJ@@w!g"SyDseũFjSrZ`~`sVR`~V /^sǗlG $;ӯ0 IeH6TA|zskgRFI2civ4Ģs%᱋M Dڼڣ&mOi?EEml>*!w{Qb6:]Ըyt'n;8K`|qԊ yλK?wBNn pn|8%fk 4;\JƮ5ZвdaY;>@ѧ0W V3) XaB*~~)&}P2BqN,[ aE}{Ҫ@)h,sltapnZ \%ƒrĤ>wCwcW@$ɏv vQ DZÈ$C۵as=0KtHY2%t21:# . jfΣ,7a?n=V,?__(+V#\?W:QWyD$<Ł[-,V [x]#[(mmAr4 YǂC ίD[ `uX²9Y@mΊyQ6YHN&CA&۔GNTյf`'[jo24W{E۝l 2}@j%A="`ߎ\2k^%|5땊֕[*KЪjG#哲_7S&E ?"% X`SdޥaTݥnԭ{[*žLCLIşЖmq=MDd #nD`>f\WQE=pZڼ(9i N94i{!#og')=ۑ| $1'֊%?:ؾ;@_6v &Pnc;+uZS70s*' `ߜ }EcACU͚r@uxC\3ZNj(O{9:VF=:$Q>Ӊ. PE2O&7.+KtB){ba/H!_l 58,Ӿ+ sQ.yqUzI*saJ .k4/V ?옅ꣴr1.TRe‰ĞELP)ֲpUC8A*?ov=8\*SYY6LOEi~g[ى"v@9!JlȕK%-BNt?cq,p0(af$!d-9`#,)~Hg3jKiC^-{xn-qĈo+ӱ&kMpvi竱0n-]2 )oD5X˃."LUYTغzަ5etn㉛Z}-ȦW팚WFuM+ hC j{F/y[FQ{3yR+hXѾV;Ol(";Q+=g妄-(N7O~$NV%`:"`䚶/!dTaXEvH+az|S)Pd?"}ɺA0{n咼3E5_K/TG-Me }]`korMA<[KXcG;J7rXĂ=zr^-Mnès5y{}Q!“i<24Q{$Daì eӺsh̺1!0.[U3j.~Ey3ԑ ,/`S3Q˝<.baf'>5%9{˚8Sΰ1'֦cX?D_XBurv%Y;c#7\AT\8I̝ΧK1逇a4vSJq!ܶ5+ե= "fq 7\4}d!,P5L__ *DQXp,Bb/3!lweȩv|Ѹׁޞڻ 9T +rixh̀pp,R:0;o+w|mqw:=rqH-?65?$š|h#NgwߥYOBuhx?vCa:d []{o2 =]ŕЬyx<ݵYY^XW='6E44k- h(U]e8߈_^@^> f6RhbIAެrR@2.ѼnnLhY}C߲8̺6W->_<D*69{šJeiy̤cʝ$L?܈SNum0C=l]X=vfQԗi4A?AB%^W-y,&:-O L" %)hRa:9(HDF6+I^ RF{/Xڀ 8PE,ͼjg;Am5ŔR/zNr[{gc;@z.OX˵+ $Q-s 1Ԃ͞? AU73Qd o$YP#!`b'6cVnktj7vm#;{nAӵ};k˹?WN%DS?zt7{N0ߴ,Z#~o\uw}[1i+KZ\h Ͱ|1IEp<1:ג?f֞>)vk`Mr "zr`6 ` Č4l[(Wۙh`/om7 ?%,Axhk%`]lZ=r=oم(0ϐax÷sRo\jxP3PqԻէZVh/+F 4T7k3YWoɜ}jGv 2?-1孳'UEVYF =v=ϓJޠ{b!oGΛB)iL$ ӡ 0jg}줕sڊwe"ɿہi`#s.&rzJڹ]"! %;ө-4pz+`L38JcIUlrp`g4s>Cx ;BFps(֘ m ,EyMEE*KGurW;mVOml}_Eb_v[b4t0C#pT/DenjI .ZW9M|Oc7͝Tl򫈃M]N2hJ~=`^"wD饓crwW{~')-PdqNhOl4bZ\ *eHhr]g/zϤ[pW$e-A92Yئy*i7ugk0_6kطQHp'4%?Bϕ%?5icDk2}$p" 9  ˟$it4< w|QBh)YQ@Bqc6+uAM?R_nC(e6j,n VSܥPKQFr ]nUv]GoۍKpl/\_"JcJ~gxr]dq03#Υ .4NmnSHT!CM۰y`"2Qؘ4m)Yzg2׽-8_ɜoAѬ_Nw˝YJ”w'oYT  KЦa9FqM*睝ȷl rñsMx|CCfu<=OR5FK7u"Xg-S<^HïOu'[)`T좄g|3(F]J2‡A'PYEb᭖^Z@?ʧG@xbOcknN Ԗr0?jpܩ'Qf'q.tvM?kHv( Dq'+>4Yc|3w#W1F"^Vu#؊CY]6Hv*֍U~r$( ~aYJQwN+esX>ibM7Fa{Cb$(&t$KK/޲&F (/B{jk\boW4᠛gASZ r*0/!to<5 Qh=cHK9So0Y:i3+`<.|푤KM?UkG+jj5vne|5uo/YCE j%2> M֩Zd-WAoxXKA*3:WގYu wg!V_쭑(m̛! # +k.y5V`/6֩do[A'O3He`@ 9͡PsVPƊ!El7gWD0Ű'hʦűd+FP3CSMw#mFxn?+-53t/zwP!kк>7@Y-֏AAeS8K;k4&j?YU*U}C`UWHV|;xN#H1u)UU⾨CDvj7_84gOϺbd7Zx :#gO᮲Cƪ޺P 乢Ϝ 5#bqw}V.Jv#Ujm6:aViJe~ ,jun[~*'*FN$6F.r&rwiЩmg1Γ1:42@I8X1GmZںaL J@TEqPD_9佬s;/ZDN?;OJ<(Yhچd2Շ0RHJO ^4Cn.2"dB# Kgۤfa-֩EΙd*=S'ab9`eL4UR2 KU ʾ)٪$ K7E%Mvh5?pO{vԊ2>cGv4ae7ɃVSJtLԆh@0Q&+wJ,& 05maκ:ִ1NPq`61;ϞFW)j y%1" yOOܳ /;`c+Pt%PP.l ~;K)U]w|T:iUr(QPV?ג cUU).CTN6,H h5P 0dnȴ2iJˁHC.3B#7+Hɔg>ϝQVN$jXl+qvYRO5o02Ż{8A;BQ9A"$; أ+d=cyW+/ByRp P >`[Mq:7I,7,lF$F&Vy6d.PZ9Ͽ;OBs>k.]d&Ƹ."W X\|U+L%WzYdgq6T9=j-O>1VBD6_dd$3"N:bRf mlsFpV-93RV2@ACRBVDy9'.[TgנYD?;ٽ37Zo[kX#P 1~UسbqwbN!5[\ x C7ƾ"١x߈R1Z@R(ZvYv7Eu<{"o3=BS>[󦢆С.9N\bn(eoDk1[V#Ӛ$TP{hZy% Iګ0 Hýa"W7=;+3jy D KhyÚt0YAQurfTaƣ> O&3 ž\S;"ki5qe|ܱ!*>{%~1Ku O؏)k7#w/w zG쇴t ҉9Ϝ`=#Wpbѵ%My6cG42cnn#+aX'Fj':~[aZJh Ԍ_X{BZ L޴ l[}a&Y׀=lfTV }VͲ7UpB,Xa KhwKckm\1fQV,nYS{۟!Ϯ=.'ZsJf*.>=V8BkS3Q5ej _0u60/ I$vl&hKQŽ2>f-Hޟ8]i{ok??+6 1U,QDV!0xT=I[Ub>Yp $R&^&E;*.#-b(yBuc.œ0apsZ}M؂+(T =,wa1ܛw9Du WQqiP_ٵ6C ^E|TGX[a1Wj$?U`,AX'(>ÖwA(&Y{QNI wZGcW(+Bex^VOĖPFzbr6W>_ {1}ZR.)SW̨n?YoHWYCxA͊רH+|1\Kդ3pz #$dferl'h]X鬣`99*!JpX bmf_6T5tT0;㪀vSx&(6{M,l[P۟NﴭT'r9z_5Pu'˭ڬ`d#\HnmbM]5ΰl"c-SS.X9\=ÕC+ D S׎h(vA3@i)ݹ0-4I2b@{~OKR`޷:V }3RBSsĎ G=$sX(Z18k~ާjDdXuppdmuuY/mwyDxZ|p/3o5sAPrG a e@u5Ƥ( *Q+UR0̧aJsBܼ`VMMf4S8Ϻ5%%,mWf}k<nBh{s- Urnv,U|`t9gM~ez<x)8g PVzRJEPbzUJ9>ASZ:K:ץ}0ŒzUX$ǛQe t"PDi] %PiE^8a ~ᐽQ[d cj۫T;Ñh, ? J'F~2{(w{Ex?y}F쭕5h"u&'zFiF%:ڰ'zC! q{? & WđD%,4%MY@Rp9I $+}8%qo؀+N7pKX0^gC;T0-Xm6c_j ѱ OM1i@J[%H~wUo|=H;9-!I 1cLbmY)͝ut8 e5TG4QlQÞ=Y⢿[~&Yh#;"aH*X3rsH8 2Vc,a>ǪHb~@Ċ&Tق2T"46p*5dX:w.!͒HQA4W=Ab;Bϋ'lZ}_n<ʝm[ H߾̥mLdrlM?՗msEu CrGC 8BrQ~Tc? aêQ :\B?Rd1| a 3,29sLF&*;10U &O呤H&O;|_aKt"hBdZRAx6Zm}e.d#ټ$?|OlБTѬV'K`\GĒ4q:]"rL9uZ&$7f|+ 5cNC9f @_ WP6鄰NSotiFGN DGҴKQ7k2qlMUୋ& +Ex.8s Ptּ^d#4H4. QN'"lނE/[F T ٽ8jY׷ N:!rtmݟ$T/J!c3_ƒYĻ xC*4W.<~ e{XW1#D&AC(_xCU[;H V3JzQcw<Ev/77b9v;u-oC/;~iwٓi1s;^"CJ.)#\2 `k9Bs@MƉHzNM֯ߪ=.7I%QZW,.@ie+ 2v0&6oZpޣI@XR}EqLd'cn473n?L`r?5^^(6IMԷ\hH7 7ht̺ h;{7M 5?-z'r6A'զ睭 .e&(5 :+WK nc[s\׋r? "Gl3g\,%U/y KKԜTcH&)T\]"U!hħ-_C)&vd6( NXdZoZR?虪/s'g,i<#E,k)W p:/#5kIOo1Af< MĖȁgQs6Q.K(. j9fy[kթ8.)g-<*~FX#!MλS8ǂr(W)__f*}mO\ըva2f ME}rﻨEI ƠJ,$b>a`j:qK:AqbrSc/ ¨`W%ԕAݩzq` <`Y-39 0椛L2>K7h OOJQ| i Uu3$-iDD S` ٨u~E*YC+R83{]Hiu|> Yѻnʄv ~D }r}cgo 7_yڻB:",=KcsGg<bo;|gq,svC %'TNANvt7jYٜz7_rB|;'K@ZDIbUN3͝ԉѾj { p{ _8p&醠bUC$T3x=BI &,xQmf]9N>I*SYDvx{Q'u,_iCϱ%80g"jKzlfs啦i0V? =N7Wi@gqw.ۉ^NbY[Cq>Pj{MH6d3 as{WjP[&T3TJ0|DviiR`!Ԯz;E=e|]anYfsb*[򛞉{}0&RVv=PQ3]{b}>MbTcR7J^(>10Aw\c(˪ިTu Mv6vΈ;09%!#swTś(/8G!.&:@0ije: :zreg~P\@疼KvSa<6ES hfH{KGN<>s+#@r#zj z߬!ԪZ[!9C"q+Z6ZN4˾ { b 65g{ ~5#aHuYBzÃQuiK,},3:_e{˰D& Wt6PԸܷ=:e]jR@Dqrghl+c%PK> vIsHn7+Fd6Sb2 o7Bmť?ãvAl>\p\4 V~\d׻kj[ Ο+S@-C=/_Ӫr9oݫGYVu`{ g#?pcn4z~0YU/9}8jiǕ% MKQ.Hboy\#}2%§<П}j (*RU[MmG謉1T7^NV bS4iNAo `g [_U.fm% $;c$ar 1m i+O䧩( Gݕuij?aqv@\# A9$<WDy y,  |w*q´a^*A#oO9oymX#^ոR*Ż+e#]if-< BWۨ0FysDgZcgW">JdFT,+Зd[Xyz|( эߊXk ȐEɂ91}f@N$#gEG{"q򒦻v:ʕ&[_bOL8na>kir DeP=@X -5vްR_rHR Niqeo)zg D.š㭔Q$y~iv[0r:T({{!Oل ;6RfAVĞZNH& :EjG 2a4 $ض%k7͢Ҷ&I ~Q0uHZFSn'!`?ƘMA4Y^_|5m,WKZv Y6^P@ipO7}txDQŭi"SK 5zlqbY2q4_OWx7]@m sJ]]垔,ȳ#V?mhi|˞ᦍ+%9'1u<{ABgWp^ DnPqbȦ&^iփ= |E 쨓%g8_J6"vxyA0nvnլ3yVwt4c6~u{> pژÒw we[Pcܮwؽ4z5+rMag>oO7yݴkpݪt":)Hd:wRʦT!?i~8/] &͋`-D=v$Wf7OEWyʪF5uZ6_xoYvJLhowrjP>?ڃд3\Z!ѱrO^LS\oRa+zvlcwG߾1\&cGfhoA?xu;!b@Ȅ7o}vz/ MtB]f4zj>(/k:e\GqZFtKu"|BELp2G(/HbD =y2t-V|)lb3 y2GaȞ&Yةd˛goH854*')z.k oj(Bb/i @ 5>M$C^NT"k/lOz,ƛ޺'y6CzT72.SCVfQQeI2ҡw^_m_3$Rf`I|$=1u(A^B~TyNs *nc\ 6_6_[3csVҪwjs`YeLBku9!{wzYw*Q0V.F -ϤM/8^aX*筲:l䱋Vot35m?4.%[c#`X ⊥]}N56'xq0zG!oD-krM Ax餴e9~$."',Z8JϕܸӘJyzĮ%jwH% ι!/3dA5þr TR[ YIљFEZSy+/%`1* #y 9khPD0D?.77㪪UlJK{C(Je$!izgcýncw/h?EA^ro;ϯݒ rUH넧h(^^aZAη-rͻ$-PЬ<w~g\XstNO0!w Q-(`YIy_ Rx@O@>EeAY#P۪iem叧Ln2ba`94#֐_Y6wp.,fWmS%^g='\WLqv>8-^^+}ME~Ok7mTBF%255Hm $z1(SpD="XvۉioѓXt PT.U Lʚ `TȌa5'ZH;EC6biʆ4p H.w_ScuZMF=9Ĭ*E/Q H8D۱ڹ@~djvRTq=^^nf|ie s ='Nj Sf6$ {5-;|M~^;63h"Tul4C(`I,_IN~,0a>o!OO|dscc EƭYF=Vá;dCT“1cqX,'2 poKk10.4B5:!Ia@Ϗյې^>Ru 7 6QҴ]σkP?fG|SaTcR tDUiGs3 Hb[.VTçZ^ЯUX^!bd9 kz6J@ 6,*5}@zTS@`V fdOЍp6i0d{P˾pF /WnqmORFy::;`h%zڱܶd]+e jB[}pD6&p^tVvqQ¤6֦Z66a^\=İÏ0/K4\E&ݲUEoC-{އ[[eqj+4#DN]0¿x4j'Iص@֚Ͽˆ;> !N;Xz%.I]Rˡr5EWV= eabX>ObۺR?\0Էzj.dMׇPdr~nO͎g~{6=mPH8UGkt"b}$}9FiT3@)mnMJ\]z1*MnQ+>,bOh^A=nI. tMg^[[Eet=ǡ`|eB88=.E泫Lg|\eyF(Qdf@GW]`-rm ~'ݝ=A䖳`I0>i2)7:1QDotƤЇZ#VzUZ=8Pggjit`:4Pkԕ`:=5d &k8"c{!(:KMb-cN(ݏOW2S-|!?SOݵ{{<]{9:G}b*ZA#QQNy naƳƝ\OR0 iYr{ {/"СC>8c{Nxfe(Uuji% pB(a d]r_59'*_cq5TW:*Vږr{T(ѱ8TI 6*ەYRk 8Ԓ Ӻe#JקGQYP?fdCE _b##2t?ݶNey'/+2`-Otp~/!Ŵ }D8/#le9Ti[9 }˕ӦFȳbcm1 OK}s[ѵ=#[I;JZ,- ?['p'(bkV;Ens`mZ 241<&AݛdUvͽNRV ,2,89ӤV?z9^OyuҸˤ=8n1s.ve.`[y^N^ V>^1^ x陪w!۪#;l4-#J`RX=By#;f>P<]y[uVZփ{g!!о9RIW׊J%~Us!X ߙErR' 3jP$Ȟ>|Ln]m;HMFX$' ãVZ_i4MF \i\a2J=R[d,໦WHr~>-5|:aWThC3i@p>֨;&]:(P 9\߆cΑ}D9*imA~?boLb"JK*=aE˫vJ .NGe:~9n>'g;U* bpb  o@y|ǍTu4p:t%vy膤ZP(w/tGxxݜ2-L]!L-!'|;dn~%$KF(y$P$ZчK e(^L0, cQeiNjǷ^r?By?竂|N{[Vth5!bdz_Up U:|t4PtW-U˗u R_>yeͤCw}{ ZQ^߉F2=ڲs,}1.#dk_TFYs46TG<~VU K:Iԯ 5L@T΀}&a|4NPZ׻bH9ؿOl~xw]A~K 6D84mgYDǨ?\[즠Hx,As\˃C(lԍaSPBtS 0u(}vrsj溻ԣ̲N-TD3/9)/Fpuq*t-.S9$U׍m dq_?zX,?{O|I<5B%Cq9 T&v,e'@}3?zr#lC>syJMMSQ.B8[B2$my72CAl&"3t_"lIN)W6P]*84ь+DD^Sby z[5,?Wxxɞ;UByey%w/Y{3k~ɜN(wC7ܱ{v re4߈PoeDuFKaJ0: WĆ̚ FJQYw_ TNᓷި~v>'Fdž_!ht7\EL/_ze$ՙIZh\D@C+;8޺ڻJe7s%zuւ RI%x; ʭC_ }Ž]YkG3v:$[D`N)[$ HvDc$|,CTH/5 KMyT]k/vxFྐྵq9C OQ+cl]qdfJg@!JR-hUW['['( 5?IMY4Y:E (4tw<3XJ1Z?~8*}4 _VgGxވ rާ4PtgݸQ fSVQ/PeTDZ1z{5ˋO1tRŹ~(2^DOv8 `!cxQvbl8!Yޖp_P 5%jճӇ8%e3o.UQկ}(ȶi}S$,P'Ԧ@/38BY2az];\5/!]UxXdG䟢q 3xnGhRř#հE}')y1̈́`AaZDZyBq˔_w9؆N-ݢ:_Bâc[M*GbvwVT:^@gy`l\[(ސE(`3wxcjY G2meL/|w֐._uzZ[ߤ)Tc8}4 6՟M`Y[Laslo"堦q`boeL6بnܲ} Pǿ0t$.T'tJwi晣?gm;h}{vG6o#99XSYt<ͅPng,gnm$|䞰A=JD_rѭ(g«C _|3b'I4 k3KolcœrK\-_Zb$u,DZs- Yy  PX/1+:K Wd4S.Os\*!'Eߧr N&=Y|y'2=q&RJPq@o wz =$.¢ܝtc7#-6+Mm-B%FN膔€x0ޒ3s8JDAt#7^Y?|/&q+@Y2#|8l&}@JVK&'" H|>ѲPѕ{ >#ckSM:אĢ9Qt Oί8i.G2l6H]'զKW-=>kG Mbm: Ŋ0uـe k<鮷 ||";vQ]_~N"ySC^yru@bή_j5YK(qa:WYxȼLwS?=ei i=3J;BK&cɱ`vRFt^'׾'D֡DrBuPfGϾPOE+ek+EF~^4){}A- G%z^R(w9pt;J̉5*nt*k1-duHŮUXD AL[j%~/1_Ky_,Y<][jVu1qE< ; >FO|9[C'}]Ѡ6xW@4KY~k d֐:ĵC%d!>M> AR}Koiece ;Ty'tp=~#an!X8)͊@[iw_Q 圀ǿKQ\O3\r#0T[gB"3Hdj4K_I,|%Bsۖԟ0((D yS'!9&'1Qycv$` ޵)^<^? `ʙ_BsV&LOiy %U8V2~z2 kiSݡ*xqLn VSl~`~p88DpE|$(&al5e1{6smVcZ{c@=X4G_-XDB9ÙnaH9dv8FQV rHߖ!x_sA!.im+S]ҊDm.6ay@ ϙ"ܼX )3"bA&3 s0l("ЃFkM54vi1E@/"UB10FY:9/!s=hfC5SF尹{W[t#>yKKq(}G-FhD`ѵrO򮊯G 뇎w)G$E쑯UH÷.PՍ諸kcy.] @Գ**qrؙ5&Y0'|<*{A_l]Xm[ gٝtL녘A!C.Q.*ON0{&2EWEk)a-1&y L%8Oz c-Ah!xgt!j$< ~M}^V 2ė^f$>HAHQˌ\RH,8AΒ^u04$V2iKDvvw%&smH/(f93rb[>ȏlG`zcKl-qMLW(y3U:ޱHKn"xqubCosGIƴ dD\!I&#{P 7)eK^ps;YoFl GQ~n'ыHm'(n[ Hf*_;KΘoO EYFՅ;ݘe0p3UEO+UtCi4͐5̨>?uzVʣga}a΂!:! O`5ߓ\Sߑ鶦rޮx"VNIV^זĝCgQʒsZ_rq}7O&-uhh!ήCaE6"߽QԐ%4CeOKP'nvLUyǶ49(,(;{08'AUIlDufhpbΟ"cxv}A螟uDd(tyrh(`,Wۥ0ugP󣵮.G}>PtƮӔ!%?ş0ru%cA)u&;_ל^tBW Q~braըFiF>*9Mju?_ -0l `]Ê$co^bڈc2uWۨe󏏉 6 6 :P^!uEgԎina|eqKrrN<{:LDW0Ǹ/oTبoX0.a =:5v?&M18cnE#ʥ'7g=\iD3Ty4xEI8{l = #z.tf0)堭IGીHu6^1Fݺv' ?,_>4!Wb,~-}&Min#(ĺ(p|C\ָjKU0C6{j {H,oh'BJ8ߨ& yOHVci .c-`G`O"# AXT}ƥ}t<;Q{ue\t NoTQ)AzRәUI0*\F6`oi2@/ҡ0Av Fl>ôEDx:g: 3|̸c\| 76c,/>>UP7~S1c(^xN EV0Z /(q B!R-Xi,h!Z#NM;;⠇^&qz^wҪ\>63a҂ i"U1ٔ ?f0U@5-͛{#*bG |PD5b@DMu^wsQfsً/7TC{몚~Q; Ӷ'vPb$WMC+ ܧ@u?$ryU ӕvRqZ#~:YގV a]PBnBwRHCkaݍԴêtf^gi^l=^owZ9vč(0&|N$x ۚ)G5Nns)5ZxGdt JEZRo^V'hut>. I 3„ A0+=i^)`yĒIlȊ)'}C8" Q#5/OڶItw1g$^WsVj}.<'b Vt DXnS|!%6$׋j}nf{"TRA\ ]|.l%c_g.9^.ljj\<%W |~b}e=5 R]#eZ;UAo(6d81{w"r#'#QεJoLl5jhB |!O6I/I?he[qJ˹hC1|έ;@.<lf-\Qoî6fLDy&M]@+GU"Mwv#@oXNQ`Jrػ`3_$kMd~IB ~iK>vKffr[Ep<8*p”s }~L hWHi@8E>Q\ؗ]N:Q-|O^0棶PJ N&s?q}7m8(4L#DH+'| Q]$k t\B2TtDA6-'u-' :٘6߾UkRkBfb wf#lXvT Fhߖ_iЧfn6#3l|cEȁ] ~TQC Y$mh */,!ls0(鑪~q*5<0`ύ+7?_/cUo^C XC=/~.WQg;_3᳢Qڂ4NVIF\f:|β^ q E|fQaeP,='~XwZ'a $p_|J [Cxj9VeG]KMEdS?@{D/>j|?Bo8Ϩ~쏎 V}N]/օ 1^=3eACT s ("{Xpl,g) 9e_6k-V%0"4˦q%X:l?C"ꁭg∝ly@ 2Ȫ:gκrў@}p6X>l=t݂رvn`7x.>;pßI1n}q:Q>Τ6iӗ͖B&~lDpr*(<nPdc2uQZ oj _A. '*T%Δm)sr,7& !4^yŁCͺʈ6ֳ6`n+aVbGM"p2m$y<(3#qQ.ӷvkۻG[w% OםbR {23ر(NPJc OἰiGp+1$O=2gJ4тשsYظ{-] ހ '+C =oB%DB6hv31(3צZofG*#ȺٛbH*ǝȮNrz}@$9%x Yf> v@~="{l YM4I"CJs( +/]iWل'cvX͉7DD|ҪtC7=!cg (gߨ0I~ c@]fX(lUW2 =}4Ȓ$h!(PoYeIuU4p.űu&?>lf?mݓu;6&#&^PhLXNG0g' ԰nzEyC$a j6옹KIt6.-GfYGƥx$?3fiM`֧2Deq6/P8skGɹn3KN[ )ttTe >S%ՐɂʆG8)$ro߸awc Kg5gt8%.tLAf+GBP`whqiᄵeQ_I lD3O| 9]ɇkmIXNe|2z7TWM"D"|L*( F`޽%9<]1|P[rkC6toGwih٢mub0ŲWLSPC5-QO "zc3n,(DNf;XG1=\E@MNb6 ]p,_Q,? JJ8"όι@)/" C(w9w퉨 yvva;ݻGfP ]6&$:]= 0d#(`۠F㲫L^K&Y3ӛ`x/r":>&p^p&w&/eszT rg ^qkQʍ[##Բ.vT"j_R;gThڷ%FLn|IⅎZ0]O ~]<E}&7 l%)mSExm;}hUGlygYZ