saptune-3.1.1-150100.8.30.1<>, eUp9|(U=XC [,q|uCdiYҺG} K_wjFLαMHv\YUpIݸ°]; ĿZ? iͪU#D-QC}xǥK dch5lIݡ,MMA#!B ^2Z@蜿)E{A?B H~VK˵[{bN԰hQ|/+Ql3`,U[ ^z}adL(\~Ī>H(?d   W ,0Ijw &37z9z :z ;z =pz Wjz WzYz\6z^^z``a(bB(b8b$9c$$:eT$=>?@'F/GDzH,zIzX֐Y֜\z]z^BbWcdefluzv w|zxdzyLzXhCsaptune3.1.1150100.8.30.1Comprehensive system tuning management for SAP solutionsThe utility adjusts system parameters such as kernel parameters and resource limits to allow running various SAP solutions at satisfactory performance. The utility can be used in place of sapconf.eUh03-ch2c3aSUSE Linux Enterprise 15SUSE LLC GPL-3.0-onlyhttps://www.suse.com/System/Managementhttps://www.suse.com/products/sles-for-saplinuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in saptune.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ $1 -ne 1 ]; then # package update NOTEDIR=/usr/share/saptune/notes if [ ! -d ${NOTEDIR} ]; then # installed package version is < 2.0, update v1 to v3 # indicated by missing directory /usr/share/saptune/notes # only change version to '1' (migration), if saptune is really used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then echo "saptune NOT configured and NOT used - version will be set to '3'" else echo "ATTENTION: saptune Version 1 is currently configured and used - but this version of saptune is no longer supported. Please migrate to Version 3 after the package update is done. saptune will stop working" # to allow a migration from v1 to v3 after the installation, we need to preserve some 'old' data. touch /tmp/update_v1tov3_saptune_inst || : # preserve 'old' BOBJ and ASE note definition files for saptune # version 1 compatibility if [ -f /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf ]; then cp /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf /etc/saptune/extra/SAP_BOBJ_n2c.conf fi if [ -f /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf ]; then cp /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf /etc/saptune/extra/SAP_ASE_n2c.conf fi fi else # package version 2.0 or later # check SAPTUNE_VERSION stvers=$(grep ^SAPTUNE_VERSION= /etc/sysconfig/saptune | awk -F '"' '{ print $2 }') if [ "$stvers" == 1 ]; then # check, if saptune is really used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then # saptune NOT configured and NOT used : else echo "ATTENTION: saptune currently running in Version 1 compatibility mode. Please migrate to Version 3 after the package update is done." fi fi if [ ! -d /var/lib/saptune/working/sols ]; then # installed package version is 2.x, update v2 to v3, save 'old' solution definition file cp /usr/share/saptune/solutions /var/lib/saptune/.v2_solutions fi # special fix only for 3.0.0 installations if [ -d /var/lib/saptune/working/sols ] && [ ! -f /usr/share/saptune/scripts/.updhelp ]; then touch /tmp/update_fix_300_saptune_inst || : fi fi # to prevent saptune related tuned error messages anytime after this # saptune package installation switch off tuned to remove the 'active' # saptune profile # 'tuned-adm off' is sadly the only possibility to remove an 'active' # saptune profile systemctl -q is-active tuned && [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found active tuned with saptune profile"; touch /run/saptune_is_active_in_tuned; tuned-adm off) || : # if the tuned profile is saptune, try to switch off tuned # if 'tuned-adm off' before had worked, the profile is empty # if not try again [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found saptune as tuned profile, try to switch off tuned"; touch /run/saptune_is_active_in_tuned; tuned-adm off || systemctl stop tuned.service; > /etc/tuned/active_profile) || : # if the tuned profile is still saptune, try to override the file [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (echo "found saptune as tuned profile, override /etc/tuned/active_profile"; touch /run/saptune_is_active_in_tuned; systemctl stop tuned.service; > /etc/tuned/active_profile) || : else # initial installation # check, if old config files from a former installation still exist if [ -f /etc/sysconfig/saptune ]; then mv /etc/sysconfig/saptune /etc/sysconfig/saptune.rpmold || : fi fi touch /run/saptune_during_pkg_inst || : PNAME=saptune SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi # workaround for the missing directory. mkdir -p /etc/security/limits.d # cleanup 'typo' directory (bsc#1215969) rm -rf /varlog || : # handling of working area is the same for initial install or update # initial install or update from v1 or v2 - STAGING is 'false' by default # the entire content of package area gets copied directly to the working area # which is empty at that state. # update from v3 or later - STAGING may be 'true' staging=$(grep ^STAGING= /etc/sysconfig/saptune | awk -F '"' '{ print $2 }') if [ "$staging" == "true" ]; then # handle staging area and DON'T touch the working area touch /tmp/update_saptune_staging_area || : else # staging is NOT active, same behavior as with v2 # adjust the notes of an enabled solution, if needed /usr/share/saptune/scripts/upd_helper enabledSol || : if [ -f /var/lib/saptune/.v2_solutions ]; then # remove no longer needed old solution definition file rm -f /var/lib/saptune/.v2_solutions || : fi # set up working area if [ -d /var/lib/saptune/working/notes ] || [ -d /var/lib/saptune/working/sols ]; then rm -rf /var/lib/saptune/working/* || : fi mkdir -p /var/lib/saptune/working/notes || : cp /usr/share/saptune/notes/* /var/lib/saptune/working/notes || : mkdir -p /var/lib/saptune/working/sols || : cp /usr/share/saptune/sols/* /var/lib/saptune/working/sols || : fi if [ $1 -ne 1 ]; then # package update # rewrite saptune version in /etc/sysconfig/saptune as fillup will not # change variables sed -i 's/SAPTUNE_VERSION="2"/SAPTUNE_VERSION="3"/' /etc/sysconfig/saptune if [ -f /tmp/update_v1tov3_saptune_inst ]; then # update from v1 to v3, same as v1 to v2 as nothing changed in v1 # step is needed to support migration after package update /usr/share/saptune/scripts/upd_helper v1tov2pi || : else # update from v2 to v2 or higher, call update helper script in posttrans touch /tmp/update_sle12tosel15_saptune_inst || : # clean up some leftover files from older saptune v2 versions /usr/share/saptune/scripts/upd_helper cleanup || : fi # special fix for update from 3.0.0 only if [ -f /tmp/update_fix_300_saptune_inst ]; then rm -f /tmp/update_fix_300_saptune_inst || : /usr/share/saptune/scripts/upd_helper fix_300 || : fi #else # initial install fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in saptune.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable saptune.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop saptune.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG=$1 if [ $FIRST_ARG -eq 0 ]; then # Package removal, not upgrade stvers=$(grep ^SAPTUNE_VERSION= /etc/sysconfig/saptune | awk -F '"' '{ print $2 }') # revert settings if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then # saptune note configured and not used - nothing to do : else # saptune configured and used - revert settings to clean up the system if [ "$stvers" == 1 ]; then saptune daemon revert >/dev/null 2>&1 || : else saptune service revert >/dev/null 2>&1 || : fi fi # to suppress error messages from tuned, if the current active profile is # the removed saptune profile (systemctl -q is-active tuned && [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] ) && (tuned-adm off; /usr/sbin/saptune daemon stop >/dev/null 2>&1) || : # if the tuned profile is saptune, try to switch off tuned # if 'tuned-adm off' before had worked, the profile is empty # if not try again [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (> /etc/tuned/active_profile) || : # clean up saved states left over rm -rf /run/saptune/parameter/* /run/saptune/sections/* /run/saptune/saved_state/* || : # clean up working and staging area rm -rf /var/lib/saptune/staging/latest/* /var/lib/saptune/working/* /var/lib/saptune/working/.tmbackup || : # preserve 'old' BOBJ and ASE note definition files for saptune # version 1 compatibility if [ -f /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf ]; then echo "warning: /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf saved as /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.rpmsave" mv /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.conf /etc/saptune/extra/SAP_BOBJ-SAP_Business_OBJects.rpmsave || : fi if [ -f /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf ]; then echo "warning: /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf saved as /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf.rpmsave" mv /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf /etc/saptune/extra/SAP_ASE-SAP_Adaptive_Server_Enterprise.conf.rpmsave || : fi # preserve saptune configuration, if saptune was used # so check, if a solution or a note is defined if (grep '^TUNE_FOR_SOLUTIONS[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^TUNE_FOR_NOTES[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1) && (grep '^NOTE_APPLY_ORDER[[:space:]]*=[[:space:]]*""' /etc/sysconfig/saptune >/dev/null 2>&1); then rm /etc/sysconfig/saptune || : else echo "warning: /etc/sysconfig/saptune saved as /etc/sysconfig/saptune.rpmsave" mv /etc/sysconfig/saptune /etc/sysconfig/saptune.rpmsave || : fi fitest -n "$FIRST_ARG" || FIRST_ARG=$1 if [ $FIRST_ARG -eq 0 ]; then # Package removal, not upgrade test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in saptune.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart saptune.service ) || : fi fi fiuk,VOY`_-q/N)  H$"o]l8u~d~{d${.8~]u.8]<e$#%AAAAA큤큤A큤AA큤AA큤A큤A큤AAAAAAAeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeU466dc65201abca405e412ef24821d908be59120755e0d0bb45ef5a61f740c7b7cb22b788963797df46672c1f525ed7fa8ec0ed34ab8104117359bcaf5673e227bd013f3cfd82091ff2ce7a52d947d92a275e0a6e72b0b757617ef41da378d9480f1436b87eb9e629f756f6a669e1d15f9512b4aec3782ee8a2716be59bf1bb9751b36adbf52cc1d4725044670fc463a3c5a33701c1682ca9630179c66d3c996969e8900a3516be4ab071e94bd2c8deafe6ef47cc7c12c65c35e76c5cb995dff3d26e3cf627fed395f2280916c8bc072953a63b157558b4487ff7acbd1e407cc2f96b63d69f4b0bc12c6b86f04ca30331ddc80a62aeca92a32774a71bad4cc84dc77e065576be9b62467dbf14ec943460e1cad5cbf77962ad81a9c9ac34c02f1ca40dd73120e9a1be175fe88ed21bab1a38af441e092ddfc4e68d3882c171395a604c1e5ae8746da0979c2ccd2216d35f3ccd854c31ec90b2eb75d2bb433a6de8a72f4fe295e749ac0b436a7f4f04fb3629555462490172abad38564707a2569cc816e95414c0fefb8c7c37d3bc808228a3de3a2c351aac0792e9c1e196b9d57e89449712749ea6c92c5c92e3d35df171d63856462107b4f876e578343cd7db84df609929a1a1d57bb5be2050e34a30bc76d9af7e87faa94037f5c847c377dd8f346bb70ab624bde84abf2b411a29a8b7468eaa2739b29bde2e2731f1b3cd9ffb536e5a0cb7db2eedaff559f90611e6807148ade9697100050b248e5368b510b222656d06deddd09f0aab9586659049cd8a31b62e29a9f01bffb1c18040743bfd511eee5417d5b43c4ee2944ff2a41f11bf28633a48091101452f104a889c51d7f3eaedfb3e5d28db534f3872b5b93e231fa6923c563c898d21eb091404f2b9193e6f58a211f79683ee546954d802fbb09e62f1e91ad8a965dce94e7f2437502525e7581eff4a36723ae85c03eff32115e97e76f0e50cdb43a537186ca091ba5da1c997a132bebf6ffb114fd17cf135d527516d0d77a0a99207fed7e8b00b3530a67557ef72c7a2dbf91f21ba0e498e5150ffd2cce337987180c06cd1c4b56f37df7c4e705e8e119fa8969b68cc58c0935b2bcf5ef35b55ffd84d181d87508c78cbbea22d63d7324de293948ce1e381773c6ed6571bd312842dcaf6844d5b0f9608c9158d02cd645b2ce1adb8d4ec675bd9b321e70e8bf1fb10a36ffc98f5a6a57141af2fdecc8e0f0b8d0f6439d7a793dcc716acc1ae418a06fa39f97f1e1d0cd0728fabf66a0c1160b773d79260bfc1001f0b621279f249ac16b41344997aece3b325339855f561c44aedfdf5d898b965a2d4d4e4ba79630e870576ba581cca5d83234df04604e094557d7b2180d932f20765c3ec68ae96f7e8a8e79485f3a643e0ee57754759be6047cc4e2ec3c4e0fdc27f18ffd4f9ab5ebb2384a250e5ae7c99f20e7b3afd9ba1ebcf19cb790e057d7a76505fac175114b8833b8c5f49cee6c5180d3db989e6ec5a91fb9c76a63d4369a1b9f9d0e95e73fe4a55a73ebf380a16f7eb370a3aeac0d112988d29adeeee865389fb54269edfd788197aa6ecdc7b509aacbbc82068be5e4f3ef09c9c2a1858a3db7a4278236ad3f5604279a753c232abf7cc01d74b879382ff4b623ac1bc6f90489f33784424e6bdf0422ac3adfa8cbbca94289b366397a93a1c1988971120ca9aacbe29a279fb12b314739bb0a776f90152cbdd7d1f5164d082eec8c40494b27c5eb51e7b5ab5c93a1ced93f866974fe470994353a99fc5a4bf4641c8a553d1bf69adb44dc1dddb08659e284ae3b23864d7e12b06a46053b99565569b0934b2c8585fceda159671e49c82539ca6fb3a7d1d3c69fe740224c8a3149a13208cb27064341583dba608422eefea1b2f5250194dee28d7ece4404a52bb6fd1053bbf6bfa06649a91d03df8cc53b67e51bb0d9393b23a13a12e5ac7cee942589c2b372b11cf587557a1b296c60320cd7ba7eca81a140c8c47defdd8e869f617ace2a385efc57e10da9e5a73ecd832a1227454d4ccf3fa479bf077a7a2f3cddb9d3b1cd2546761089d2d286eb9d1f371568e014df652b8bdd8141d7efbda4eaa4edaaf831be5204c608326c781752a7ccd2394e466d410eb51542bc7563f740ab2ee0eea934eedd26d79c6addd3d26f6434a8f30a8693dee62fdd2fdb6e012dd27bd9bc7ace73cb07d77dbbf7621f8aa162abaf511d3c89b5ca9da9693a278f4d0a140708513d5327c3ce4e7c152f5a11fe5bd3b3c40f23462e6718cb796c179349ac0db2ef00ff570db28628a584715c5488f83bdf271b560d0aaf7d6b7aa1e16977f707b1073b15abc71f2ea3ffabd4e03a4ae6a4d19c81ab89e62db0fc92b023fd81edc35d61c5cf2b991b8505003149c38e5c6cc114a11a944b698331133a226ea28afde6a06b4218fba210d6e66d645fe42d21d7f2205c871ebd248a614212f604f71aaa7e4c5f63085ec587e0b0e58c4cb7fee519eef1250fa247e8ca0c3e92b57c0bcf0d107af2d358536bdd8682f0398fad7952732ff30b180be6b7967b12f1c15e8ca0e8fcf1ce078da210028cfe69eddef7aa43f8d711913cd9e3eec02ae287fec018951dacc9664e827a21f8c394024103ded05f277c147cff87ae86a92ef13600e177bdc3cc0f033b83dc6ec08cf371738f3d8febe101085b66edad8220392f3486428a26261bc6f22487704da0b0490f026cbba3e8b6a3eb993c179797457637b669d95738e47dec0b08139ebb49b1613e8bb670c8398331db76891b32e4664b441fb8be6bfd34d031de1d5640ce938bddb2fd4cb0b4f3176c5bc599833854ab1d3779b28da6386bb76fd2ce7d047babc794d2ef5bac77c7a325d1b398950054ffd66056aff6874c5ad43e0ee57754759be6047cc4e2ec3c4e0fdc27f18ffd4f9ab5ebb2384a250e5ae27eceaf2b30e822cf885e23ffbd929266ba65137e67ee3d6cd5e544af67ea09c322639b22cdac9fc09b81a8f9b4faea692ca52c217b432f3f6eb3e788a198e2d316050bcde054202f885f0c0f7014857c8510ca3fd3d993ff1a4c0aaa2664e74f2f3ae32ba1a6627c8cf8c312248ddf2a1ab35e1b4c43619e2cc6d99e125e84e90f02e9acde06b8fe5ee3803f85df3b37358f93a4a95d0af637e92b5a7351433f871917fac9f0955b1394fea829af3abeb62afe6065ccdb0c4890c72381b24139ba817d9935f3179c13e66b6132e93ed732c01675b5bdf15227cf96eb951a77e74768067dd68daf6b1bd015da87b4e85ab3bf82e9a41d5447af3344521b448cb5a63c36a73aeb772d666f2cf918d53512bbd04f31494dc2555415674c6b425e3936e3fe84597e8c5da581f205eeaf987415df857026469248580c78537264f2ad666f7c9a1c34dbca35c1e2308076c7421edf0174c6124847f7d7aeda17ed73719f9e8ea1312c8bfd1567df3b71200b38e9aec4ba98380a4e534395511081fb72ad52b322104368243c42f51d27ec9d05510ed0043612e44f8e2768fbf01b142bb73168f28a5910795483a4664726ab05b27baff804b7882a607f8ed1abf0a90149c38e5c6cc114a11a944b698331133a226ea28afde6a06b4218fba210d6e66d82a9db46df2461c8872cd4eef2e4670611ab9e709bedab1d50a75556facd5b5d3d1040bfd8d777c887a08a25cf0b4190116929eeb841dcef3439b7583f22e909a53af82f2308ea848eecb545d69bb48dd12e40ada828701d5421fcfbbcdfbc34f4bf2daae98f1c1d41c1ae083c067d7743949dfc9b0057a1ffc0dff56bdcfd2685eb085c3fb5c4291dd84ef8e0cf50c2bbe4ac66017b342115226027ee46c39699707645af7d51706698de867190567fe2d748f4b94d568a7850772cc46a81366c9704c571ddf11993c23a1c11fcffc780afd9b60ce7d77b4e3aa037f9deb53b77435543815885d53a5b1d17604154bb3a342fd50101c35dd0fb827e8dca23943e0ee57754759be6047cc4e2ec3c4e0fdc27f18ffd4f9ab5ebb2384a250e5ae9d1dc42ad6ba5bcdd020b4595b2ab97fca7efcb435be1bde188db3530c557ee06dc3b2dc3139b7d421b6fc26a7f853389a9b035ea4f2e9047b9516050dd6ac730a6af60fc7648d08bfd39ce750c7c7cc64be05a5ea9d4c5f0d20c737fa5796a9aca1ca85e1a143b67c08994a460dfc2d30d4b9429eed3dda6b875f4dd8464505c2e86cd543164f6cef8e0875da501b15eb66b2153f5b21d5463619ec5988e4590307c7c98f749a714e61eef72dd73a130ead5a3631acbf72af427af778a080acb403867c7456e434728993aceeb6048858bd09965d0fb80aa5a17e3e3e6fbdeb848ad8c81e2ca099080424895fd32f2198803148ae9527057478b6ecfeb7e5c60e886d3da5cfac25167e8649845c43e462bd7a8b8eb33b6cc351be12607302b590362ddd12131a4a472db74c9f5753c54b6122993d69d19f8497e59bdb616a274f1edcdb1fce58921ce42c9b7d9453f1422229b335e0b0635c8ec86f2e51696771a003f5d5656f9d9350a56df4237dcf33735d2e67b42034c31a33cc21d278f36c49fd25530eb0e046a764630ae7d89c679ae9e75e9c79032c3d15d21aac3cf6service@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsaptune-3.1.1-150100.8.30.1.src.rpmconfig(saptune)saptunesaptune(x86-64) @ @     /bin/bash/bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/cpupower/usr/bin/env/usr/bin/md5sumconfig(saptune)logrotaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sysstatsystemdsystemdsystemdsystemdsystemduuiddvim3.1.1-150100.8.30.13.0.4-14.6.0-14.0-15.2-1234-24.424.14.1eB=d/@aaba?=@^U @^@^ @]N@]X]@]@]4@]1]\-@[Ѱ@Z@Z|;Z3@Z1@Z.s@ZY|Y@YRHYY@X @X)@X @W@WWzOWQq@W!@abriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comgboiko@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comhguo@suse.comabriel@suse.comabriel@suse.comabriel@suse.comabriel@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.comhguo@suse.com- update package version of saptune to 3.1.1 * typo in logfile directory name creates /varlog/saptune instead of /var/log/saptune (bsc#1215969) * SAP Note 2382421 fix missing handling for Azure systems regarding parameter 'net.ipv4.tcp_timestamps'. This exclude setting was left out during the last SAP Note update by mistake. * add parameter IGNORE_RELOAD to /etc/sysconfig/saptune to prevent saptune from stopping and starting the system tuning during package update Related to sapconf bug bsc#1209408. - create a flag file in preinstall and remove it in posttrans of the package installation to inform saptune that currently a package installation/update takes place so that some special situations can be handled as expected.- update package version of saptune to 3.1.0 * machine readable interfaces for saptune add json output support related json v1 schemas can be found after installation on the system at /usr/share/saptune/schemas/1.0/ (jsc#PED-2194, jsc#PED-2195, jsc#SLE-23696) * enhance the identification of the cloud service provider (jsc#SLE-23779) * add a command line syntax check * colorized and filtered output for 'saptune note verify' It is now possible to uses a 'color scheme' for the output to highlight the non-compliant parameter or to limit the verify output to show only non-compliant parameter. (jsc#SLE-23727) * add action 'saptune solution change' to switch to a new solution even that another solution was already applied. It's basically a 'revert OLDSOLUTION' && 'apply NEWSOLUTION'. This will change the Note order in case of additional applied Notes, but this is intended. The confirmation for the revert of the old solution can be suppressed by '--force' (jsc#PED-2196) * introduce a Trento naming convention for custom solutions in the saptune man page to support trento checks. (jsc#PED-4118) * deprecate action 'saptune note|solution simulate'. The action might get removed in a future saptune version (jsc#PED-2199) * deprecate support for the v1 vendor or custom specific Note definition file format (jsc#SLE-23725) * detect virtualization environment by 'systemd-detect-virt' and add the information to 'saptune status'. (jsc#SLE-23885) * enhance saptune with the new action 'check' to directly call the external check script '/usr/sbin/saptune_check'. (jsc#SLE-23726) * de-deprecate the MAXDB solution definition. It is still active supported by SAP. And add solution NETWEAVER+MAXDB (jsc#SLE-23724) * support inline comments in the Note definition files (jsc#SLE-23729) * rework Note representation in 'saptune status' output (jsc#SLE-24530) * fix problem with 'verify' output, if a sysctl parameter is empty on the system (bsc#1199527) * add hint to the manual page of saptune(8) regarding 'missing' line feed for 'saptune note applied' and 'saptune note enabled' It's intended. (bsc#1193714) * rework the version section to make it clear, which information needs to be provided (jsc#SLE-23722) * add more information to 'saptune status': differ between 'enabled' and 'applied' Solutions and add the related Notes. differ between Notes and Solutions in the staging area. rename 'system state' line to 'systemd system state' to prevent misunderstandings. add virtualisation information. * add tuning state to 'saptune status' output. The check of the tuning state (an internal 'verify' operation) can be skipped by using the flag '--non-compliance-check'. In this case the tuning state will be reported as unknown (checking disabled) 'saptune status' will exit with a return code of '4', if the saptune service is enabled, the system is tuned, but the tuning state is 'not compliant'. (jsc#SLE-24928) * add support for the IBM Power architecture to the vendor and model section tagging (jsc#SLE-23824) * add new SAP Note 1868829 to set fs.aio-max-nr and add it to the HANADB related solutions for SLE12 and SLE15. * SAP Note 3024346 updated to Version 6 SAP Note 1557506 updated to Version 16 SAP Note 1656250 updated to Version 46 SAP Note 1805750 updated to Version 9 SAP Note 2161991 updated to Version 28 SAP Note 2205917 updated to Version 63 SAP Note 2382421 updated to Version 45 SAP Note 2534844 updated to Version 15 SAP Note BOBJ updated to Version 1 but without parameter value changes, only house keeping of the version section and comment updates * SAP Note 1984787 updated to Version 40 SAP Note 2578899 updated to Version 46 SAP Note 2684254 updated to Version 23 SAP Note 1680803 updated to Version 27 includes version 3.1 of 'SAP Applications on SAP Adaptive Server Enterprise - Best Practices for Migration and Runtime' * Solution 'SAP-ASE' changed - remove SAP Note 1410736. The best practice document (version 3.1) for ASE was changed and the SAP Note 1410736 is no longer referenced. Instead the parameter 'net.ipv4.tcp_keepalive_time' is set in SAP Note 1680803 (the ASE SAP Note) directly. * introduce an additional parameter 'SKIP_SYSCTL_FILES' in the /etc/sysconfig/saptune configuration file, which contains a comma separated list of sysctl.conf files or directories containing sysctl.conf files, which should be excluded from the 'additional defined' WARNING messages. Default is SKIP_SYSCTL_FILES="/boot" to skip the WARNINGS for '/boot/sysctl.conf-' - check in preinstall and posttrans of the package installation, if the active tuned profile is still 'saptune', even that this profile no longer exists. If yes, try to remove it. (bsc#1194688)- update package version of saptune to 3.0.2 - avoid excluding LVM slaves when getting valid block devices (bsc#1194299) - fix 'not compliant' state for energy_perf_bias on Power systems and suppress misleading error message regarding missing 'mokutil' (bsc#1193435) - fix wrong behaviour of 'saptune revert all', if the saptune service was stopped between the two commands 'apply' and 'revert all' - 'saptune service enablestart|disablestop' now always perform both actions and does no longer stop working, if the service is already started|stopped. (bsc#1193241) - restrict the sys section of the AWS note 1656250 to the availability of a nvme block device to support AWS x1e instances too. sys section definition of Note 1656250 changed. (bsc#1192029) - abandon the dependency to 'mokutil' by relying on sysfs to detect a secure boot environment. Related to bsc#1193435 - support /etc/fstab entries with 4 instead of 6 fields as these are valid entries. Change error handling from 'panic' to error log messages. (bsc#1193580) - enhance man page 'saptune.8'. Add entry 'configured Note' and some more descriptions of the entries from 'saptune service status' (bsc#1192697) - as the Power systems (hardware architecture 'ppc64le') does not support files in '/sys/class/dmi' (this directory is not available on the 'ppc64le' hardware architecture) some of our section 'tags' will not work. Add some additional log messages to identify the cause and add a hint to the man page. - fix block device settings (e.g. NRREQ) for multipath devices (bsc#1193576) - 'saptune verify' will now report a non existing sysctl or sys parameter as 'not available on the system' (footnote) and this parameter will not affect the compliance state. But a warning is displayed to raise attention to may be typos in the parameter name. - 'saptune status' now reports the 'real' unit state, no mapping of not running (inactive) service to simply 'stopped' any more. (bsc#1194334)- update package version of saptune to 3.0.1 - fix the scheduler settings for multi path devices and suppress missleading warning messages regarding vendor and model information during block device detection (bsc#1192460) - fix override of custom solutions (bsc#1192062) - add missing update function for enabled solutions and add a special fix to correct the 3.0.0 behavior (bsc#1192053) - saptune_check - degraded system is no longer considered an error (bsc#1192272) - log missing model and vendor information to the saptune log file (bsc#1190509)- update package version of saptune to 3.0.0 This will be additional reflected in the saptune version found in /etc/sysconfig/saptune (SAPTUNE_VERSION) So now we will have saptune version 3 - saptune version 3 Strengthen configuration process with staging, checks of external changes and expansion of automation to new platforms (Azure, AWS) and hardware specifics (jsc#SLE-21029 and jsc#SLE-20985) - remove saptune version 1 (jsc#SLE-10823 and jsc#SLE-10842) - remove usage of tuned from saptune Add an own systemd service file for saptune to start/stop tuning of parameter values during a reboot of the system. Add a new saptune action 'service' to handle the saptune.service supporting start/stop/enable/disable/status a.s.m. The saptune action 'daemon', which handled tuned.service in the past, is now flagged as 'deprecated' and internally linked to the new action 'service' (jsc#SLE-5589, jsc#SLE-5588, jsc#SLE-6457) - add a sanity check to detect Note definition files which do not exist anymore, because they were renamed or deleted, but without reverting them before. saptune will now print an error message, remove the Note from the tracking variables in /etc/sysconfig/saptune and try to revert the related parameter settings. (bsc#1149205) - check, if json input file is empty and handle some left-over files from the migration from saptune v1 to saptune v2 (bsc#1167618) - To support system parameters only relevant for specific SLES releases, service packs and/or hardware architectures saptune now supports 'tagged' sections inside the Note definition files. (jsc#SLE-13246, jsc#SLE-13245) - new kernel requirement for Power added to SAP-Note 2205917 and 2684254 SAP Note 2205917 updated to Version 61 SAP Note 2684254 updated to Version 15 (bsc#1167416) - SAP Note 2382421 updated to Version 37 and move all 'not-well-defined' parameters from the 'reminder' section into the 'sysctl' section, but with 'empty' values. Use an override file to define the values fitting your system requirements (bsc#1170672) - support empty parameter values in the Note definition files and not only in the override file. This is needed for the support of SAP Notes like 2382421, so that the customer is able to simply use an override file to define some special parameters instead of using a customer specific Note definition file. needed for bsc#1170672 (jsc#TEAM-1702) - report an 'error' instead of 'info' and set the exit code to '1', if we reject the apply of a solution (bsc#1167213) - Skip perf bias change if secure boot is enabled When a system is in lockdown mode, i.e., Secure Boot is enabled, MSR cannot be altered in user-space. So check, if Secure Boot is enabled using the mokutil utility and skip setting the perf bias in case it is. (bsc#1176243) - rework the internal block device handling to speed up the apply of block device related tunings on systems with a high number of block devices. (bsc#1178207) - change block device handling to handle multipath devices correctly. Only the DM multipath devices will be used for the settings, but not its paths. (bsc#1179275) - fixed wrong comparison used for setting FORCE_LATENCY (bsc#1185702) - add keyword 'all' to the 'rpm' section description in the man page saptune-note(5) (bsc#1182287) - support note definition versions containing digits, upper-case and lower-case letters, dots, underscores, minus and plus signs. (bsc#1182289) - fixed issue with 'verify' operation and parameter 'VSZ_TMPFS_PERCENT'. As this parameter is only used to calculate the value of 'ShmFileSystemSizeMB' (if it is not set to a value >0 in the Note definition file) it will not be checked and compared during the saptune operation 'verify'. A footnote is pointing this out. (bsc#1182009) - SAP Note 1771258 update nofile values (bsc#1164720) - SAP Note 2684254 updated to Version 20 SAP Note 2578899 updated to Version 39 SAP Note 1680803 updated to Version 26 - enhancements for saptune version 3 All jsc#TEAM-* entries mentioned below are related to this rework (jsc#SLE-16972) - Implement a lock to avoid multiple instances of saptune running in parallel. (jsc#TEAM-1700) - Support for non-colorized output If redirecting the output from saptune to a pipe, you no longer need to deal with the 'ugly' control sequences for the colorized output. (jsc#TEAM-1679) - Add enable/disable for systemd units and support all systemd unit types in section [service] (jsc#TEAM-1701) - remove script /usr/share/doc/packages/saptune/sapconf2saptune and the associated man page (jsc#TEAM-1707) - implement staging of Note definition file and solution definitions. The idea is to freeze the saptune configuration to avoid config changes on package update when adding/removing/changing notes or solutions within the package (jsc#TEAM-1844) - support custom solutions and override files for solutions. Partners and customers will now be able to define their own solution definitions by using files in /etc/saptune/extra or to override the shipped solution definitions by using override files in /etc/saptune/override (jsc#TEAM-1706) - support for device specific configurations only supported for the [block] section, tags are 'vendor' and 'model' to support special block devices of a dedicated hardware vendor or a dedicated hardware model (jsc#TEAM-1728) - add support for AZURE cloud (SAP Note 2993054) (jsc#TEAM-2676) - add support for AWS cloud (SAP Note 1656250) (jsc#TEAM-1754 and jsc#TEAM-1755) - add NVMe support to the block device handling to support AWS (jsc#TEAM-2675) - add SAP Note 3024346 (a NetApp note) (jsc#TEAM-3454) - rework daemon and service actions (jsc#TEAM-3154) - add support for 'read_ahead_kb' and 'max_sectors_kb' to the [block] section (jsc#TEAM-1699) - add a warning to the reminder section of SAP Note 2382421 regarding iSCSI devices and setting of 'net.ipv4.tcp_syn_retries' (jsc#TEAM-1705) - for the actions 'note customise' and 'note create' check, if the customer has changed something during the editor session. If not, remove the temporary created note definition file. (jsc#TEAM-825) - add support for [sys] section and handle double configurations for parameters defined in the [sys] section (jsc#TEAM-3342) - check system sysctl config files as mentioned in the comments of /etc/sysctl.conf and in man page sysctl.conf(5) for sysctl parameters currently set by saptune notes. Print a warning and a footnote for 'verify' and 'customize'. (jsc#TEAM-1696) - add support for [filesystem] section only check filesystem mount options, not modify. Starting with filesystem type 'xfs' (jsc#TEAM-4093) - add SAP Note 900929 for SAP Netweaver workloads. It's the equivalent to the HANA Note 1980196. (jsc#TEAM-4386) - mv state files from /var/lib/saptune to /run/saptune to solve the problem of state files surviving a reboot. - add /sbin/saptune_check - add the description of the solution definitions shipped with saptune to the man page saptune(8) (jsc#TEAM-4260)- update version of saptune v2 to 2.0.3 - changes to the UserTasksMax handling in saptune In SLE15 the limit is removed from the systemd login manager and therefore the setting is no longer supported in SLE15 by saptune. On a system running SLE12 we do not restart the logind service, but try to reload the new configuration after creating or removing the drop-in file for UserTasksMax by using 'systemctl reload-or-try-restart systemd-logind' as display managers do not like a restart of the logind service. (bsc#1161791) - add commands for listing enabled Notes/Solutions to saptune (bsc#1160564) - correct typo in the year in the man page headline of man page saptune-note(5) - SAP Note 1410736 updated to Version 6 correct typo net.ipv4.tcp_probes to net.ipv4.tcp_keepalive_probes- if a parameter is not supported by the system, the note action 'verify' will no longer report this as an error even if the value is not compliant. Additionally if there is a non compliant 'grub' parameter, which has a compliant 'alternative' setting availabel (see man page saptune-note(5) for details), the note action 'verify' will no longer report this as an error (bsc#1159671)- remove no longer needed and now misleading message at the end of note action 'revert'. - check, if sapconf service is available before disabling this service during 'saptune daemon start' (bsc#1156049)- add action 'delete' to the 'note' operation to delete a customer or vendor specific Note definition file including the corresponding override file if available. A confirmation is needed to finish the action. add action 'rename' to the 'note' operation to rename a customer or vendor specific Note definition file to a new name. If a corresponding override file is available, this file will be renamed too. A confirmation is needed to finish the action. If the Note is already applied, the action will be terminated with the information, that the Note first needs to be reverted before it can be deleted or renamed. (jsc#SLE-9283)- Inform the customer that - by intention - the command 'saptune note customise ' does not apply changes immediately. It just changes the configuration in the 'override' file. These changes have to be applied in a second step. This is explained in the man page saptune_v2(8) and a message is printed in the logs and on the screen to inform the customer. (bsc#1142467)- Add warning to man page, not to rename/remove/modify active configurations (bsc#1149002)- update version of saptune v2 to 2.0.2 - support multi-queue I/O scheduler for block devices (bsc#1152598)- check, if the directory /etc/security/limits.d exists before writing the limits drop-in file. If not, create it. - add the '--no-pager' option to 'systemctl --list-unit-files' to get all services at once. - add missing search pattern to the update helper script to find all old and superfluous notes during upgrade from SLE12 to SLE15 For the daemon operations do not exit with an error, if a note definition file does not exist. Instead only log and print an error message, but continue with applying the other notes (bsc#1142526)- on 12SP1 and 12SP2 the directory /etc/security/limits.d may not exist. So create the missing directory during postinstall of the package.- update version of saptune v2 to 2.0.1 - update version of saptune v1 to 1.1.9 for migration purposes - resetting all values to clean the system during package removal - bugfixing saptune version 1: fix saptune issues with /etc/security/limits.conf (bsc#1124485) add deprecated message to the description of some notes set scheduler for note SUSE-GUIDE-01 correctly (bsc#1123808) No additional improvements or upgrades planned for saptune v1 For new features or current SAP Note settings please migrate to saptune v2. - support migration from saptune v1 to saptune v2 ship both versions of saptune in one package to support a smooth migration controlled by the customer. see man saptune-migrate(5) for more information - support note name changes and note deletion during update of saptune v2 from SLE12 to SLE15 - support different SAP Note definitions and solution definitions related to the used operation system version (distinguish between SLE12 and SLE15 at the moment) - Remove calculation of optimized values, only set the values from the configuration file irrespective of the current system value. Current system value can be increase or decrease. ATTENTION: saptune no longer respects higher system values. Use the override option to change the values of the Note definition files, if needed (bsc#1124488) - mark the Notes SUSE-GUIDE-01 and SUSE-GUIDE-02 as deprecated in saptune v1 and remove these Note definitions from saptune v2 (bsc#1116799) - add support helper script sapconf2saptune and the man page - add new man pages saptune_v1.8, saptune_v2.8, saptune-note.5 and saptune-migrate.7 rewrite man page saptune.8 - add bash-completion for saptune - add action 'show' to the 'note' operation to print content of the note definition file to stdout - add new action 'create' to support the customer/vendor while creating a vendor or customer specific file in /etc/saptune/extra using the template file /usr/share/saptune/NoteTemplate.conf - simplify file name syntax for the vendor files available in /etc/saptune/extra. Old file names still valid and supported. Add header support (version, date, description) for the vendor files available in /etc/saptune/extra as already available for the note definition files in /usr/share/saptune/notes - no longer write or remove entries from /etc/security/limits.conf. Instead add or remove drop-in files in /etc/security/limits.d The filename syntax for the drop-in files /etc/security/limits.d is saptune---.conf The limits entry syntax inside the Note definition files changed to support more than one limits settings in the definition file (bsc#1128322) - preserve comment sections of the security limits file /etc/security/limits.conf. Especially, if this is the only content of the file. (bsc#1124485) - work with the current Note definition file to define the pagecache settings and not with the default file rename PAGECACHE_LIMIT_IGNORE_DIRTY to the correct sysctl name vm.pagecache_limit_ignore_dirty (bsc#1126220) - setting of UserTaskMax is not done in the postinstall of the package. It's now done by applying the related SAP Notes. (bsc#1124489) - starting to support severities INFO, WARNING, ERROR and DEBUG for the logging and add a defined format for the log messages - remove saptune as active tuned profile during action 'saptune daemon stop' - start/stop services, if requested by SAP Notes, but do not enable/disable these services (bsc#1128325) - adapt the parameter oriented save state file handling (store and revert) to the special needs of the security limits parameter (bsc#1124485) - disable parameter settings using an override file (bsc#1124486) - store the order of the note as they are applied to get the same system tuning result after a system reboot as before - correct the revert of the vm.dirty parameters by handling their counterpart parameters in addition. (bsc#1124487) - adjust operation customize to the new configuration files and override location and enable customize option for vendor and customer specific files in /etc/saptune/extra (bsc#1124487) - Change output format of the operations list, verify and simulate (bsc#1124487) - Display footnotes during 'verify' and 'simulate' (bsc#1124487) - print current applied note order at the end of 'saptune note list' and 'saptune note verify' - remove Netweaver formula for page cache calculation. Use the HANA approach '2% system memory' for both - display a warning message, if a [block] section is found in the Note definition file because on systems with a huge number of block devices this operation may take some time - Add force_latency handling to 'cpu' section. Use the files in /sys/devices/system/cpu/cpu* instead of /dev/cpu_dma_latency. Remove the parameter from the tuned.conf file and add it to the SAP note files '1984787' and '2205917' - Add action 'saptune revert all' and add parameter based saved state files to support proper revert functionality (bsc#1124487) - Add override file handling for the solution definition using /etc/saptune/override/solution (bsc#1124486) - Read solution definition from file /usr/share/saptune/solution instead of static coding inside of saptune. (bsc#1124486) - tag deprecated solutions during list operation - allow only ONE solution to be applied - new solution definitions as discussed with SAP and Alliance team - support solution names with '+' - make sure a note, which is part of an applied solution definition, but was reverted manually later, will NOT applied again after a system reboot. - One configuration file per SAP Note (bsc#1124486) - add new SAP Notes and adapt content of SAP Notes - Handle different locations of the new configuration files (/usr/share/saptune/note, /etc/saptune/extra) (bsc#1124486) - Allow parameter override by the customer (bsc#1124486) - Expand section handling of the 'ini file' handler to handle the new configuration file entries. Supported sections: version, reminder, login, mem, vm, block, limits, sysctl, pagecache, cpu, service, rpm, grub (bsc#1124486)- remove new line from println arg list of main.go to support newer go versions. (bsc#1120741) - update version to 1.1.8- never ever stop or disable uuidd.socket in saptune (bsc#1100107) - update version to 1.1.7- correct content of /etc/systemd/logind.conf.d/sap.conf. (bsc#1089864) - improve error messages and exclude special block devices from 'number of request' settings. Improve the verify option for the block devices. (bsc#1079599)- Fix a typo in package description. (bsc#1053374) - Update from version 1.1.3 to 1.1.4- Start to support multiqueue schedulers. Writing a message to the log file, if a block device does not support the choosen scheduler. (bsc#1072562)- Check, if pagecache limit is available at the system. If yes, add SAP note 1557506 to the note list and the solution definition of saptune. If not, skip SAP note 1557506 silently (bsc#1071539, fate#323778)- Skip using tuned-adm command inside of saptune. Instead write 'saptune' profile directly to /etc/tuned/active_profile and enable and start the tuned service Remove the workaround for the tuned problem with section [cpu] (bsc#1060514)- workaround for a tuned problem with section [cpu] (bsc#1060514)- support customer entries in /etc/security/limits.conf containing values like 'unlimited' instead of an integer value. (bsc#1060469) - change error handling and redirect error messages to stderr instead of stdout. (bsc#1050521)- Fix a typo in package description. (bsc#1053374)- Amend logind's behaviour (bsc#1031355, bsc#1039309, bsc#1043844)- update man page to reflect the changes for bsc#1026172- add solution SAP ASE (Sybase) and SAP Business OBJects (BOBJ) according to fate#320359.- Support of vendor specific tune files located in /etc/saptune/extra (bsc#1026172).- Tune a PowerPC little endian system in a way similar to x86 system. Bump version to 1.0.5 to fix (bsc#1009529).- Fix processing of CLI parameter "--help" (bsc#1006114). - Fix startup failure caused by absence of sapconf package (bsc#1006187).- Avoid conflicting with sysconfig path of sapconf. (bsc#988186) Bump versin to 1.0.3.- Remove conflict against sapconf to resolve bsc#988186. Bump version to 1.0.2.- Exclusively build on X86_64 and PPC64le. Continue with fate#320360, fate#320361, fate#320362, fate#320633.- Remove ExclusiveArch. - Control uuidd as part of the tuning process. - Minor changes in the wording of CLI program output. - saptune conflicts with sapconf. - Bump version to 1.0.1. - fate#320360, fate#320361, fate#320362, fate#320633.- First revision. Implement fate#320360, fate#320361, fate#320362, fate#320633./bin/sh/bin/sh/bin/sh/bin/shh03-ch2c 1700130015  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz3.1.1-150100.8.30.13.1.1-150100.8.30.13.1.1-150100.8.30.1 saptunesaptuneextraoverridesupportconfigpluginssaptunesaptune.servicercsaptunesaptunesaptune_checksaptunesysconfig.saptunesaptune-note.5.gzsaptune-migrate.7.gzsaptune.8.gzsaptuneNoteTemplate.confSolutionTemplate.confdeprecatednotes14107361656250168080317712581805750186882919801962161991238242125348442578899268425429930543024346900929941735SAP_BOBJschemas1.0saptune_check.schema.jsonsaptune_daemon_start.schema.jsonsaptune_daemon_status.schema.jsonsaptune_daemon_stop.schema.jsonsaptune_help.schema.jsonsaptune_invalid.schema.jsonsaptune_lock_remove.schema.jsonsaptune_log_set.schema.jsonsaptune_log_status.schema.jsonsaptune_note_applied.schema.jsonsaptune_note_apply.schema.jsonsaptune_note_create.schema.jsonsaptune_note_customise.schema.jsonsaptune_note_customize.schema.jsonsaptune_note_delete.schema.jsonsaptune_note_edit.schema.jsonsaptune_note_enabled.schema.jsonsaptune_note_list.schema.jsonsaptune_note_rename.schema.jsonsaptune_note_revert.schema.jsonsaptune_note_revert_all.schema.jsonsaptune_note_revertall.schema.jsonsaptune_note_show.schema.jsonsaptune_note_simulate.schema.jsonsaptune_note_verify.schema.jsonsaptune_revert_all.schema.jsonsaptune_service_apply.schema.jsonsaptune_service_disable.schema.jsonsaptune_service_disablestop.schema.jsonsaptune_service_enable.schema.jsonsaptune_service_enablestart.schema.jsonsaptune_service_reload.schema.jsonsaptune_service_restart.schema.jsonsaptune_service_revert.schema.jsonsaptune_service_start.schema.jsonsaptune_service_status.schema.jsonsaptune_service_stop.schema.jsonsaptune_service_takeover.schema.jsonsaptune_solution_applied.schema.jsonsaptune_solution_apply.schema.jsonsaptune_solution_change.schema.jsonsaptune_solution_create.schema.jsonsaptune_solution_delete.schema.jsonsaptune_solution_edit.schema.jsonsaptune_solution_enabled.schema.jsonsaptune_solution_list.schema.jsonsaptune_solution_rename.schema.jsonsaptune_solution_revert.schema.jsonsaptune_solution_show.schema.jsonsaptune_solution_simulate.schema.jsonsaptune_solution_verify.schema.jsonsaptune_staging_analysis.schema.jsonsaptune_staging_diff.schema.jsonsaptune_staging_disable.schema.jsonsaptune_staging_enable.schema.jsonsaptune_staging_is-enabled.schema.jsonsaptune_staging_list.schema.jsonsaptune_staging_release.schema.jsonsaptune_staging_status.schema.jsonsaptune_status.schema.jsonsaptune_version.schema.jsonscripts.updhelpupd_helpersolsBOBJ.solHANA.solMAXDB.solNETWEAVER+HANA.solNETWEAVER+MAXDB.solNETWEAVER.solS4HANA-APP+DB.solS4HANA-APPSERVER.solS4HANA-DBSERVER.solSAP-ASE.solsaptunestaginglatestworkingnotessolssaptune/etc/logrotate.d//etc//etc/saptune//usr/lib//usr/lib/supportconfig//usr/lib/supportconfig/plugins//usr/lib/systemd/system//usr/sbin//usr/share/bash-completion/completions//usr/share/fillup-templates//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//usr/share//usr/share/saptune//usr/share/saptune/notes//usr/share/saptune/schemas//usr/share/saptune/schemas/1.0//usr/share/saptune/scripts//usr/share/saptune/sols//var/lib//var/lib/saptune//var/lib/saptune/staging//var/lib/saptune/working//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:31486/SUSE_SLE-15-SP1_Update/e305e19678906968def5ee34fcd39a95-saptune.SUSE_SLE-15-SP1_Updatedrpmxz5x86_64-suse-linux ASCII textdirectoryBourne-Again shell script, ASCII text executableELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, strippedBourne-Again shell script, UTF-8 Unicode text executable, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)UTF-8 Unicode textWindows setup INFormation, ASCII textRRR, $ڹ!M# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # Begin refresh systemd units and clean up possibly obsolete systemd units # The following is a generic way how to refresh and/or clean up systemd units. # A systemd unit may need a refresh after updating a package when the new package # had installed a changed systemd unit file for an enabled systemd unit. # A systemd unit may become obsolete by updating a package (see bnc#904215). # A systemd unit is considered to have become obsolete when the systemd # symlink /etc/systemd/system/.../unit_name -> /path/to/unit_file is broken. # When during package update the new package does no longer provide a unit file # then the systemd symlink becomes broken after the files of the old package # had been actually removed by RPM. # According to /usr/share/doc/packages/rpm/manual/triggers and according # to https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets#Scriptlet_Ordering # and http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering # from the new package only "posttrans of new package" is run after "removal of old package" # so that the new package must do the clean up as RPM posttrans scriptlet. if systemctl --quiet is-enabled saptune.service 2>/dev/null; then # Refresh still valid enabled systemd units and clean up possibly obsoleted systemd units: # Enforce systemd to use the current unit file which is usually the unit file of the new package # but also in case of custom units (that use other unit files) a "reenable" won't hurt because # "reenable" does not implicitly stop a running service which is "the right thing" because # a RPM package installation must not automatically disrupt (restart) a running service. # Using "--force reenable" is essential to clean up possibly conflicting/broken symlinks. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable saptune.service 2>/dev/null || : else # Refresh still valid disabled systemd units and clean up possibly obsoleted systemd units: # First using "--force reenable" is essential to clean up possibly conflicting/broken symlinks # because there is no "--force disable" that would clean up possibly conflicting/broken symlinks # see https://bugzilla.opensuse.org/show_bug.cgi?id=904215#c34 # so that first the unit has a clean state and then it is set back to disabled (as it was before). # If a disabled systemd unit has become obsoleted, "systemctl --force reenable" will clean it up # which means the unit gets removed and the subsequent "systemctl disable" will do nothing. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable saptune.service 2>/dev/null || : systemctl --quiet disable saptune.service 2>/dev/null || : fi rm -f /run/saptune_during_pkg_inst if [ -f /tmp/update_v1tov3_saptune_inst ]; then rm -f /tmp/update_v1tov3_saptune_inst || : # get back custom note definition files for BOBJ and/or ASE # needed for migration, if customer had applied these notes /usr/share/saptune/scripts/upd_helper v1tov2pt || : else # cleanup of old saptune v1 sysconfig files # leftover from customer migration for file in saptune-note-SUSE-GUIDE-01 saptune-note-1275776 saptune-note-SUSE-GUIDE-02 saptune-note-1557506; do if [ -f /etc/sysconfig/${file} ]; then rm -f /etc/sysconfig/${file} fi done fi if [ -f /tmp/update_sle12tosel15_saptune_inst ]; then rm -f /tmp/update_sle12tosel15_saptune_inst || : # check for SAP Note name changes between SLE12 and SLE15 /usr/share/saptune/scripts/upd_helper sle12to15pt || : fi if [ -f /tmp/update_saptune_staging_area ]; then rm -f /tmp/update_saptune_staging_area || : # handle staging area and DON'T touch the working area, needs to run # after 'upd_helper sle12to15pt' /usr/share/saptune/scripts/upd_helper staging || : fi if [ -f /run/saptune_is_active_in_tuned ]; then # cleanup 'saptune with tuned is active' indicator rm -f /run/saptune_is_active_in_tuned || : # if saptune with tuned support was used/active (in v2 mode) # stop and disable tuned service # enable and start saptune service # (jsc#SLE-10987 decision) (systemctl stop tuned.service; systemctl disable tuned.service; systemctl enable saptune.service; systemctl start saptune.service) || : fi # bsc#1194688 - sometimes the tuned active profile is still 'saptune' even that # the profile no longer exists. Try to clear. [[ $(cat /etc/tuned/active_profile 2>/dev/null) == saptune ]] && (> /etc/tuned/active_profile) || : exit 0/bin/bashutf-8a81592ba5f76507df4e70863c4a4d382f8042dec5e7a90521a9493c194543109?7zXZ !t/O]"k%{dC3 #D>N}rۚ7 ig]35kOb[=jx:% ~ oFng")gH"s~cwN|%S*d6l'2r<}.p0fd OY_ CN䤝F kUD>1Fi[y);;M;w4&2bjq'=m[sL[5=m%j c #it(*Ǎmg>[KC׊K"EYSU'E$_eN NE蔮rx覭N@6ŹkneW*q$ :TZ&n3k8Vk-F zFӢZ}OqOyb{E5"z+4s#=˨1fa@2e &&В;O^d^WÆs]6&XLW/u(->.B ⪏#k[{ƪ%> "Jf;]E{m,-+/q4)ɏG0|$iXP.Ihv3VM/;bYsϟ_6[6Q_~mȗzm#^ԗQMۛ>ڈq=|{?S ͂ k)G\e&|Pl'{p1 h6@ދ 6o~.[)r~XY*' ;Ƃ0 &2*sXսfۯňםW;W5 0Ͼ8"UGM&gi5K"0Yo agFGг|!QE^ZW+OYzѓ4%HCh7P:ӁTVi6wC:R#A5)DxlMhÓkv<|iA++wps;4Tk "/dg^|AOy{NK/F\p2_|'N9sk[{yɛ~ CZDRÁ *g+֔T3zH.tCy%aSlQB޹μXfk,UAy @кj%hAtlr 8xFC(RU+6YV;FTSb {LL/R^0S -LKPՖS#h_^np'xfkh^PkRyA4m`RX|E"D$|fZ/iA~FF A0!!gDǑ7E1 E"s[wL@r|fA\ϥcly[zXqكue*$-q ʇO*BPPj=%T)h_m;*+iS@lB l@v3n`ғ PrO>;++p?O`Z@("ztkNQ]aM10$/h~ byLJj%9| m=x:=>q9X F{B1jUyroӓ Pk 䕈?yU--t8=JyRyTTVr.h !0V{3)= 'dp! HsH-Sǟӱ2e-}Թ mw^enm9&}>AܙGsp_ I&}w=C a lёq33;Ou>:O' yS27;:!sjC2:gl m\# \Hq޿ $XҀAgcz'gy秩}nak%Jy% b[@xi0D0ǩ3^R6oFUٗSU;;vqv$c8a|z," Ua"),?Jbs% öx C `iWSy5'}:]:\4YήN *Z4QAdM B-eX#}bo͵%(7rs Anϛ:Gӱ(2 j7[s%{̖"kxV8:ho/n]4rRy*H|0'dv +=֑ឬyIhc@)pwGЫQϏ|Ѓd(&34S( _>N/.Xʢ/WF/o0.|:F1-+ 3_-b%+9:7 !mB 㳯ܬ TޅN,OU6 "(dN^ٻ;ϺCIBco:%څd1_;p`A׵%ҎD1m!;T4Fh0: ˉZF `=1mpD3ЌPEB,QYfoFoUI=B& N!.tKiƞݼ6 =NOgVמi z=,_G4'.Wb2|d2>Ju͑%Y!7"hhf B'oTA.[k$!᝙$ɡE[޽:J+:͟DA9G< ̢X?|Zc#L72f \oL `Sn!@LoJXAӬ'u{q."SR;\>qoE{Scz/e-DFU_(&#{Ko7 <=MFA_#t'FbSϟ6HrV.5̓b.%2|۰2 ׄ|F;g} Mlxβj`(vhV_/j8) qA3c ,6|+u!\hlZA7 ;("S>h%:V8㍞ߕz7<.`KG+O,1r ŭu&b3L=ztT{06p9 >_=)G>V|n~#w[z$ /cyޟ-.fxR\ǃ{1Ad螋mBfQ 47PɻJZ+ J}ϊH[Avw FSW{T}Fm2( Hr5DQ`t $})\foifALY^I{Z';=oOt@#" -/wifټ'sլҎ̫ Iװ!4F9j@V4!ctk-} @(rÿ8`$W|Rlel54_Dw߽bH<\rQs)`E.dža?N?ZśaK2Ѽ.B[j{D <=@~ ?R4 L@1k\he*/D_'UZ.i>vPiӢ>{H=&Ư'kK>XPZu,̫ lALF`ৣ4Xa0K.FK5v#"h oF-Z\=Ҟɠ@dO6v)̷V}#K-TD1?b#%D.e sY:UoCQ&WKQų0k}b@DrrlFϫ9]{{)NayeIiemn" +~wһ& \|m?*% 2|yONGx)SFR:ܝ679,xþNVBhoFpСzǙJ<ȶLa4@Q.jzBw8<%ޥ^? E)Ѯm:b_9"QvQhw dܹ+Ra63aqLΗ} tiS7)GK3GpA.E aٯ}<RD}/< 8;JȈWmD:#3}QͰU:6`;K/ tNzT[0yKA=6Ө!В!ք4CZP(dRJVSrWCGgNDt׿K>|A\2QGFY GfB&@E4KIrxidRl  4S!\zQ'g2>s7M\ #7?Up- .,,h{~aMƊܤ^,aMD;*n<4SfшgkϤ4ktrH!\0^;m4%Aϴls;yxpg%t',ƷNЅ{lvA|Ƕ0?O(R[L_E`\ԡoDn־'u ڛ>ŽYBѲ,K#:o!5*Ṉ*-:# W~~2Ԭ >k!GXb"-r|?[rkԥW a(PּB >ŕ`gJ1<v&hZcjEpu^d]eY̬?o/GnDlWBMD aE٩TCK .~+(4:ٚ3l^vaUNII,.XDw{^Fd[M w2@°3XKH 2|[@d< v=0pQ; %*% {-e34ї**ThZ_0Ձ-O݌Hu YPܯ:zXCHz'o5hóiZ",g2Nx*7 ؎Xwpy(%hŽ9yK`s6as,߀f]?[L3of|:0}9x*BcϫB` =r)ۿrѶS#V)ͷ2Iv<8(^)K}c>PY<_b"S{AV#B<+bh&A.dn5"ڕ#Dj`8D)LRiGw0ri eb_'C^eV495p.8Āddb}qh5r[N )u"W#!݇Vy,HuXzo>g/3ޥ*qqS*ʩhX.FOXc αn x<UCii2*`Be؍" bpf?f|Vee0= 32XN1QP=n xC팸?5!DȜUy{Ff {3{9p(Erqw.H7O ݸlYLnL%bku)µrPaVr{ 2WVZ$)xҫ$Ľ^$#:v5& b< 3$I.>\޵P2ŗx[4l镵G6- x@|5 o;EȻ¤aO!Qnϻig[j-Bf{99V;KaU V#$*n[;Gy &,OyrVlܗ=q0PÔ ԧ[p_$Q\P Stx.U)؈M˜xqg'k;xqC@p#ɮPaߓK:esuq0)*ݡ1Sm=o4Iݢ$0B!6M!h u[}Ŕ*!JW&m';V_M Hr=`$VQLn&i`+o z7(G/MqWN1)4c;ĔCzq_ b*['+ު)LmzO||C$:"_sxn0+Bq(*EQ𗘊;?֪;ﮐgǦfHVlFK:ݚ[.qQ%M^B?Q,|#4QE'ˠʢ;e{,nWhQRkguHglկf.i1&"KN]dy]]JyKᕱNoL/:a->HʔSޑ_W"!0&]9s~̀fVOb?.`^6>A D4T5K ]Zӷ Sp(9ikT~,9İRs`^I-9uHt[*bDǦUMa1zl`쐴uK©#Lw`/=DC:7\B 3iH:Zϙ@-&:bnRV,* d6r+v27e a's fvDa(tW>ޫDZ75jed6S22ڂ;"OV,ȋ`O9."~L3HƻPb6ny~(HGԈ@3f{i˖ƚg#?$ umOi*x\:8_^ڊYk> `k?kV[9fB7,=}Ě:Ÿ(u]7 g`e+:z3u50 Fa"\ ӕOC "{jάVYe=XD!e`>,Όh&҈-َ]Tf@Vv& Sډ)[%}agަ.ztIc׃~*" DIv,ftKV>]_[xZ=w='64=+Mey^.qD㒻vh^b/h-@DGnj2C?OPGM//hwEQ.>U[-[O >'uϓE w(?DzyiIRGr&cpIiɴ(RCɥ~[}lSf,Zgpzt6- \_h+=%fxd(?Lrdig^z`\eWz?$|#L5L֝ \ٱ@uNW9wXPX&Bg3Ȁ%*ɵ.y_x6.3" KHՔ5Ŗ/olI:]s}@Ibz?soe=u6|efx։r-+P? K9{K9rOZU\>`L @RzgO?I)Ss7wڌoŠZ{W11#):UGV,J!?>"BnHJxؚioBuC0jz>ڏE/aG}T.%5 3Cdÿ:zkEI(Lr]w{e5yڮc)%?K~'*3HQ sMzіA,0p&gP5oxbURa`.k"|$W)2qڇYL6x5>XPR L¯˦Erx,])ߐXphVP:碥6pr# =DE8V$$?<$Wf8qϿ&VؐN.8 b`blhVL ߒ9=#XXx%^ Γi*\,U FMGpC 읣9l* }Shx.KL"\n/P&Gͱ9_dj2!aP5FxOLQ^5ש1ޫDm cc5;~)/oI Kў?.|]o -2Ƚc1s͍v*MK/X?b},"U`1`_a R>nDIo,H q?֤T)g}K5e\A:gšt0l,^$]fB@:c fj%F>29{`]*o\ YHe}vQ^ik@U/:$7`~Q׋6 >Q;HHtN7wVr*b0/W"z/-Fln8H;/QT 5ٹ`B ZJtD`|%:Ԥ ikE:>ts!lR]! Y=5Gq"c5Ff.+ڥ9I`%&G[R8D~f-=LS]cs\( 9[sCzh}T;?k>LCm>,V9Ka|l(6"!TV=uy]1F UHPc%u,670ʁ!JWR`:g@Ԝx.B`j灒W;)ؿfv֗$Ŧd(o?JVe P`g 9H195SC7p(a)Wv{1HCůPßAiy6{)#Uß!EʌG7j@7P@T&n/赡l~#SrltX9mzQ@"EJ^'Rϱy++=եx1 [D|LÜ.n̯ѷnsN p~SAQM9V03x$o T\=MXSAoRdldLjرй]4˽pӃi"̢:c!1Y,ӊ͟6WOܾ6`X'͉ 6Lߢ]u[\LOQƧ_aFH_]`y?דNWp'B|0[.>΃K0o5 aW$@RlC &nzHj$up=`o(@702c4̴NJ7a^› ΐZgR3Ws^VwÝ Jd^imY͞Ziv**==`6cйڿZ VUpMIDH2^򻧵dfm pE(zQ%`is@/|qU/H"Q敏@iyPU_g^u( x/nD!QDR41:aH۠TU7E/.."){h}nHT9yXVv3?m FPNKu:C.'P*RfǯcunP?B;AB<= Lo'ض˽ּύߵQYIjϕDi3b8̓}A4I%yyz{ZLt,iѴ/au9Ҹ"Y߉V(_OQf%<}H+ĕx4X\vqb tjxh9w?25==N~p>J2d@ c:8HciG S6|--L7HgpzEFMZ9 =$N9@OjP8Ӎ 3U7w[ q~ O.1㱦 %CB:B20* X*d8<9ړA,\N<^ݹ/ @B*ߢ|eGn+ ]־ٞr;watW!j̛,?Wɉ*2+4LY qIPTt<.Ʈk- F\Mv cRQJdi0Jsk7fta&sG]iT M:σ't`P#RFcELJT{ΓHؤHTfJBqt/^t@߃k2;txՊވL.3=nU.] $p),,Ø^r*W}yBb r1ZVa,K9n7{V"#IzD"i:jt~8ș(r4mYi;48HaD[XV]Yc^yvV+{&m<6>"5S2;eke k*}.xNJ>4WS~OŎ3(5DVG A@7Mlp!_)K>(S ,zR`2'pNrVP "U Q'Es|d7JJTH㪔]@0f'<}Gkq9D5t=o u:&aBКqBV bjrhZr9w}2LV^byd2ծ.'J=} T*Dd#o)j1_7[=~^J6srwC3QgBzW}}nׁ燝w\GKfXOB LR[M6!]#kt _M?~PiK8iisd(uS?D!IA1mi@W). lrk7tYXEsBPixIHPl##2Y" ,8Q3oKΔv !p.лZIUYBH3)>&_W̫j!D75GBeSbmMcoaJW6r]OHvZ6t>v__QB{]Jamr(X-ŌRR碘5NROy@OC[󵔏εdpB̚T K{=X7ɞa ˹8z -Sp(W4}7^jGخ ]4nzNh{krLUݦzu^oIm_$e@εOGR) aV])ڨN*>/ZlgyGsޏ|#zc!UH<<֩ѣBVMe1#FDg>eF9t\"}FJIcbOm0ן=^ά2GL%*=iKC__]@`%xfy qs efྒྷ-2oE1*t.8| Bs_'4a"'* rM?lys@ga4g<[HC۰Ym|"GOHw_%'9c>'νXm.h` bYw w!Y8(ẖ3%:EB,P,_pSW3ze o@(T7-B~.U5LIfSUg_9_[m[ǹ֔BtuuB3#E͂ĺ ەzJ9厾]@Oփ5:*Zӵpۘ uszɽ>/MkUK̸_ǐp@ևY UMﭯg'},FFcsv̸){!ӏ23Td;t5]i+c^iXAA`ֵs/LvȌ UKp{{~b7T=s<:랅?5P"/üTJ.s#T+ZL3ń٘\DP6,xV`_Df|&J(D() jβ=gwP;ch޷#>ɯtv{[kg$dUS^}mT!_̋:|lSsKs}ęfe8~].2{>$fR&~UShOQӺ8e>c"Eր2*vA55z+qɟB5q[-ᶾM|U2Eݻ}#VK+i. Nsu‡?4w1V웋C] =[P֭8r]㆐~%3@ioN1bÔKpa$Ҕ7+Jl3_`j[^:5Q Zx\ZtU,^=AMA=\Hc~XeqT* VGfo Ba L_m6'h6%)M fUgKf|DˌiMŝWnx=bE.3g@e4*V YeE 6\kᶗ+d215ʾt윫w2>Iby`+iJa}43"zp +n^>@n3Mh"h4Zƚ'ؐm cŶ_fwp3SVX ,QR,r'O2xLmPh=R$Sh= ٕGw~$іjdwm}s)\/\>$Som !s5WR 7=d\esӶv?"J'/mň|f[{|w`h(NwlZ+ԞEJ_w6mhբsRKȥޡcbhNMaDHw:$aJΉHcl-=<$8a;"2ZJP7{Q#{YЯ~dJ*ؤA3KE}*Rv% f|;=A+oqQ@(S(%w5 UB;UN;>dw?*bBJH)FQǥO?ra}{GyKG!&?\yH(l_&ǰ .#`VR!IS~6~^ Ye #zh6(SҀғmiQWR9=68V3T{[uKܚS r;T,#$J;DAC c`wGq u;1esa) }v9j틉=yk~ߝE&«x&eH 1=)(mBoHQYSaʇ1%'Fdl ڃ1L9?<{Q@H-5U)ܾ8Dr69IVE`vJ)u<1(GMsW`'x k._C_VSgA_L<0#X| a5jg(cbdXtuE.~فm R-cS ` vN AcqSeDS} d5c{૦QR|YwJރD)7J}&^urijgE-n$+bI]ي<6H$bk?@FЉRRM\,IVMÒ TOh"-z5ZX03RcM1^md"G0soV|&sS[R@9_vzz.b5KHuv{-ЕnC{m'ccͧ@hLpygU2YO4w'( C(rkt^K7TՂճA ߚ OTz**P{%r#Q)KXle %V?bY!&ZˉZz(I>OtgNGdL4#ѻxz6џ,mp`?ڎ8͕ua3D1tE)}8r3Dt(|dWcrtĿ  9H1ʶx0Uߠ{u$CH{D'87D_7+݄cim/;4@27$vG=#r)wPxw 7l:6HGZcLR:Pۑz)lLceJ쪂a w;^=?D:/mO(XJX ms(b$ddt>s=hASJT9$$0cqz0l@On^.{I"Fr0I{2u hwaozHXÉ)rǝsr<_O0l큩n BĒ[/}~V sLgRް ~yZᣚ)V[c4~if4v7NU[fM`;7pw=D\q҅ ,B. )x䥸PON@\8c_by&5^d&2\BrLk 2EQ+kH*$h )x0XRD/"*1`^u&M޴.cpw!ptgh(a0zx wcl ~F$ϗ4Oo|h Fx-Yj"7%(m qyt[YƩa?9\lр~ vop)p\^`>%/m9h{;hQ|Dzp ][ *AƎzƔ_P)<țbK:קjyM-bT8K(*#TIqDw Вh9{CO n6KOy LL,.I/b1F$\bi5 9;DA I*0K),Fj`G{-j{vI U_ *9 j#LL](W&7KwUDW]8( $ 9L -QmNx8|gxZ_j%`.{^H0'jx{>N); `1PF&P\ݮH:̬&ƸT [L[L3Ggy5K)t)M!o9tۏ,l KQwmK-ΆѱMp@!S"P +6`gy"z[R;fM O1AQ;c:ִ8N5O 71[si3o  ]D\cO $i:7 /n@V(ƌ^;U $qgQ)OX_$m޷~,E}(,!¦~]s*i?ڸ2P}IFK,OZ)VHBȳ--O_qJMٲB8KzӨɕzH|ޙ⃽ca$ٛBGv]C{ 0Tz繲{,1_6.Q~Qߤ'e5d6X=vfyn6R@У[(o6^ #s3 7Emjwigɿ~ 9~_z㹺Zv*}K Y"oAAdw[SI`8&8k_r{ H8LYN}Jem.?icuYKaai S5Sj2nB8/ i1L$0*Rm|ٸQGEYc/y7s1,BlC9{۷sV[ukS*H`kAX.G]x .faw~y.ӫ}>oTCWB4AܡvޜyŦ Y/)`T؞#Gs+G).OdnIj Y<5FRi9-KB44 ̟(qz:*0?}V#G ECjX+2uMyf~{oqrk׀ Bgc`̕ sM;( C~u9Cv=״.a(Jp $GI z:[ҙ#)}C"R=08Mb` 宨Ӏg>t\Z >JTT /YsuAn UTGt-? xguؚ*(C' N؛bX nQ+2 dy L aCT/ /E!Coe8={ǁՂ7dz}2:otJjnv.X%r?6{N:xwOp6nKF*{Hb0sFHuT` 3>03{ADbæmZ)-ʇrΕ>(XHC~26l&4RVM➄L/lV9yq?i2Ʃ6+Jpȵ>Q5%|ƲĸxCp/}R H]'iAx痱IӾhACfo .zwFPEYIS)Sm* 5>1LT!*Up%W$CPM\NJ:z9:4Aeea1q@$sMxnKf|s}Ԇߕ9x *ȷ_Z0O$ pl}nH-3s6q)g[)6#hDK7* 'c54dovJд+dd't`"_FC}0R^9pX9̬Nִ ֨۠uU1Vqi eSϭPV+m0|M:^H28b&!xS߾k$_ɷqMFT2ނR: E6%IkRj/wq]Slѩ@<72u@ k3XTycqi QO]k9ri"h4b p_7 @4ZGJw;P819| mKwN`DKP5nFW2\)`eb[<(zQ3_} /Es,zp RN,KOUȿt ݩ8!iJ.^wS=5PJ#ĴKvGZ,zx<FHO[F>dϧR{@Zܲ/k1I4LbNpt͜C#zGCcذ #W1bH+U ʸ  */wI(4nU՗T:+ q2 ڜi;d i$)dA9Ie#̝u%R+0Ř/YlȓΦ=-"s/ڔ.}Jo Sg}?F>$a =f}E0<ݛ}O\fE]"e} ɞf[E`˟^*D*1ڋgi(]CkI VL4ZSHNW`wBNpQ:dcQ$3 O]Rc!A,RW↣&ABh tmWR )@o&U SJ͉ͺQ@_ĶfV l3f ׁkJ`eO]WAڧ!%A%H-mL+F)O7Mʡ}tS@[r{Q&߿t쳮&iЦܧ>`j?F.[eHv~[!Gɺ_jBMmN1`"B̛Ae*n4;ĿG/Ok!]?M_֪)8kC^Wk^pbm) lD6?m]$MR)z$+FeHRA7۩վsDRO lxd1RT.H*}qfF_ S? \Y`oZiVl4lC~{"4lI3TDFR#K4-&tU' +5bphU*A^>ܐ%H]U]oSl͜Sy=qęCѺʣ(`EI)jZ}ܧV#F?QGe-Xٴ5桯CCŊe]h!K- 㾭|TQ֑7\D'w;"bgB|}޾5@A>ߋ8`I0<Ƶ]5|ip>sҋ4s~>~ݏ 45$lx}kGse삠 U&I^#VD ~J{+F* к-INE,doLש, i"#zڴK $Xb~tdGhiz(^84;pԙ^S#@TiX>P[‰`RSFZF XP IuQ.)ES:oK qp2n9S5ƐbERjYEIj/dhQEn~׺ )גJbBjkJi$V<_I H\_O])Қse%*-"gW& r"uKH} 1r#MԯЄ*-jum#T5=Qd@ eP.oO$N=Q~1?\M6L9IFx,3h'6J7VX9܇euA-B>9"T%b+uxEZ$󿲵:zG)d.n@MC6LNr5NIj7D -< S.YE6M > Ywn`fO/_}]Osl҂b]j̀ϣ1I $vJTNOO/U\ڳň>oBc G¤_720Lcqd탶~cWLgB?a?nBcT{=U2 ±[C)Z쪺츀T*$'N~6zmIװcTBؙ aL=p+Ȼ-o!nE5&;IyhT:'qP{4J+5 h/2wEiJ <öre}FnCMGW'BO6*!T]g ^bEkk@[4\Z{"<j#7 (YmMZ9ҲNWE얣GH/7ɨp -se!'d>[셍Wkďs-Mo!yJ+h^:wT`2 vGUG5|^LN ؟t!|Lzv4`bI2(2UKkRjՙPQ9{_ E,Rr(~qbo2 x6dTΗ p5 Qk? #`NIcceqL"N/ZZіI*Fyw7c~LLW)@fNʔL8^2su_c1.3Rد>JU|Hcvv O0vt\Ă+ܲ.S& Kk+4Wۆu7`ͅc\rPP=A'EV_{\/@y}rP,5wC#HIQu9F%n dp$q.zIYiGIN"Ev-`$\#,aTF\ُjU‘dE7 `^]:(ӏtJMI)ca)2ŭmieHNn>|b33RQ2>냆Z!hGr$Qp1y¼ 7qQ!Ά9Z~*ǼJt\gLQ ox"d 'ek)%g1fv0ڐO[ $Qy*IDY|2m`?n](D4VN0W/{Lƅ5 j-7k?fU}IS2}IBɸL J^7Khm٨6>Cd0leS5獬#4`b Q{r{MHk}.LmV1=:VTobaLc2V,fѦ*j Z)f)JW^_/ӏ'(y0T?EI=8;x7v4{穉" n0V6yP?5J OM 6_ú\j^q`al$#cWO3B6bwL"&as}vXowUvPuA%jՙ6g4]l8aC;]ٟͣ*ޱ$9n?C Ăh!lyEwov]w46^WWmCme  ]R.Dq 8͒m؍ RJt9Xɫ pO,<,0& 8\'إ<*rȎrw:L\zՍV; g3̦qjWPl ucq u (u\['s\?%{ZyʇJak$r%$Fϵ17Q\: 2wGIL=q>CĸGT%{>d#zs\ k0o -)l&o0=k?N>t:~~ ȺsސBzfJ99iQm=]Wڟ}6u;nq ~5+w,[R&(y ,ے#8%v% x3/o)l"b&. ͿG#֠g!zڛ?cn5 a.DmLD ڔJM a\R>y~P$PZh(`=0)0[l!%]?c . U]Z:59nEĄ=Y %<2{1|g sͨy pK# Am9B:t \pjk_AZN]۔,B˲ 8 ~ˤX8`qPd ˞K\Ҭ%ڷ풸uVH6zk,Po*=ee7bc2t}bx"*qeuo"1*:!w %LܛHjZw甮yg'p`=qXD]g!)ָoV8h;-/LTYM\cϠP\K1y!/D8;*%8 uoIf߱sm?o5yXn;rw>퓝Կ3qfjhG<^hV$MP4Y9s %_S.|>vOS|_Պf1//.j~?AÓڴjPѩI;ߕz%3f)`P( m?@z+HeB[U^"&gD^#9~nAA+T2p/%u1n[7,׫k0My>]K3^-Kߢ<2x#D:=Io9GVHC9Д0Gۻ?0,#5J͇V\KV:TN^vavpn1ZO`̕i%as5lP -bOU#*c3^6XA &oK&Oj8g[EkӿXXGI~>^U`OV{'P}>b}mC"/o "@'Lкh&3timl*zx;)36|i b*a6O5וϹ /!L'ZK v3`ϚSnw6ZR:JyMٓe:qpʓ,0Z2bM1SK5>jNLQ Յ/F'Ċ9떎vq*|HTy|&!U-mQsKFd.7!1r'ÀZNB$R,=SC{Zot,^aMRR=_NL$ Pg䉽(ST<oʠ=FyTEcY, ab0uz{txܿū燕jdzqQh:X~iM@4qH !6od?݋)ʯbI*Ă_+%؊Wӵi&hc8cctdWr9\5 v%=*j,[JrLi5\ =:4RQV%0T7.-lQZ4c }⫝SM{lURULW@J3Ȥ Um_=-SCK"y.4NwzdX[Te:q;cK)}᳷k߇a)uAUhZGCz~+kUx3krjvp*:$GwIeV.s9A9ߢ4ßL^HUFTIZf*$3fzۭ {uyocDߊkagvROH2H졵Ո ]iV]Se2<%p@w bG' Ul A;ӷ23/3_["[NpB! &XI(uTyPCAi*VD%}ڻM#cվT/VX.*OY޿@8<Нʷ˶9M}v<:3,<^!\dayd&.%?F9ksEjy'p^4^>]N04޾4aQ GoR_UF&eY8<'<$=tV_~iEb3LOꤛoӲǀ 5w)[5Lם  thCZᷮ$ kܦ]*̿!v^y.Bxݤ'p?1JkjHYwky s!o4C1ع+FbR"E!O:N%m*ulȮfhVa Zzs+wƨ6?[p߀8YiL'MT;jlq ƕ3[A, 4}̈&Ӹ/{]E=,:f`38fƒwTT^w,K9T ~2Afvq"n^ 2?@rz.' W0e@HWv֑\26,"O.lrxCƃ:m8{C8$W&|S=Ea,+ \{پToEO'e*2Uf.OKpvѻ(VP|/׼}e+nҼMVoI(4Au/ӏ1gkɠ$c(FԘ-մwU! >&(uU7K|,9~jOфͱ@(z wL]uA}Z}c$No _q¨NL%|6[k$YVn4&6 =\uBOuF>6zф :cn[H' XS'৤TN []ϯ0> 'u^:J:fSPHa]#Q6,pP3ɓ*w@d1Kr5rr=qs$Zx9u$VJHoA^4Fg#9s F䛕ۙ\:3/Q`ak)B˜ 05O"/B"v&K,񊨪 F%̠q>Imn7MNϬϟLv^,%<*ȍWF+izؘ"쾳^x7"E}0pV{MzqMzliдdFkaβ~mqh޼BU2UïsI?XcToJR;uBm̍U 6>0@N ?"kE7 d'0iS3!*kZKm zjI +Tb&2$jo5L09FͱQŔKfw|r3/t,u. v ^:$$/毑,Y6s7>Zk:Vs/TKq6W5QJڱnmSfkET^]ROo @TzhP39ޔuܙw~HfCf*Q B,=cto,z@GqށZ 6gZ˞N6-Tw]v$IU{iu S@)2?G=G)S_ Yr)]t`Zz`5؈QC bzҚǦ+2EFOO݈J CSbvPݫ:p8^W7P%t5X11Co(Ik{+r_Widͅq_]D߈LCάblozw[gi*ޚW1J쏒s|Fx>|%\q%p_=Vl5,U(-tQT \f"(C$ڐ'J:7#!]MKdjW_i.]E?0G j^Tg j$A|QxZۯCu_տjW[u䕘jŰ';-1I@BjߗQB”Qh?ʉp#wI=V^Csm65!-uIY9l_>xշC0~SvXRKԎ31_cу'OP~sLZ׉0 M`&]2wo}&s9ze+qEIATa*:>l'`вU[Z|~|T4iU?J)N)n [KWPJADKcX"neg8hdhBQ`2*eӛ*Q' & }5azH€hQG*3Ā*坂ߚN^K4,mzZ:"uLpshu}=G1pMhtI+ˍ0S9?)͋b)[\lP[Lo).iYƠ)JpܕSLI(EU o0{H[62b"n- ˍ2;.7B̡TpzZ(tE(x=/m]j5?mS@s+`Ik/y<܄ NU|-BG/5JP0~v,p)ϋVO@ɮIYOa[7){ҥClެhk顇ͺlv|PFB!Z~"OtNA>^"z~N=v*3>)O}dAq &6"4>-WV1qwpCo8?qȓ-jV;4_$)t6gӍ[U/{ ~{ϋ&ۚ}_t|"05+g2t)<{^8xQލD%7%T`ìOYlM}ζtٚSJ>.y +rsw `՜5y3D܏NR mBWnse$[Lu9~U2xi { IB!Y0v}c% p+] &O0"uJ0OZ(Co;ڊ!D8PR}M|O G~w=UjgjnP13A6V> >+7&'@bC7@?ٙy%#JF?nBTMTY=3ʵOGJ!RSWywm-#NJĸҢq jui\ROvAD'p-Hw'\ndv{[@TbH=7ٟ4<ӆxIwC:Gc2TL^L /7Mb3;"I)j M=LqZac m*R|3^c8Ɍ2[5[ ?э9{&dTOsD;6| "Au&W{օxѸu?J[V`{EbyDYps鷳*]JC: ~&1 Z7"-Oty5̄dc+ޔ󙼨[T۰Ll[w)|a@R?HL)6B-yDU0 y;§%!y/(a;9JڔxϏ̂Jrsڔ[sEh+# s>>/n9 Ჹ3&Bi!ph2q}ʊ՜O*}}Þ/V84H 84ЖkęsZ"W^JE&wELly$\eVr#E-V bY)ɠsQ*~WwO LePUU5x_%}|:2g98ɇGd/z2:YV̺8Ή ZÖqD GU8 nww}^ox _ ]H1]gKعKC([XO(*PhT;-*14T-5䰆kD tµ#JO>~7S'% "YWRKylgCZbԸ]낿XHoDUGRWMe%\|5I\%p;]K H%}("^%bBe%(`v݁/> }IR4}7NA'H`PØToM`ȧ mܑjɢRKjתkmEW,d]^/IL$$륙!zR7.i6X;吏T;awGL|\4k۾k_"flo)㦌fz^\-2*cj2r5 oޞ|"4 pyg통ML1 yj^ :dCn?,Z{~XWO @H-#[q%o.@)_1#6a.(_`D=SG׫`߾J=K))q*;Qihطc˛o!}&b)s:Y*coXo@oҬjF/J`VgAϏ3_ $".s{Ei@˒zrQ;r?j{6o<3OlW};#B7^V[6Nv5!7mo`SOnM>_W*+ jRn8S,sڼy^N;tEIIt=bC0s| 촞>DC-x:y:]&K4h79&^΄A!\I^*`:vPHw&"DŽ6d/ԧPRcˬzyI sH7^]> q֡FE=ؐ;tus20"zk6>٩#q,4OKp=' iwoR;P>/gtn®v)*wY)]T'wYS2[azު:zT>|H#BRuE$E1kn~qX)UVjDtoi[H&vY7Qd겕+uqs뚋pKt^SݏJpCಎo<|#0M*91+Ff^j8p<ٯ0%5b#޹bV~M۷me^ҝ\e"7Lfv B'Y{Q8q RTV7R)EʰH/_yL!PO1!k$W֎pwM]Mbk _Rفm@f"t!T^͐JHDd?AFN >C)A<|ThLe3"7fH1ѷwjGљ'('*]!Ќ0O-'y/ב =ܟl ajNT ZK #_IZ)j2—)l-&;Xɹx [ wy:U.l=0hۘV:|.LH_ JY*7t4!pS fz\;/+PC_|2 6i5+"b+Sbd lϖu"SиFLK^zԫ{5"X^F8-oƂ])W :OST!_28ɞ}9lˣ@j2"LVƔ4KC"vsy`lnʹ65أ0 CCheɚܠ䣇 ڤ;HD!+|Fc\x9Z{zHU^ lMER1ʎ=Y(Yc pà5qwrY(W%@kcX 錭 pt ߵ.-HzUaeuOƮ?SE6]mn@Ʀ.V΍)H:}AeEshwd%ؕصƉK1ݜ&͗~'{16=\v`RYAcćUbn-)p1Й~˴.ЎSB}Òԧmz02Zb74}CF6!ڬ߅=J9I ) `Kz@'j gmǝIoq;FcX8DV}֦4ĎEe4`0:R^Gju"'\F?.0g@ Ks$h[-<:ν[nRj;*F$ýjs)jup@_nALK !d~Fj֢RKʓf\2S}94WXX]_#%T~nqxt )|/Tksao ŐE?e)5 uv<,8[w.d={B>XpGWRī^xlj(¥;\.p^E`miӰ)ϕ= p_zDhL`AnACAݦcZy&~2(xҗŴ2G&cf0o.(/a}r9nI-?ElF&ۋc|:TW5Æa,NlMK_ԍm|+KF޴jSRbfO;![:0QhН(\"Tp _Kb-G+Ew[rBSOͳum$D*B,,GKT]֌(xE1oG$B[y3kV xDQ J:(mIa 8ve݄Ctܰ5aJ{QܢP5z J.e(wǮOh+oLA*`oP}YsGcU^ĴPhw ;(&uQS;1ܑojDwUS:̕> r40ᖹ} /M;7E؅<:eP93kRT1|*܁Њc,}V07wk0 bG1? y~ Xhqav0nv4$COcHZMS:^bq Xd!JFa{~0D5LJ}N{\P=TbH|%V \%<ڐ;@gݖΔʃP݁?">$OKtT _coPG7q%&of|9o6GLyŒ:sQ6T7Z~>l9&]!`vhn^4 ROG}JMߘFʋ6'q5t lmeo殡}1o)Ӻo#tqI*~0~ m4pA0 ށsR!$ sI',5Vn/K_Rl tk;?m\X5qlhpú׬Wb a,搭8PMd.s4RoV eb]r;zUM=yE׷(t]-:HVɡN_W~c4n}[2bq}@\Bj(ǮzMr36"QH)B=vE_J1- &w2KOyeIMij)(LB %#,o'i ~̥&Fli].3ZZb &lM˼E5\ET^d9]ڒ :=fgKlj;P!E {KdO]RKCk7l@u6,4GܬPʥM@trV.H{z W.ےFQVdDEϢC_0W\rLަ4}zU4 eggQP4\oub ,iaRg[o[&߰,*N$mkʏN[ܔ{44IEZIu{ PuG⪟@4zզ<&(t) #g'tS}AXh^o\i); EAf^?h+wec C3GƷbJ@yѸRpZpv$mr`?mc ',t 0u`^lawx˳]%UgVr*mӼUՔ|݂>fvgw&ͩ FŪ쟨 ,E\7SLY:Nx`whKp? :JG-)7(g`2{`s_]\EȁԀZubĪ*RYRHb dFl?Bwi9 خ[]G4j$*$ d rj]h"K Na_>"8mÍbhS៷w[^p0nGUU0{%GcL _>J զ* ^M !@ ^8 )JWRa}]:dE铃'ͫW4 Tm #@`CuU(L 3mZ2Q1m< O7>">D'Uyo K nPn+C"%&>*8%Ws[_Al]?{yS;􀓋f}]{Aw#n4qD)|U9uaviH\|$BVpgYN%a=3XV(y`m`JI@[#5h^hy?Zi"0%HNHtAi+eJO#RVŵ#KLY ;`D۶B |i dE2CPx{;iƾj]n,s,BRFEXSܻ6Z5:萱nͽє>Aŏ:'F>IP989*+ɥ/pr_K)MfL,3|I@]O4#QźR+^P 49g_y!kYUsC%Mj&"B4m(Z QsybNjmH8vs72&wH`MLR/0M91dg Ya(&T'< #Ҙ.NlL;/Q)C$g_hv 4Ptlp 6G59> :}<ӇU9hq{Lk5IJfjMD/:Pv҇;5ȿ+)~Q2mt3{^5%b(͹񇃆5^43/sTs^KS~d >93X;Lʪ$Q,&VWj=׎H& D p-b)O ]."J1ζ4*ԁ:Gu_Bܤ6l{:,nt 7@2]=TޱY\(:O)9J) 4;4*E$ΎFx:z|]h/?ql#a1lU҆mjm16bdww0W(i 1)M"&u5jRp@$tc 7r$*;2 ]ܢqj쁔r/>"Dd͝"7s I Qe) "ϲD)AI!E'tz(F.Y_`}!]% vC#$0|, R]!4FxUKaehb~G^a]:;hgd7Zo-mW@A᤮=lmh\8Cӊ8.Pr喕gIeKy3ɢADn7L` %;3-bzm5?Q'!J&li*0TMc"5S_bDX 5x ܷ[I[J< s ҈(?SW[ǝ Nw,mbC׷ÂD0j8Ecϻ<{S+imZb]A9ɝ H |rwfdJ̀k]92pz 'VJqR*P&7߹b0BؔcXRp= Z8n1!_%=K1Er>whT幧 ^`$ѯT!)fY<p ~dQmZHsPX_p'0KXR -w9i4eH4YBԝ2rs\Xt3%OqbDafڨ=YT-'CS#wdgJZՓp' ,7 D%~M{ \<"oݧ7 jDEgY~ƜxP{M)=aN1CT|~A]:^E ,Q+ \MT'%)yhz9S]ם(c-\]Ms -n$5Uʭ"E;{)P?ͷqEgo jŹQ?!I"s(0=w61LTf9PY`>ڻ64 V Dw"hhIyb3d @% #Oibp*leum*iv^̄w;ld&Zn vamW|YL)1[Dbv+jO=auXF ҅PDwZRK2O}8Fub7HL}5K1):RfZ9}˿U2n"Z}?RY¼JlNUJɐحơZ9.1Wm=sQ6l yHsEC]ٶ,$髦Z\~l˷;x[KerC{E*{ʰX}^M="x݀ܳl Hs~{Bw 6 Y? 5AS䵟.؋|9c8ES0$nWhNTV3 !}w%*y77-~xfѮ"k돽ZnbK̥J~]EO C[ U]2 av6:>%=QuI E OJ^md'ɡ=ic?Lv Elh7.0OQtpҾaO !‡)o&QBqʾ BB|ݎ$6Bbj(nZ%ǓX\@^K%Rl'zhX CWMR t?aʰ΍ ; sfeZ>{<8L&^j=+(z^.K9&# *[SoOsn1#@`n6ۀte>v;|1!ĖҤ.=4\$')|ZCyr2fP W ;bŷH8O Ɯu,IDqk.z|3^#@#4"o;ˮc{-Ƞ続b3KMPf@F0׾e$I~P6)^!*-ƿx$:k)F s0/ZMe>>:}R* 2>$S-ʈP懙Yo8~7)D[LL\?Cї-ckV/'׮EZnzC>:?nU=zgMHT}UEbsm޵10A~tu4NO]EK# 5$yG<; XDsviK5-ُ:X# %wl `xF;0yvYauJeOiN{ێ_м?0.F<\>xQpZ[&ؒje.CsX#? sܟLlz&`^nm.oa$g/$ы,v$p4Os8쐄ć '4\`>!F_V%(3b5'D}٭!l\%T."8$iE+N2b2)JW7?PhD~̨{ Gq@%9I-UOP/w^5TIf^d7OuBMZp5ث@K0@pa X'O(1J5b56Gn&v[)!>w<'Ԛ0+O%Ddь̉Y&v){Ӛ!%L iMUє` q>H1|V=h 8xـ-d7K{y&G#uĪ%[*tíaԑ ל5:G0D}HPYt\Bi9+u+987Ŷg5'Ss."kK H!$0}*h]Z" HrԮ.Ftay ^X5!6IMd4rk1&PPiH!]C5vS7`Qi;5|k_:-Y.AX]kg|>N>\vepn/5arSKfӄ5jLQ-[|wK=a\l}GNlܼ>g7 3`7ټ66z@&eTS,b:Ff/Q3=3qs/j(9@vne2E&f6-m:AG'/)bt.~wp[adFo '>{ cAҩ\6-.vy0t@[E66JAqcrڞBKqr%=vU[7Uy++F(I {5~Ai],]9 ~5_8&~a3"prU_@pvDvw>R>CEb\KZ־px"I/n< eH0k^utH ٝ4m+ 2qz 2҅ʹJxLwCkk7r/=QT(TP> Gll]I˖PTsfΎm{8av!@Ř慃(2\ޭ00qEYX65.3o֢L#ۤpZa=ADt=yjKi_\-{!a =z󻙇g/-AΧZK.ɷ9~؋1ƹ@lcPh"x'ؽUs#Oo" !DtOټ2{lP;ae$ޘrt$桧17}/IJ9Cmb0CôE&fIf2<[2U Pa2QG\ĈD5Q>cQ ={'n,V]= ^'NCd ϣrn {ټݖ/Bu*=V},ЃĹƕf/ܙ4+ Vo~33uWۻءmAYh0~Arg[ ohb[1KuBN\%V[:CU25g:QX760lnɍC5 ƷdP Y7r^WO4z-  N<} ngƷWU2E /gx)eQNm3XP%ͫo6hEI6^ ˙l CŽOx᫄E$MnS2h/+1CzE*gm#vn`f.]/? PXmhDdSĭ?(\(קzplDǢQ?kt_ѭSh `M~B*SÒ:VIΫGHC2`L[޶G T=D;E#{{:hS#9nj̞Na(Ʋ /ZLU/ࢾVB8=%#56;pw2Qb,٧_# {|xG=Hn+|N٨jگV$; x `LzB᜘:TPoބ=eĸY_[;J7R/uIwv `gs^ Z}q`Ʃ4C*~=~ Lϡw9c(U6w2 6MfA^t(~RM΋x`H~)v+j5ۦCm1uCsjweَ0rQ  |\AMcS1a*Blb3t`>Wa򗰇327v~VBqf TMSRVl=oR d"Y ?xG?!Ί;vװYY;\:Z;]VAHT&36xfrQ`JZ_\q7[r<_XX'ՐFR@R)UӉ>E{`NnB@Sh CN"6oeC;04SD@$]]GR=DF5z'rIc)^T$LЇ m }n^>q20lU2e2TqI>?{ifEL[ #yO,m!4R |e }*xS9U]%eħ'c>g9f9GFX~žx&)$ZKWdV z/QQ-BLWҒ/TG-\~:1ns,Vo@z#ݏоe&`%GPUQY0qg5}ߣ<*hccrR2_^BIpX"" !(8fꈈ?wL3f l S&l t|=G&sv#-Lj\OǟVۥ8ǙsTzA۲;o 2, $,~`_zdCp/v3=QӢr4{/kr}2qD /ا?ԋ{4G!cVz\CXfj?wQW0d^(%WM߰gD><ȅ0sYNBPQ-O.7+TmM4S&fB 1J&8 J3R9ClAr;y{)y^Y z PxV78v>5.➨ CSI?= bElQ.<Zcf׬&_%nW^W z=N[Ƈư=De}Lꡁ>ptP1^ VgJB1Gͣrfp=m.Qbw^JտU!q0/O׮?yf(>3m/1Mh6gJ#%{I)#qByQ˻X!*5n*:0=){GbY g#920 =W'z /˵3e߈RI~ *3>{0[uWUtuF[$ vj#ߚ|I["o9wY~+1Q4$<`6R)2MGG,l)*F.g)>ŵrVw[zMq$dgl˅%io@ޠbJ*j|0Ӳp1OF пʺ6:V6v/= *Y O]YVkr0)2Y]Fj'Ʒ|Ɨ'>Ǩ%S[2l$?pm󈣈t~\ۆ4וX2"ΰUV2*=>jvr iZWH;!c9Pɕh)U+z7tnE{Auŗ4H4l4q+lc7DWM)Z곮Qg~PmZklH3p0Շ1mV1Rv{悭fFt2DB5&&222G^RE9Fk0";~Jx4%YCu(X6ڪF|Q^ռM$Yе/" 'H!tԛʂ tq'`O m XߊMy{舝7t43ҩ|Z~:I.s&KSA4ﲦ6n (B^Y)K-<W+s To/#R~ȸ - tXXO/2We0Cdw\|*80c~븾 bjOpqm$?dUH'f9,2#zPv1G Кk~xoGQ4+0D#BP_eM= ;m^-$h̿g\y5jgѺ[,1؏ %VmT*.Pf\2ViWqsQ"R?)dpJŰ$w36dFL29Q.9/j%XG6t^Y✉: 'Kp$%U@75/׫a؃N$JR 򿖓"HdE{G}QymÞDtGs_[ -3BC ܞznh±Ifd(s'5<3t)Ox0Obm3 Q{jAjoCXYvQq.Q &> W]Gh!,R_ ~aY.@1Tʹ$p>oD[ⓙ*L1?|7mdP֧pd?i\:OzυҼ1NWfVsu]M<@wl5H*>|L0D"z% l.WbE rxi沬x-$/[e~Y6pCvc[:ҘTߧ*BEnc+,D!4@r (j$$:d4CXx ǯ1㣖玘E/#%+":,7GwXF\%+VO(zVz(0`a P U51qΊm BxF{:K6'Ub0T@3) \@~PU:LRYseBoQ޵J.51!) eH:\Frx+\~; ݍ#c2G7&X6YZz^Y6Aν 8˲a`\Gγo aIYr9 L*+׆=Jl<Ԫ"y1{) ,`{ҷeR>% S.8Ͽ T?HjbjϡE=R0J+-ygi%bb~vCyARa'D3J3Z( 7ҫ}Qa!RbvҦ8#hݝFSݷABUCF0r4JHފZ.0nlCY?ܶ@fo{:LI=9PyJK' j'Y9QЪVQkWΉ BPbRgn RW KM}%Toi*0.#/}Ȑ>~2\w#i>uA*Ҩ .:6e4(ShG{0PprC66cSoF mE{ ;AnllN1S]j݉Mfϔ@gŋ;K(;WK:>~klahL;PgUC ` O?&/h|MDk\gLCd(Jq y+Hᳺ hۻ:nKB7GB[b%\mg!%2ha5Up*70t'.ZU!>߿m;.m*p@%&H+AQα#nc1M E[j6FAH-T#BϊV@QH-C^]fzEn`"ݛ x:D@zc҃(ݸyv] Ϯ}'(Iy>h].>7_x"NqY vlR۴L;.,?i3w&.H u#F[MrI@cS:@0tRHԀYvV ՉL)@ xrD_P20+T$FU?(Zpo1""=4Bw6'MF60ؿ㭒Ч!<:jK) 7c#DΠk^`Gt>S1r?I Ʉ ]ᣤ7fsUJ5 M6mx3<$Aj$Q !%JG'-YJIW8~΃r8KX%?9Lf ^~ėhCu^۶5$^1`t]'#HOq5t~wk| ԁ" ^ɧ۱ǥXf9?;^4F&h`HapG:u#a>JޖM +<ƜΚ$nKΧɚbwYj4}y2~1G[HCO|\ Z#:8WXp&BP[WsE(lxHW9A=EAd;-j2Xt]HywaB!JO'E}" ?Δ4V`B  _?0p-c`2mH|,|*$>srŇoLЄ0_ș㭭4q:̕nDk8衈Ʈ~ d5b 2;h&m*KzOz;e6Pl"* T=Wx6Ƭk:vߙtɑb"K]t<~?#zN fϊp$Gs8v66dߩ"{ɶVG``$AsMaigڬ)*˿TC>r9V%jn~fB-#F3|F4sǴ*LKJkwч'_ÔL {A$`103^;xHTCOȮ6VY t\u?5gHs,|l#P\bCE\P&Ȋ,!H`4bT% 4-j`{ZߍLIHT~xr'ﳤIo=oV0cJ[vB= \x4]l^s ,iSgZ]ao0Ͼ4 B3eqB5=X!HWϵӨKQx BpI ZظXC2vU븓8ZO {rt9)'O& tЃnkwj*dʟ9=HCg$2u+#d'͢1n&aDPɛx[ ہ'm+ՋkD{||61AWdl,$G  SQBuݧ[{^hU 8FRX-23Q*<],ܭV`3*^EKAc'HpBqgok)CDni5 uuUHFe?%2&\PB}MWZEH}<|Y @ڸ횪{>Tlԝ#aA/x%-wb;6Tl(pbYRU"OrC&Y"ȧΛ ZApH8JѸ؅泐NGzXoֻGN8+76eQ9T d/Vj1=rQKzDH O;D]L x"Qho \X c:/w-m5^CakL֪.dB+cɸ~V٣A,G;]Z6>wmr b4yJ? ^$ԜDhW CRv(f|1Ws8cm"5{& OubJ7GG H5H |lt2?Bn QZXŤVvf՘B8bm5q4B! 徢74~6BmR =60(,g 0f}F@2 Am_[ZQ"[C[Zu2@'Qy,3qogbGF3jgD2"9JK3NK.PeJe!i3IҒz{X[d!ǻE9³*U ׹HjViRV.04>=: @|Ub1yJw832`z#sHQLm9[?WFrxM6eK_AU1IQQ1@ry;e_"6Ked f$_h~ fa:5s*6rMȌi_$žLkShu'~N_i5k߫>4s+[ I%>P:uIPH݁ɝoQjʀS1|8Vu|ј|[? ?1z/˾+%kjvQz ԩ 򆒏HʟxQvlc,/|.n ;_^~O|3Ij}uZu$[C; { m']?{ Mo>JO'!(i8e^ )Y{c!>oS[2YěuM6+TY! <Ӛr<= 8>-NI}_qʋFF Dx?b{ʭ+Ǚ. <69 CO2(Faě nJ.bްqAnه,94UQ-gX殺j;=ԷZKvf נ|%, Vl>N*doȐ۹Lka}FIada+2D;adTzǖ1?3Hc,h @wò| l %o)FTrqjxs݃đ);pִ^+eww mβ4NHE8zXB~}6ljGb]^*;oخ(KxƄAn>tF:7ovD0 [pF WV9S Wǖ(EAMXEy,ؠ(ylLc9R@]y=vc Uđr(~Ccw([Zg-RJy* pY*&} Y%WQaqn9uD龎,lUPLB}t^3~T#Ւǐ )"0D|*il]t<!DŽw(g)ل덒Ӏ0 м3Yrq c󫞕1)34X󍥮%ۙn'_?[Olơḕ''?﹦@'=⢛w~q>XZ S˔Cqɸ.KݾFşi*<(&T[Φg?/v|ˉ\v37cᦝ?~0(N3.0*waO3S_ &mO{si7aD}hZIAKUv@6e&D:ԥ!i{5D$𐅁 4Dž.wEEǵG]%1\dsrXz:C3GQTF¿ Qs|]{׹Wjfre0FRŽBD DŽ<M e\,v+2A%̅8BeQ ri0ĥAj>riY/GGiZO4G% 4sX k(fAHnT=[?xC1dnn !O.Eh.ʢW-ϐ 9EQC3/ 'ǚMk70yO<ﻟݖ 7( :*㱈Ʈ18~%&1cn]Yw#oid8I$C'UbG7-~rH^%LKZ̧O-kI Йzj<(y$3ϪC"1s $*:==pPq֘k@.G{胲EJ Mʨƀp};OEx|W kh"rݍ~(#72~u9\a'^as>WyK*9!@_E^~ =Ő]eLq&HQlo"ZH":;+hF",;jzeRT j 8(Jz>H9è䛝HjBGC~>ȩox8f ޕzYUY-rUcg~$|S)Ċ??_Vq/N֪_2!Uuթ]ɛ QE2Gt/ Czqŀ;џӬMZUH, MGNTXǭ0;M*xh[PMW)}7L fa{!$Qk sj;e +O=w}*Nي(Ͽ4,⤮]9Z9jNaT<y.gZs|$i6WMzcIIv ٿsGaW!1 n__| N7 $q@C9 ⍵+@A6wl[]/hߜ<*&'Hկ4>=\ OhI=$Q:+x%oRtnV2>L 6(naRFpXgH3aJn`8r-n480x]_aLconߊ>ި:aVJxCDZ ?hz2dILj'xGZjZs1 !F C+wɇ|sqVY,<8oz%Y;㪲D[&]F w%k>0$y˃u+ClȔA[bs #^MQMC$f|3>X֓@A-aq t!Խϲ_̯HAĥ*5&sl)$4Ӻ$DžL7\yFl̤ާ麆 .$'^mgX-\&m_ wٖ;c'fiF~MMbأfipA4"qn"1R$D6Fo*.hJ6}:8ZĿbe>("f<+CGzRF=6!yǫȫ{zʼnbiy+.IuLa\!^u* ϨU=ǻАw+06@:@Mܮ !ZϤujLs\X& ϴicus_h>"5p؇z5s.Ehmc}Ibsx"~l&+xKԇ8Hd0UPt& X ¬41=̾aE?u0({s 3GYrbJsw :\6dt\j<6;Ð\,!43o8*r& OJbC'$\-{{Va FSy3{uw7>uLРhL{ýZwhD]_ zB]Ry"0H ;k3jtnԃz'*ė~z;Z,*P!5}Z7~i^Q[a^kGUzN֎-s0ݨHz|ᝮ|]ug&z=]*QT)vxڕwbm 0 J۰4RDrD0(-vôh"5ݷI~r!6`vah-%3=͔1o`C:~]ٛC 1U ~d*Ǝv: 0#c \dzhʘl秮ƆW(S4P6,gzt:Egg,X EBXS腡(FBځuܿo]K!7Wd먺`)ں$A-jz@wi;#Ң. 3!¡m'si[,UFLk׊v1E*}?R]ШdvK*aZn:ୋ bQTΊ5d&!哝89Lv,}P >r8u qH RWrÇUf Mdmj GʎލNy3W[$Tvܜ" ˊt*+Zf\ G{fݸ%Ȃ+sO0F GT ghƋ T ;%rb6'j M,t |uϧM:k 43PP }&| p'Zqnk+d wQΡD)ԇJ!JFar e5${KUu etФmcm#ЋyVjM[r.?/xJSÝ1$$PלL6 Ms^0M&[Kbc]bWsyT/] UG]h1~ށO(l&f5) ,Z`"6b7x G8&b+T ڨ"IY<A3 s^.S>OjdﲂHL$`;I-Ғ_*zd-OLD-I4G'vǐ9bȸ%YYH\(g"+R ܸ_NJ۫bp߂)I'Gx!B¨۵/jdG]xUxWY' &c|> `j:DUkfJL8‡V{4gqxe&jRw@h5Zg~*>K3HմWQk0kzt(=T]${a7{':D?MJN @"{<#atV&Ӣ˛!@f,-7vCf9Epc0 gs3fZ_2>ZRs* r$J0Zp=|<յ$)Z"}4JfPr/m WNy#x.-,>`j<=)rECB? Dϯ6B"df°`eE󚬼.B.fDZȞ{+;\tZ.r{Mf2[j="}.OHn̮IU>,}S>?v`k:xLpzuR'["TmAHY`R֥0G mNM@ѳn䛋Oj\nؼ(ӊRЛǬ&5߻—:K`soU"utlLBFOi55m lVddlZBb,pxޒk~flϧ'Эk'hn\ʕXE{q+Vt(wmH EaFV0h˵H+{QL{MX"uKJ5D hm){^8=50:[I[O#Kfl8m7gM{9]\bSmv`8}teMcZ>]bBz:qE*34 uLm]ZNn9߲c~1[KKjiWG!#tFC[0sT$_u 2JڧyLȰ܎Ts*~zLLK(|=)arCJvC+ d7iww DPAwA^jBR\;q 8[zݛXIcZy’ "&M6y&JbcҌ\pn+) Ez0tS(i2 l =]&ùu kppX6!QZ^IQcJ0*xv@ ׫u#8:ΧdL+M@B4MLzoEz\:a'ۑwTmU.EM3,~ c9kMr[PNuͮ=S-ʊчm%j j8Ije'vWă}jf b;ר~ύkPyq*kWD]9lMYʴ b{! Lެg%+Ɏ pZu=g/6C4)I$0nܢi_ӭApf?wxtfyfYww,)0;p*n[eXv[#`u3ˁrN`9bq8s/p%OtDReIFkr{%#~uWQ#;Bf!γe2+0$祽]ޗiT۳D^{TM+i>1`0"}xCb̀i-tϷsn*@`8_ r(a4F>DGDTUKRBOxϻ ܜjBjlXҽ>S˜x])f!̚PT1H9HjH{:  $&d|78=Rkؖ07>&;Hv0CPKGA5Ÿ ^dZ?1^5xSQ6&'bs78]6޼hD5C߇]7)+yPІvYp)hԩ\PxQ02s/I h7W>!J61y0Ԇ8me( OюH BFS`'L0T*s#dY=aBN\Z#<qQ(oͺ΋ ZU܉>'%|lbs%9ӛ*%"|~;wI!cKȤ^Vẙ'D5lIGEA7}dl5(Oj4Ę3RHZjOyf+T@A>, mkmy$?ýW +<=!!jRܗ&gW-QMeTใ`ySNo]449c(] TL!pd,=Hs=㹬!u[h* p-9.Fo7rf"VR:̻z.LYcU2dB~}o)P>]/(apjsdvhɐhGTv>yG Ē&2+ob};C*Z7?8y DDvURomP[=!'XA=uJr;ݑo*%_5C o8S/EqWneWndE)ꨂ,2 S#,kz<Ĭ{!IPr7 b[P_%IH.^< |1wt8Mh?9{ɧh -`׷P!ρfIRI\ ϟgQ(;LSqܽ)VUӡkӆW߶boH@id=,O Zv{JBP!vR;o^ӱ3-[lmFBx4xܯ@a%R0d96\c-థxNr;lC6vR3$D-7ҳ(Gmk1=`h'{HuxOj䤟j{&v'_̬(yZݪ3b68- QpjvWPmnލ@\ ÷|Ds9`f?].7!쟼)1S_'p'I\Z/1 S9.TkJ R\,Sœ .oS'I)7Z  x9!ovnFS~3|kg@&D З0V{ݓG^-!~fMqpR\ ÊK‰s^Xerhm  3o @`a:5Ӎ]7]qѨ :S:ļQ U^k=Igl6DڛrFJsh*IƝ_ 'Z:%ѥŮ!6Rp.ҪrnڥN!rsސY+,Th 7cVs") lu' VmԤ>}'"߭keJz 3Dr-gpJCVCnkϥX*Ƹ85Gчk`S̱0h8$-nv-⬢rxPhMŒ]b-AsOJ9-CXwvYiO IJr|dsF BnI^Lfj4#<,PyFYkውZ#dМRP&x*ApOvb%*`~oDL,ۇXm%i%@V(~Aj$ N>4bAޚ]܇%WG9)dƩ8YD~ V)ݿ`?h3pb%rrv}ޟEF{pF+Ɣt+ 7~{%7NdOCGjƙ:׫5|uJ; e̖n^!XS~ZQ͗|x9Z;~ˁw3 ]IYvwDnx Q n teOFzNG1giMrPjWQXˁG_3s]a~D< 'V@)#}2˽ '!UD镂xGXAKҜdž",nae9ǮqsH;~C3Z'[nQNZi`ېI|nYx8zVE;p3@h۩&Ak{\7ioVRTfZL1Pre]0Rzx=DpǬR,.{x?ثI I8H/sU% pTPA$ Kֽ#["-0-AG+5%{!ʵGwsl=!Z<$-d1Vo;Iyya%hʎHv Shn!=O f9Dl֘V1;d7f;?a`b; HwІm/PXLI-=!:/ܾ!QOE hK(^)D+vr 6^/_q)qX 4+EY.Ӈ49h]vbKٍ)p#eν~):Kl] må ^¶{hrHs,dy'Wd8Tss?=MTUIp&!#Ҍȯ}v=ɞ!5A̐>h4)%y"Q/!5,+Gnإn8}X:{4վ8G}|'V =yc+dn a(SSB-t$p#_ll1"#Z4VWab߷cMl^+l6b&H /qoHת#(%wnm55$tD~noO(o_]J ;-jD :sdvi)w J/ '櫢P7U 4^.^VrQcFp0@$iƎQmvM2g.#o_ؓlJp;EHCVIO=3-|z;o"oH 43PJŃI#[ķkCˈl3xFQh*8,cD\3<_鯥moVSC=5GKe 5N ,LE7% s>-V(_E?:ʕDe%H|% YXS8;K"3<k!N7$M4U 5[X7h? qn'eAD`Cw+}PNFxUٳWgf|?w6JG"%)N[g^ J! L\g;"uv e0dګ`fv $ŔZ?yJSx%g)ϡTypVkxndYokH@ _ި{ѰCCSp*=ܞ B䆝ݣ,"vE6G;>p@,Ѕ`bjXjr~wxmbUc?u9-A%[q>d ]6nZr`f-.чM/k7W/j`F\Ha9/Blج7"!o9ls}`K*Á4>(:5& huȲQ0Qgl,r5g BfFHddB>ھ 2 )]j(B-[fׂßA#8T ?+KѦ>;g 2L .DCQFxR.|;O,S+Rasx;MvyClbTZe f@uEN*A3wbiF8'U-dt˪h7 1lҌz5u;ϛUh^:voCÝļV.scqE2]\yc $-(FaG,aR޹UxPܬKĻrRzDjSсHҴ֊=OOtaH;E-zbSU;EjSg( V$l uXﮂ;*E 7(~𭨧Y0C}yYr˛8ɰA"7h!R]ls 웜nϲe66bwa<a/ %*D}h>p]AS%S.X4V$ lAgb+_:šJ ;6jLj8C.0>`/Xmj<*>;2^&8s=i*Z/|5B^U5JHjS`9&l3<h H9Z}V1 owG>DQ)DfzJ,Y:9ݧ)d|=\U ցBVնH<i7meyRW+{w| oat-9饥_@\~nJ*4m400"BL|Pcs *@Z{,0K$avaU'J1~F̨mh]FOP*WjZ6J70%lUirŰ#-ԥn2^9S9Tj[Vj'Kh^EyqhUlFpU0)J/͏淓ۚfq"ϽR $3&ġ se˿Z J3z+>RCbwOCebx#p8} fCΪ'C3 o9Mr*i|du;:U>ad2{;zS?9!7\{0}z/w1;N#U^Nh!qn|"L bh%sʉ|{k r}5EW*՟Vމ&N&vg*`Fab+sCBEIɁozofo0y䡳vz,6t.p#:+J`(g~BۉSLhvdGm Pޑ-P_g H2BD֝O#2`ZPFcSa` `t<@ac Ugmy೏@r#S%?!yTdɡ8bV]U mc=ϊ~œ Om~OR rV3c9iLYt$e&.еB%!/ 3[|[&A{GB^нv#\!K7z }0YV =]h=dUEӛ~TKgc|Q!SlM!VkB?{0Ao3@1}agPz'SPȯRЙ"? tWRcּ4yFzpVcF[YT#QoY!$wsry{sF%@NI )}wg#=K0l P݁1j:u#1 vE鬯ʩkmN{q#ՙ W.fՃ @.' ֥T"!㪆ʫ2,!,V4yDWn`d7 ݄-*T~>#_#(#KӬ!j)NoLsmR[xB[#Atm&o҅Rpq|爚5Oԗx&>Ao:SzNpWDϏ6OA6{+}bzH9 V]CjØl0n""Wgn9Pe[\-HYƤZ#4-Hi VVSPܵ մ|Lo2Ś yp ,T5[}'eBՇi;[:4F%vI#ۮ`-x=J*'9ɠm7I0y1?Vx-ed`CosӚ¨m+ȇ*h[Y Z8q?ߊ*rm*?LHp^5`v͍rIJ=Arağ1ߴ &ьz&!&eds8-`MAy}H;cՈ񷭶Bw;4dMԉ`4ɡ1c{1.Myh)P [XWZ3BMt}䁼ז$ @ }91kZ2$]RAw&̐|efQ!BHI`~:ZuK~5em\`Ӝz6z "ÒA9,/ة+xӤHbk EoO5Ȫk7;G+وw4% òjKI6:~>_=dQzy>g0TA WP|EPZv)HnVD\jMzGBt^ яU}-Y&'1\30 -Y4an@|ACXnmS(`RuXqw&"gtgTפ3-I9=ЅH֬](FSֳQ,V7$i(HM{KeΕt1utB`z[(Lų7-RU};Png#S,nKޱ<[Ӂdv?G:؃fWip|Mmi< jPksAVSG IP/Q _M!ЄL|CI㚲"p|r1YO:Q !'ndz)OڶuOH}VRrHS%X5ѩY~Zǎ(:fy ~PgBE.vGfvZ׊Sw(?`L_p!Wscr8t:eSѵ2~|³eD|J˽)9 j%%)<I S[#nTM|5+}K^Gba׎˓it*GP5m:?;#ѣ <1\DK,b`"L.WG˫n!v 2tJ"H1_Y'[_ijueh i5겶1gL$cPvqjW5񪂻}GriI8\#Q(c[s[xn br#ZD_OԀk}aBR:.?wЂ>).uƺJb^VGcYmln勇f`KZ<ӇaH{7u\Bga#  Dui} dz ?AQH7 vۚ#u+cmY8iT62e\+egWCb y iʸcdGjot7LoqL4M cםL8rĎ Դd1ْf>pu(#gG*,Tݵ^{DEAcS{PO}0{AX],&g15B5wáжɜ9?~`Wc[(#YfH iѓ]t/E3dZ()<1\ H;խkEv =6MW37+},xuiYYj&A-b^m4R^Cyã#S,LS |2MDMJ@)0 w>;G:w Qq8Pt5@ ETf ?"E'l[oN 6άB8U~f}NlRXKlǖvQkзqX(k(9Y,Z̙Lߡ,sBXcfo_戣 kkILF일ݹ>2 ~@$KqfZ򸀾W/Fjm6m L,&( wo:; ^xob AOhDHvǭvRQTlBr<|xъR y.( .̝꜎k3'fw꿤)0ٔc煴7< dmhs2q/yKaB#2KQn,}A3Y1 n_4вqA)Ԇ"P1j5e [+1O<^Z c(Ān(MkQPWY-o#y@9+HOޕ;`A2ND })X8(gi /pgm#( UF+먘]]b6z]WØ3^0MSL|,(ZSU;l@IJ@uG)@- I΢!hMnlMH C|t6vk2 neKS؟edJN* 8-e2YD) BR$q8~+䎶iC!gPvyy7ZH+^]M=m7CD;Kʢ&@=#pdJWzsp&f/SdV!=U~lASD"?֪Qk]Y 3.e&0@ew%q |H[$B!>=dosE?P %nx/vл<_Т.f %?\VVjCȃ6%[by.6Lg\v<3h:f& w:qk Sď6y9y+'="|^sKc(7 geIa}t:;H]Or;'XQUnDLV  nF*+7b BB&%pC&d7I}s'{t L O>IӈF !S}.|1;rnan(C6~|xUie[[+Wy+E4ak1ܪ\!M_j>Q`=D3x?dyIG8륆bM1t-.|r7&7PtD#\:kLD rN<1Be3|G 9 |qh^an3t$ 3Spz:{oHB\` dv5$wLCny& sT34fCzp&Kd/R#Drč2r|G2+u"α0U{tEY'fb,#%X9K^Nq = 4[~<ՀJ*}%hLω\bD.A6#{'Px=v=}5kQ$(zkM=h  ,c)caEm 4~߱pb;[| X7>V|*h&]Iy:%~q:i'W#VУ> 7R0 pVNG&v-!~zvϡ0Sxa020/G}R;9'fS¡uA@(;;jw1!^I 1hk矠\ M(6y壠[i.Fl81JE ݳDz68"WG v(p׏x< [)eiMx(T+|Gm< tp FYR3JdH!ܻ+SjXLo^A!x}:p;CW|ӣd:Չ &KmIŽ 5|:WE]b RIg|GE+s4N9Nȇ*F : 2)Wp#+˹+b wp- [x5TEd% 9v4BxnDW[h2[ P 'Q}] Fl_/eY[;BJ$Y}AW^̩ʞcM#)?Fb "r`:Nj'cޝ-z E;x9w*jfPhvqv VO\~C(PW!9hR2}5u0 ZgRӳ@WN@CI@<ecvOkV)$gN7*;#)?Ȉd0du zʹC 3 AAk=:Cݱ 36{8P<|Sq }ʆ1F~8e⍙z8W{[҉~Uo>I9Hx/r؃maKWs)VF(w%d3jŏk9]a%\:]^>(N+(6}=I ȟ;F\MQI/mr=4󶥧xN2 Y*3\!vbv~_mŞplN ~g>Hl;^c,c*eq"+dj=DDͱhī.g8w{$Di ɒfqANfA$|׌PTQl>[QD[c^@ 'NW[3g(T=qanzHǓ5XGѯL45w@s-"F>"d\/rh.+B'cʡA nEmRћ%'aȌW A",%}Z K$g&%ͥ;1sf̨ġ8v iD_Xq>! CCJ8w[ŇGu p %R]{}p*|uYHRΆtnQ6apNuX#oKʼnƣm%w77{WXdBgea5S8M\zGoZW'>/H/S}uLӎ:.NӷTޓqJkq5Ra#RVj~HAzusWԎq#Lrsx(ϩ꼂f \ݠDVD67;ˇsP[Qu^QuS-ø<.@bZB|ήÙ(eRC0#VɸMXo8]ϝ%Frd$M>,@^/~vR ԃf002dO&䞨X8~]bWF^ O@4i٨ω@}֦BQG˗)O[0BE\?Ҋ"l>ۑEK373rf|; -pFYqw~3YJض dG~ x[bݍV-Ӻ`jK3qw'5L+Xz>oJfiWۥ#fvji)\0 9ף\PNKI;O}nd6]Pc&~;GJ$^bueD=!86ygO`2o+H.Ws89?X'ҭ\E҃oaW?xeFR~#{^nvOauP(X\X}.`)@?10aoIE`76&uj-ot.utsN/usAYz`9VzjCN0U +T]YHArCwM3+'4tG;sLj'󘆢/ي~4hwTޖg"^O5@3R?̸t^ ݬid/]|hdLK4qY['ROTr8d Hz5EK/*rE'eIDH~\#6D(8!OWCݰge)ȪZapPE=E1-wڥґ326(Z$.u.$c>-(Fg41:SdG+I!w$`? i0zΰ\v&0XddnT8GP0$\Eb~VnsВVMnv3%  LA Jr+tSo+93RjbR!d Yc:FDWiXz:5[.K, SyO!a7ge(mYV"6_r-d"˓g22Lh,,=/|s:x'-#+Gi0|]BKr>Z9qfhC/~b,HHǏ1g2_ǥumSä v0\Rad sB{9YQ,׼*leUX2ZvRp2}*yX9$HXLA#TN3p;ґdJ<>%*r@·-}[lD*u̼֋23( sI\J"G1Rf0o'Xuk{U0o )'0gߖO>8}nZc/qgԂ zBƴ2c@el%2٬b z1^1:]H{jqF<0¿w;̨ B&P2r aei3td!+b_v,ƳNCC2ɽtиYT.YOP-J%[Z]X!!7Q]t;& ovveu 1+.n.rn~#3.W_=%cKӓ۠D1悏W=4Mt5ݙ($]:7"؁uK]k{Bq>vX}.BӪ>rZcZZ:LEƜS#DbXHwt ౺KD*&]| bϞv N>u?h06 tч37,y?R7rUr+ɿKff`u랩zRxɛ$TFOy/ ݿu%{I|L\QPyb`K6[ܹ17e%^^ۨ4%D nIluGZKMU։?CC&XPח"t]:+eL&4}樱caxo1GnC< (^S[;A';>솨 mO!9Y:]9蜋&= Pρ+(u&<4'6ܘv@1*fR _Ĉ @mL5zF_o4G:5rWm7Q8bˏ3&o&3NGpilbGtṙՔ^bH~5 KF  t;;UU]#A;~cxxcޙX;K*/%8=AcvYe?M>iCҰ7x7.YZe2?^EW4`بv>P_CA5Won Z8l|Ϩ0]Y#1-PE 0@Iףਇkr:d[lRfHx()LhpO+h@dU]~ID7?#Yz;GW.Y:fu@Ilյ3F %<7i LC]fpc;L>_c}=lGxpNzqEGꐕ(׶k]x]y߂E>D%n0 a76$(Fd0IvC.*Qu!ܱ\wHydzAY7spP 3: /F\`P`0Yk}~lKimkGi nk9f;ۣb4." |:eܖD99;6:_Ā&x4!G:+}R3jrS7yO.犝&qō `cYnKs#BELwꁁe!MkWiӍSup&mה7 _dߞʷ=|5:1U=l_4p(k[![N%%c,E컜VC m{q}ڤ^k|0gl\m2d͈U!z{whuiŨ |:ACIX(7fer'$XrT Mi#p#ojx2"YL4=woՄ[tpK^A$# Kϵʼ %ev{Q?9NQ- m GK$#$ʌb#)pJ5m;i{x,HJ[˥ٓ>Y.z;G[ZaET;d1QyBԤ o,QN:dQuڱ->kj or0opWs\B:>/jV z;(˹ۖ$yaGH 4_BBvnd{q$Jȋ:Sd3 I;дی )E1ђ{=ZweZ)5Or /3?",o6)*id0Ҹx]k7@P-o(k_R;w78fw|R7+Zc4,Q=$iւTjӉ;*\8Ugp5?kߕ.u mSyPR]h|\eI^jk $ՓUz+5#ktN0)=RP#H~cЅA&\i& +5JW4vc[aLUe_V}8 HOQW{Z;{]f(q |8Qf>pdo6egUXE&f̧ d*ONh| N'XPy?:3@<4.ϞT뜸YF=n&:yCa&<UF CCoi\v,~iSRԏ9ߐ>>:}0iP*:CtFV)C'.$$q/慦P]cs?~JP}[*HR0z 6~oN[u_pGۿRlDL(,mm9_nڻB1R/ xǥU+ZRsԕ1NHާF҆ԑ%W+L$Z/%{E0${#7I886wp,\8P6;dpzZFIL۶TIO0.bgk$N;=j*kFԣ} !QF"1XO"z`W!6iaTH9c/,c2o}7cïf6+dd'8B ǎ*+ϪuE~ly,5-j-SԆN߆MM`' '63 f%^T%҉{ޅ6'PR NKG'YSc!(6Cm ZsVtK?)$?P~z~ByJWi`T<}qt:|f푞g|| 9"4,Л?#;-1 ya)v. z|/ƿ[Fl+coӑKRe;0-3pk~m,795t(9 =x0W4[ }yMi: Ij;$8a2=De{+bwF,/ d!>l9iID e&ќ WQ£11/Ӛo6c^<\SG`I{bO_MzWE>`Xٳh\j T_֡o/-V?%QeÑ ɚ!o,^..7`.EA)iVi!4^%WXS]$5k׻Y\ FMᩛ.'.9N *y_ aGrHkCg$SF!"F: 59E_XϤ7]CëHP&"ؽ&( KPCƒC{i  >Y`4mD^l{Xnu+WhbO9JX(.K :AxH8Yr'twVoEܐ&e'QLArrjC>̛<ٹ N2+~:NM:6뺺RGed2Xg\ -O~r&RUڀm]|&2>&8/0*Yz%;0)B}<:^*FR@ ֨b7 l{~2_b]D0W"/w>rTj'(" :%qumZ& ˚;f U5Bo柯fJB.|{t:a*V|noshy `&%JF< `;Lf/# >>@(57-Ԙk5ɷ[] ćk3f]HwHQw7a{Brz뎏He587r3γ[okviES¿&L@hixrgdY-D *P9f4<ګQa{.vĮPc%F %!3%+IכahkI( DTa䛞cGufMRiqĠk }?=dTa,6uNlro\EhB:Yoi,<_ ^nug>K2@]0˸85?j#^wGR;+>e/].S_Irdj4idv4t:˰0O6q dKgơQ&ҽ3nI0d[GG0|7(`x<*GAem+oTSWHP$j.a|[H?H6C@X4k!+7F-j7B'BdRW$d r!mndz__ͼb[SGܚN?BC'nß&?~pY/*Ei$fW%ќ#a[eX}ps܌YWo>2^/Jz`DS`iK#V2~᫢ ~9`L3ˣ쨫v(}jxn&&X0=Ha1ef`&Ђ1 n[L]uFuaE9BOY<Ԥ`D3-^|n[b@j,Qghɻ`1<Fq!Gl/2K֗(N%y+mGRw$X]N,cO;e,<]r+(yTz #g ؕ}C}D%5)E}LVA; B'0Vgw!ÛUKyNm,-ՂCkcpM&RфRX&Q_內mTeK(zv˟齳j XF`L">kZpbh`*H%8qJ|f91yQn|OCMM*W:hu %[wݮ]{4h GuW.|C~Ԋru50 HܭML`ix32&K;Ӏ{H[.R(:95AߊT=8)~cj_g;G_ݮv^=0e'IBޡ0z]%j.r@]) 'k\ Z5ᙽJY 82H gnʦCZ?2K$on;xGa7X N@~=SV4qixLx//F<2mNR3Ho`/Gf># v&!7}~0-KU9䘔OOaK%!ױ`Ep?ݏw0:Eq 7]ES;'N~ .BW+#=erOry)澯Lu.iNP#s@K4 Ԟ ,u,!_ !pc֚>ɹG7l'ȞRWBl"#:5YoEfIX"5=4GUa)QeGd~ģk"X.;ϼ+'뗧-dfN]!3!zϖ`yaQa),A_ծh/ C큩|Ԛۛ(XH%WHyz|- ;d(bEo&lļV  Yq_+7ˁ)mƦ=8F%wAbC /1)WDp>BEhl]hӓ]QxQ zNeݫ|orC+8]AGIvIZz@ULp!Cn/Г<8$eoI!̲=ZUN1t75qUF*6 Ԅ|R3aVW~XEQU4@Y ]SXe JMg<٧A/ވZCqz&~s]ә: W|^-ثIN?SR,B M 4P^chϸ^$b7N5:AFtn^#awUeRG'x[GRM<"ktR,U`λe4hxӜ\g`ᾷ`M+u c!(e$LE#z mXk1d|GU7hF eq2@Q5E=pR߲I.A lOPi9=k?$+}|ʱctr l<.ODOfTS-F^H`:v{$ѕtO! O8Sn7R{e+ jyUyˢ"|9Jvo } L"fz>^v c C!#.rô"Omlz+-dЧw: .SWZ#Ixh"q~s^te !ህ6dmkwXۺD{uu&GݵYxOWT2ةV_)ڄ1BYu%мoz.A7=^E9iYt%StQo9Adl;կWsDtČcvdاND@V_XSQ|Z+T/cyJ7y0ފ@s%i>|ezVC 4])@F=?W #с"8]&dx E?WB>Y%<;|bDCI!' aH̓k NS.Cũ^l5{Z_@ ixMF>a;zh\mb Z߭z;BUVd䲜;=~L}x.OZC$ye Z- RTw!.kݭ|4p&אLEbĦ3L$A,/J>J|aj ܘpeTjtVYLKtEeIzǺ7>{JQfmq=_9H$2(%4C-ԛ*teYsñX[iZлKkZ> ! f؂3;K̐1gc H>a ÝxSHw1{RϱcN%۩^GN Czp}hđj(_ɬ-#(PkvOz's-VD⛭ATM](?wAz8`K"{o7©{|YQPɔI3#"؂uxkO$LR+a-qh~ֳa~tnRM E-O\LBP}4/.~M)e_p D;߻Z)+r-1̀ŦiN"7}Jk9nǠG~%,$`90o1c6"?>#B2^ I[ɳ}~MYP6+"j[ pwaH05(%I()V6\DǦBο܄i(7'_n4͂-bP  o& yeR$pIYߴ x+c+bpNc OzfeWBoGA~.ZV`SX3O{= U=.>=R<2`0]q0/:TB7hx treбxF֐M=Ti/;Υc*X%9Ezf I3!<'2<@cʝhO5vd|{ovtf1Y w5I靪?o};N OgL!doer2Q@J "ʋ` D!OƚS}JBCuz-70^5s!u8LN۝k1@T>[C g7e@X\Nq ./q&NxI:-U/t#/ZolүKA1ho\0)d|Q8@'~ NGKA,}L O و(^J3B>h2J> u  Gn1_OkտǐIY_.jrqBP xotVPTa"\uTb:8Fb$)+ *%._7aW-Hxe; v}#$ [KdgK,B 7T풨N,$(q<ƎnnXIH׌k%lOnl>l6SKX7yja)'t\ Ok3,WӘCBOR7k>ͭ0#ҨVσ4SF9~ &ȅ~XP>8ROL%ؗUXGfcru':JyW0B(yB9T]l"vQ fz6,puԫ|t![`,#Z1uB."3Iԛ hr{;WN)Yȩd8C00$25YvtwueU Y);F?ذ*V6;)V0_א&v+A:Q/Vf?EE&7(T ~Kw}5K9-S4L &#YTgW~JJyi;}V8M'<cHFiA,bgz!lt@p\c"TINnQ p3k' [ 3Z+,MMtc< 5Pf*}w5|ތw~FUSUPKw9xol i"rxa0R$J(Fr-1$Ԛ9&($9>iT;uyLw >g%z-RzY zYaV.aX:<9Kcq~u5'7/sպ]Gt<ZpŒ/Sp9W/ 񇱹vGh*Ӊ&u`c, '<@k_(G]*d乷b~ڟKUe,0%Y{'4RE/$ubs5VRVߌFB Fj%Q0\(p珶ķSsvÍ$+ӶotX! u|L LaW9*剪JD1Y+XaG W'\YHD _1zԼ cI`dtI;,6!]=qiC1^6üA/5Ʊ5?Q&JٌO :5=dUGx>ۣa&W?vٟ3t j1֋8VYBD85S4md)%\TDJv@T$m8Yl}“zJ\H$]lpfTIz:F=%N⾥6$6 CK+AC׬`P|z:ӐFAĨv}@{}~X,Rz(^ VXO+}}F,ҢP`Ƶ7-¥hRE; p3Ypu=BDf]oh0iڢo^͗4?ڐ!S_ ӯ6+m=T/]gp)%A$r{wDYul՚>o:Oڤ^-HjfgzLؑTTAE̓eNnvN[R]srKIR {J5R^\,zhs;aSXrc2#H@ TԐ;Q:tk5Y5ZZ""děcjV%㰻hÊYWx)k[ϼܶ/t*ɞ_oZ*5ć=孀~}\݁e-lvE_&wy\{/ZWSY`W h_i ,""#W׍V=FHesPC%cvw8>_{Rh6CږOȧb.V@pEg|tíb{ c[0f&B1Tb2s*ya# م$ќ Jb}غ&GIDvEf>q["YIIrˮ2<2-փB[k԰diMB4# rC4DkĴM[ȌIfvPyzfO7$P(qtޜP#?B7y_Ű:A(|9R#3=~6چ#n#iwJ{ZuY? WCL;n҇=_I׶)#XR zFGR˅[[r8hlRl>߫um{brLܟMw#la *,5Lq)tt;$mg .c|!zV&7Oˢ} PE ?S|5p>L!f"YGk&@uM\#oDx^?< jƠUʝ_K\F0 S J\zc,83 mWo<3`:-`-x41bL0^%x_VV]Kd%-\RҰc-N{}ɭJi[ѶfAP %ɵ[ 5[gX$6yŔƣNK0eJ` vcp" OH-cHZ^F>*SPl^Q?-.Jk]ߓ/ eˆ@YD͊kŊdgfCѷYAP\m}N}w,nI;*7a, ]yJ ("< 灡"/H<,kB':ʛS tjl"wpG7wiST#7"5C4^]ª2o5U ޤsa܇cI1cHMhfS]Nl}~8AԲ3]oN5r>wqK.1}]vQ|&|c*>3ıZ҈v 4}7OcnVv0! :*O YlPIZyy]# fҙfW[IxsC0 +E nIgeW9fo%퓰 G_ѵ(Z_6Ҟ쑵=e|[>Y,O`sF Cg>gbb Ř< 9mA55<5,@ 6+ a0:=o$69U+APt+9\SuNgrE-d8RD(I@],V6vpP?VnFxn?a %)C'ucݦEGX~mU:LFm$1\s+13TeO;@FޖQCGQ 5We[7xqoqa"Zq2Y֨ݵ`FX~(C/vM+imj^fo֨ɫ8KZ<;jժ *G s\9mnvel\;P{b Uw$5I/p<3fiHgQe@&cl[x8ۺ$jUʻp3w#:>裎Nrͦņ=KaF`E =}[p)mwxKP *K J8?!R7WoabÚiHo Ŗ3~,* ux%K-3: ޕS:7O/Uf)<{$gepg]l+ еa-B'Q֤k$t|i6\0uA!:/Rwui aTdxsxr-$Hy|B"Q8"]܅:z`4ݿ7FyK#yN/? &:3SCzRᓼ >o٠mBP6-_~v wGhhx+,h>xîo:UUGֳ~`:~8zHhv?P6.FRsvD-[T.6아xMOOқNAx7x'M&=Sޮބtj" BM61}[^tQ83 p %k,\IViGPcq0|J>Vw݃Bu;z_.};0fbl+eEb*l~%e\qW)S4cIu%鷃Dsuҹ׵ s7I.X ǩHX# `qlrn^ϝSn^]''f o$(ߡM)UHg7:s*7^w? 厞U/8#R) O ]pl  I$'AUAg פx5Ʈ)M?)e@^n!aM)"n2wCQ.!S"`˘]NfcaҷTq!$c5Zw&T G(p#P@x+[C`e>"-MY] j(͊{xMH&s5q-Ŧ:_Akb'W [H poWt0ӯMy>$O;""Ao/grșkڦ+5\]FJ[X;ȳ QӉ[8di~>taٸVL4\)l+Ls] 8Lcњ%Zzy>f#mq(n‰D-u.Tq9xK C zS]).G]_/83͂2(*pIbW"EJQ^;Jч|X;Cfnw; q|.|ş/x/c8YG^z^JBncmOߺOhr&h&vg@=@[X HsC-JPw\`)ئ.uWM`UvbtmBXIԏ7LdB ,C5KIrm2O*bJ>#JF"1%dոJt#R{pr0ֳNO&Ppj׿v2(h?3wQ}C!K]p "9&UFZ>03~>Nh@.u< Bt!YH:A M8/j>v:O- g2-v̷䋒aC1wlz1Zf _M﹎@ votLgD7])Ô6 ̥Y3cȔ[)(TSt3PR<7q-5^"GȥipC?t]@D0qu+pYO~hj0\Ǧw˹S6ׅ9K=l+}%eUM:%֨\f{CBzRtMOsI/zQdG׽dL-jN=LTP?ß*|Q8E-rE@wW "soiX3mH36]2{ 7{R0`wx?oEa;Pumf/ 2 M` N=0ͅLC6 Œ[ %dGJpsѱu sv#'%~SmԜskAJC&TBCyKbQEWX;#抉i12.*մWX/^=U MQR~(ҟa)͘.eG*f^Yy0HOX]Pcm$?9?? mwȭ#7tm 1_b(Vuȴd@AhK۳qKvc_nW Gki,||;aJJ$nRT=syihaNW'=R'xH9~ ^Lާkqǫm;VCpD[9޼́\"y\& 4G,܀"سFƠ.Nv\up`]~i[hN NA ?@|l4I% Z)8\}yX-;!Q5l; {K^'\z] Ɲ$2y mC/mz{Uч)s56hbry DbwOs؂\GD^tD5BfC ~YvEns,tk[bq2J ?U+D-I%sZ?1n`c+ 61"gQ%[0#n]g5%*P4ncs6.06Rs[c \+YGdxtbF n'}Ǔ9s4XDl| ߏMJ@MQrTBSUu eF8G9#WfL=Tꂅq ;o/ؗZuu44UfKeiez;.4My@ўYVIs^/ gIv1O]Tg<~;N/~"HSvՋwTM%=>¢F!z|[,̕|򮍇!s8}^ Kf =. .ðD9X:ے/Ӽ7oso뾺ܼN5-Y^d.L3: `&z܇?>Fub֯ rw?lVQ5 "ӀqčiTyX -2#{@^|w T93A3"ʧH-ʔ)X 1I6S0K!YgF]bmkc88“ܵS!B{w+c`~g`nS, s47&bu/JCHV] djmk0m I$Ft٦5 +1KX;A!:U.*؍2.Sg^__S.{Qj!s $N`{  Ѫ'u>qd;R2oWB/u-o/u"X?"`52Y_D)4G: U[% 6]AG|J8%x/b Qx:I:%ȁ1}l{0PF&!|(`r@{ `n35O`{zܟu9 )g bDikymއ7`hlD355%j[S\zē/$ѼLGUA ZSVpoC2ȵ3Cu|z|?\kf{P=o`dm:ሌƒ 8W T:Y^敼1s~fNbC\ѱ Xmʷz. >lϼI~w0R*DYpoⱖ_F3QIi##M1-);YHZʽweH9\Q_[yY(¥Dz%' ֛DžQ֚(eSpoJܼu?vtN&Lo.VU؃N)=JS{绣85!%LU"!IFYWԳ6u!21=/>9x_;392(naz1 b+9U^'޾= ))0S zETGĬhQi9uu0;@i{*W &g#!_4(R\;/b?q/$FÈK)#?ƅ'0#I_jҸ9" Ę>vV'G#97**kY8 q!rfLe [JT98 O_J/Xk;b[4xjG )vHQ 1Bڌ_s$wjrW1BS;8 ]xbp͹ )~D p|pFE2B_xéU<՘})mNO%+Ԗw,lMAJ^IG_%~oica1h\p'2aWSVDH/%el;P,w>C<,Xn!*A8*ɕ+9mDUBlHdx5S.1x!Okq(6h#o’0=R5@1lN-tVeq4T*TїYbn}༐ 2ٓG[gn%)eBO-^ycQ#9s>N@ÿ_[ظP1?̕#矑amUK081|K@gȁLWCS$88ʔxO6lC"/د"T@5{ys?6L5@hhZWhIى ӭ=lT;mPy8fk+q9f ٸF7ʌR/W38&IŚ9g;fypQ24Eq0hX}HPVMx*q~4WÝp~N7'd'B4Avv\L"ZV]0g)бG.^+}BBu|rWAϰW+5\(pQo ̦ui/{6\i'm<A@CukS-{Â3ro`!|~V.~)YΖcV R}5EefL -/r:VF]Ey7W&o|F_LHPcߣi&m * V+jHܻ]1IP=jU$|HX"/Vv-TOk"2p!*iv3p~lC)>h*s1w%Rڂڕ}m^W|jCtCy=*%Ʃ\zJABSf6!0ٚͣ]ci`6ߙ-ss,Gsʃ'kwE-wK[Pᵺ6;oRcIk/ÆD㎍E7oSI1E!_:Ѫ)8ڣۥچ_oښGqϨͣƹ21 +cY)pBos*7~P{7\Of_YR5`n4#ӫxN*DlOx%%AAf ;9mC̣K,-x`8 [?k]SlܧLSM=@ ^}fPE/ݯ#1TbA`WBJPbt*!L=)—!.SE20/*'Z `L6~㹘4 GUҕ aP`GA؂duՋ\!x"&oZDfdL16X8H F[f^^{DY(M:yN& fF"6GyBf d? 3)s.49FgY E9Si2V=JI Z&Zhw(y0&@OAcF2X\ff1YXɬ-Y9QlIyG/6i_W]Yh,M/7j3YseXQgv02aJi]zDO! y7e=?,[,ޛ+9\?';&ШU4A~[I = Y\4'՝CB%xhSnް*͢o߲K qsLvu )NwK)mǮ\KׇN9cD?nn# aJC:Mx̭_he+Z_|5ׄOE9ۻjNn5 CI_a}'c~b^ƴIIG5-::!hQ0'o9…&uZI} P7X߹/mX"F9qk /TQɭd;5\諺.d{PZ%<|[{/>+q|@b_aHk4%fA_:7hfOL&Y~kqd(K-f~ ҵVrM/U IB=!)Y!o sD`3k`8gAl248O4sgz;I)"lJ4YJǁ~yx}J2qHy!<RK]ZN˫b8 1pnA,s0s`Al$_q$5=󃉧Yb^ 8\~U y5w:Gr'8&WDT6Ό[Xa_JJO9ۦ1ۮ>bw9zpV}@Ԡ"坯4 /$ {b#ÑX089wB;bE%0\fYAp~NDVrd r_|$W`VPڈY%xdRlw`r:Zق/cq~=~qLP/sx02JmG~ӿ"f9fco$Oj~(@cKBҲCGPepטIqΈ:( G Ϟ(S,3gsL:=J=3]͂ p Lu9U$<| ӎ %nbxqsq[Gy.^gKDU3y5`7@`㽸 tHLtj+.&hEr6كzީ#U8 ]TYOv}d檭dz /K|QSܔ&=w/̰)I 3}h=:X2DZ /Cվg,J6Nc4V9xyf1{U?9T1쉕\ p9zCf~7CM?[^ܤ]+Cf#ͻW>J&jNdmr,6DR6͞ErdNamuYuFZ:QM5q+7Izy& 6=BŲ0H8O@P4o I_FRR:4^4?T#v9@#uVT/#'ެA`B y؟ ܶ,פg@@ʝc]݊cG@gџ W&$W}Pw3£jq`jH"vwI[Lvƺ!+=JBtepD\Y"x$.cj ;q+qGR¸ҐQd|x5 U!*KլOd=x˾)S C7.D*dLq󞥘oY"SpJl񚻪sW5DgmӊӍ9N'Jf[@,LJS]:UFT9[Rrr#(R3(6=hDo)%sufmq iw4.E h֐O JO~qIjH*T)m57aEtwhwh{/;iu6Df!E jl5F}[kN҃nrb@!B5S 8:.BeR$)I1CR,r1A.1ɵt N^ {#$g[ p'q6nSlAȯ60`@b%g+e2Q|2yˠ3p-+/U|{>NfvHX0eiK2]BEځ'Nf!:Vn*ȥO\CQrE|*6- ʺh ![[^Z5F!(EqV$l.}(Fs72™ m \؈.>;)~N+$LU2`LW^28@dU4 r8S-J-~%P;-'bcM;&7I 0s⹻Ŷʄ*4zDM+?YpCFmUyEdz 5N2Pѓ!ZnGyC` ~W U+93w% k9SǍåP[k ;xU#43llW׶a\πY840od1#ѕheEmbaiM#L*vn!>%_4-d G]O1.AR(ޖvF:6B0 &'wqPi}dnXU æۆ']^%T]$y@ DQfuk/`'7B`jKb: ;tdV[V?yt "~ۥErVܘ a= ^di'\4Ov,aMV d@7!,\V2+j}$mM]JI|gV_]e =az`;<{#]! 5 <}䂱T.fE>{NEѥҰmA37`NuNo.^N4}$vJuu:r)p9$5H|o |)oqo5eլQvp3.pX$x/5_) O( ^ƅPM-!C,_t3* WJx( dSǦ gK)GaG-^{7˕+mp1NGfH,h^?}I@p!"6R~# |JHu*/+xE+q˙M֯=Mڼ]b4t3x2K:kB)es0*TÇuOxbWD{./˘w=mvLE?a,#j-BR)j==OבPn}2:R6*v :qL4w q_l}c|otpL؃hSc0J0A2*U;fØSA aT +C>cˆ|Z@:q̇jD-`= خ/Yv'7a: Ձ[U*_sV*`wx0Dn+@cN?osj(mäm,uc\2>`rM;z(G%YD;J,y:c F賐aPg_(TU '#'gu]CLt{Bb t'ܾJ2g11P1Xb^x}zr1.ݨ . D\s-uFO1>3b|=xX Glt u99kV&FE'lf4` pgdNp=Ҳ4UQX& ^%qKAR=9Mmau7 zEm]Cbw2 "dAʗ ۇV~zDS]2pᡯp,~=ȃX<1veйoe ENeUPLQtc)K*Q?A HI=z (l(@=>6SG6}ΝF-%K sk.d/ pY':~g( !K9Q .R"]`"|Q\hJI鳳8 Rz!Ln .(Τ3vv uj,)o>i% RuW pCG"t:,WmlpXcmzFw|EDe,.)b( Dv'5 ĥD3p_w}ް7VVZ Ot3'8H޶?Vٌ"/7Ą8IoVApVU/O+,3u|$z`]rtg88wLqZck. P -u޺e Hᐟذ7͐~pN#> }܄tގ=ew90w'V}Fq+8RdrLt/`D 4"vRBa=Rk;%pW yL~j|s[#֭?uP{E;;ad>UC#l)=~q<X.T"SYh;7@$I[3߰ Cvz͒H$^_[!F<': c,-ژMG6"ov+|8R~UIVϬM#$&"%gl'/N* R;RMm!X2#,͘(,fpЄzyd-@Dҕ"ǵj 4Q٭2}=PP}LJoIBp xhWFe^BMnIU'tL]"`.$w`Z8JW򳧋q&vpsNVܹ B)'pvyQwté" a"-#˃M:*jhp9݅۽05I.Aѭٺhc&mb2;0s+uKIF圀na@KlʢJķm( j >@K"B9e"x .iB̞-2<2ȇ\YBnC>-i#R,:oXUJN-n`mGWS6I橆 &y%\ ELa'Vh)+wUSd:8ot档(OԈklDСB3QOi 5Ia^nbؤI /,75<6"nz&gnCf{*aWB ԫg<87t,+eeQd-3.dP'eSiM2^0'ZI7zCNY)yҬ]4?c1b,ƕ*GpHohY.[{GeBzZA|| %-ID_RTD[0 V=vLto%=bBmX##w*Ym yن%' SUprbD 3AW68z 3yDfNqWA Y玾@|H>YI{KJè0]{06LZ[H)kgW9E=Bbq7L98$Gd(Gar0bP̩< hQ@^Zb&8y(4c尅Bzkqzka(1|2bӈ͊ayONhhà~.ߎ 1+,b4Qni}\{^:f=jzQa6 œ {:B#EHBtm0""r<4 o'zYTjeJA-[1󅂙M@9+ *V $݇6Q{By٠{t 656&E%#kDSr% ˌRHY@暦yWh1 R~2V7K2ҺQE9cħ/h(C t)ۗ|jv;WC`~+ge->A3v }Y{>xʳ*@J!~oht:rt*Jb]ԏD&?2B\<ӔĮa aNݍpOAmRc P>LJ|_FeO3eH?lT ƔR2؆-{UZ?tc*:l!8kMޘ  `$ɁmB>`prvcv6p̊?YjP^줠!LhFξ\3T%} 7O;hHP ^rۼ[7C^RI7]X(<۷0KC q7aB{Vr۝֞/=:ʣVMHU)bdΦ :ecD{ Ve27Ή?GBh+(>^Fjl_aau$@<%) {^7m+6n^?K<ʲoq&:b,@jGue'͆Ԧ;u$@.UZ ;#$QCPQ!nN3_2 x-X|HS#hoѱ U5S⒈qI7$t~|v͘/bag#^; RX1r K;oe"RvG쎋u d;1xѫ-{ːky֙s%+%*X̎[3>V扶SzkM1 UIWڎug Oք7` I%xz0}S_e0쏫uڄ̉Z#SX#@T`#vR:N4RptsexD5ƟرowDa^c#pܙ$ϋZ@Mn"e؛5(h-gb/kW\v(Դe"rwj.B4sE)!.]j8-Wlҕ]jt Gkc5q}뤹.Bc@2B@_gvFO RSdTc6|=sM69g+c %֓J9@4jy@m>Bn lIaa|'l94-* ^>5W N, S}a ZYXpaɼ>&Q3(i>xP"J'QiDDQZ[AjA~iDҫXK!~V=&YL|*9{Q]2@\z*`ϰO>Ha8Iٽ $7y ;ѥ$^4\X20_wৼ{Kֱc~ ^lҧ][5G t!`!QEۭ&0[S00C e1sYBI55f~ş--? 61:Dnq˖^ȠMu][Nr:G&C^[y![SG%N{`o2*T e|4^DQ`oDPz#ggrpkK)Z8gWBK~@BCfHf>8}Y/%r=*\[pHq Ş#Ɛ[iu죖 |.=6{s]oJ&Q' irJ0+I`EܘFO5oP^W(Qyo7j[C&6 ɣj:;IR %虝L uͦcҳ_ ֻ? “KpXkJքW( Ũu)-=iRF|3} F,*n=/UHZCl ʑ|9j0pJ :M#`$p G%p "Jzkca^Ť]f W *GҊpg4GXІ´gȏyܸCڶ-gߴ\5b}[ɹ2=^dBEo_uNр9 `9Bԏбdmh;M;Q-Q$UF۠]);єK>$NXyGu#.I ,{'R?mT$i݊ӫ0 $N=?/|bB3j+h](}pn=3V-Y迓=dź@p}N[u Gq̉c;35ԨcX\Ҋ /y1Az~x@괙Fb+Bkr5Q,jRvg۬u4`\Pf6 A::RPTu5Y_'뻝j?xt!O) iwiT'ѴaӽjV VVKHyyX&!h[VtuDhAd+H ٳ{ux-u{B*dHCjW7ܭb V޹m[-eJ=($q5OF㷥1'-AΗ>gA vH&Qba. QF1)/`Chʭ*`R{i1Zg֩q‰$4*b)]s28,uГL!b'9d;oTQ$YCk* )B ,L;YS^9X290})?\}ĞK:Gg}NfD}2(u1<_ qXR*=\n-8⾌`ON+2':0,qwE4c2^BjĜCm)!aC#+-m7m@_9c!2fA^?lj*:QlvH/dy][xXk@هwYQ84^IrJ|>]SQ@Bv ƉiR).P,П5{;n :0DeNC%\~P` rrwj/ER -ّ*IT1妬mMiEW+9BtSGkkT |87w MT56,7%3kbߕ+3n~j*d&f Tv7):d.kT5X hgƫU$inc¿xXf|޽!%:{A%H7hJ`t?gCb?v65q=5?U<(J"f<#;t=)vjmZ,WӍO] Íp(Uz 0tR稟&Kz͌/2_3pX5ơbFoW?!o L@[OrODB-4= yzs7M;ktlHHzMw-FAM}C㍻r&R_R  $SnF#D ƶtvjs wkU gqߜM6=IOv$rQLw%L1oZEZwV$Q"t10R,39ntkө!}Afճ./q3NΏB/a{SR$1_ df넞4g Sbߏǟ7fM"ڨ'rm͉ruzFW럆\>+㼀; dg+mbI6fC3ԫr Ψ̧Z'unچ[-7LDy$pI܏κ]cS;* ɀ/7㻊?\,1Ωf.Ean/ ,8tԧ~VaR& NX'+vr+8&qWo>r4s!>s۶o+ל_Ս-80,Ki"ז!'(F`tVEeEl%6to"PֈAq׏H&tG-0gAY1]703ʜ[נÈ:XC  (۰̆\sHKυl#Wd5br"GK\w7@'%JIry*b7O޳_ľ]Ԓ.,xGo^Pu @pG.Nx/xQ?爍)]"A(kaXzx1lt ȇM9ݒ ?FYq/H9W|I`cKх.ܖ[;:Oa.Qqk%;;*Y*H >$-g̞!CR"f`ҪIHT&K^twzݥ^ȷ>6_IGFg'u cvL?8m"`VѮs^ͳTl'"$ b9 m} ,  EV p %v!>4]A1׷rWȟ`~nۉAyoMrY3;I:q1~y~` 7-L:M0IǕL!V7[}mܼ/J}Er7C9"p_d"xAm~= X1qb/)317:Y,2;d1`TPv!}M=-<"Uz9ՆExc_DruCNvG7ʨU@m'%Pt{ip'~]Ȯl^5֭DE`ueXj.1>\Q{27HhXgM+{fbsu5MeU5e(uf""9zkV^gI\ pb@Pؓl (!OY=zȣGOa ;ah6*ݓ.@([{@>9Y s/g .^皚KgZ MJCbEdGcJ`*P9Uv(,vK/^\;XQ ^6 Ȝ1b&kE@W v9f8{C+|KZ %ьްufa !9#2|{?o6J9nkl_SC|K4*sb:;6YA5Hz6/|Y?A6N1K[ISu-T/|ñv^J`L2zAG?hX@;{'m3ޘ-'pC:>JgtLn$:'U#0pPW%S{ fs2; *^%aZ/byZg(FI}&8@T.ԨC+^79QDE!V>&ihF_C5UI·4WK 3z.Ab,q 1ёdV Y[IWk:x}iXtr(>#@Mm+FߕE$dw ,ְ`K*Brj!y7@1IIqq%* rF 6Xo'`Y"y$5/I9?)pn1x@{#m-천‰"3Jx[+eZ M3&is4e"qx7q9˦H(Cpp`Tǔμ8U\'I[gK}݈u9G.{+ԎdSZ'@yCaX;&ZZv"xp0jS$|UD,$c|Hچb39} 0Ҥ8 P[|kΥ<,:}ݿQ0b@[G0~'fD X@#-4+=Rа#>\X zEdRY N"R ķ9~~HN֏sqj 0h1F>&CG:88FOKs* S1֪)TVX4&fR9B>߂6z].>Q_9{'zfK5VSHOsh{jFARtnr$[⍥ܕZ!-/2k& >!Q6 y\g& ,"RH,c@^h20Qdz!T*h9uRt/4Hᯊ22|QQ#+ER4/a,JnrW}D|Љ PN`Tz:?TTdur4&1]"k䳅r9s3{>I_CZD3"#[wE@f4$v;cA ߛ3ޛ[ͩP.| 8PTߠ#mF|LQ5< tP#RfndZ9a㋐sQ&`g > <\0Iy >ta5}iupLj@Paqn:Vd`ljf8nEQb[iFB#[8qjm8hp}q5m``ey'iҨ輂/ > pͣi&$q&z^IBA>F a qccH!r[[rpLb?<{vR׌ESBK0JCtAi  \ xbYbt}#?Hc2 霵!ߪ2J*;~F5-H%9/@ L .II\8'ѹ7 y CL)`B&Q/9*hVN RM&q{Hvķƅ%9`1 N-hI`W n@pƕU9ybRx.t oڵqZhbTkHJ<ouzVg'OL%rlB CVy28Zq>G(kw|VToD&/|Rg*QEZHw"qm߰)W> @ m[_&&sQ`Rb<3o0!b"&,DfVvrS.38Fk ʂ <`񐡥(yI'j ]25>i=rг5An̝0)G8#HJbiRY!yD>)UMJ#=><~fѹ7ꮌGU("sQFɳwbY f Rbڌ## :|bG,.Vё-uU }EH1DdDʮH6{B8~`}d| H;%i8h/uMUKOlh Vkny GI8y:KMyTWחBa l:'3 &ֵKgjwFlxR,6y=BrAҜt2Adu75Ǭk {N:Un׃0tQՄ}f8U5`OA ,۝ggk[28붔Q[WӃyz J9s|: K ^0`{FOz^E7No:6P[C=Fzh)ڂYFk]Q$LӼ߰&g|Sΰ&T ѦYQv/ٌ`U%K[dzF鍁QXGiGR݋~#u("zK<C嚪`.E|C4o{zX e佫(W|z RT5Po-R7yma] ioplW 7C ̎W]E(Y6Rr>~5Ej%?P_:ytrւqѼ7=|+L9>$/=g;XG]IdwOA}^oW,`UlSMBE:k1ڸ]X֑6F/P F@=]垕 ,Vuۿkj kqֵZZ1!Ů?8-?8(񿇄~h޺sEG^skdd_y!|8<kX+kRDj}wGV߃XkYpcRo @.WA_ޑHyVX_^9\ϕaqgSG:X䮢#Php*>e %Kʥoo׺,¤;Z`i_@VA8:9snSOlFcgsOS8N Wj o1)q p~1ax]t&0 sQrP['i2O433(n]c'Wr/ 1=ZnLM鵜SFNEk%LJKͿV:lBCuޫD7/;ZXQGK\iGt| `:r3tq;;="lҙ;ta.SK(q@!(Wv-hdBDf e^~.eD;v:ƭEmsrI& sgX1oF6$ ,B yM=Ha ʤKxUNxhpz4D OoLJE3o RB sFr &a\xQץLѥsui҆F9rі;Q9n)j)]hO&١GK =n ^R@~uq!t)!PaPO/Q\3/ Ir5jB&&D^6[z ssƥp>(5Tu3ɥZ.4$B "ıggY6ߓ| &ڒRRb=纥ͽ鰆2= @74ovj,+~E<^hoh}"PUfh䑨71WV^ r؀$c(h#>hPHk3P"KB ZQÓũ\F1R^FKrWr,DЩf_Kؙ ֪FlQ"6 y>U`qejmֽFj߱OEf;Ù W|J]T'ŝf]$ v)T1$$GçmMyVsjgK8s3x}vvz~ѺH1K3ķbgLɫit'm!,i}5:Ů͈'2Myn$f})_Y]"C#Y{&u:ߦ, |s(c}';o\γE-Uarw >>9ߋH{~q[ ~67v:XV{݆&A'GuT 1¨ ݐ,RSμD] ôwT{NKCkȐh~) '&.2+0?{ $j#Qvo%jKPXFkԝoBGem.m3vVNr SKGeه58; Ovu3[-U]67!Zf//46J0)4U}|ӟD^ojW~BnΛ_o—b.Pas3mX *)#0wPXRrQSsN'0:@oM/+,Xلeq+e$E!_k_CTmЭ2BOIHݔg90&($/5ܶ662Ew/<߼:У"q7өmqfp򉮋 Z$h[}'>y}c?8Cjzv97T򡿞O9|=8}' %b-r2,f~RsqmvQ]ķ'=F0B皫KV s3{~l!L}iK^ u&iL):&K\^.{^^KJT,9$ê K*ݝǔr#XEt|Gߕ2K- s<[r򊸨ɍ/GX~|.S/e @A;<7 >U5+nmODn ;[ik* /׏/\SDL@_Q7(^BL|%hmd̬7Yה;&saNŚ ݅DpfP8U1eDTۅǁu@"j>SD|Hه?͸rAy۬uV +?KDL<NvluI8)h[߬P1Cu)r>ʂ X섒GQc_ԉ3YV5nh)aP3ısS%wwt %mG}Dl$<{Le-֘!.x)scfj. dTNS[OIMe!/dIν$]^ںdA_0m!w Unol$g`vZXMs^U5Wl1Y5{ y&xE)G:!F uK., eA5ry2ieU/ZӼ uz y:TBέZAKd?׻1f_b-k@hZQg=&Q8&;-0۴zp1s64հz]pZwr슀9 uqjaM3VץME-WIDRmOظq %H@UCF} 9BpNX&7qǚ>.i9h?/O{G`6rusM,j[2Vha@knS񭓚A)#!*MQ> (jұxUK-*LM@︎z tі`okt-4{GS& '`0ͻ>/tY a7%tk+3/@Q t٣r!VRwr6`f!u߬Cy 8[:R-xY%'^ TO6."ih,aD2Q)D>"ii{- rS.o lCM=UԿ5ws_|+$9=Hѹh<S4/b]uLC9b;3?D0?*Ӑ|07070100000011000041ed000000# net.ipv4.tcp_timestamps for Azure [sysctl:csp=azure]~#u$gݹzɹ|bޅ,k` YZ