From 66c68016abb643f4d2050017e3eecd8a57b0e8ed Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Tue, 15 Mar 2022 13:51:04 +0100 Subject: [PATCH 01/17] d01 ex01 change name ZombieHorde because subject changed --- d01/ex01/Makefile | 2 +- d01/ex01/{ZombieHorde.cpp => zombieHorde.cpp} | 0 d01/ex06/karenFilter | Bin 18584 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) rename d01/ex01/{ZombieHorde.cpp => zombieHorde.cpp} (100%) delete mode 100755 d01/ex06/karenFilter diff --git a/d01/ex01/Makefile b/d01/ex01/Makefile index 5579a85..b994b64 100644 --- a/d01/ex01/Makefile +++ b/d01/ex01/Makefile @@ -18,7 +18,7 @@ INCLUDES = -I$(D_HEADERS) D_SRCS = . SRCS = main.cpp \ Zombie.cpp \ - ZombieHorde.cpp + zombieHorde.cpp D_HEADERS = . HEADERS = Zombie.hpp diff --git a/d01/ex01/ZombieHorde.cpp b/d01/ex01/zombieHorde.cpp similarity index 100% rename from d01/ex01/ZombieHorde.cpp rename to d01/ex01/zombieHorde.cpp diff --git a/d01/ex06/karenFilter b/d01/ex06/karenFilter deleted file mode 100755 index a029bab17d67cc16b1097ffaabef4f58436ad5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18584 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 Date: Tue, 15 Mar 2022 21:11:15 +0100 Subject: [PATCH 02/17] d04 correction deux erreurs --- d01/ex03/HumanB.cpp | 8 +-- d01/ex03/Weapon.cpp | 6 --- d01/ex03/main.cpp | 1 + d01/ex03/war | Bin 0 -> 43776 bytes d01/ex04/Makefile.replace | 66 +++++++++++++++++++++++ d01/ex04/Sed.cpp | 17 +++--- d01/ex04/sed | Bin 0 -> 44632 bytes d01/ex04/unitests/test.sh | 40 ++++++++++++++ d01/ex04/unitests/test_log/test9 | 4 ++ d01/ex04/unitests/test_log/test9.replace | 4 ++ 10 files changed, 126 insertions(+), 20 deletions(-) create mode 100755 d01/ex03/war create mode 100644 d01/ex04/Makefile.replace create mode 100755 d01/ex04/sed create mode 100644 d01/ex04/unitests/test_log/test9 create mode 100644 d01/ex04/unitests/test_log/test9.replace diff --git a/d01/ex03/HumanB.cpp b/d01/ex03/HumanB.cpp index 03c8a1f..49fb4c1 100644 --- a/d01/ex03/HumanB.cpp +++ b/d01/ex03/HumanB.cpp @@ -1,22 +1,18 @@ #include "HumanB.hpp" HumanB::HumanB( std::string name ) { - this->_name = name; - } HumanB::~HumanB() {} void HumanB::setWeapon( Weapon &weapon ) { - this->_weapon = &weapon; - } void HumanB::attack( void ) { - + if (!this->_weapon) + return; std::cout << this->_name << " attacks with their "; std::cout << this->_weapon->getType() << std::endl; - } diff --git a/d01/ex03/Weapon.cpp b/d01/ex03/Weapon.cpp index d92b812..5232fff 100644 --- a/d01/ex03/Weapon.cpp +++ b/d01/ex03/Weapon.cpp @@ -1,21 +1,15 @@ #include "Weapon.hpp" Weapon::Weapon( std::string type ) { - this->_type = type; return; - } Weapon::~Weapon() {} std::string const & Weapon::getType( void ) const { - return this->_type; - } void Weapon::setType( std::string type ) { - this->_type = type; - } diff --git a/d01/ex03/main.cpp b/d01/ex03/main.cpp index 539263c..b3ff5e0 100644 --- a/d01/ex03/main.cpp +++ b/d01/ex03/main.cpp @@ -14,6 +14,7 @@ int main() { Weapon club = Weapon("crude spiked club"); HumanB jim("Jim"); + jim.attack(); jim.setWeapon(club); jim.attack(); club.setType("some other type of club"); diff --git a/d01/ex03/war b/d01/ex03/war new file mode 100755 index 0000000000000000000000000000000000000000..b82da62cf0e4e869a398278d9213df6779ac8e5e GIT binary patch literal 43776 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.c_str()); int len = this->_find.length(); std::string str; - char c_str[len + 1]; + char cstr[len + 1]; if (file.fail() || new_file.fail()) return; - file.get(c_str, len + 1, EOF); - str.assign(c_str); + if (len) + file.get(cstr, len + 1, EOF); + else + file.get(cstr, len + 2, EOF); + str.assign(cstr); while (!file.eof()) { - if (this->_find.compare(str) == 0) + if (len && this->_find.compare(str) == 0) { new_file << this->_replacement; - file.get(c_str, len + 1, EOF); - str.assign(c_str); + file.get(cstr, len + 1, EOF); + str.assign(cstr); continue; } else @@ -39,6 +42,4 @@ void Sed::replace() { } str.erase(str.end() - 1); new_file << str; - } - diff --git a/d01/ex04/sed b/d01/ex04/sed new file mode 100755 index 0000000000000000000000000000000000000000..7faa8e94d9e6be327acdddc7378708c5fbaf6b5e GIT binary patch literal 44632 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 Mp>yFBft0NJ-zS69*#H0l literal 0 HcmV?d00001 diff --git a/d01/ex04/unitests/test.sh b/d01/ex04/unitests/test.sh index 9031d4b..b014a20 100644 --- a/d01/ex04/unitests/test.sh +++ b/d01/ex04/unitests/test.sh @@ -213,3 +213,43 @@ EOF ) run_tests +# TEST 9 ######################################## +TESTNAME="test9" +FIND="" +REPLACEMENT="p" +CONTENT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +RESULT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +run_tests + +# TEST 10 ######################################## +TESTNAME="test10" +FIND="" +REPLACEMENT="" +CONTENT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +RESULT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +run_tests + diff --git a/d01/ex04/unitests/test_log/test9 b/d01/ex04/unitests/test_log/test9 new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test9 @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test9.replace b/d01/ex04/unitests/test_log/test9.replace new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test9.replace @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why From c6c2713084bc5147b9978f86206053cd3232877c Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Tue, 15 Mar 2022 21:12:14 +0100 Subject: [PATCH 03/17] oups je voulais dire d01 --- d02/< | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 d02/< diff --git a/d02/< b/d02/< deleted file mode 100644 index d27328e..0000000 --- a/d02/< +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include "colors.h" - -#define N_TEST "1" - -int main() { - int i = 0; - - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "tests :" RESET "\n"; - { - } - - return 0; -} - From 4806a2bd36638d3cf09cc8061c4f5ad6388f3f84 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 16 Mar 2022 09:50:54 +0100 Subject: [PATCH 04/17] d01 ex04 ajouts de plusieurs tests pour le sed --- d01/ex04/unitests/file_does_not_exist.replace | 0 d01/ex04/unitests/test.sh | 71 +++++++++++++++---- d01/ex04/unitests/test13.replace | 0 d01/ex04/unitests/test_log/empty_find | 4 ++ d01/ex04/unitests/test_log/empty_find.replace | 4 ++ .../test_log/empty_find_and_replacement | 4 ++ .../empty_find_and_replacement.replace | 4 ++ d01/ex04/unitests/test_log/empty_replacement | 4 ++ .../test_log/empty_replacement.replace | 4 ++ d01/ex04/unitests/test_log/first_letter_lure | 1 + .../test_log/first_letter_lure.replace | 1 + .../unitests/test_log/half_replacement_lure | 2 + .../test_log/half_replacement_lure.replace | 2 + d01/ex04/unitests/test_log/multi_line_file | 5 ++ .../unitests/test_log/multi_line_file.replace | 5 ++ .../unitests/test_log/multiline_replacement | 4 ++ .../test_log/multiline_replacement.replace | 4 ++ d01/ex04/unitests/test_log/one_line_file | 1 + .../unitests/test_log/one_line_file.replace | 1 + .../unitests/test_log/replace_one_character | 1 + .../test_log/replace_one_character.replace | 1 + .../unitests/test_log/replace_two_characters | 2 + .../test_log/replace_two_characters.replace | 2 + .../unitests/test_log/special_character_' | 27 +++++++ .../test_log/special_character_'.replace | 27 +++++++ d01/ex04/unitests/test_log/test10 | 4 ++ d01/ex04/unitests/test_log/test10.replace | 4 ++ d01/ex04/unitests/test_log/test11 | 4 ++ d01/ex04/unitests/test_log/test11.replace | 4 ++ d01/ex04/unitests/test_log/test12 | 4 ++ d01/ex04/unitests/test_log/test12.replace | 4 ++ d01/ex04/unitests/test_log/test13 | 4 ++ d01/ex04/unitests/test_log/test13.replace | 0 33 files changed, 196 insertions(+), 13 deletions(-) create mode 100644 d01/ex04/unitests/file_does_not_exist.replace create mode 100644 d01/ex04/unitests/test13.replace create mode 100644 d01/ex04/unitests/test_log/empty_find create mode 100644 d01/ex04/unitests/test_log/empty_find.replace create mode 100644 d01/ex04/unitests/test_log/empty_find_and_replacement create mode 100644 d01/ex04/unitests/test_log/empty_find_and_replacement.replace create mode 100644 d01/ex04/unitests/test_log/empty_replacement create mode 100644 d01/ex04/unitests/test_log/empty_replacement.replace create mode 100644 d01/ex04/unitests/test_log/first_letter_lure create mode 100644 d01/ex04/unitests/test_log/first_letter_lure.replace create mode 100644 d01/ex04/unitests/test_log/half_replacement_lure create mode 100644 d01/ex04/unitests/test_log/half_replacement_lure.replace create mode 100644 d01/ex04/unitests/test_log/multi_line_file create mode 100644 d01/ex04/unitests/test_log/multi_line_file.replace create mode 100644 d01/ex04/unitests/test_log/multiline_replacement create mode 100644 d01/ex04/unitests/test_log/multiline_replacement.replace create mode 100644 d01/ex04/unitests/test_log/one_line_file create mode 100644 d01/ex04/unitests/test_log/one_line_file.replace create mode 100644 d01/ex04/unitests/test_log/replace_one_character create mode 100644 d01/ex04/unitests/test_log/replace_one_character.replace create mode 100644 d01/ex04/unitests/test_log/replace_two_characters create mode 100644 d01/ex04/unitests/test_log/replace_two_characters.replace create mode 100644 d01/ex04/unitests/test_log/special_character_' create mode 100644 d01/ex04/unitests/test_log/special_character_'.replace create mode 100644 d01/ex04/unitests/test_log/test10 create mode 100644 d01/ex04/unitests/test_log/test10.replace create mode 100644 d01/ex04/unitests/test_log/test11 create mode 100644 d01/ex04/unitests/test_log/test11.replace create mode 100644 d01/ex04/unitests/test_log/test12 create mode 100644 d01/ex04/unitests/test_log/test12.replace create mode 100644 d01/ex04/unitests/test_log/test13 create mode 100644 d01/ex04/unitests/test_log/test13.replace diff --git a/d01/ex04/unitests/file_does_not_exist.replace b/d01/ex04/unitests/file_does_not_exist.replace new file mode 100644 index 0000000..e69de29 diff --git a/d01/ex04/unitests/test.sh b/d01/ex04/unitests/test.sh index b014a20..6626ecc 100644 --- a/d01/ex04/unitests/test.sh +++ b/d01/ex04/unitests/test.sh @@ -14,8 +14,8 @@ fi # RUN TESTS function run_tests { - touch $TESTNAME - echo "$CONTENT" > $TESTNAME + if [ -f $TESTNAME ];then + echo "$CONTENT" > $TESTNAME;fi $LEAKS ../$EXECUTABLE $TESTNAME "$FIND" "$REPLACEMENT" OUTPUT=$( cat $TESTNAME.replace ) @@ -26,11 +26,13 @@ fi echo -e $B_RED"$TESTNAME faillure"$ENDCO fi - mv $TESTNAME $TESTNAME.replace ./test_log + if [ -f $TESTNAME ];then + mv $TESTNAME $TESTNAME.replace ./test_log;fi } # TEST 1 ######################################## -TESTNAME="test1" +TESTNAME="one_line_file" +touch $TESTNAME FIND=" " REPLACEMENT="hello" CONTENT=" " @@ -38,7 +40,8 @@ RESULT="hello" run_tests # TEST 2 ######################################## -TESTNAME="test2" +TESTNAME="multi_line_file" +touch $TESTNAME FIND="ie" REPLACEMENT="++" CONTENT=$(cat << EOF @@ -60,7 +63,8 @@ EOF run_tests # TEST 3 ######################################## -TESTNAME="test3" +TESTNAME="replace_one_character" +touch $TESTNAME FIND="." REPLACEMENT="+" CONTENT=$(cat << EOF @@ -74,7 +78,8 @@ EOF run_tests # TEST 4 ######################################## -TESTNAME="test4" +TESTNAME="replace_two_characters" +touch $TESTNAME FIND=".." REPLACEMENT="++" CONTENT=$(cat << EOF @@ -90,7 +95,8 @@ EOF run_tests # TEST 5 ######################################## -TESTNAME="test5" +TESTNAME="first_letter_lure" +touch $TESTNAME FIND="mdr" REPLACEMENT="|||" CONTENT=$(cat << EOF @@ -104,7 +110,8 @@ EOF run_tests # TEST 6 ######################################## -TESTNAME="test6" +TESTNAME="half_replacement_lure" +touch $TESTNAME FIND="toutouille" REPLACEMENT="||||||||||" CONTENT=$(cat << EOF @@ -120,7 +127,8 @@ EOF run_tests # TEST 7 ######################################## -TESTNAME="test7" +TESTNAME="special_character_'" +touch $TESTNAME FIND="n't" REPLACEMENT="000" CONTENT=$(cat << EOF @@ -186,7 +194,8 @@ EOF run_tests # TEST 8 ######################################## -TESTNAME="test8" +TESTNAME="multiline_replacement" +touch $TESTNAME FIND=$(cat << EOF ry I don't @@ -214,7 +223,8 @@ EOF run_tests # TEST 9 ######################################## -TESTNAME="test9" +TESTNAME="empty_find" +touch $TESTNAME FIND="" REPLACEMENT="p" CONTENT=$(cat << EOF @@ -234,7 +244,8 @@ EOF run_tests # TEST 10 ######################################## -TESTNAME="test10" +TESTNAME="empty_find_and_replacement" +touch $TESTNAME FIND="" REPLACEMENT="" CONTENT=$(cat << EOF @@ -253,3 +264,37 @@ EOF ) run_tests +# TEST 11 ######################################## +TESTNAME="empty_replacement" +touch $TESTNAME +FIND="a" +REPLACEMENT="" +CONTENT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +RESULT=$(cat << EOF +No more ters, my hert is dry +I don't lugh nd I don't cry +I don't think bout you ll the time +But when I do - I wonder why +EOF +) +run_tests + +# TEST 12 ######################################## +TESTNAME="file_does_not_exist" +FIND="o" +REPLACEMENT="O" +CONTENT=$(cat << EOF +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why +EOF +) +RESULT="" +run_tests diff --git a/d01/ex04/unitests/test13.replace b/d01/ex04/unitests/test13.replace new file mode 100644 index 0000000..e69de29 diff --git a/d01/ex04/unitests/test_log/empty_find b/d01/ex04/unitests/test_log/empty_find new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_find @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find.replace b/d01/ex04/unitests/test_log/empty_find.replace new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_find.replace @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find_and_replacement b/d01/ex04/unitests/test_log/empty_find_and_replacement new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_find_and_replacement @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find_and_replacement.replace b/d01/ex04/unitests/test_log/empty_find_and_replacement.replace new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_find_and_replacement.replace @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_replacement b/d01/ex04/unitests/test_log/empty_replacement new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_replacement @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_replacement.replace b/d01/ex04/unitests/test_log/empty_replacement.replace new file mode 100644 index 0000000..c6854d9 --- /dev/null +++ b/d01/ex04/unitests/test_log/empty_replacement.replace @@ -0,0 +1,4 @@ +No more ters, my hert is dry +I don't lugh nd I don't cry +I don't think bout you ll the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/first_letter_lure b/d01/ex04/unitests/test_log/first_letter_lure new file mode 100644 index 0000000..671f5ed --- /dev/null +++ b/d01/ex04/unitests/test_log/first_letter_lure @@ -0,0 +1 @@ +test de mmdr foubar diff --git a/d01/ex04/unitests/test_log/first_letter_lure.replace b/d01/ex04/unitests/test_log/first_letter_lure.replace new file mode 100644 index 0000000..991bdd3 --- /dev/null +++ b/d01/ex04/unitests/test_log/first_letter_lure.replace @@ -0,0 +1 @@ +test de m||| foubar diff --git a/d01/ex04/unitests/test_log/half_replacement_lure b/d01/ex04/unitests/test_log/half_replacement_lure new file mode 100644 index 0000000..a74f1c0 --- /dev/null +++ b/d01/ex04/unitests/test_log/half_replacement_lure @@ -0,0 +1,2 @@ +trouve ce mot toutouille +et celui-la toutoutouille diff --git a/d01/ex04/unitests/test_log/half_replacement_lure.replace b/d01/ex04/unitests/test_log/half_replacement_lure.replace new file mode 100644 index 0000000..8072725 --- /dev/null +++ b/d01/ex04/unitests/test_log/half_replacement_lure.replace @@ -0,0 +1,2 @@ +trouve ce mot |||||||||| +et celui-la tou|||||||||| \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/multi_line_file b/d01/ex04/unitests/test_log/multi_line_file new file mode 100644 index 0000000..23b0c96 --- /dev/null +++ b/d01/ex04/unitests/test_log/multi_line_file @@ -0,0 +1,5 @@ +ce fichier +contient +plusieurs lignes +les unes au dessus des autres +youhouuu ioieux diff --git a/d01/ex04/unitests/test_log/multi_line_file.replace b/d01/ex04/unitests/test_log/multi_line_file.replace new file mode 100644 index 0000000..a573c23 --- /dev/null +++ b/d01/ex04/unitests/test_log/multi_line_file.replace @@ -0,0 +1,5 @@ +ce fich++r +cont++nt +plus++urs lignes +les unes au dessus des autres +youhouuu io++ux diff --git a/d01/ex04/unitests/test_log/multiline_replacement b/d01/ex04/unitests/test_log/multiline_replacement new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/multiline_replacement @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/multiline_replacement.replace b/d01/ex04/unitests/test_log/multiline_replacement.replace new file mode 100644 index 0000000..3a2e850 --- /dev/null +++ b/d01/ex04/unitests/test_log/multiline_replacement.replace @@ -0,0 +1,4 @@ +No more tears, my heart is doo +oooooooolaugh and I don't coo +oooooooothink about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/one_line_file b/d01/ex04/unitests/test_log/one_line_file new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/d01/ex04/unitests/test_log/one_line_file @@ -0,0 +1 @@ + diff --git a/d01/ex04/unitests/test_log/one_line_file.replace b/d01/ex04/unitests/test_log/one_line_file.replace new file mode 100644 index 0000000..b6fc4c6 --- /dev/null +++ b/d01/ex04/unitests/test_log/one_line_file.replace @@ -0,0 +1 @@ +hello \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/replace_one_character b/d01/ex04/unitests/test_log/replace_one_character new file mode 100644 index 0000000..922f88c --- /dev/null +++ b/d01/ex04/unitests/test_log/replace_one_character @@ -0,0 +1 @@ +....................................................; diff --git a/d01/ex04/unitests/test_log/replace_one_character.replace b/d01/ex04/unitests/test_log/replace_one_character.replace new file mode 100644 index 0000000..d3b95af --- /dev/null +++ b/d01/ex04/unitests/test_log/replace_one_character.replace @@ -0,0 +1 @@ +++++++++++++++++++++++++++++++++++++++++++++++++++++; diff --git a/d01/ex04/unitests/test_log/replace_two_characters b/d01/ex04/unitests/test_log/replace_two_characters new file mode 100644 index 0000000..0880dee --- /dev/null +++ b/d01/ex04/unitests/test_log/replace_two_characters @@ -0,0 +1,2 @@ +...................................................; +. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/replace_two_characters.replace b/d01/ex04/unitests/test_log/replace_two_characters.replace new file mode 100644 index 0000000..80f497e --- /dev/null +++ b/d01/ex04/unitests/test_log/replace_two_characters.replace @@ -0,0 +1,2 @@ +++++++++++++++++++++++++++++++++++++++++++++++++++.; +. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/special_character_' b/d01/ex04/unitests/test_log/special_character_' new file mode 100644 index 0000000..05ee8e4 --- /dev/null +++ b/d01/ex04/unitests/test_log/special_character_' @@ -0,0 +1,27 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why + +You have to go out of my door +And leave just like you did before +I know I said that I was sure +But rich men can't imagine poor. + +One day baby, we'll be old +Oh baby, we'll be old +And think of all the stories that we could have told + +Little me and little you +Kept doing all the things they do +They never really think it through +Like I can never think you're true + +Here I go again - the blame +The guilt, the pain, the hurt, the shame +The founding fathers of our plane +That's stuck in heavy clouds of rain. + +One day baby, we'll be old +Oh baby, we'll be old +And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/special_character_'.replace b/d01/ex04/unitests/test_log/special_character_'.replace new file mode 100644 index 0000000..7292451 --- /dev/null +++ b/d01/ex04/unitests/test_log/special_character_'.replace @@ -0,0 +1,27 @@ +No more tears, my heart is dry +I do000 laugh and I do000 cry +I do000 think about you all the time +But when I do - I wonder why + +You have to go out of my door +And leave just like you did before +I know I said that I was sure +But rich men ca000 imagine poor. + +One day baby, we'll be old +Oh baby, we'll be old +And think of all the stories that we could have told + +Little me and little you +Kept doing all the things they do +They never really think it through +Like I can never think you're true + +Here I go again - the blame +The guilt, the pain, the hurt, the shame +The founding fathers of our plane +That's stuck in heavy clouds of rain. + +One day baby, we'll be old +Oh baby, we'll be old +And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/test10 b/d01/ex04/unitests/test_log/test10 new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test10 @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test10.replace b/d01/ex04/unitests/test_log/test10.replace new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test10.replace @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test11 b/d01/ex04/unitests/test_log/test11 new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test11 @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test11.replace b/d01/ex04/unitests/test_log/test11.replace new file mode 100644 index 0000000..c6854d9 --- /dev/null +++ b/d01/ex04/unitests/test_log/test11.replace @@ -0,0 +1,4 @@ +No more ters, my hert is dry +I don't lugh nd I don't cry +I don't think bout you ll the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test12 b/d01/ex04/unitests/test_log/test12 new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test12 @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test12.replace b/d01/ex04/unitests/test_log/test12.replace new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test12.replace @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test13 b/d01/ex04/unitests/test_log/test13 new file mode 100644 index 0000000..652b428 --- /dev/null +++ b/d01/ex04/unitests/test_log/test13 @@ -0,0 +1,4 @@ +No more tears, my heart is dry +I don't laugh and I don't cry +I don't think about you all the time +But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test13.replace b/d01/ex04/unitests/test_log/test13.replace new file mode 100644 index 0000000..e69de29 From 1bae9710278c31ff11247a47c2ec48d54983de62 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 16 Mar 2022 09:56:07 +0100 Subject: [PATCH 05/17] d01 ex04 correction erreurs sur tests --- d01/ex04/Makefile.replace | 66 ------------------- d01/ex04/unitests/file_does_not_exist.replace | 0 d01/ex04/unitests/test.sh | 7 +- d01/ex04/unitests/test13.replace | 0 d01/ex04/unitests/test_log/empty_find | 4 -- d01/ex04/unitests/test_log/empty_find.replace | 4 -- .../test_log/empty_find_and_replacement | 4 -- .../empty_find_and_replacement.replace | 4 -- d01/ex04/unitests/test_log/empty_replacement | 4 -- .../test_log/empty_replacement.replace | 4 -- d01/ex04/unitests/test_log/first_letter_lure | 1 - .../test_log/first_letter_lure.replace | 1 - .../unitests/test_log/half_replacement_lure | 2 - .../test_log/half_replacement_lure.replace | 2 - d01/ex04/unitests/test_log/multi_line_file | 5 -- .../unitests/test_log/multi_line_file.replace | 5 -- .../unitests/test_log/multiline_replacement | 4 -- .../test_log/multiline_replacement.replace | 4 -- d01/ex04/unitests/test_log/one_line_file | 1 - .../unitests/test_log/one_line_file.replace | 1 - .../unitests/test_log/replace_one_character | 1 - .../test_log/replace_one_character.replace | 1 - .../unitests/test_log/replace_two_characters | 2 - .../test_log/replace_two_characters.replace | 2 - .../unitests/test_log/special_character_' | 27 -------- .../test_log/special_character_'.replace | 27 -------- d01/ex04/unitests/test_log/test1 | 1 - d01/ex04/unitests/test_log/test1.replace | 1 - d01/ex04/unitests/test_log/test10 | 4 -- d01/ex04/unitests/test_log/test10.replace | 4 -- d01/ex04/unitests/test_log/test11 | 4 -- d01/ex04/unitests/test_log/test11.replace | 4 -- d01/ex04/unitests/test_log/test12 | 4 -- d01/ex04/unitests/test_log/test12.replace | 4 -- d01/ex04/unitests/test_log/test13 | 4 -- d01/ex04/unitests/test_log/test13.replace | 0 d01/ex04/unitests/test_log/test2 | 5 -- d01/ex04/unitests/test_log/test2.replace | 5 -- d01/ex04/unitests/test_log/test3 | 1 - d01/ex04/unitests/test_log/test3.replace | 1 - d01/ex04/unitests/test_log/test4 | 2 - d01/ex04/unitests/test_log/test4.replace | 2 - d01/ex04/unitests/test_log/test5 | 1 - d01/ex04/unitests/test_log/test5.replace | 1 - d01/ex04/unitests/test_log/test6 | 2 - d01/ex04/unitests/test_log/test6.replace | 2 - d01/ex04/unitests/test_log/test7 | 27 -------- d01/ex04/unitests/test_log/test7.replace | 27 -------- d01/ex04/unitests/test_log/test8 | 4 -- d01/ex04/unitests/test_log/test8.replace | 4 -- d01/ex04/unitests/test_log/test9 | 4 -- d01/ex04/unitests/test_log/test9.replace | 4 -- 52 files changed, 5 insertions(+), 300 deletions(-) delete mode 100644 d01/ex04/Makefile.replace delete mode 100644 d01/ex04/unitests/file_does_not_exist.replace delete mode 100644 d01/ex04/unitests/test13.replace delete mode 100644 d01/ex04/unitests/test_log/empty_find delete mode 100644 d01/ex04/unitests/test_log/empty_find.replace delete mode 100644 d01/ex04/unitests/test_log/empty_find_and_replacement delete mode 100644 d01/ex04/unitests/test_log/empty_find_and_replacement.replace delete mode 100644 d01/ex04/unitests/test_log/empty_replacement delete mode 100644 d01/ex04/unitests/test_log/empty_replacement.replace delete mode 100644 d01/ex04/unitests/test_log/first_letter_lure delete mode 100644 d01/ex04/unitests/test_log/first_letter_lure.replace delete mode 100644 d01/ex04/unitests/test_log/half_replacement_lure delete mode 100644 d01/ex04/unitests/test_log/half_replacement_lure.replace delete mode 100644 d01/ex04/unitests/test_log/multi_line_file delete mode 100644 d01/ex04/unitests/test_log/multi_line_file.replace delete mode 100644 d01/ex04/unitests/test_log/multiline_replacement delete mode 100644 d01/ex04/unitests/test_log/multiline_replacement.replace delete mode 100644 d01/ex04/unitests/test_log/one_line_file delete mode 100644 d01/ex04/unitests/test_log/one_line_file.replace delete mode 100644 d01/ex04/unitests/test_log/replace_one_character delete mode 100644 d01/ex04/unitests/test_log/replace_one_character.replace delete mode 100644 d01/ex04/unitests/test_log/replace_two_characters delete mode 100644 d01/ex04/unitests/test_log/replace_two_characters.replace delete mode 100644 d01/ex04/unitests/test_log/special_character_' delete mode 100644 d01/ex04/unitests/test_log/special_character_'.replace delete mode 100644 d01/ex04/unitests/test_log/test1 delete mode 100644 d01/ex04/unitests/test_log/test1.replace delete mode 100644 d01/ex04/unitests/test_log/test10 delete mode 100644 d01/ex04/unitests/test_log/test10.replace delete mode 100644 d01/ex04/unitests/test_log/test11 delete mode 100644 d01/ex04/unitests/test_log/test11.replace delete mode 100644 d01/ex04/unitests/test_log/test12 delete mode 100644 d01/ex04/unitests/test_log/test12.replace delete mode 100644 d01/ex04/unitests/test_log/test13 delete mode 100644 d01/ex04/unitests/test_log/test13.replace delete mode 100644 d01/ex04/unitests/test_log/test2 delete mode 100644 d01/ex04/unitests/test_log/test2.replace delete mode 100644 d01/ex04/unitests/test_log/test3 delete mode 100644 d01/ex04/unitests/test_log/test3.replace delete mode 100644 d01/ex04/unitests/test_log/test4 delete mode 100644 d01/ex04/unitests/test_log/test4.replace delete mode 100644 d01/ex04/unitests/test_log/test5 delete mode 100644 d01/ex04/unitests/test_log/test5.replace delete mode 100644 d01/ex04/unitests/test_log/test6 delete mode 100644 d01/ex04/unitests/test_log/test6.replace delete mode 100644 d01/ex04/unitests/test_log/test7 delete mode 100644 d01/ex04/unitests/test_log/test7.replace delete mode 100644 d01/ex04/unitests/test_log/test8 delete mode 100644 d01/ex04/unitests/test_log/test8.replace delete mode 100644 d01/ex04/unitests/test_log/test9 delete mode 100644 d01/ex04/unitests/test_log/test9.replace diff --git a/d01/ex04/Makefile.replace b/d01/ex04/Makefile.replace deleted file mode 100644 index 3f95f8a..0000000 --- a/d01/ex04/Makefile.replace +++ /dev/null @@ -1,66 +0,0 @@ -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # -# . name = value . name is case sensitive # -# VARIABLES . or name = value \ . use VPATH only for .c # -# . value . or .cpp # -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - -NAME = sed - -CC = c++ -CFLAGS = -Wall -Wextra -Werror $(INCLUDES) -std=c++98 -g3 - -VPATH = $(D_SRCS) - -LIBS = - -INCLUDES = -I$(D_HEADERS) - -D_SRCS = . -SRCS = main.cpp \ - Sed.cpp - -D_HEADERS = . -HEADERS = Sed.hpp - -D_OBJS = builds -OBJS = $(SRCS:%.cpp=$(D_OBJS)/%.o) - -RM_D_OBJS = rm -rf $(D_OBJS) -ifeq "$(D_OBJS)" "." -RM_D_OBJS = -endif - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # -# . target: prerequisites . $@ : target # -# RULES . recipe . $< : 1st prerequisite # -# . recipe . $^ : all prerequisites # -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - -all: $(NAME) - -$(D_OBJS)/%.o: %.cpp | $(D_OBJS) - $(CC) $(CFLAGS) -c $< -o $@ - -$(D_OBJS): - mkdir $@ - -$(OBJS): $(HEADERS:%=$(D_HEADERS)/%) - -$(NAME): $(OBJS) - $(CC) $(OBJS) -o $@ $(LIBS) - -leaks: $(NAME) - valgrind --leak-check=full --show-leak-kinds=all ./$(NAME) Makefile OBJS BANANE - -clean: - rm -f $(OBJS) - rm -f *.replace - -fclean: clean - rm -f $(NAME) - $(RM_D_OBJS) - -re: fclean all - -.PHONY : all clean fclean re bonus run valgrind diff --git a/d01/ex04/unitests/file_does_not_exist.replace b/d01/ex04/unitests/file_does_not_exist.replace deleted file mode 100644 index e69de29..0000000 diff --git a/d01/ex04/unitests/test.sh b/d01/ex04/unitests/test.sh index 6626ecc..bf7fb23 100644 --- a/d01/ex04/unitests/test.sh +++ b/d01/ex04/unitests/test.sh @@ -1,10 +1,11 @@ #!/bin/bash cd $(dirname $0) source ./colors.sh -mkdir -p test_log +mkdir -p files_log make -C ../ &> /dev/null EXECUTABLE="sed" +FILES_LOG="files_log" LEAKS="" if [ $1 == "leaks" ] || [ $1 == "valgrind" ] then @@ -27,7 +28,9 @@ fi fi if [ -f $TESTNAME ];then - mv $TESTNAME $TESTNAME.replace ./test_log;fi + mv $TESTNAME ./$FILES_LOG;fi + if [ -f $TESTNAME.replace ];then + mv $TESTNAME.replace ./$FILES_LOG;fi } # TEST 1 ######################################## diff --git a/d01/ex04/unitests/test13.replace b/d01/ex04/unitests/test13.replace deleted file mode 100644 index e69de29..0000000 diff --git a/d01/ex04/unitests/test_log/empty_find b/d01/ex04/unitests/test_log/empty_find deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/empty_find +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find.replace b/d01/ex04/unitests/test_log/empty_find.replace deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/empty_find.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find_and_replacement b/d01/ex04/unitests/test_log/empty_find_and_replacement deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/empty_find_and_replacement +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_find_and_replacement.replace b/d01/ex04/unitests/test_log/empty_find_and_replacement.replace deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/empty_find_and_replacement.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_replacement b/d01/ex04/unitests/test_log/empty_replacement deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/empty_replacement +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/empty_replacement.replace b/d01/ex04/unitests/test_log/empty_replacement.replace deleted file mode 100644 index c6854d9..0000000 --- a/d01/ex04/unitests/test_log/empty_replacement.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more ters, my hert is dry -I don't lugh nd I don't cry -I don't think bout you ll the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/first_letter_lure b/d01/ex04/unitests/test_log/first_letter_lure deleted file mode 100644 index 671f5ed..0000000 --- a/d01/ex04/unitests/test_log/first_letter_lure +++ /dev/null @@ -1 +0,0 @@ -test de mmdr foubar diff --git a/d01/ex04/unitests/test_log/first_letter_lure.replace b/d01/ex04/unitests/test_log/first_letter_lure.replace deleted file mode 100644 index 991bdd3..0000000 --- a/d01/ex04/unitests/test_log/first_letter_lure.replace +++ /dev/null @@ -1 +0,0 @@ -test de m||| foubar diff --git a/d01/ex04/unitests/test_log/half_replacement_lure b/d01/ex04/unitests/test_log/half_replacement_lure deleted file mode 100644 index a74f1c0..0000000 --- a/d01/ex04/unitests/test_log/half_replacement_lure +++ /dev/null @@ -1,2 +0,0 @@ -trouve ce mot toutouille -et celui-la toutoutouille diff --git a/d01/ex04/unitests/test_log/half_replacement_lure.replace b/d01/ex04/unitests/test_log/half_replacement_lure.replace deleted file mode 100644 index 8072725..0000000 --- a/d01/ex04/unitests/test_log/half_replacement_lure.replace +++ /dev/null @@ -1,2 +0,0 @@ -trouve ce mot |||||||||| -et celui-la tou|||||||||| \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/multi_line_file b/d01/ex04/unitests/test_log/multi_line_file deleted file mode 100644 index 23b0c96..0000000 --- a/d01/ex04/unitests/test_log/multi_line_file +++ /dev/null @@ -1,5 +0,0 @@ -ce fichier -contient -plusieurs lignes -les unes au dessus des autres -youhouuu ioieux diff --git a/d01/ex04/unitests/test_log/multi_line_file.replace b/d01/ex04/unitests/test_log/multi_line_file.replace deleted file mode 100644 index a573c23..0000000 --- a/d01/ex04/unitests/test_log/multi_line_file.replace +++ /dev/null @@ -1,5 +0,0 @@ -ce fich++r -cont++nt -plus++urs lignes -les unes au dessus des autres -youhouuu io++ux diff --git a/d01/ex04/unitests/test_log/multiline_replacement b/d01/ex04/unitests/test_log/multiline_replacement deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/multiline_replacement +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/multiline_replacement.replace b/d01/ex04/unitests/test_log/multiline_replacement.replace deleted file mode 100644 index 3a2e850..0000000 --- a/d01/ex04/unitests/test_log/multiline_replacement.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is doo -oooooooolaugh and I don't coo -oooooooothink about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/one_line_file b/d01/ex04/unitests/test_log/one_line_file deleted file mode 100644 index 8d1c8b6..0000000 --- a/d01/ex04/unitests/test_log/one_line_file +++ /dev/null @@ -1 +0,0 @@ - diff --git a/d01/ex04/unitests/test_log/one_line_file.replace b/d01/ex04/unitests/test_log/one_line_file.replace deleted file mode 100644 index b6fc4c6..0000000 --- a/d01/ex04/unitests/test_log/one_line_file.replace +++ /dev/null @@ -1 +0,0 @@ -hello \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/replace_one_character b/d01/ex04/unitests/test_log/replace_one_character deleted file mode 100644 index 922f88c..0000000 --- a/d01/ex04/unitests/test_log/replace_one_character +++ /dev/null @@ -1 +0,0 @@ -....................................................; diff --git a/d01/ex04/unitests/test_log/replace_one_character.replace b/d01/ex04/unitests/test_log/replace_one_character.replace deleted file mode 100644 index d3b95af..0000000 --- a/d01/ex04/unitests/test_log/replace_one_character.replace +++ /dev/null @@ -1 +0,0 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++; diff --git a/d01/ex04/unitests/test_log/replace_two_characters b/d01/ex04/unitests/test_log/replace_two_characters deleted file mode 100644 index 0880dee..0000000 --- a/d01/ex04/unitests/test_log/replace_two_characters +++ /dev/null @@ -1,2 +0,0 @@ -...................................................; -. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/replace_two_characters.replace b/d01/ex04/unitests/test_log/replace_two_characters.replace deleted file mode 100644 index 80f497e..0000000 --- a/d01/ex04/unitests/test_log/replace_two_characters.replace +++ /dev/null @@ -1,2 +0,0 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++.; -. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/special_character_' b/d01/ex04/unitests/test_log/special_character_' deleted file mode 100644 index 05ee8e4..0000000 --- a/d01/ex04/unitests/test_log/special_character_' +++ /dev/null @@ -1,27 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why - -You have to go out of my door -And leave just like you did before -I know I said that I was sure -But rich men can't imagine poor. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told - -Little me and little you -Kept doing all the things they do -They never really think it through -Like I can never think you're true - -Here I go again - the blame -The guilt, the pain, the hurt, the shame -The founding fathers of our plane -That's stuck in heavy clouds of rain. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/special_character_'.replace b/d01/ex04/unitests/test_log/special_character_'.replace deleted file mode 100644 index 7292451..0000000 --- a/d01/ex04/unitests/test_log/special_character_'.replace +++ /dev/null @@ -1,27 +0,0 @@ -No more tears, my heart is dry -I do000 laugh and I do000 cry -I do000 think about you all the time -But when I do - I wonder why - -You have to go out of my door -And leave just like you did before -I know I said that I was sure -But rich men ca000 imagine poor. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told - -Little me and little you -Kept doing all the things they do -They never really think it through -Like I can never think you're true - -Here I go again - the blame -The guilt, the pain, the hurt, the shame -The founding fathers of our plane -That's stuck in heavy clouds of rain. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/test1 b/d01/ex04/unitests/test_log/test1 deleted file mode 100644 index 8d1c8b6..0000000 --- a/d01/ex04/unitests/test_log/test1 +++ /dev/null @@ -1 +0,0 @@ - diff --git a/d01/ex04/unitests/test_log/test1.replace b/d01/ex04/unitests/test_log/test1.replace deleted file mode 100644 index b6fc4c6..0000000 --- a/d01/ex04/unitests/test_log/test1.replace +++ /dev/null @@ -1 +0,0 @@ -hello \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/test10 b/d01/ex04/unitests/test_log/test10 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test10 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test10.replace b/d01/ex04/unitests/test_log/test10.replace deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test10.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test11 b/d01/ex04/unitests/test_log/test11 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test11 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test11.replace b/d01/ex04/unitests/test_log/test11.replace deleted file mode 100644 index c6854d9..0000000 --- a/d01/ex04/unitests/test_log/test11.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more ters, my hert is dry -I don't lugh nd I don't cry -I don't think bout you ll the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test12 b/d01/ex04/unitests/test_log/test12 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test12 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test12.replace b/d01/ex04/unitests/test_log/test12.replace deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test12.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test13 b/d01/ex04/unitests/test_log/test13 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test13 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test13.replace b/d01/ex04/unitests/test_log/test13.replace deleted file mode 100644 index e69de29..0000000 diff --git a/d01/ex04/unitests/test_log/test2 b/d01/ex04/unitests/test_log/test2 deleted file mode 100644 index 23b0c96..0000000 --- a/d01/ex04/unitests/test_log/test2 +++ /dev/null @@ -1,5 +0,0 @@ -ce fichier -contient -plusieurs lignes -les unes au dessus des autres -youhouuu ioieux diff --git a/d01/ex04/unitests/test_log/test2.replace b/d01/ex04/unitests/test_log/test2.replace deleted file mode 100644 index a573c23..0000000 --- a/d01/ex04/unitests/test_log/test2.replace +++ /dev/null @@ -1,5 +0,0 @@ -ce fich++r -cont++nt -plus++urs lignes -les unes au dessus des autres -youhouuu io++ux diff --git a/d01/ex04/unitests/test_log/test3 b/d01/ex04/unitests/test_log/test3 deleted file mode 100644 index 922f88c..0000000 --- a/d01/ex04/unitests/test_log/test3 +++ /dev/null @@ -1 +0,0 @@ -....................................................; diff --git a/d01/ex04/unitests/test_log/test3.replace b/d01/ex04/unitests/test_log/test3.replace deleted file mode 100644 index d3b95af..0000000 --- a/d01/ex04/unitests/test_log/test3.replace +++ /dev/null @@ -1 +0,0 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++; diff --git a/d01/ex04/unitests/test_log/test4 b/d01/ex04/unitests/test_log/test4 deleted file mode 100644 index 0880dee..0000000 --- a/d01/ex04/unitests/test_log/test4 +++ /dev/null @@ -1,2 +0,0 @@ -...................................................; -. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/test4.replace b/d01/ex04/unitests/test_log/test4.replace deleted file mode 100644 index 80f497e..0000000 --- a/d01/ex04/unitests/test_log/test4.replace +++ /dev/null @@ -1,2 +0,0 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++.; -. . . . . . . . . . . . . . . . . . . . . . . . . .; diff --git a/d01/ex04/unitests/test_log/test5 b/d01/ex04/unitests/test_log/test5 deleted file mode 100644 index 671f5ed..0000000 --- a/d01/ex04/unitests/test_log/test5 +++ /dev/null @@ -1 +0,0 @@ -test de mmdr foubar diff --git a/d01/ex04/unitests/test_log/test5.replace b/d01/ex04/unitests/test_log/test5.replace deleted file mode 100644 index 991bdd3..0000000 --- a/d01/ex04/unitests/test_log/test5.replace +++ /dev/null @@ -1 +0,0 @@ -test de m||| foubar diff --git a/d01/ex04/unitests/test_log/test6 b/d01/ex04/unitests/test_log/test6 deleted file mode 100644 index a74f1c0..0000000 --- a/d01/ex04/unitests/test_log/test6 +++ /dev/null @@ -1,2 +0,0 @@ -trouve ce mot toutouille -et celui-la toutoutouille diff --git a/d01/ex04/unitests/test_log/test6.replace b/d01/ex04/unitests/test_log/test6.replace deleted file mode 100644 index 8072725..0000000 --- a/d01/ex04/unitests/test_log/test6.replace +++ /dev/null @@ -1,2 +0,0 @@ -trouve ce mot |||||||||| -et celui-la tou|||||||||| \ No newline at end of file diff --git a/d01/ex04/unitests/test_log/test7 b/d01/ex04/unitests/test_log/test7 deleted file mode 100644 index 05ee8e4..0000000 --- a/d01/ex04/unitests/test_log/test7 +++ /dev/null @@ -1,27 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why - -You have to go out of my door -And leave just like you did before -I know I said that I was sure -But rich men can't imagine poor. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told - -Little me and little you -Kept doing all the things they do -They never really think it through -Like I can never think you're true - -Here I go again - the blame -The guilt, the pain, the hurt, the shame -The founding fathers of our plane -That's stuck in heavy clouds of rain. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/test7.replace b/d01/ex04/unitests/test_log/test7.replace deleted file mode 100644 index 7292451..0000000 --- a/d01/ex04/unitests/test_log/test7.replace +++ /dev/null @@ -1,27 +0,0 @@ -No more tears, my heart is dry -I do000 laugh and I do000 cry -I do000 think about you all the time -But when I do - I wonder why - -You have to go out of my door -And leave just like you did before -I know I said that I was sure -But rich men ca000 imagine poor. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told - -Little me and little you -Kept doing all the things they do -They never really think it through -Like I can never think you're true - -Here I go again - the blame -The guilt, the pain, the hurt, the shame -The founding fathers of our plane -That's stuck in heavy clouds of rain. - -One day baby, we'll be old -Oh baby, we'll be old -And think of all the stories that we could have told diff --git a/d01/ex04/unitests/test_log/test8 b/d01/ex04/unitests/test_log/test8 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test8 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test8.replace b/d01/ex04/unitests/test_log/test8.replace deleted file mode 100644 index 3a2e850..0000000 --- a/d01/ex04/unitests/test_log/test8.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is doo -oooooooolaugh and I don't coo -oooooooothink about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test9 b/d01/ex04/unitests/test_log/test9 deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test9 +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why diff --git a/d01/ex04/unitests/test_log/test9.replace b/d01/ex04/unitests/test_log/test9.replace deleted file mode 100644 index 652b428..0000000 --- a/d01/ex04/unitests/test_log/test9.replace +++ /dev/null @@ -1,4 +0,0 @@ -No more tears, my heart is dry -I don't laugh and I don't cry -I don't think about you all the time -But when I do - I wonder why From bac6161af836193add290a356a18c6088a655f44 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 16 Mar 2022 12:42:13 +0100 Subject: [PATCH 06/17] d04 ex02 dynamic_cast dans main pour ne pas avoir une metode pure brain dans animal au cas ou en correction... --- d04/ex02/Makefile | 2 +- d04/ex02/headers/Animal.hpp | 2 +- d04/ex02/headers/Cat.hpp | 2 +- d04/ex02/headers/Dog.hpp | 2 +- d04/ex02/main.cpp | 16 ++++++++-------- d04/ex02/pure | Bin 0 -> 34608 bytes d04/ex02/srcs/Cat.cpp | 2 ++ d04/ex02/srcs/Dog.cpp | 2 ++ 8 files changed, 16 insertions(+), 12 deletions(-) create mode 100755 d04/ex02/pure diff --git a/d04/ex02/Makefile b/d04/ex02/Makefile index 41d7f5a..f10adf4 100644 --- a/d04/ex02/Makefile +++ b/d04/ex02/Makefile @@ -13,7 +13,7 @@ ifeq "$(TYPE)" "c" CC = c EXT = c else ifeq "$(TYPE)" "cpp" - CC = clang++ + CC = c++ EXT = cpp endif diff --git a/d04/ex02/headers/Animal.hpp b/d04/ex02/headers/Animal.hpp index 8378a82..673dd6e 100644 --- a/d04/ex02/headers/Animal.hpp +++ b/d04/ex02/headers/Animal.hpp @@ -17,7 +17,7 @@ public: virtual void makeSound() const = 0; std::string getType() const; - virtual Brain * getBrain() const = 0; +// virtual Brain * getBrain() const = 0; protected: std::string type; diff --git a/d04/ex02/headers/Cat.hpp b/d04/ex02/headers/Cat.hpp index 1c69329..f4246c3 100644 --- a/d04/ex02/headers/Cat.hpp +++ b/d04/ex02/headers/Cat.hpp @@ -19,7 +19,7 @@ public: Cat( Cat const & src ); ~Cat(); Cat & operator=( Cat const & rhs ); - Cat & operator=( Animal const & rhs ); +// Cat & operator=( Animal const & rhs ); void makeSound() const; diff --git a/d04/ex02/headers/Dog.hpp b/d04/ex02/headers/Dog.hpp index 2fdc58d..b777369 100644 --- a/d04/ex02/headers/Dog.hpp +++ b/d04/ex02/headers/Dog.hpp @@ -17,7 +17,7 @@ public: Dog( Dog const & src ); ~Dog(); Dog & operator=( Dog const & rhs ); - Dog & operator=( Animal const & rhs ); +// Dog & operator=( Animal const & rhs ); void makeSound() const; Brain * getBrain() const; diff --git a/d04/ex02/main.cpp b/d04/ex02/main.cpp index e83576d..75d5414 100644 --- a/d04/ex02/main.cpp +++ b/d04/ex02/main.cpp @@ -18,25 +18,25 @@ int main() { std::cout << std::endl; std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << "\n" B_BLUE "*i = *j" RESET "\n"; - *i = *j; + *(dynamic_cast(i)) = *(dynamic_cast(j)); std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << "\n" B_BLUE "j->getBrain->putIdea(\"I am not a cat\")" RESET "\n"; - j->getBrain()->putIdea(0, "I am not a cat");; + dynamic_cast(j)->getBrain()->putIdea(0, "I am not a cat");; std::cout << B_BLUE "cat i : " RESET; - i->getBrain()->printIdea(0); + dynamic_cast(i)->getBrain()->printIdea(0); std::cout << B_BLUE "cat j : " RESET; - j->getBrain()->printIdea(0); + dynamic_cast(j)->getBrain()->printIdea(0); std::cout << std::endl; std::cout << B_BLUE "delete i" RESET "\n"; diff --git a/d04/ex02/pure b/d04/ex02/pure new file mode 100755 index 0000000000000000000000000000000000000000..964e580596398180e55a898407de900c337d0671 GIT binary patch literal 34608 zcmeHw3wYGUx%X@?5(JXvrcf^|C^mqE1Q3H({RddsC}1RjRHe(31QN-u$wmW5Y80ZZ zYuaeVQd=vJU$yBydPJ!;At(~Ov__BGoZ8x)9@Kv<^@|p5Y_<7*?>jU9o&9H*`thCf zJQ164ugdnd?tIyc*qZ!*?Pd`6XQr}I8? z0FsxLq5@Y1xr5pbsCEOYoz9tnNR{8TKglQbe@MX(rC6v@-J(n^;m=r3w3Le83YSuO za2Z#TTU^ljJ<9Pq*X^!CJJR#BChhiBN?tO*3@ZI~uEdKul@%Ko%%4+PI=ix>x}kA) zWB!8K3+Ct4*W}D)yQv$Fs?gr3Hl5C85If&Np)L}96Uy-pGQ zT*3Fa;75U{{;Ks_ic)6VA$Kf|%CAbe7wsvfDLsqET3pv3?*mVKT3zrB3cl9`7npDL z;nI>>vuKVj5W(Q)s+#IxeK=GX4hBW=n&R-na9LedMRh1#b_3Td>kCVY!+Cin<)OM@ zxGq!?2Ebn&!iRqq5c4*M>MKfuHTB`TvQSmw>fq|!puhOS;HoQD7Kbkk21^JdVd9%i0zU*KZ#D>JgGj5Wy|95{IcrO%0zmf zK;;Ew|H%n0x}s#&6~*%ugZzq``XKBrn_pO65q7L0Ba4=nQZ6SzUcib*Qo;yft`3?#WpmD)z&2ZcF{9ynhld1S9xw{>gWM zZe1M4a2-Bc6ZLw@Y7Em0g3^HM8>`@#(yi5@DvaflP<>c>B)%(8-as`7FfdDM8p1RS ztK&zU}385x!Rj8s`EL*%d zI4>txEL&c?ahR+o2q^PX_ zBuqk10hG2hY4{_&%xPWqh`SK8bX+VtZ|f*pX@3J4CBpyAz&CuMVkGU@{@~zKLE&tZ z#J~M~3&f;}KdCn18FynVlqx<_^{)``7vm~Pcz^;K9eo9 z2hd5!XM#`CK+07dCOGXCbedFaad8AbRfy)g&wxWwCuJLOWjf<>4Y=Ne5hCA!(>_Hf z%Yc(kIt2{4xqmA%;H0Zg>kPQwYZ7jQ0Y^tUsoa2{>Oir68E|yGlNt^9Xa_1plL1#- zddBWD;F$(}s{zk4;Cl?X-h&c)uK^!x(6<@zGYojU0Uu|;_Z#r>2E5CFt4jpN9x>qh z8ix=)2K+38&*#O@J@DV@fxl#({kOo5V;O;HdVf%eKyz0(WvC~x<50#kEOzLEKLR{7 z{U|=OrdTLZy_|6UeM3moe@k@=ZT&r5e}(E4()zo&{yfzwl=ZiB{b{OG2yJ{MLQ{Ve*MCHH3Q7I7Tz`=26pH#caQ!~2QwZuW;`-fGr_j@Has3XeQ^@Jh z<@&8ur%==HF?qC zDyom8dKcF(r#gj({&ub}qB@0y{=Hnki0ZT?^|x|;F4bu%>TlxuOsdlo)L)DGnn2{O zz=5%K763xn+o4h5fZn_ZIyEBjWSf6-%%%&JI&A(2jzvVs7A_IYg?_Cx+IG7sn91gtvkMLNB z!wAK}-Jaw(T{7`25Y#Z92g5dW`Qh|bKs@W8877bD|8z%82OclC9P7e_?e>2{`gZ#V zDLX(rpw2YQ5_b6~==4Z;v|(_^VNaxC(Eh6gbY>Fva#RlFqJ>?=;Ddq4^MT0jMpO>_ zf9VNCTAB#nvi(RP(y=m*d?g-li)zKLpEsWvCsBlnn)mX0Yd?X zwZwoLef{sc5!l-Us0E_UjE(pQq*A{mU_>dk4h;|cZzrWTNFKYO6xnAlrh0TYl{@E2 zrCRM@JN%;^vOz$+NuBy0fc-_H zF%XL(pOXC^SOuc~fk31=K>F<%6j?iu0s|*8ptEm@MU*1&WYbbv%Ik_8v_GVVk!A~x z`ky9rVtsTwt(L{QUMkshNAeq+=P{T-bE*kaIioqIiO=&=7dxoRIf$8xY zY|$Dlh-r}R)_?)YG`K`+;EU6MYf^(|DnmstWpZFlatmNUG6BCE!tWXnpcj8xu!f!WxE?QO!o2mbK^B|`uNqqvIf-0 zJneaAs6J*uG7a9KhLL7FP6Mtf4XAAU9Sz<%Ctial-N&n98uXz_+$du}G7Y{gHRz4g zfNM$vD%;PH?j+QP!a42X^x zD#|dM_UfiD9(SzT<8I0TZpuRCV*VX!U@qn}*}U$~KZB*c9ay<;?vQkW$j2ChyNETH zTFKVi$LYZoZ6*NproFmsc)8iI(P`L34Zntcuo|Du1VF<84eKbkN3E8CJiwIs43OqW zC2gd++)cy)x1o>zh4>r0mIA3*XL%EU8swAR9gNV$q*ToavPDJO%i1x8T(GI445jRa(Rmrf8Xb0bS)Yrym zOXJ(5@wsID-QWo0soeQGn!$LwAhW*^lhh%b?PK^Vt(7Lc$`RAjL5%Ho01V^5>fn{} zO$f<`u5A2rgNO~fHlFA|$)GQ4A~{2{QI(@a-65OpWB7LvSEY`M z@V@`8eI^;(9|IuOxS7;=(!pc5M`QLmTx>H3NwkNEb~{AMpzp^MJwima4pEeyj%hkT z2623%o5Bds42Wh0qJh|Pza3j>mIIZ9lPzNf8@ai(ZdAv1P`xRg+4 ztbI)aWUS4W4FlB8H+gleoyH^-YkMG0OQNzIs7FYN^?ICPi68*9wZKM-=HdUspW}xA zi>S)s-(_&6vgEp-O3{79#O{GEN^Ud5Bh8Hta~}THnmL*f3g)vF59^5|72$qf6r*J} zP_>jyb+yOTneh;iCGP0QNa}TA`iBfJf0%>vse6Gq($L8BfW+pNPzk zI-mX39q2q0gM&%7fuy_n819l#bw>x4(z9CVMHCrfDkKl-&po6Z?+o^mR`+9rq_k=w zK%j&<1tNDoI{-dWuI=dZM7YrZJqjt&j$Is`Vppj4+kb)=igA+=$VNBvIYKTVq`9A@ z7ZpIg!A<=gqP|uli`>Ys5%N+(nyk)&-R`YvFAbO}L{46jCaN`aD?vZzHZc?W6EWd+ z=(q2>n6we=`NZTgViN6;D?yBx{TpiXEs2zo+(14_$ZelRJjc^(-Qp=Y+xrN5ft1k4 zU1~^JM@S4e(v2d4=`8zVAazt2(i5uxTex9hlJ&2W&E@nqcz@C#6D((`f&2p@m0+F) zMlab<1F6URZI0lxNpQ474oid8J;cfbBzK)0)u(2))Ilvds=rC>BHeNs z{VfbOJ*o-t8Ar9-RbJ9zdm3)BxuzEsnL++hlO_5TPnH1fXeYU+%=4Hs3ED3;+wYX^ zBh5{ug1Mb$0PmF99yjx!f;opYtk#WatM32V>>A_#p9FL+M9i=+rwXPik*_DfLISjO z?8kh!TX5rEBO3^LCXmvVSk6HaXxYbvVeI!!xc#qABvGs$1VHOn>*)64J1*U>Rl4mV zX+I-uw1df6xBCfz3trOg{gJF2BcCGbCLpyA*-|$q?8T*l3Aax-bYqHB4Bg5d-E!T! z9gu*|K9V+$D$x!mXWcvmXz3WFJ1=XbZj3wyxA^R%Z^v{yLKO2r!Ai*`Xc`e6a1p_| z%D$x!mFDHNnfSgQAC7qm1>%dQz zHlSp0!?Pag&1f?Lu)=l0AT2#W(%Izq-vY9wqm``nqY-2=@^+H-Dv*lHK5DKBM?0oQ znJsM?NQk)#Ghp~CtXV7s3*2S6rPFDHCbTu?&S`U?7D1yO(xWkk_Txw4jYKOBJCB~0Nlln*bbFWWC*MZ8 zZFIYcJq*a2B8u!&!OQ;eKZk~5&y#i>%MC=f4+f(6k8JM^bdT7NJ_zjS&Oo)#-j5b? z6b?|=EF@)=q+TNG%<=sGXymX?tvYlv3&6 zux!F#{QP9cF`x90AO7+81-b?KN4n%95`UiN!&bv3_N#xSL3zlRz!Bs!`!V2M&bSLq z$QfUTWH@6dxme0a-(-!7^G^}$!~S8N_M5xGbx?_t{S8tg>fax@*guf9a}7Z38a!D+ z^LBd!1Geu6u$`59=|6PO(!-arq@s^#^zc6tS#c;psE;&ZKRvi*5jzeQv8_k!=SV8- zxCrNVMo9WENtm6bF?l|_Q#LUK6@Dj?e?VM7sC7qE~l(FGsKyJ@yMDo$v(#(G_r2ARDUDkXGB1fr$TD zKQ549I3|k$v@_WhOqpk)p{sizWue{nHbk?Sk;*?-tUu)(ro_>XF< z!AV9Z0@{;E6m+p)f@yJ9+xAneMz_5aTXT9Is_e}jW^X<1-QD)u)OpYS!L%1z+RNa3 z*>Oqc_0r*r%u|Z|9jism{l@qtzdP~9CU4l^poND=7X*qx=ebKQDhPW4RN^7a6N}#C zg8c*b91jY3>PCY(3QxX-vBVV)1jFN7)QKmtE*=RP_UmstCet9avN37U)%0`__c3_f z*(sQM(h21Hd(eW$ynO}v@iPwBpl);;8pUnL!qLpvES_K>5i(Av?Q=h6YXP5!V3%eizl$w(3}zN4=>(9!6s|GRkc=I_`a zefDl>=<0x5S!lO?`JmYWN#n&lkU<5C7cm>3A{!$RqHUD%f^B?SgQbo2qzcSuu(G++Ov(}=TY;fF%8%J6N zEGB*|Cd+s+;r)fge8z$C(!Z;LaT`4iB=t38+pcF7y6ubcI4fB^a>wtN$UY-ztb%Ej z>>F4RqV$R5cNWI|XN%vlDR&{c?=Rd#(P>HX&rrs z`hjD-UauJ+X*iDFVUlRWaeJ&oHQZjr54yhL^|psb@+}AHfgtSwv9uy?)5Qwr^sk_e z>NsF%Fz@K{1r}mV`}?w*U&A^l7mpjLmvbFrIl(#j)9MfMhJnbMV}XU(WBR+YcFw|} zgA9sBBxk?9?{!BGw&&E4Wpqgy{Z|k@1%ao*4f?L(K#(p~#)~h}?X+PhR&Dn62CKFh zt9HeT#yjW-?78G<42Zws=~T=?YCYM&{^9w|5Du z`xAK$OxM`B#tUe#!8Zuv(rbI|`39@KF;;EyUbF2_Ku2CXgvVFLdgOEYtIrHGuflLj zb`~|JZ2^ZF+O>B3j}d0a_G6`4E%YS~DAmV1?-Kv9z`?$BdNI%`cH5V{iks^GV{}Iy z*BsBr_E})cQ&ja|5$mJ&lX8eYLGEusd+o74#}&P?RfYx_#!>tL>*;Tjs?l}Tu}7SAPI=SN`(}@Yuh_6r%~C_~{9dE9K+GW|rS>?=lJ-Ze18qt z%b_Rr*91J3bN82y7q|}HvHdtYKuT$_;ql|z`Ob1-=RqV`1v>ppEvSS3yo@01_W0{_ zzCW;r95pyhhP=JqfKJ|S$mzCAUU7IiZop(dCfkSMg6kxIyiVsyorc+X^UJ2}9+EA+ z=UB||*A`s8yycQvIYJbyEsVTgu%kkgP*2` zr{uk%_BYETA1sf&w^*2`v15!@CfZaqaqo>k8Hve5D|0zEjKZ^Fm$9 z`8|5)&3OR-2P6-^BX!2Lc^A){S9R*OV$Q<#zHnK6*jH9p8QNCkyXcH-bE{4jg}zXg z58oENv8F0iEo;{|fGR{l*?fK#ioOcpMLud`!mih_Q(4aZs+kqOOMEl0m#j7L`q`Im zE(Apv4phr3EvqaGm-#9rjgqB+N|<9_eZ$7< z%Syu9J_mkdMY!Czk(AIV#b;ARWu-*q`Iu}gZ&v_F(Kpc<|zCW*F4;!j`>5hSsNP;NtJ-dIz!X(rvYS4n@Xpy@)3 zAy&T3wLR^sJ`ZDn2(&$oYER^{hek?i*``oKWq7z<%4VXe4b_FJ5dQ1xRrpTUT`uAZ zEHm{dz16$g^>A+=iTf zzs5%1gM1KqA8y{|zc4hkcLdrYZwKE--;bPLBO0Wq!;sgD2i~>FkKmF09^~ure#8;b9YNlO`mT5JB$DVTCw|B? zP|wD@G6T>r11};?f_{U@Ez%Qjl+ia0Ct+`&3;ZtRt*8fZZMGlz9^^%U??+yX+(zC? zd~n6vjyxZE7wla30puay^%wXL`K06U3vS)ze+WOKz6ZI5+(y0udE-YzLrutgk>`Uh z@K@B4Q=%^hQu1tDB|ME@&l#gfWVFI}Ucm6`t7t{v%prm$BfJF5#s5zLgF2kf#pe?I z2M$A5v=f=$rJ0j1&l+`OMw7Vg3m4CvckVPIBwm&HZ|{Z<1SrV#-j=d>%qjH{h$`Xl z#D5R)czzSZFOA^|?AcbdoHZShN!KE=y& z=xU@fi5_&hGXZu4@Gz6ZjMfuy(lHmfW5CfkcKBDubSwh?x+FG`en;@X98c2jK%N#@ z71J?gwN{bs7y$k;(6ta!K0$RrhDVxAYwqFgrjX8w3@MHKDjAs5}g{QkpPJ7v$ z@%I2<4*7}30r_w=@NKZ=b(GV(Oj~YuY#}<*a|8P77||Uy>F$rCyAE{Ohz-p|=Pfq+ z}qyfZZP8p>%$O}g9S z=vISn0I{9>)4ST}_xS$233R*A58R*g4LVnUE=N%G9!lPymB2S)Eoe3UnG$7(a{QzA zSR<~E!>@AiKLNf7_{ApvYmDapdXe}8f2)a4p+F$}^BC|0z^{qJ7diORSc6)hN#373 z(Y_XbIF0;o8GhioZ;XG?m18YDpXfH2bT>g(jP6y?3HakoqH8kgV&h{8NWM>NBlIpK zy_aTszmZayIqB=E{!Cv>nm;r9&h#ajxwoAX$jsj{Vp*nDota;dnOl&Vy(rVSD09-H zOz)!13|`NUfln9skXW6DQXfn8V3TpP5I1MOlPd1^cn4F(FFYere%iB2hz7T)*rav%MeBiwoB)i6qd1|V7bX@wcri$mee0*H`yHmxT z5=K;n`htRLFJJtqaU6wI;PwO z3x4fOe|5TeXxc-mu=V-r*Py@7OYc2T{P4Vkh=cED&wDUO+&`m2h}&k)dp1Y>VkU|Y z&N{=+5l_$h;>S7Sy;-AC{@X09VDF!w{^%U>(fMBz;?dbxzBEVNl7ri4KhODvhg>}e z-%5f!nTAp)d&bhrmVMrr#r5g8dOS4_TH?+}Aeergs7i14cbfTxE=$cG>0^Njp~$8(2gdQ33UOr|J*ZvLGfQJa3hM?C5o`D>5o zmmY`FQ0ffN6xJ>OL5~Qh|EmYXDjmfmo{>jAo|j{k_@xWj;bq#Xt3_G*cF*+=8>!D3 zSzCmE4${7X7Yk9bD@%Hw&`RR1JwJj*lT zyfItERasAxIz?Yk@x1NHbvkG$^(@cCnPYD8h&5AtJmM#wqVK18K8X2YeGOW;%eISd^@BGH+FR zpUQK`OZb4wiS~a|(i?VnemgFSC}}wTR;O8~-{zz=T4uN~wzx!J2%!|X%;H@C2BrR; zb8JI7VMoa63o6f7&oSsan-bmQp!DHChH5C!NVO;v`r2^PDYA~MJ5B+G*N-0PWi3j4 z?*lpAH>5OCX3nQF0~gK~!{`w#O!T%W1%s`>x7%=uk;m&66Cf0wF!t;#p4{05cZrt*7L{;-rO7z&7K$61V5g8 zqC~$~+m>PtBS{r0&hPS@Ncz28J0X3VGausV(}kV~@$gfGo-gt65hBqzOU3Nd<1?Oq zq|oC$9)7AbAL8MdeX3vM;iH8wA$*KzPtaefBGZW{@qDr{Q7se1Yza*@Ghd7=d(W2HeL0nG7 z$pgI!;fSJNO+>GwZH(146w}1}{N4N*RLA+@ei#p;6fs8Vbx_CCS%7=+%f|W#CiOaT zk)qfAn6HHFMt&l>^r*#5MO+yt=+TOqHYzwhN-A-nW`#BJC3 zI!W)gt7x2rYr8%HpA*?dj|I%6?V`s3X3}=iZGSU8#})X&1>dXSbX(s{Zzwq3#y8WS zQ6YQvzRPW|{^3uzy?b5ujt9Ys?4{f0X43Z3ZE`bdyXdyKnbN?Y^wj%8x1Rb3McsN1 zxb!?LiJsYtf7AGQxib~K-37ly!QK1QV!&zsdg~+~R5=A1K0LnNrugW6u_DKfQ{po` zPA1d;5vCt2?o1GG6ZOjh&|?u97SCT{KEvZG?tvnW9~PgFDY!eH4>6zN@pfVgosTg_ zcrUbwq1eKoxUCHMSdk?HOD%@vD)?-sR}~}s7sW@v|FTcvZdY*q-V!|@rgSghUc`C& zJy$c`pM?LDfRjG@eHpz!PQ}L4mtehkM$zl{YP?FwOU!?aaO?SoqSx!J+E$Bq6}^5R zX_n$M#Bft{Sw0IJ+;PLfVhh6|_hO5&t%~L*1*hN2r9|%xP`X9&(LahOp+Y>T=m+Lo z45DX{l<0kru_=><{`q4G#dQGSiS!9Fe2gf%$YRp-6(4%fgvLY990{jqp_Fb_aJO7M zhe~*^%U=||_e&PHr)O)FdT`+~E@k*WhkkNoT*??xtLC-t-^m20ICF``?fID`N^=;_ zptz61B=8QvY5eH-$57>TI0^j-j4P6BDShTB`rjs@pMndtM1G#jaI9ZS|HX>Wwj}g> z6uo}GPhaQ#APN0JMW4ISV$SqTl+sIplfC*qJ2k9CucCMN%i9Vr)VR|9KB(aC`FlBJ zj7ve(_gW;*Nh5Hfn8**)0H^Wkp6@wK4?pKy%;O5h=^_R1Q}8JYeiiYdIN+D`IxbzK z=m&Bn{B=dYNx}7dct2P0Mg@0|{|MlT&KKGXIGtal&%s!y_`Ih0_~ymS{SO7Ny;Q>2 zDEb*0a$M>60d+jNl;MiV$nH?|MdwRCcPQMqlhD5l_%zHTOVOi;IC(IhDc-vG)$d@u zc(FcCs(Ts`pUV`yPs3et>;uKW$aVcSp5hYbyM7Np&sv5X2B{*xWsq>bG$(;Sp!oNxcyg=a^MryI|l8$??E4X{U z{1I@DlS?GMo?q`Ndi}nxUf=(w;O_A-5(AI?*{bHR?)S44T&Q?8owdR{QVdrWBP#~n zXVi6ZBjBW`e(zStw=IfKtE+$SQ1tqJXiO7M_cHw$(Uog)y;*|ALrLI|X}I#U_CpuL zh0sS5C^k5B4<`?mHI|gshJ)eI#>z6BVYF=dm5U0NPnhKnXg+q*RFj#PNWzEJ=W$*?ZEyhqcJDgqQ5`YtoT#yBBk@78Y7V4(G&`pcC zpA!;ZFicFoyD44;mWIU}%$Zwb^pXt^I;uUSd&fy+a^sJePBzZZT|r>p6s!7Pgpx00t=(aBXxiauUVeKTOm zTsk|htQ6vT#2KgA#c?35ij`KY3-#9uG*4zycqNY5D#d|n4fSQP{+g9n(A)Y8t3q4K zifbCGOG%LX*fq;Cj@>#bdvV4XA7&P(t+Mw59$VV4eDW8~s*^kHE>3{<=Hj{jlQ_N& z2h{~j>uZALA)LBbM!b@q{Fn6TKI+FfmEvrMUhs+>TId8+i=;Cg#q&;5@y~J&pSxG3 zXgSnMD}!}ql{F>!5*D4v7RK>$wH53GNwtu_>qOssqZ1B!yvSqRl(FixHtNU!=93l^ zco$Ou-h>b7tiU)tU?+8!o|_2{)^meaO2=HNz7FWGIEm3hMCnyU&G=4VWo6JgB9#IkmKu2$ zBag{sN1i4PeB|cg(o`21VUGqN^pm|oqIfyV*I%#Y)o3G*4^=BOxpw&Jm2rZINz7+5 zzRIH|OX?fsehd_96gq+voE|!C^kCrXL9Qka&8^sw<=PcW_JuHEHO@R;bO9d~tEMX- z3F}ff?sQDxuo0wFFTt6QqaEhSm`pXxC=Az20c4gln_^be-in&B)hZ;cRf=l34E)X{ z(F+rg@3{V;K5|cSS_E9jcPcCOO5i?{7a<8u)Y@U5SC9kmh8` z8MY7$kyF353cGvc;X0X@>k_^WT~=2sa`3(FvYgG;4LKVdDsY;2MX3Ve2-4Z%&}PB7 z@=$%b$iXSA;3xBNoy4f;v2m3ka9CPH)IgPLE5jm(FBEcc6e`NxT{(3%yx+?yD_5J} z@=~i5%?JtFQ%ku7*y! zKu`GS))sENa%xMlRL&WH??9I1r@9U1fX+b)w`835hf*xmV&}%6%eB}CZePZw1*n0`5(QjhI{NG9-vQOW zM={3jI`)%pudj>O0#2k_zJ5+Vi5ej3_ef+-^3Y|o!$uAjT}iG{#5srIA}>8bTsV6hDa@~LjGpU>O4|3IlxX3qT$-CoLrPF9`yqxqz} z+B@%kY>*9lRXd&Ob~?{=wb%EtdsX{n@-;vDE-mrW{?qS~*s48!f7MKuSwVTSlAr5> z>-OthaLvxlow;MsS|M4 Date: Thu, 17 Mar 2022 11:12:31 +0100 Subject: [PATCH 07/17] ajout ex03 et correction dump core --- d05/ex02/main.cpp | 22 ++- d05/ex02/srcs/PresidentialPardonForm.cpp | 2 +- d05/ex02/srcs/RobotomyRequestForm.cpp | 2 +- d05/ex02/srcs/ShrubberyCreationForm.cpp | 2 +- d05/ex03/Makefile | 86 +++++++++ d05/ex03/headers/AForm.hpp | 54 ++++++ d05/ex03/headers/Bureaucrat.hpp | 48 ++++++ d05/ex03/headers/Intern.hpp | 40 +++++ d05/ex03/headers/PresidentialPardonForm.hpp | 28 +++ d05/ex03/headers/RobotomyRequestForm.hpp | 28 +++ d05/ex03/headers/ShrubberyCreationForm.hpp | 28 +++ d05/ex03/headers/color.h | 25 +++ d05/ex03/headers/colors.h | 25 +++ d05/ex03/main.cpp | 182 ++++++++++++++++++++ d05/ex03/srcs/AForm.cpp | 103 +++++++++++ d05/ex03/srcs/Bureaucrat.cpp | 117 +++++++++++++ d05/ex03/srcs/Intern.cpp | 93 ++++++++++ d05/ex03/srcs/PresidentialPardonForm.cpp | 47 +++++ d05/ex03/srcs/RobotomyRequestForm.cpp | 51 ++++++ d05/ex03/srcs/ShrubberyCreationForm.cpp | 74 ++++++++ 20 files changed, 1053 insertions(+), 4 deletions(-) create mode 100644 d05/ex03/Makefile create mode 100644 d05/ex03/headers/AForm.hpp create mode 100644 d05/ex03/headers/Bureaucrat.hpp create mode 100644 d05/ex03/headers/Intern.hpp create mode 100644 d05/ex03/headers/PresidentialPardonForm.hpp create mode 100644 d05/ex03/headers/RobotomyRequestForm.hpp create mode 100644 d05/ex03/headers/ShrubberyCreationForm.hpp create mode 100644 d05/ex03/headers/color.h create mode 100644 d05/ex03/headers/colors.h create mode 100644 d05/ex03/main.cpp create mode 100644 d05/ex03/srcs/AForm.cpp create mode 100644 d05/ex03/srcs/Bureaucrat.cpp create mode 100644 d05/ex03/srcs/Intern.cpp create mode 100644 d05/ex03/srcs/PresidentialPardonForm.cpp create mode 100644 d05/ex03/srcs/RobotomyRequestForm.cpp create mode 100644 d05/ex03/srcs/ShrubberyCreationForm.cpp diff --git a/d05/ex02/main.cpp b/d05/ex02/main.cpp index 002a817..d4d113d 100644 --- a/d05/ex02/main.cpp +++ b/d05/ex02/main.cpp @@ -4,7 +4,7 @@ #include "RobotomyRequestForm.hpp" #include "PresidentialPardonForm.hpp" -#define N_TEST "7" +#define N_TEST "9" int main() { int i = 0; @@ -71,6 +71,26 @@ int main() { std::cout << s2 << "\n"; } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Presidential copy test :" RESET "\n"; + { + PresidentialPardonForm p1("turnips"); + PresidentialPardonForm p2(p1); + + std::cout << p1 << "\n"; + std::cout << p2 << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Robotomy copy test :" RESET "\n"; + { + RobotomyRequestForm r1("artichokes"); + RobotomyRequestForm r2(r1); + + std::cout << r1 << "\n"; + std::cout << r2 << "\n"; + } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "Robotomy :" RESET "\n"; { diff --git a/d05/ex02/srcs/PresidentialPardonForm.cpp b/d05/ex02/srcs/PresidentialPardonForm.cpp index b22cffb..dfb9e15 100644 --- a/d05/ex02/srcs/PresidentialPardonForm.cpp +++ b/d05/ex02/srcs/PresidentialPardonForm.cpp @@ -13,7 +13,7 @@ PresidentialPardonForm::PresidentialPardonForm( std::string target ) } PresidentialPardonForm::PresidentialPardonForm( PresidentialPardonForm const & src ) -: AForm("presidential_creation", this->getTarget(), 25, 5) { +: AForm("presidential_creation", src.getTarget(), 25, 5) { std::cout << COPLIEN_COLOR "RobotomyRequestForm copy constructor" RESET "\n"; *this = src; return; diff --git a/d05/ex02/srcs/RobotomyRequestForm.cpp b/d05/ex02/srcs/RobotomyRequestForm.cpp index a361f4a..468f1fd 100644 --- a/d05/ex02/srcs/RobotomyRequestForm.cpp +++ b/d05/ex02/srcs/RobotomyRequestForm.cpp @@ -13,7 +13,7 @@ RobotomyRequestForm::RobotomyRequestForm( std::string target ) } RobotomyRequestForm::RobotomyRequestForm( RobotomyRequestForm const & src ) -: AForm("robotomy_creation", this->getTarget(), 72, 45) { +: AForm("robotomy_creation", src.getTarget(), 72, 45) { std::cout << COPLIEN_COLOR "RobotomyRequestForm copy constructor" RESET "\n"; *this = src; return; diff --git a/d05/ex02/srcs/ShrubberyCreationForm.cpp b/d05/ex02/srcs/ShrubberyCreationForm.cpp index f018052..264f883 100644 --- a/d05/ex02/srcs/ShrubberyCreationForm.cpp +++ b/d05/ex02/srcs/ShrubberyCreationForm.cpp @@ -13,7 +13,7 @@ ShrubberyCreationForm::ShrubberyCreationForm( std::string target ) } ShrubberyCreationForm::ShrubberyCreationForm( ShrubberyCreationForm const & src ) -: AForm("shrubbery_creation", this->getTarget(), 145, 137) { +: AForm("shrubbery_creation", src.getTarget(), 145, 137) { std::cout << COPLIEN_COLOR "ShrubberyCreationForm copy constructor" RESET "\n"; *this = src; return; diff --git a/d05/ex03/Makefile b/d05/ex03/Makefile new file mode 100644 index 0000000..7b56a70 --- /dev/null +++ b/d05/ex03/Makefile @@ -0,0 +1,86 @@ +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . name = value \ . += append to a variable # +# VARIABLES . value . != set result of command # +# . name is case sensitive . ?= set if not already set # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +NAME = interns + +#CC = gcc +CXX = c++ + +#CFLAGS = -Wall -Wextra -Werror $(INCLUDES) +CXXFLAGS = -Wall -Wextra -Werror $(INCLUDES) -std=c++98 + +#EXT = c +EXT = cpp + +VPATH = $(D_SRCS) + +LIBS = + +INCLUDES = -I$(D_HEADERS) + +D_SRCS = srcs +SRCS = main.cpp \ + Bureaucrat.cpp \ + AForm.cpp \ + ShrubberyCreationForm.cpp \ + RobotomyRequestForm.cpp \ + PresidentialPardonForm.cpp \ + Intern.cpp + +D_HEADERS = headers +HEADERS = colors.h \ + Bureaucrat.hpp \ + AForm.hpp \ + ShrubberyCreationForm.hpp \ + RobotomyRequestForm.hpp \ + PresidentialPardonForm.hpp \ + Intern.hpp + +D_OBJS = builds +OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) + +ifeq "$(D_OBJS)" "." + RM_OBJS = rm -f $(OBJS) +else + RM_OBJS = rm -rf $(D_OBJS) +endif + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . target: prerequisites . $@ : target # +# RULES . recipe . $< : 1st prerequisite # +# . recipe . $^ : all prerequisites # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +all: $(NAME) + +$(D_OBJS)/%.o: %.$(EXT) | $(D_OBJS) +# $(CC) $(CFLAGS) -c $< -o $@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + +$(D_OBJS): + mkdir $@ + +$(OBJS): $(HEADERS:%=$(D_HEADERS)/%) + +$(NAME): $(OBJS) +# $(CC) $(OBJS) -o $@ $(LIBS) + $(CXX) $(OBJS) -o $@ $(LIBS) + +leaks: $(NAME) + valgrind --leak-check=full --show-leak-kinds=all ./$(NAME) + +clean: + $(RM_OBJS) + rm -f *_shrubbery + +fclean: clean + rm -f $(NAME) + +re: fclean all + +.PHONY : all clean fclean re + diff --git a/d05/ex03/headers/AForm.hpp b/d05/ex03/headers/AForm.hpp new file mode 100644 index 0000000..00646af --- /dev/null +++ b/d05/ex03/headers/AForm.hpp @@ -0,0 +1,54 @@ +#ifndef AFORM_HPP +# define AFORM_HPP + +# include "color.h" +# include +# include + +class Bureaucrat; +# include "Bureaucrat.hpp" + +class AForm { + +public: + + AForm( std::string name, std::string target, int signedGrade, int executeGrade ); + AForm( AForm const & src ); + virtual ~AForm() = 0; + AForm & operator=( AForm const & rhs ); + + std::string getName() const; + std::string getTarget() const; + bool getSigned() const; + int getSignedGrade() const; + int getExecuteGrade() const; + + void beSigned( Bureaucrat const & b ); + void execute(Bureaucrat const & executor) const; + virtual void formAction() const = 0; + +private: + + AForm(); + +protected: + + class GradeTooHighException : public std::exception { + const char * what() const throw();}; + class GradeTooLowException : public std::exception { + const char * what() const throw();}; + class NotSignedException : public std::exception { + const char * what() const throw();}; + + std::string const _name; + std::string const _target; + bool _signed; + int const _signedGrade; + int const _executeGrade; + +}; + +std::ostream & operator<<(std::ostream & o, AForm const & rhs); + +#endif + diff --git a/d05/ex03/headers/Bureaucrat.hpp b/d05/ex03/headers/Bureaucrat.hpp new file mode 100644 index 0000000..8bafb48 --- /dev/null +++ b/d05/ex03/headers/Bureaucrat.hpp @@ -0,0 +1,48 @@ +#ifndef BUREAUCRAT_HPP +# define BUREAUCRAT_HPP + +# include "color.h" +# include +# include +# include + +class AForm; +# include "AForm.hpp" + +class Bureaucrat { + +public: + + Bureaucrat(std::string name, int grade); + Bureaucrat( Bureaucrat const & src ); + ~Bureaucrat(); + Bureaucrat & operator=( Bureaucrat const & rhs ); + + std::string getName() const; + int getGrade() const; + + void gradeUp(); + void gradeDown(); + + void signForm( AForm & f ); + void executeForm( AForm const & form ); + +protected: + + std::string const _name; + int _grade; + +private: + + Bureaucrat(); + + class GradeTooHighException : public std::exception { + const char * what() const throw();}; + class GradeTooLowException : public std::exception { + const char * what() const throw();}; +}; + +std::ostream & operator<<(std::ostream & o, Bureaucrat const & rhs); + +#endif + diff --git a/d05/ex03/headers/Intern.hpp b/d05/ex03/headers/Intern.hpp new file mode 100644 index 0000000..59b03d5 --- /dev/null +++ b/d05/ex03/headers/Intern.hpp @@ -0,0 +1,40 @@ +#ifndef INTERN_HPP +# define INTERN_HPP + +# include "colors.h" +# include +# include + +# include +# include +# include +# include + +typedef AForm * (*t_func)(std::string const & target); + +typedef struct s_formModel { + std::string const name; + t_func const create; +} t_formModel; + +class Intern { + +public: + Intern(); + Intern( Intern const & src ); + ~Intern(); + Intern & operator=( Intern const & rhs ); + + AForm * makeForm(std::string formName, std::string formTarget) const; + +private: + static const t_formModel _chooseForm[]; + + static AForm * makeShrubbery(std::string const &target); + static AForm * makePresidential(std::string const &target); + static AForm * makeRobotomy(std::string const &target); + +}; + +#endif + diff --git a/d05/ex03/headers/PresidentialPardonForm.hpp b/d05/ex03/headers/PresidentialPardonForm.hpp new file mode 100644 index 0000000..027661a --- /dev/null +++ b/d05/ex03/headers/PresidentialPardonForm.hpp @@ -0,0 +1,28 @@ +#ifndef PRESIDENTIALPARDONFORM_HPP +# define PRESIDENTIALPARDONFORM_HPP + +# include "color.h" +# include +# include +# include + +# include "AForm.hpp" + +class PresidentialPardonForm : public AForm { + +public: + + PresidentialPardonForm( std::string target ); + PresidentialPardonForm( PresidentialPardonForm const & src ); + ~PresidentialPardonForm(); + PresidentialPardonForm & operator=( PresidentialPardonForm const & rhs ); + + void formAction() const; + +private: + + PresidentialPardonForm(); +}; + +#endif + diff --git a/d05/ex03/headers/RobotomyRequestForm.hpp b/d05/ex03/headers/RobotomyRequestForm.hpp new file mode 100644 index 0000000..abeb7a9 --- /dev/null +++ b/d05/ex03/headers/RobotomyRequestForm.hpp @@ -0,0 +1,28 @@ +#ifndef ROBOTOMYREQUESTFORM_HPP +# define ROBOTOMYREQUESTFORM_HPP + +# include "color.h" +# include +# include +# include + +# include "AForm.hpp" + +class RobotomyRequestForm : public AForm { + +public: + + RobotomyRequestForm( std::string target ); + RobotomyRequestForm( RobotomyRequestForm const & src ); + ~RobotomyRequestForm(); + RobotomyRequestForm & operator=( RobotomyRequestForm const & rhs ); + + void formAction() const; + +private: + + RobotomyRequestForm(); +}; + +#endif + diff --git a/d05/ex03/headers/ShrubberyCreationForm.hpp b/d05/ex03/headers/ShrubberyCreationForm.hpp new file mode 100644 index 0000000..0906a12 --- /dev/null +++ b/d05/ex03/headers/ShrubberyCreationForm.hpp @@ -0,0 +1,28 @@ +#ifndef SHRUBBERYCREATIONFORM_HPP +# define SHRUBBERYCREATIONFORM_HPP + +# include "color.h" +# include +# include +# include + +# include "AForm.hpp" + +class ShrubberyCreationForm : public AForm { + +public: + + ShrubberyCreationForm( std::string target ); + ShrubberyCreationForm( ShrubberyCreationForm const & src ); + ~ShrubberyCreationForm(); + ShrubberyCreationForm & operator=( ShrubberyCreationForm const & rhs ); + + void formAction() const; + +private: + + ShrubberyCreationForm(); +}; + +#endif + diff --git a/d05/ex03/headers/color.h b/d05/ex03/headers/color.h new file mode 100644 index 0000000..f40596b --- /dev/null +++ b/d05/ex03/headers/color.h @@ -0,0 +1,25 @@ +#ifndef COLOR_H +# define COLOR_H + +# define GRAY "\e[0;30m" +# define RED "\e[0;31m" +# define GREEN "\e[0;32m" +# define YELLOW "\e[0;33m" +# define BLUE "\e[0;34m" +# define PURPLE "\e[0;35m" +# define CYAN "\e[0;36m" +# define WHITE "\e[0;37m" + +# define B_GRAY "\e[1;30m" +# define B_RED "\e[1;31m" +# define B_GREEN "\e[1;32m" +# define B_YELLOW "\e[1;33m" +# define B_BLUE "\e[1;34m" +# define B_PURPLE "\e[1;35m" +# define B_CYAN "\e[1;36m" +# define B_WHITE "\e[1;37m" + +# define RESET "\e[0m" + +#endif + diff --git a/d05/ex03/headers/colors.h b/d05/ex03/headers/colors.h new file mode 100644 index 0000000..0374e42 --- /dev/null +++ b/d05/ex03/headers/colors.h @@ -0,0 +1,25 @@ +#ifndef COLORS_H +# define COLORS_H + +# define GRAY "\e[0;30m" +# define RED "\e[0;31m" +# define GREEN "\e[0;32m" +# define YELLOW "\e[0;33m" +# define BLUE "\e[0;34m" +# define PURPLE "\e[0;35m" +# define CYAN "\e[0;36m" +# define WHITE "\e[0;37m" + +# define B_GRAY "\e[1;30m" +# define B_RED "\e[1;31m" +# define B_GREEN "\e[1;32m" +# define B_YELLOW "\e[1;33m" +# define B_BLUE "\e[1;34m" +# define B_PURPLE "\e[1;35m" +# define B_CYAN "\e[1;36m" +# define B_WHITE "\e[1;37m" + +# define RESET "\e[0m" + +#endif + diff --git a/d05/ex03/main.cpp b/d05/ex03/main.cpp new file mode 100644 index 0000000..e91fc1d --- /dev/null +++ b/d05/ex03/main.cpp @@ -0,0 +1,182 @@ +#include "colors.h" +#include "Bureaucrat.hpp" +#include "AForm.hpp" +#include "ShrubberyCreationForm.hpp" +#include "RobotomyRequestForm.hpp" +#include "PresidentialPardonForm.hpp" +#include "Intern.hpp" + +#define N_TEST "10" + +int main() { + int i = 0; + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Shrubbery ok :" RESET "\n"; + { + Bureaucrat b("natasha", 1); + ShrubberyCreationForm s("sekoia"); + + std::cout << s << '\n'; + std::cout << b << '\n'; + std::cout << B_BLUE "b.signForm :" RESET "\n"; + b.signForm(s); + b.executeForm(s); + std::cout << s << '\n'; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Shrubbery too low sign and execute :" RESET "\n"; + { + Bureaucrat b("jordan", 150); + ShrubberyCreationForm s("chemney"); + + std::cout << s << '\n'; + std::cout << b << '\n'; + std::cout << B_BLUE "b.signForm :" RESET "\n"; + b.signForm(s); + b.executeForm(s); + std::cout << s << '\n'; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Shrubbery too low execute only :" RESET "\n"; + { + Bureaucrat b("bernadette", 140); + ShrubberyCreationForm s("rutabaga"); + + std::cout << s << '\n'; + std::cout << b << '\n'; + std::cout << B_BLUE "b.signForm :" RESET "\n"; + b.signForm(s); + b.executeForm(s); + std::cout << s << '\n'; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Bureaucrat copy test :" RESET "\n"; + { + Bureaucrat b1("pantoufle", 14); + Bureaucrat b2(b1); + + std::cout << b1 << "\n"; + std::cout << b2 << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Shrubbery copy test :" RESET "\n"; + { + ShrubberyCreationForm s1("rutabagas"); + ShrubberyCreationForm s2(s1); + + std::cout << s1 << "\n"; + std::cout << s2 << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Presidential copy test :" RESET "\n"; + { + PresidentialPardonForm p1("turnips"); + PresidentialPardonForm p2(p1); + + std::cout << p1 << "\n"; + std::cout << p2 << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Robotomy copy test :" RESET "\n"; + { + RobotomyRequestForm r1("artichokes"); + RobotomyRequestForm r2(r1); + + std::cout << r1 << "\n"; + std::cout << r2 << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Robotomy :" RESET "\n"; + { + Bureaucrat b("romeo", 15); + RobotomyRequestForm r("oven"); + + std::cout << r << '\n'; + std::cout << b << '\n'; + std::cout << B_BLUE "b.signForm :" RESET "\n"; + b.signForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + b.executeForm(r); + std::cout << r << '\n'; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "Presidential :" RESET "\n"; + { + Bureaucrat b("sylvestre", 1); + PresidentialPardonForm p("queen"); + + std::cout << p << '\n'; + std::cout << b << '\n'; + std::cout << B_BLUE "b.signForm :" RESET "\n"; + b.signForm(p); + b.executeForm(p); + std::cout << p << '\n'; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "intern test :" RESET "\n"; + { + Intern i; + AForm * f1; + AForm * f2; + AForm * f3; + AForm * f4; + + std::cout << B_BLUE "intern tries to create a Shrubbery form" RESET "\n"; + f1 = i.makeForm("Shrubbery", "smoking"); + if (f1) + std::cout << *f1 << '\n'; + else + std::cout << "intern make an error and cannot create the form\n"; + + std::cout << B_BLUE "\nintern tries to create a Robotomy form" RESET "\n"; + f2 = i.makeForm("Robotomy", "building"); + if (f2) + std::cout << *f2 << '\n'; + else + std::cout << "intern make an error and cannot create the form\n"; + + std::cout << B_BLUE "\nintern tries to create a Presidential form" RESET "\n"; + f3 = i.makeForm("Presidential", "building"); + if (f3) + std::cout << *f3 << '\n'; + else + std::cout << "intern make an error and cannot create the form\n"; + + std::cout << B_BLUE "\nintern tries to create a blueberry form" RESET "\n"; + f4 = i.makeForm("blueberry", "giv_me_gold"); + if (f4) + std::cout << *f4 << '\n'; + else + std::cout << "intern make an error and cannot create the form\n"; + + delete f1; + delete f2; + delete f3; + delete f4; + } + + std::cout << "\n"; + return 0; +} diff --git a/d05/ex03/srcs/AForm.cpp b/d05/ex03/srcs/AForm.cpp new file mode 100644 index 0000000..0d6fa3b --- /dev/null +++ b/d05/ex03/srcs/AForm.cpp @@ -0,0 +1,103 @@ +#include "AForm.hpp" +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +AForm::AForm( std::string name, std::string target, int signedGrade, int executeGrade ) +: _name(name) +, _target(target) +, _signed(false) +, _signedGrade(signedGrade) +, _executeGrade(executeGrade) { + if (signedGrade > 150 || executeGrade > 150) + throw AForm::GradeTooLowException(); + if (signedGrade < 1 || executeGrade < 1) + throw AForm::GradeTooHighException(); + std::cout << COPLIEN_COLOR "AForm constructor" RESET "\n"; + return; +} + +AForm::AForm( AForm const & src ) +: _name(src.getName()) +, _signedGrade(src.getSignedGrade()) +, _executeGrade(src.getExecuteGrade()) { + std::cout << COPLIEN_COLOR "AForm copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +AForm::~AForm() { + std::cout << COPLIEN_COLOR "AForm destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +AForm & AForm::operator=( AForm const & rhs ) { + if ( this != &rhs ) { + _signed = rhs.getSigned(); + } + return *this; +} + +std::ostream & operator<<(std::ostream & o, AForm const & rhs) +{ + o << "[form name]" + << rhs.getName() << ", [target]" + << rhs.getTarget() << ", [signed]" + << rhs.getSigned() << ", [sign grade]" + << rhs.getSignedGrade() << ", [exec grade]" + << rhs.getExecuteGrade(); + return (o); +} + +/********************************************* + * ACCESSORS + *********************************************/ + +std::string AForm::getName() const {return _name;} +std::string AForm::getTarget() const {return _target;} +bool AForm::getSigned() const {return _signed;} +int AForm::getSignedGrade() const {return _signedGrade;} +int AForm::getExecuteGrade() const {return _executeGrade;} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +void AForm::beSigned( Bureaucrat const & b) { + if (b.getGrade() < _signedGrade) + _signed = true; + else + throw AForm::GradeTooLowException(); +} + +void AForm::execute(Bureaucrat const & executor) const { + if (!_signed) + throw NotSignedException(); + if (executor.getGrade() > _executeGrade) + throw GradeTooLowException(); + formAction(); +} + +/********************************************* + * NESTED CLASS + *********************************************/ + +const char * AForm::GradeTooHighException::what() const throw() { + return (B_RED "grade too high" RESET); +} +const char * AForm::GradeTooLowException::what() const throw() { + return (B_RED "grade too low" RESET); +} +const char * AForm::NotSignedException::what() const throw() { + return (B_RED "form is not signed" RESET); +} diff --git a/d05/ex03/srcs/Bureaucrat.cpp b/d05/ex03/srcs/Bureaucrat.cpp new file mode 100644 index 0000000..83c2b2c --- /dev/null +++ b/d05/ex03/srcs/Bureaucrat.cpp @@ -0,0 +1,117 @@ +#include "Bureaucrat.hpp" + +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +Bureaucrat::Bureaucrat( std::string name, int grade ) +: _name(name) +, _grade(grade) { + if (grade > 150) + throw GradeTooLowException(); + if (grade < 1) + throw GradeTooHighException(); + std::cout << COPLIEN_COLOR "Bureaucrat constructor" RESET "\n"; + return; +} + +Bureaucrat::Bureaucrat( Bureaucrat const & src ) +: _name(src.getName()) { + std::cout << COPLIEN_COLOR "Bureaucrat copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +Bureaucrat::~Bureaucrat() { + std::cout << COPLIEN_COLOR "Bureaucrat destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +Bureaucrat & Bureaucrat::operator=( Bureaucrat const & rhs ) { + if ( this != &rhs ) + _grade = rhs.getGrade(); + return *this; +} + +std::ostream & operator<<(std::ostream & o, Bureaucrat const & rhs) +{ + o + << rhs.getName() << ", bureaucrat grade " + << rhs.getGrade(); + return (o); +} + +/********************************************* + * ACCESSORS + *********************************************/ + +std::string Bureaucrat::getName() const {return _name;} +int Bureaucrat::getGrade() const {return _grade;} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +void Bureaucrat::gradeUp() { + if (_grade > 1) + _grade--; + else + throw GradeTooHighException(); +} + +void Bureaucrat::gradeDown() { + if (_grade < 150) + _grade++; + else + throw GradeTooLowException(); +} + +void Bureaucrat::signForm( AForm & f) { + try { + f.beSigned( *this ); + std::cout << _name << " signed " + << f.getName() << "(" + << f.getTarget() << ")\n"; + } + catch (std::exception & e) { + std::cout << _name << " couldn't sign " << f.getName() + << f.getName() << "(" + << f.getTarget() << ")" + << " because [" << e.what() << "]\n"; + } +} +void Bureaucrat::executeForm( AForm const & f ) { + try { + f.execute( *this ); + std::cout << _name << " executed " + << f.getName() << "(" + << f.getTarget() << ")\n"; + } + catch (std::exception & e) { + std::cout << _name << " couldn't execute " + << f.getName() << "(" + << f.getTarget() << ")" + << " because [" << e.what() << "]\n"; + } +} + +/********************************************* + * NESTED CLASS + *********************************************/ + +const char * Bureaucrat::GradeTooHighException::what() const throw() { + return (B_RED "grade higher than 1" RESET); +} +const char * Bureaucrat::GradeTooLowException::what() const throw() { + return (B_RED "grade lower than 150" RESET); +} diff --git a/d05/ex03/srcs/Intern.cpp b/d05/ex03/srcs/Intern.cpp new file mode 100644 index 0000000..ee5ebd1 --- /dev/null +++ b/d05/ex03/srcs/Intern.cpp @@ -0,0 +1,93 @@ +#include "Intern.hpp" + +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * STATICS + *********************************************/ + +const t_formModel Intern::_chooseForm[] = { + {"Shrubbery", Intern::makeShrubbery}, + {"Presidential", Intern::makePresidential}, + {"Robotomy", Intern::makeRobotomy} +}; + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +Intern::Intern() { + std::cout << COPLIEN_COLOR "Intern constructor" RESET "\n"; + return; +} + +Intern::Intern( Intern const & src __attribute__((unused))) { + std::cout << COPLIEN_COLOR "Intern copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +Intern::~Intern() { + std::cout << COPLIEN_COLOR "Intern destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +Intern & Intern::operator=( Intern const & rhs __attribute__((unused))) { + return *this; +} + +//std::ostream & operator<<(std::ostream & o, Intern const & rhs) +//{ +// o << rhs.getFoo(); +// return (o); +//} + +/********************************************* + * ACCESSORS + *********************************************/ + +//std::string Intern::getFoo() const {return _foo;} + +/********************************************* + * PRIVATE MEMBER FUNCTIONS + *********************************************/ + +AForm * Intern::makeForm(std::string formName, std::string formTarget) const { + unsigned int len = sizeof _chooseForm / sizeof _chooseForm[0]; + + for (unsigned int i = 0; i < len; i++) + if (!formName.compare(_chooseForm[i].name)) + { + std::cout << "Intern creates " << formName << "\n"; + return _chooseForm[i].create(formTarget); + } + std::cout << "Intern cannot create " << formName << "\n"; + return NULL; +} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +AForm * Intern::makeShrubbery(std::string const &target) { + return new ShrubberyCreationForm(target);} +AForm * Intern::makePresidential(std::string const &target) { + return new PresidentialPardonForm(target);} +AForm * Intern::makeRobotomy(std::string const &target) { + return new RobotomyRequestForm(target);} + +/********************************************* + * NESTED CLASS + *********************************************/ + +//void Intern::Class::function() {} + + diff --git a/d05/ex03/srcs/PresidentialPardonForm.cpp b/d05/ex03/srcs/PresidentialPardonForm.cpp new file mode 100644 index 0000000..9cc2ac6 --- /dev/null +++ b/d05/ex03/srcs/PresidentialPardonForm.cpp @@ -0,0 +1,47 @@ +#include "PresidentialPardonForm.hpp" + +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +PresidentialPardonForm::PresidentialPardonForm( std::string target ) +: AForm("presidential_creation", target, 25, 5){ + std::cout << COPLIEN_COLOR "RobotomyRequestForm constructor" RESET "\n"; + return; +} + +PresidentialPardonForm::PresidentialPardonForm( PresidentialPardonForm const & src ) +: AForm("presidential_creation", src.getTarget(), 25, 5) { + std::cout << COPLIEN_COLOR "PresidentialPardonForm copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +PresidentialPardonForm::~PresidentialPardonForm() { + std::cout << COPLIEN_COLOR "RobotomyRequestForm destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +PresidentialPardonForm & PresidentialPardonForm::operator=( PresidentialPardonForm const & rhs ) { + AForm::operator=(rhs); + return *this; +} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +void PresidentialPardonForm::formAction() const { + std::cout << "Zaphod Beeblebrox pardon " << _target << "\n"; +} + diff --git a/d05/ex03/srcs/RobotomyRequestForm.cpp b/d05/ex03/srcs/RobotomyRequestForm.cpp new file mode 100644 index 0000000..468f1fd --- /dev/null +++ b/d05/ex03/srcs/RobotomyRequestForm.cpp @@ -0,0 +1,51 @@ +#include "RobotomyRequestForm.hpp" + +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +RobotomyRequestForm::RobotomyRequestForm( std::string target ) +: AForm("robotomy_creation", target, 72, 45){ + std::cout << COPLIEN_COLOR "RobotomyRequestForm constructor" RESET "\n"; + return; +} + +RobotomyRequestForm::RobotomyRequestForm( RobotomyRequestForm const & src ) +: AForm("robotomy_creation", src.getTarget(), 72, 45) { + std::cout << COPLIEN_COLOR "RobotomyRequestForm copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +RobotomyRequestForm::~RobotomyRequestForm() { + std::cout << COPLIEN_COLOR "RobotomyRequestForm destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +RobotomyRequestForm & RobotomyRequestForm::operator=( RobotomyRequestForm const & rhs ) { + AForm::operator=(rhs); + return *this; +} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +void RobotomyRequestForm::formAction() const { + std::cout << "*drill sounds*\n"; + if (std::rand() % 2) + std::cout << _target << " robotomized with success\n"; + else + std::cout << _target << " robotomization failed\n"; +} + diff --git a/d05/ex03/srcs/ShrubberyCreationForm.cpp b/d05/ex03/srcs/ShrubberyCreationForm.cpp new file mode 100644 index 0000000..264f883 --- /dev/null +++ b/d05/ex03/srcs/ShrubberyCreationForm.cpp @@ -0,0 +1,74 @@ +#include "ShrubberyCreationForm.hpp" + +#define COPLIEN_COLOR B_CYAN + +/********************************************* + * CONSTRUCTORS + *********************************************/ + +ShrubberyCreationForm::ShrubberyCreationForm( std::string target ) +: AForm("shrubbery_creation", target, 145, 137){ + std::cout << COPLIEN_COLOR "ShrubberyCreationForm constructor" RESET "\n"; + return; +} + +ShrubberyCreationForm::ShrubberyCreationForm( ShrubberyCreationForm const & src ) +: AForm("shrubbery_creation", src.getTarget(), 145, 137) { + std::cout << COPLIEN_COLOR "ShrubberyCreationForm copy constructor" RESET "\n"; + *this = src; + return; +} + +/********************************************* + * DESTRUCTORS + *********************************************/ + +ShrubberyCreationForm::~ShrubberyCreationForm() { + std::cout << COPLIEN_COLOR "ShrubberyCreationForm destructor" RESET "\n"; + return; +} + +/********************************************* + * OPERATORS + *********************************************/ + +ShrubberyCreationForm & ShrubberyCreationForm::operator=( ShrubberyCreationForm const & rhs ) { + AForm::operator=(rhs); + return *this; +} + +/********************************************* + * PUBLIC MEMBER FUNCTIONS + *********************************************/ + +void ShrubberyCreationForm::formAction() const { + std::string name = _target + "_shrubbery"; + std::ofstream ofs(name.c_str(), std::ofstream::out); + + if (!ofs) + { + std::cout << "opening Shrubbery.txt file failed\n"; + return ; + } + + ofs << " * *\n"; + ofs << " * * *\n"; + ofs << " * * * * *\n"; + ofs << " * * * * *\n"; + ofs << " * * * * * * *\n"; + ofs << " * * * * * .# * *\n"; + ofs << " * * * #. .# * *\n"; + ofs << " * \"#. #: #\" * * *\n"; + ofs << " * * * \"#. ##\" *\n"; + ofs << " * \"###\n"; + ofs << " \"##\n"; + ofs << " ##.\n"; + ofs << " .##:\n"; + ofs << " :###\n"; + ofs << " ;###\n"; + ofs << " ,####.\n"; + ofs << " /\\/\\/\\/\\/\\/.######.\\/\\/\\/\\/\\\n"; + + ofs.close(); +} + From e76d67dec7e2f494646c5200d4ac5710fd7d752d Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 12:01:13 +0100 Subject: [PATCH 08/17] d05 ex03 handle weird request as long as they contains form name --- d05/ex03/headers/Intern.hpp | 4 ++++ d05/ex03/interns | Bin 0 -> 62456 bytes d05/ex03/main.cpp | 20 ++++++++++++++----- d05/ex03/sekoia_shrubbery | 17 +++++++++++++++++ d05/ex03/srcs/Intern.cpp | 37 ++++++++++++++---------------------- 5 files changed, 50 insertions(+), 28 deletions(-) create mode 100755 d05/ex03/interns create mode 100644 d05/ex03/sekoia_shrubbery diff --git a/d05/ex03/headers/Intern.hpp b/d05/ex03/headers/Intern.hpp index 59b03d5..44d462b 100644 --- a/d05/ex03/headers/Intern.hpp +++ b/d05/ex03/headers/Intern.hpp @@ -4,6 +4,8 @@ # include "colors.h" # include # include +# include // trasnform +# include // tolower # include # include @@ -34,6 +36,8 @@ private: static AForm * makePresidential(std::string const &target); static AForm * makeRobotomy(std::string const &target); + bool isValidForm(std::string name, unsigned int i) const; + }; #endif diff --git a/d05/ex03/interns b/d05/ex03/interns new file mode 100755 index 0000000000000000000000000000000000000000..89553cc4217ecdaa991d160901d9be7b0861ef51 GIT binary patch literal 62456 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

;?JXbg7U%> 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 literal 0 HcmV?d00001 diff --git a/d05/ex03/main.cpp b/d05/ex03/main.cpp index e91fc1d..efea552 100644 --- a/d05/ex03/main.cpp +++ b/d05/ex03/main.cpp @@ -142,39 +142,49 @@ int main() { AForm * f2; AForm * f3; AForm * f4; + AForm * f5; - std::cout << B_BLUE "intern tries to create a Shrubbery form" RESET "\n"; + std::cout << B_BLUE "\nintern tries to create a Shrubbery form" RESET "\n"; f1 = i.makeForm("Shrubbery", "smoking"); if (f1) std::cout << *f1 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a Robotomy form" RESET "\n"; f2 = i.makeForm("Robotomy", "building"); if (f2) std::cout << *f2 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a Presidential form" RESET "\n"; f3 = i.makeForm("Presidential", "building"); if (f3) std::cout << *f3 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a blueberry form" RESET "\n"; f4 = i.makeForm("blueberry", "giv_me_gold"); if (f4) std::cout << *f4 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; + std::cout << B_BLUE "\nintern tries to create a \"robotomy request\" form" RESET "\n"; + f5 = i.makeForm("robotomy request", "try_hard"); + if (f5) + std::cout << *f5 << '\n'; + else + std::cout << "intern makes an error and cannot create the form\n"; + + std::cout << '\n'; delete f1; delete f2; delete f3; delete f4; + delete f5; } std::cout << "\n"; diff --git a/d05/ex03/sekoia_shrubbery b/d05/ex03/sekoia_shrubbery new file mode 100644 index 0000000..5a1591f --- /dev/null +++ b/d05/ex03/sekoia_shrubbery @@ -0,0 +1,17 @@ + * * + * * * + * * * * * + * * * * * + * * * * * * * + * * * * * .# * * + * * * #. .# * * + * "#. #: #" * * * + * * * "#. ##" * + * "### + "## + ##. + .##: + :### + ;### + ,####. + /\/\/\/\/\/.######.\/\/\/\/\ diff --git a/d05/ex03/srcs/Intern.cpp b/d05/ex03/srcs/Intern.cpp index ee5ebd1..90d0202 100644 --- a/d05/ex03/srcs/Intern.cpp +++ b/d05/ex03/srcs/Intern.cpp @@ -7,9 +7,9 @@ *********************************************/ const t_formModel Intern::_chooseForm[] = { - {"Shrubbery", Intern::makeShrubbery}, - {"Presidential", Intern::makePresidential}, - {"Robotomy", Intern::makeRobotomy} + {"shrubbery", Intern::makeShrubbery}, + {"presidential", Intern::makePresidential}, + {"robotomy", Intern::makeRobotomy} }; /********************************************* @@ -44,18 +44,6 @@ Intern & Intern::operator=( Intern const & rhs __attribute__((unused))) { return *this; } -//std::ostream & operator<<(std::ostream & o, Intern const & rhs) -//{ -// o << rhs.getFoo(); -// return (o); -//} - -/********************************************* - * ACCESSORS - *********************************************/ - -//std::string Intern::getFoo() const {return _foo;} - /********************************************* * PRIVATE MEMBER FUNCTIONS *********************************************/ @@ -64,7 +52,7 @@ AForm * Intern::makeForm(std::string formName, std::string formTarget) const { unsigned int len = sizeof _chooseForm / sizeof _chooseForm[0]; for (unsigned int i = 0; i < len; i++) - if (!formName.compare(_chooseForm[i].name)) + if (isValidForm(formName, i)) { std::cout << "Intern creates " << formName << "\n"; return _chooseForm[i].create(formTarget); @@ -73,6 +61,16 @@ AForm * Intern::makeForm(std::string formName, std::string formTarget) const { return NULL; } +bool Intern::isValidForm(std::string name, unsigned int i) const { + // to lowercase : + // https://stackoverflow.com/questions/313970/how-to-convert-an-instance-of-stdstring-to-lower-case + std::transform(name.begin(), name.end(), name.begin(), ::tolower); + + if (name.find(_chooseForm[i].name) == std::string::npos) + return false; + return true; +} + /********************************************* * PUBLIC MEMBER FUNCTIONS *********************************************/ @@ -84,10 +82,3 @@ AForm * Intern::makePresidential(std::string const &target) { AForm * Intern::makeRobotomy(std::string const &target) { return new RobotomyRequestForm(target);} -/********************************************* - * NESTED CLASS - *********************************************/ - -//void Intern::Class::function() {} - - From 4327b90c0203cc959128aa9e3fd38f37392761e9 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 12:03:58 +0100 Subject: [PATCH 09/17] clean d05 ex03 --- d05/ex03/interns | Bin 62456 -> 0 bytes d05/ex03/sekoia_shrubbery | 17 ----------------- 2 files changed, 17 deletions(-) delete mode 100755 d05/ex03/interns delete mode 100644 d05/ex03/sekoia_shrubbery diff --git a/d05/ex03/interns b/d05/ex03/interns deleted file mode 100755 index 89553cc4217ecdaa991d160901d9be7b0861ef51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62456 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

;?JXbg7U%> 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 diff --git a/d05/ex03/sekoia_shrubbery b/d05/ex03/sekoia_shrubbery deleted file mode 100644 index 5a1591f..0000000 --- a/d05/ex03/sekoia_shrubbery +++ /dev/null @@ -1,17 +0,0 @@ - * * - * * * - * * * * * - * * * * * - * * * * * * * - * * * * * .# * * - * * * #. .# * * - * "#. #: #" * * * - * * * "#. ##" * - * "### - "## - ##. - .##: - :### - ;### - ,####. - /\/\/\/\/\/.######.\/\/\/\/\ From a7386b882eb4b4b7410071a3f876d87e15ebadd9 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 14:27:32 +0100 Subject: [PATCH 10/17] d06 change test output --- d06/ex00/convert | Bin 0 -> 80376 bytes d06/ex00/main.cpp | 11 +++++++++++ d06/ex00/srcs/checkChar.cpp | 4 ++-- d06/ex00/srcs/convert.cpp | 6 ++++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100755 d06/ex00/convert diff --git a/d06/ex00/convert b/d06/ex00/convert new file mode 100755 index 0000000000000000000000000000000000000000..c0be9d266c99534e042a61813bf3789b275eb3c1 GIT binary patch literal 80376 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 #include "convert.h" +// f[] : is an array +// *f[] : is an array of pointers +// (*f[])() : is an array of pointers to functions with no parameters +// (*f[])(str) : is an array of pointers to functions with parameter str +// see : +// https://stackoverflow.com/questions/31643245/declaring-an-array-of-functions-of-type-void-c bool (*checkFunc[])(std::string str) = { checkChar, From f4566f828b4cd7cee6fd5b6e5a673fcc5578d83b Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 15:03:39 +0100 Subject: [PATCH 11/17] d06 change test output again --- d06/ex00/convert | Bin 80376 -> 88568 bytes d06/ex00/convert.h | 22 +++++++++- d06/ex00/main.cpp | 89 +++++++++++++++++++++++++++++++++----- d06/ex00/srcs/toTypes.cpp | 2 - 4 files changed, 100 insertions(+), 13 deletions(-) diff --git a/d06/ex00/convert b/d06/ex00/convert index c0be9d266c99534e042a61813bf3789b275eb3c1..42fcb255911ff5b6f1d9c4924ba94bea7aab49d1 100755 GIT binary patch literal 88568 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 void toDouble(T value); #define MAX_INT "2147483647" #define MIN_INT "-2147483648" #define MAX_INT_1 "2147483648" -#define MIN_INT_1 "-2147483649" #define INT_MAX_LENGTH 10 #define MAX_FLOAT_INT_PRECISION "16777216" #define MAX_FLOAT "340282346638528859811704183484516925440" @@ -38,6 +37,27 @@ template void toDouble(T value); #define DOUBLE_MAX_LENGTH 309 // for tests +#define MAX_I__5 "2147483642" +#define MAX_I__4 "2147483643" +#define MAX_I__3 "2147483644" +#define MAX_I__2 "2147483645" +#define MAX_I__1 "2147483646" +#define MAX_I_2 "2147483649" +#define MAX_I_3 "2147483650" +#define MAX_I_4 "2147483651" +#define MAX_I_5 "2147483652" + +#define MIN_I__5 "-2147483643" +#define MIN_I__4 "-2147483644" +#define MIN_I__3 "-2147483645" +#define MIN_I__2 "-2147483646" +#define MIN_I__1 "-2147483647" +#define MIN_I_1 "-2147483649" +#define MIN_I_2 "-2147483650" +#define MIN_I_3 "-2147483651" +#define MIN_I_4 "-2147483652" +#define MIN_I_5 "-2147483653" + #define MAX_FLOAT_INT_PREC__1 "16777215" #define MAX_FLOAT_INT_PREC__2 "16777214" #define MAX_FLOAT_INT_PREC__3 "16777213" diff --git a/d06/ex00/main.cpp b/d06/ex00/main.cpp index 5b5ffae..a794fcb 100644 --- a/d06/ex00/main.cpp +++ b/d06/ex00/main.cpp @@ -137,10 +137,33 @@ int main(int ac, char **av) { convert("256"); convert("257"); convert("258"); - convert(MAX_INT); + + std::cout << "\n\n" B_PURPLE "[min - max int]" RESET "\n"; + convert(MIN_I_5); + convert(MIN_I_4); + convert(MIN_I_3); + convert(MIN_I_2); + convert(MIN_I_1); convert(MIN_INT); + convert(MIN_I__1); + convert(MIN_I__2); + convert(MIN_I__3); + convert(MIN_I__4); + convert(MIN_I__5); + + convert(MAX_I__5); + convert(MAX_I__4); + convert(MAX_I__3); + convert(MAX_I__2); + convert(MAX_I__1); + convert(MAX_INT); convert(MAX_INT_1); - convert(MIN_INT_1); + convert(MAX_I_2); + convert(MAX_I_3); + convert(MAX_I_4); + convert(MAX_I_5); + std::cout << "\n" B_PURPLE "[END min - max int]" RESET "\n\n"; + convert(MAX_FLOAT_INT_PRECISION); convert(MAX_FLOAT_INT_PREC__1); convert(MAX_FLOAT_INT_PREC__2); @@ -162,10 +185,33 @@ int main(int ac, char **av) { convert("-inff"); convert("+inff"); convert("nanf"); - convert(MAX_INT".0f"); - convert(MIN_INT".0f"); - convert(MAX_INT_1".0f"); - convert(MIN_INT_1".0f"); + + std::cout << "\n\n" B_PURPLE "[min - max int]" RESET "\n"; + convert(MIN_I_5 ".0f"); + convert(MIN_I_4 ".0f"); + convert(MIN_I_3 ".0f"); + convert(MIN_I_2 ".0f"); + convert(MIN_I_1 ".0f"); + convert(MIN_INT ".0f"); + convert(MIN_I__1 ".0f"); + convert(MIN_I__2 ".0f"); + convert(MIN_I__3 ".0f"); + convert(MIN_I__4 ".0f"); + convert(MIN_I__5 ".0f"); + + convert(MAX_I__5 ".0f"); + convert(MAX_I__4 ".0f"); + convert(MAX_I__3 ".0f"); + convert(MAX_I__2 ".0f"); + convert(MAX_I__1 ".0f"); + convert(MAX_INT ".0f"); + convert(MAX_INT_1 ".0f"); + convert(MAX_I_2 ".0f"); + convert(MAX_I_3 ".0f"); + convert(MAX_I_4 ".0f"); + convert(MAX_I_5 ".0f"); + std::cout << "\n" B_PURPLE "[END min - max int]" RESET "\n\n"; + convert(MAX_FLOAT_INT_PRECISION".0f"); convert(MAX_FLOAT_INT_PREC__1".0f"); convert(MAX_FLOAT_INT_PREC__2".0f"); @@ -199,10 +245,33 @@ int main(int ac, char **av) { convert("-inf"); convert("+inf"); convert("nan"); - convert(MAX_INT".0"); - convert(MIN_INT".0"); - convert(MAX_INT_1".0"); - convert(MIN_INT_1".0"); + + std::cout << "\n\n" B_PURPLE "[min - max int]" RESET "\n"; + convert(MIN_I_5 ".0"); + convert(MIN_I_4 ".0"); + convert(MIN_I_3 ".0"); + convert(MIN_I_2 ".0"); + convert(MIN_I_1 ".0"); + convert(MIN_INT ".0"); + convert(MIN_I__1 ".0"); + convert(MIN_I__2 ".0"); + convert(MIN_I__3 ".0"); + convert(MIN_I__4 ".0"); + convert(MIN_I__5 ".0"); + + convert(MAX_I__5 ".0"); + convert(MAX_I__4 ".0"); + convert(MAX_I__3 ".0"); + convert(MAX_I__2 ".0"); + convert(MAX_I__1 ".0"); + convert(MAX_INT ".0"); + convert(MAX_INT_1 ".0"); + convert(MAX_I_2 ".0"); + convert(MAX_I_3 ".0"); + convert(MAX_I_4 ".0"); + convert(MAX_I_5 ".0"); + std::cout << "\n" B_PURPLE "[END min - max int]" RESET "\n\n"; + convert(MAX_FLOAT_INT_PRECISION".0"); convert(MAX_FLOAT_INT_PREC__1".0"); convert(MAX_FLOAT_INT_PREC__2".0"); diff --git a/d06/ex00/srcs/toTypes.cpp b/d06/ex00/srcs/toTypes.cpp index 180e9d5..6d6dd1c 100644 --- a/d06/ex00/srcs/toTypes.cpp +++ b/d06/ex00/srcs/toTypes.cpp @@ -22,8 +22,6 @@ void toChar(T value) { template void toInt(T value) { std::cout << std::setw(7) << std::left << "int"; -// if (value < std::numeric_limits::min() -// || value > std::numeric_limits::max() ) if (! (value <= std::numeric_limits::max() && value >= std::numeric_limits::min()) ) { From b30fdff668e31f6a8dc699bfe2ca394537a3e0e4 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 17:43:18 +0100 Subject: [PATCH 12/17] d02 ex01 ajout d'un reinterpret cast type c --- d06/ex01/main.cpp | 5 ++++- d06/ex01/serialize | Bin 0 -> 18256 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100755 d06/ex01/serialize diff --git a/d06/ex01/main.cpp b/d06/ex01/main.cpp index c511bd8..80786de 100644 --- a/d06/ex01/main.cpp +++ b/d06/ex01/main.cpp @@ -37,7 +37,10 @@ int main() { raw = serialize(data_ptr); std::cout << " " << raw << "\n"; - + +// unsigned long int *li = (unsigned long int *)&data_ptr; +// std::cout << " " << *li << "\n"; + data_ptr = deserialize(raw); std::cout << " " << data_ptr << "\n"; diff --git a/d06/ex01/serialize b/d06/ex01/serialize new file mode 100755 index 0000000000000000000000000000000000000000..05589af1a2125518403e656c2a4ceb11afce7424 GIT binary patch literal 18256 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 literal 0 HcmV?d00001 From 726bd388dd202b0666e7341db0bac401dc8995a6 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Fri, 18 Mar 2022 14:26:15 +0100 Subject: [PATCH 13/17] d07 ajouts tests avec fixed et char dans ex01 et ex02 --- d07/ex00/Makefile | 10 +- d07/ex00/headers/Fixed.hpp | 55 +++++++ d07/ex00/{ => headers}/Templates.hpp | 0 d07/ex00/{ => headers}/colors.h | 0 d07/ex00/main.cpp | 77 +++++++-- d07/ex00/srcs/Fixed.cpp | 225 +++++++++++++++++++++++++++ d07/ex01/Fixed.cpp | 225 +++++++++++++++++++++++++++ d07/ex01/Makefile | 7 +- d07/ex01/headers/ClassTest.hpp | 20 +++ d07/ex01/headers/Fixed.hpp | 55 +++++++ d07/ex01/iter | Bin 0 -> 25144 bytes d07/ex01/main.cpp | 20 ++- d07/ex02/Fixed.cpp | 225 +++++++++++++++++++++++++++ d07/ex02/Makefile | 6 +- d07/ex02/array | Bin 0 -> 77664 bytes d07/ex02/headers/Array.hpp | 21 ++- d07/ex02/headers/Fixed.hpp | 55 +++++++ d07/ex02/main.cpp | 128 ++++++++++++++- 18 files changed, 1098 insertions(+), 31 deletions(-) create mode 100644 d07/ex00/headers/Fixed.hpp rename d07/ex00/{ => headers}/Templates.hpp (100%) rename d07/ex00/{ => headers}/colors.h (100%) create mode 100644 d07/ex00/srcs/Fixed.cpp create mode 100644 d07/ex01/Fixed.cpp create mode 100644 d07/ex01/headers/ClassTest.hpp create mode 100644 d07/ex01/headers/Fixed.hpp create mode 100755 d07/ex01/iter create mode 100644 d07/ex02/Fixed.cpp create mode 100755 d07/ex02/array create mode 100644 d07/ex02/headers/Fixed.hpp diff --git a/d07/ex00/Makefile b/d07/ex00/Makefile index e474bc5..58ef36a 100644 --- a/d07/ex00/Makefile +++ b/d07/ex00/Makefile @@ -28,12 +28,14 @@ LIBS = INCLUDES = -I$(D_HEADERS) -D_SRCS = . -SRCS = main.cpp +D_SRCS = srcs +SRCS = main.cpp \ + Fixed.cpp -D_HEADERS = . +D_HEADERS = headers HEADERS = colors.h \ - Templates.hpp + Templates.hpp \ + Fixed.hpp D_OBJS = builds OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) diff --git a/d07/ex00/headers/Fixed.hpp b/d07/ex00/headers/Fixed.hpp new file mode 100644 index 0000000..b63a80c --- /dev/null +++ b/d07/ex00/headers/Fixed.hpp @@ -0,0 +1,55 @@ +#ifndef FIXED_HPP +# define FIXED_HPP + +#include +#include +#include + +class Fixed { + +public: + + Fixed(void); // default/parametric constructor + Fixed(Fixed const & src); // copy constructor + ~Fixed(void); // destructor + Fixed(int integer); + Fixed(float const floater); + + Fixed & operator= (Fixed const & rhs); // assignement operator + bool operator< (Fixed const & rhs) const; + bool operator> (Fixed const & rhs) const; + bool operator<=(Fixed const & rhs) const; + bool operator>=(Fixed const & rhs) const; + bool operator==(Fixed const & rhs) const; + bool operator!=(Fixed const & rhs) const; + Fixed operator+ (Fixed const & rhs) const; + Fixed operator- (Fixed const & rhs) const; + Fixed operator* (Fixed const & rhs) const; + Fixed operator/ (Fixed const & rhs) const; + Fixed & operator++(void); // prefix ++o + Fixed & operator--(void); // prefix --o + Fixed operator++(int); // postfix o++ + Fixed operator--(int); // postfix o-- + + static const Fixed & min(Fixed const & lhs, Fixed const & rhs); + static const Fixed & max(Fixed const & lhs, Fixed const & rhs); + static Fixed & min(Fixed & lhs, Fixed & rhs); + static Fixed & max(Fixed & lhs, Fixed & rhs); + + int getRawBits(void) const; + void setRawBits(int const raw); + float toFloat(void) const; + int toInt(void) const; + +private: + + int _value; + static int const _frac; + static int const _max; + static int const _min; + +}; + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs); + +#endif diff --git a/d07/ex00/Templates.hpp b/d07/ex00/headers/Templates.hpp similarity index 100% rename from d07/ex00/Templates.hpp rename to d07/ex00/headers/Templates.hpp diff --git a/d07/ex00/colors.h b/d07/ex00/headers/colors.h similarity index 100% rename from d07/ex00/colors.h rename to d07/ex00/headers/colors.h diff --git a/d07/ex00/main.cpp b/d07/ex00/main.cpp index 5e9683f..9401fd9 100644 --- a/d07/ex00/main.cpp +++ b/d07/ex00/main.cpp @@ -2,8 +2,27 @@ #include #include "colors.h" #include "Templates.hpp" +#include "Fixed.hpp" -#define N_TEST "3" +#define N_TEST "5" + +class Test { +public: + Test(int n = 0) : _n(n) {} + int getN() const {return _n;} + bool operator==(Test const & rhs) const {return (this->_n == rhs._n);} + bool operator!=(Test const & rhs) const {return (this->_n != rhs._n);} + bool operator> (Test const & rhs) const {return (this->_n > rhs._n);} + bool operator< (Test const & rhs) const {return (rhs._n > this->_n);} + bool operator>=(Test const & rhs) const {return ( !(this->_n < rhs._n) );} + bool operator<=(Test const & rhs) const {return ( !(this->_n > rhs._n) );} +private: + int _n; +}; +std::ostream & operator<<(std::ostream & o, Test const & rhs){ + o << rhs.getN(); + return (o); +} int main() { int i = 0; @@ -13,12 +32,13 @@ int main() { { int a = 2; int b = 3; - - std::cout << "a = " << a << ", b = " << b << "\nswap :\n"; + + std::cout << "a = " << a << ", b = " << b << "\n" B_BLUE "swap :" RESET "\n"; ::swap( a, b ); std::cout << "a = " << a << ", b = " << b << "\n"; - std::cout << "min( a, b ) = " << ::min( a, b ) << "\n"; - std::cout << "max( a, b ) = " << ::max( a, b ) << "\n"; + + std::cout << B_BLUE "min( a, b ) = " RESET << ::min( a, b ) << "\n"; + std::cout << B_BLUE "max( a, b ) = " RESET << ::max( a, b ) << "\n"; } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " @@ -26,12 +46,13 @@ int main() { { std::string a = "chaine1"; std::string b = "chaine2"; - - std::cout << "a = " << a << ", b = " << b << "\nswap :\n"; + + std::cout << "a = " << a << ", b = " << b << "\n" B_BLUE "swap :" RESET "\n"; ::swap(a, b); std::cout << "a = " << a << ", b = " << b << "\n"; - std::cout << "min( a, b ) = " << ::min( a, b ) << "\n"; - std::cout << "max( a, b ) = " << ::max( a, b ) << "\n"; + + std::cout << B_BLUE "min( a, b ) = " RESET << ::min( a, b ) << "\n"; + std::cout << B_BLUE "max( a, b ) = " RESET << ::max( a, b ) << "\n"; } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " @@ -39,12 +60,42 @@ int main() { { float a = 2.42f; float b = 32.7f; - - std::cout << "a = " << a << ", b = " << b << "\nswap :\n"; + + std::cout << "a = " << a << ", b = " << b << "\n" B_BLUE "swap :" RESET "\n"; ::swap( a, b ); std::cout << "a = " << a << ", b = " << b << "\n"; - std::cout << "min( a, b ) = " << ::min( a, b ) << "\n"; - std::cout << "max( a, b ) = " << ::max( a, b ) << "\n"; + + std::cout << B_BLUE "min( a, b ) = " RESET << ::min( a, b ) << "\n"; + std::cout << B_BLUE "max( a, b ) = " RESET << ::max( a, b ) << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests fixed :" RESET "\n"; + { + Fixed a(2.42f); + Fixed b(32.7f); + + std::cout << "a = " << a << ", b = " << b << "\n" B_BLUE "swap :" RESET "\n"; + ::swap( a, b ); + std::cout << "a = " << a << ", b = " << b << "\n"; + + std::cout << B_BLUE "min( a, b ) = " RESET << ::min( a, b ) << "\n"; + std::cout << B_BLUE "max( a, b ) = " RESET << ::max( a, b ) << "\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests class :" RESET "\n"; + { + + Test a(8); + Test b(16); + + std::cout << "a = " << a << ", b = " << b << "\n" B_BLUE "swap :" RESET "\n"; + ::swap( a, b ); + std::cout << "a = " << a << ", b = " << b << "\n"; + + std::cout << B_BLUE "min( a, b ) = " RESET << ::min( a, b ) << "\n"; + std::cout << B_BLUE "max( a, b ) = " RESET << ::max( a, b ) << "\n"; } return 0; diff --git a/d07/ex00/srcs/Fixed.cpp b/d07/ex00/srcs/Fixed.cpp new file mode 100644 index 0000000..3e72ea0 --- /dev/null +++ b/d07/ex00/srcs/Fixed.cpp @@ -0,0 +1,225 @@ +#include "Fixed.hpp" + +/* + * functions to print numbers in binary + * for the float, found help from stackoverflow : + * https://stackoverflow.com/questions/474007/floating-point-to-binary-valuec + */ + +std::string printBitsInt(int num) +{ + int i = 0; + + for (unsigned int mask = 1U << (sizeof(int) *8 -1); mask; mask >>= 1) + { + std::cout << ((num & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + +std::string printBitsFloat(float num) +{ + int *p = (int *)# + int i = 0; + + for (unsigned int mask = 1U << (sizeof(float) *8 -1); mask; mask >>= 1) + { + std::cout << ((*p & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + + +/* + * statics variables initialisation + * + * for MAX integer : + * 00000000 01111111 11111111 11111111 ( 8388607) (-1U >> (this->_frac +1)) + * <= ... >= + * 11111111 10000000 00000000 00000000 (-8388608) + * + */ + +int const Fixed::_frac = 8; +int const Fixed::_max = -1U >> (_frac +1); +int const Fixed::_min = ~_max; + + +/* + * default constructor / copy constructor / destructor + */ + +Fixed::Fixed() : _value(0) { + return; +} + +Fixed::Fixed(Fixed const & src) { + *this = src; + return; +} + +Fixed::~Fixed( void ) { + return; +} + + +/* + * int and float constructors + */ + +Fixed::Fixed(int integer) { + if (integer < Fixed::_min || integer > Fixed::_max) + std::cout << "error: integer out of range" << '\n'; + else + this->_value = integer << Fixed::_frac; +} + +Fixed::Fixed(float const floater) { + if (floater < Fixed::_min || floater > Fixed::_max) + std::cout << "error: float out of range" << '\n'; + else + this->_value = roundf(floater * (1 << Fixed::_frac)); +} + + +/* + * assignement operator + */ + +Fixed & Fixed::operator=( Fixed const & rhs ) { + if ( this != &rhs ) + this->_value = rhs.getRawBits(); + return *this; +} + + +/* + * operators < ; > ; <= ; == ; != ; + ; - ; * ; / ; ++ ; -- + * ref : https://en.cppreference.com/w/cpp/language/operators + * for division, if you want to avoid floats (legitimate) : + * https://stackoverflow.com/questions/8506317/fixed-point-unsigned-division-in-c + */ + +bool Fixed::operator< (Fixed const & rhs) const { + return this->_value < rhs._value; +} +bool Fixed::operator> (Fixed const & rhs) const { + return rhs < *this; +} +bool Fixed::operator<=(Fixed const & rhs) const { + return !(*this > rhs); +} +bool Fixed::operator>=(Fixed const & rhs) const { + return !(*this < rhs); +} +bool Fixed::operator==(Fixed const & rhs) const { + return this->_value == rhs._value; +} +bool Fixed::operator!=(Fixed const & rhs) const { + return !(*this == rhs); +} +Fixed Fixed::operator+ ( Fixed const & rhs ) const { + Fixed result(*this); + result._value += rhs._value; + return (result); +} +Fixed Fixed::operator- ( Fixed const & rhs ) const { + Fixed result(*this); + result._value -= rhs._value; + return (result); +} +Fixed Fixed::operator* ( Fixed const & rhs ) const { + Fixed result(*this); + result._value = ((long)result._value * (long)rhs._value) >> Fixed::_frac; + return result; +} +Fixed Fixed::operator/ ( Fixed const & rhs ) const { + Fixed result(*this); + if (rhs._value == 0) + std::cout << "!impossible division by 0¡"; + else + result._value = (long)(result._value << Fixed::_frac) / rhs._value; + return result; +} +Fixed & Fixed::operator++() { + this->_value++; + return *this; +} +Fixed & Fixed::operator--() { + this->_value--; + return *this; +} +Fixed Fixed::operator++( int ) { + Fixed old = *this; + Fixed::operator++(); + return old; +} +Fixed Fixed::operator--( int ) { + Fixed old = *this; + Fixed::operator--(); + return old; +} + + +/* + * returns min and max + */ + +Fixed const & Fixed::min(Fixed const & lhs, Fixed const & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed const & Fixed::max(Fixed const & lhs, Fixed const & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} +Fixed & Fixed::min(Fixed & lhs, Fixed & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed & Fixed::max(Fixed & lhs, Fixed & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} + + +/* + * functions that returns _value + */ + +int Fixed::getRawBits( void ) const { + return this->_value; +} + +void Fixed::setRawBits( int const raw ) { + this->_value = raw; +} + +int Fixed::toInt( void ) const { + return (this->_value >> Fixed::_frac); +} +float Fixed::toFloat( void ) const { + return ((float)this->_value / (float)(1 << Fixed::_frac)); +} + + +/* + * overload "<<" -> output fixed point in float representation + * found here : https://github.com/pgomez-a/42_CPP_Piscine/blob/master/cpp02/ex01/Fixed.cpp + */ + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs) +{ + o << rhs.toFloat(); + return (o); +} diff --git a/d07/ex01/Fixed.cpp b/d07/ex01/Fixed.cpp new file mode 100644 index 0000000..3e72ea0 --- /dev/null +++ b/d07/ex01/Fixed.cpp @@ -0,0 +1,225 @@ +#include "Fixed.hpp" + +/* + * functions to print numbers in binary + * for the float, found help from stackoverflow : + * https://stackoverflow.com/questions/474007/floating-point-to-binary-valuec + */ + +std::string printBitsInt(int num) +{ + int i = 0; + + for (unsigned int mask = 1U << (sizeof(int) *8 -1); mask; mask >>= 1) + { + std::cout << ((num & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + +std::string printBitsFloat(float num) +{ + int *p = (int *)# + int i = 0; + + for (unsigned int mask = 1U << (sizeof(float) *8 -1); mask; mask >>= 1) + { + std::cout << ((*p & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + + +/* + * statics variables initialisation + * + * for MAX integer : + * 00000000 01111111 11111111 11111111 ( 8388607) (-1U >> (this->_frac +1)) + * <= ... >= + * 11111111 10000000 00000000 00000000 (-8388608) + * + */ + +int const Fixed::_frac = 8; +int const Fixed::_max = -1U >> (_frac +1); +int const Fixed::_min = ~_max; + + +/* + * default constructor / copy constructor / destructor + */ + +Fixed::Fixed() : _value(0) { + return; +} + +Fixed::Fixed(Fixed const & src) { + *this = src; + return; +} + +Fixed::~Fixed( void ) { + return; +} + + +/* + * int and float constructors + */ + +Fixed::Fixed(int integer) { + if (integer < Fixed::_min || integer > Fixed::_max) + std::cout << "error: integer out of range" << '\n'; + else + this->_value = integer << Fixed::_frac; +} + +Fixed::Fixed(float const floater) { + if (floater < Fixed::_min || floater > Fixed::_max) + std::cout << "error: float out of range" << '\n'; + else + this->_value = roundf(floater * (1 << Fixed::_frac)); +} + + +/* + * assignement operator + */ + +Fixed & Fixed::operator=( Fixed const & rhs ) { + if ( this != &rhs ) + this->_value = rhs.getRawBits(); + return *this; +} + + +/* + * operators < ; > ; <= ; == ; != ; + ; - ; * ; / ; ++ ; -- + * ref : https://en.cppreference.com/w/cpp/language/operators + * for division, if you want to avoid floats (legitimate) : + * https://stackoverflow.com/questions/8506317/fixed-point-unsigned-division-in-c + */ + +bool Fixed::operator< (Fixed const & rhs) const { + return this->_value < rhs._value; +} +bool Fixed::operator> (Fixed const & rhs) const { + return rhs < *this; +} +bool Fixed::operator<=(Fixed const & rhs) const { + return !(*this > rhs); +} +bool Fixed::operator>=(Fixed const & rhs) const { + return !(*this < rhs); +} +bool Fixed::operator==(Fixed const & rhs) const { + return this->_value == rhs._value; +} +bool Fixed::operator!=(Fixed const & rhs) const { + return !(*this == rhs); +} +Fixed Fixed::operator+ ( Fixed const & rhs ) const { + Fixed result(*this); + result._value += rhs._value; + return (result); +} +Fixed Fixed::operator- ( Fixed const & rhs ) const { + Fixed result(*this); + result._value -= rhs._value; + return (result); +} +Fixed Fixed::operator* ( Fixed const & rhs ) const { + Fixed result(*this); + result._value = ((long)result._value * (long)rhs._value) >> Fixed::_frac; + return result; +} +Fixed Fixed::operator/ ( Fixed const & rhs ) const { + Fixed result(*this); + if (rhs._value == 0) + std::cout << "!impossible division by 0¡"; + else + result._value = (long)(result._value << Fixed::_frac) / rhs._value; + return result; +} +Fixed & Fixed::operator++() { + this->_value++; + return *this; +} +Fixed & Fixed::operator--() { + this->_value--; + return *this; +} +Fixed Fixed::operator++( int ) { + Fixed old = *this; + Fixed::operator++(); + return old; +} +Fixed Fixed::operator--( int ) { + Fixed old = *this; + Fixed::operator--(); + return old; +} + + +/* + * returns min and max + */ + +Fixed const & Fixed::min(Fixed const & lhs, Fixed const & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed const & Fixed::max(Fixed const & lhs, Fixed const & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} +Fixed & Fixed::min(Fixed & lhs, Fixed & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed & Fixed::max(Fixed & lhs, Fixed & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} + + +/* + * functions that returns _value + */ + +int Fixed::getRawBits( void ) const { + return this->_value; +} + +void Fixed::setRawBits( int const raw ) { + this->_value = raw; +} + +int Fixed::toInt( void ) const { + return (this->_value >> Fixed::_frac); +} +float Fixed::toFloat( void ) const { + return ((float)this->_value / (float)(1 << Fixed::_frac)); +} + + +/* + * overload "<<" -> output fixed point in float representation + * found here : https://github.com/pgomez-a/42_CPP_Piscine/blob/master/cpp02/ex01/Fixed.cpp + */ + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs) +{ + o << rhs.toFloat(); + return (o); +} diff --git a/d07/ex01/Makefile b/d07/ex01/Makefile index 50bc55b..efc01c9 100644 --- a/d07/ex01/Makefile +++ b/d07/ex01/Makefile @@ -29,14 +29,17 @@ LIBS = INCLUDES = -I$(D_HEADERS) D_SRCS = . -SRCS = main.cpp +SRCS = main.cpp \ + Fixed.cpp D_HEADERS = headers HEADERS = colors.h \ Iter.hpp \ Print.hpp \ ToUpper.hpp \ - Decrement.hpp + Decrement.hpp \ + ClassTest.hpp \ + Fixed.hpp D_OBJS = builds OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) diff --git a/d07/ex01/headers/ClassTest.hpp b/d07/ex01/headers/ClassTest.hpp new file mode 100644 index 0000000..4e3e1fd --- /dev/null +++ b/d07/ex01/headers/ClassTest.hpp @@ -0,0 +1,20 @@ +#ifndef CLASSTEST_HPP +# define CLASSTEST_HPP + +# include + +class ClassTest { +public: + ClassTest() : _value("hello") {} + std::string getValue() const {return _value;} +private: + std::string _value; +}; + +std::ostream & operator<<(std::ostream & o, ClassTest const & rhs) { + o << rhs.getValue(); + return o; +} + +#endif + diff --git a/d07/ex01/headers/Fixed.hpp b/d07/ex01/headers/Fixed.hpp new file mode 100644 index 0000000..b63a80c --- /dev/null +++ b/d07/ex01/headers/Fixed.hpp @@ -0,0 +1,55 @@ +#ifndef FIXED_HPP +# define FIXED_HPP + +#include +#include +#include + +class Fixed { + +public: + + Fixed(void); // default/parametric constructor + Fixed(Fixed const & src); // copy constructor + ~Fixed(void); // destructor + Fixed(int integer); + Fixed(float const floater); + + Fixed & operator= (Fixed const & rhs); // assignement operator + bool operator< (Fixed const & rhs) const; + bool operator> (Fixed const & rhs) const; + bool operator<=(Fixed const & rhs) const; + bool operator>=(Fixed const & rhs) const; + bool operator==(Fixed const & rhs) const; + bool operator!=(Fixed const & rhs) const; + Fixed operator+ (Fixed const & rhs) const; + Fixed operator- (Fixed const & rhs) const; + Fixed operator* (Fixed const & rhs) const; + Fixed operator/ (Fixed const & rhs) const; + Fixed & operator++(void); // prefix ++o + Fixed & operator--(void); // prefix --o + Fixed operator++(int); // postfix o++ + Fixed operator--(int); // postfix o-- + + static const Fixed & min(Fixed const & lhs, Fixed const & rhs); + static const Fixed & max(Fixed const & lhs, Fixed const & rhs); + static Fixed & min(Fixed & lhs, Fixed & rhs); + static Fixed & max(Fixed & lhs, Fixed & rhs); + + int getRawBits(void) const; + void setRawBits(int const raw); + float toFloat(void) const; + int toInt(void) const; + +private: + + int _value; + static int const _frac; + static int const _max; + static int const _min; + +}; + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs); + +#endif diff --git a/d07/ex01/iter b/d07/ex01/iter new file mode 100755 index 0000000000000000000000000000000000000000..3116a3a2ccfa6baf8cfce69c1f8967a9762474cb GIT binary patch literal 25144 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 literal 0 HcmV?d00001 diff --git a/d07/ex01/main.cpp b/d07/ex01/main.cpp index 945b374..47c98ab 100644 --- a/d07/ex01/main.cpp +++ b/d07/ex01/main.cpp @@ -5,8 +5,10 @@ #include "Print.hpp" #include "ToUpper.hpp" #include "Decrement.hpp" +#include "ClassTest.hpp" +#include "Fixed.hpp" -#define N_TEST "2" +#define N_TEST "4" int main() { int i = 0; @@ -38,6 +40,22 @@ int main() { ::Iter(arr, len, Print); } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests class :" RESET "\n"; + { + ClassTest tab[5]; + + ::Iter(tab, 5, Print); + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests fixed :" RESET "\n"; + { + Fixed f[5]; + + ::Iter(f, 5, Print); + } + return 0; } diff --git a/d07/ex02/Fixed.cpp b/d07/ex02/Fixed.cpp new file mode 100644 index 0000000..3e72ea0 --- /dev/null +++ b/d07/ex02/Fixed.cpp @@ -0,0 +1,225 @@ +#include "Fixed.hpp" + +/* + * functions to print numbers in binary + * for the float, found help from stackoverflow : + * https://stackoverflow.com/questions/474007/floating-point-to-binary-valuec + */ + +std::string printBitsInt(int num) +{ + int i = 0; + + for (unsigned int mask = 1U << (sizeof(int) *8 -1); mask; mask >>= 1) + { + std::cout << ((num & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + +std::string printBitsFloat(float num) +{ + int *p = (int *)# + int i = 0; + + for (unsigned int mask = 1U << (sizeof(float) *8 -1); mask; mask >>= 1) + { + std::cout << ((*p & mask) != 0); + i++; + if (i == 1 || i == 9 || i == 24) + std::cout << ' '; + } + return ""; +} + + +/* + * statics variables initialisation + * + * for MAX integer : + * 00000000 01111111 11111111 11111111 ( 8388607) (-1U >> (this->_frac +1)) + * <= ... >= + * 11111111 10000000 00000000 00000000 (-8388608) + * + */ + +int const Fixed::_frac = 8; +int const Fixed::_max = -1U >> (_frac +1); +int const Fixed::_min = ~_max; + + +/* + * default constructor / copy constructor / destructor + */ + +Fixed::Fixed() : _value(0) { + return; +} + +Fixed::Fixed(Fixed const & src) { + *this = src; + return; +} + +Fixed::~Fixed( void ) { + return; +} + + +/* + * int and float constructors + */ + +Fixed::Fixed(int integer) { + if (integer < Fixed::_min || integer > Fixed::_max) + std::cout << "error: integer out of range" << '\n'; + else + this->_value = integer << Fixed::_frac; +} + +Fixed::Fixed(float const floater) { + if (floater < Fixed::_min || floater > Fixed::_max) + std::cout << "error: float out of range" << '\n'; + else + this->_value = roundf(floater * (1 << Fixed::_frac)); +} + + +/* + * assignement operator + */ + +Fixed & Fixed::operator=( Fixed const & rhs ) { + if ( this != &rhs ) + this->_value = rhs.getRawBits(); + return *this; +} + + +/* + * operators < ; > ; <= ; == ; != ; + ; - ; * ; / ; ++ ; -- + * ref : https://en.cppreference.com/w/cpp/language/operators + * for division, if you want to avoid floats (legitimate) : + * https://stackoverflow.com/questions/8506317/fixed-point-unsigned-division-in-c + */ + +bool Fixed::operator< (Fixed const & rhs) const { + return this->_value < rhs._value; +} +bool Fixed::operator> (Fixed const & rhs) const { + return rhs < *this; +} +bool Fixed::operator<=(Fixed const & rhs) const { + return !(*this > rhs); +} +bool Fixed::operator>=(Fixed const & rhs) const { + return !(*this < rhs); +} +bool Fixed::operator==(Fixed const & rhs) const { + return this->_value == rhs._value; +} +bool Fixed::operator!=(Fixed const & rhs) const { + return !(*this == rhs); +} +Fixed Fixed::operator+ ( Fixed const & rhs ) const { + Fixed result(*this); + result._value += rhs._value; + return (result); +} +Fixed Fixed::operator- ( Fixed const & rhs ) const { + Fixed result(*this); + result._value -= rhs._value; + return (result); +} +Fixed Fixed::operator* ( Fixed const & rhs ) const { + Fixed result(*this); + result._value = ((long)result._value * (long)rhs._value) >> Fixed::_frac; + return result; +} +Fixed Fixed::operator/ ( Fixed const & rhs ) const { + Fixed result(*this); + if (rhs._value == 0) + std::cout << "!impossible division by 0¡"; + else + result._value = (long)(result._value << Fixed::_frac) / rhs._value; + return result; +} +Fixed & Fixed::operator++() { + this->_value++; + return *this; +} +Fixed & Fixed::operator--() { + this->_value--; + return *this; +} +Fixed Fixed::operator++( int ) { + Fixed old = *this; + Fixed::operator++(); + return old; +} +Fixed Fixed::operator--( int ) { + Fixed old = *this; + Fixed::operator--(); + return old; +} + + +/* + * returns min and max + */ + +Fixed const & Fixed::min(Fixed const & lhs, Fixed const & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed const & Fixed::max(Fixed const & lhs, Fixed const & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} +Fixed & Fixed::min(Fixed & lhs, Fixed & rhs) { + if (lhs < rhs) + return lhs; + return rhs; +} +Fixed & Fixed::max(Fixed & lhs, Fixed & rhs) { + if (lhs > rhs) + return lhs; + return rhs; +} + + +/* + * functions that returns _value + */ + +int Fixed::getRawBits( void ) const { + return this->_value; +} + +void Fixed::setRawBits( int const raw ) { + this->_value = raw; +} + +int Fixed::toInt( void ) const { + return (this->_value >> Fixed::_frac); +} +float Fixed::toFloat( void ) const { + return ((float)this->_value / (float)(1 << Fixed::_frac)); +} + + +/* + * overload "<<" -> output fixed point in float representation + * found here : https://github.com/pgomez-a/42_CPP_Piscine/blob/master/cpp02/ex01/Fixed.cpp + */ + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs) +{ + o << rhs.toFloat(); + return (o); +} diff --git a/d07/ex02/Makefile b/d07/ex02/Makefile index 2f18fa0..f1c973b 100644 --- a/d07/ex02/Makefile +++ b/d07/ex02/Makefile @@ -29,14 +29,16 @@ LIBS = INCLUDES = -I$(D_HEADERS) D_SRCS = . -SRCS = main.cpp +SRCS = main.cpp \ + Fixed.cpp D_HEADERS = headers HEADERS = colors.h \ Array.hpp \ Iter.hpp \ Print.hpp \ - Fill.hpp + Fill.hpp \ + Fixed.hpp D_OBJS = builds OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) diff --git a/d07/ex02/array b/d07/ex02/array new file mode 100755 index 0000000000000000000000000000000000000000..c5a5de6cbbcc03522d9bdb046b21a1ee8ba16c49 GIT binary patch literal 77664 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 literal 0 HcmV?d00001 diff --git a/d07/ex02/headers/Array.hpp b/d07/ex02/headers/Array.hpp index 1445e1c..804a784 100644 --- a/d07/ex02/headers/Array.hpp +++ b/d07/ex02/headers/Array.hpp @@ -6,11 +6,22 @@ template < typename T > class Array { public: - Array(unsigned int n = 0u) - : _size(n) - , _arr(new T[n]) {}; - ~Array() { delete [] _arr; }; - Array(Array const & src) : _arr(new T[0]) { *this = src; }; + Array(unsigned int n = 0U) + : _size(n) + , _arr(new T[n]){ + for (unsigned int i = 0; i < n; i++) + _arr[i] = 0; + }; + + ~Array() { + delete [] _arr; + }; + + Array(Array const & src) + : _arr(new T[0]) { + *this = src; + }; + Array &operator=(Array const & rhs) { if (this == &rhs) return (*this); diff --git a/d07/ex02/headers/Fixed.hpp b/d07/ex02/headers/Fixed.hpp new file mode 100644 index 0000000..b63a80c --- /dev/null +++ b/d07/ex02/headers/Fixed.hpp @@ -0,0 +1,55 @@ +#ifndef FIXED_HPP +# define FIXED_HPP + +#include +#include +#include + +class Fixed { + +public: + + Fixed(void); // default/parametric constructor + Fixed(Fixed const & src); // copy constructor + ~Fixed(void); // destructor + Fixed(int integer); + Fixed(float const floater); + + Fixed & operator= (Fixed const & rhs); // assignement operator + bool operator< (Fixed const & rhs) const; + bool operator> (Fixed const & rhs) const; + bool operator<=(Fixed const & rhs) const; + bool operator>=(Fixed const & rhs) const; + bool operator==(Fixed const & rhs) const; + bool operator!=(Fixed const & rhs) const; + Fixed operator+ (Fixed const & rhs) const; + Fixed operator- (Fixed const & rhs) const; + Fixed operator* (Fixed const & rhs) const; + Fixed operator/ (Fixed const & rhs) const; + Fixed & operator++(void); // prefix ++o + Fixed & operator--(void); // prefix --o + Fixed operator++(int); // postfix o++ + Fixed operator--(int); // postfix o-- + + static const Fixed & min(Fixed const & lhs, Fixed const & rhs); + static const Fixed & max(Fixed const & lhs, Fixed const & rhs); + static Fixed & min(Fixed & lhs, Fixed & rhs); + static Fixed & max(Fixed & lhs, Fixed & rhs); + + int getRawBits(void) const; + void setRawBits(int const raw); + float toFloat(void) const; + int toInt(void) const; + +private: + + int _value; + static int const _frac; + static int const _max; + static int const _min; + +}; + +std::ostream & operator<<(std::ostream & o, Fixed const & rhs); + +#endif diff --git a/d07/ex02/main.cpp b/d07/ex02/main.cpp index 20fd472..a00d3cf 100644 --- a/d07/ex02/main.cpp +++ b/d07/ex02/main.cpp @@ -7,8 +7,9 @@ #include "Print.hpp" #include "Array.hpp" #include "Fill.hpp" +#include "Fixed.hpp" -#define N_TEST "7" +#define N_TEST "13" int main() { srand(time(NULL)); @@ -91,15 +92,134 @@ int main() { std::cout << "\n"; } - // tests luke std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "tests :" RESET "\n"; + << "tests simple array :" RESET "\n"; { Array a(10); std::cout << "a.size :" << a.size() << "\n"; } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests empty array :" RESET "\n"; + { + Array arr(0); + + std::cout << "arr.size :" << arr.size() << "\n"; + try { + arr[arr.size()] = 42; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests write and read :" RESET "\n"; + { + std::cout << B_BLUE "create Array arr(5);" RESET "\n"; + Array arr(5); + std::cout << B_BLUE "create Array const constarr(5);" RESET "\n"; + Array const constarr(5); + + std::cout << "arr.size :" << arr.size() << "\n"; + std::cout << "constarr.size :" << constarr.size() << "\n"; + + try { + std::cout << B_BLUE "arr[3] = 12" RESET "\n"; + arr[3] = 12; + std::cout << B_BLUE "print arr;" RESET "\n"; + ::Iter(arr, arr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + + try { + std::cout << B_BLUE "print constarr;" RESET "\n"; + ::Iter(constarr, constarr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests empty Fixed array :" RESET "\n"; + { + Array arr(0); + + std::cout << "fixed arr.size :" << arr.size() << "\n"; + try { + arr[arr.size()] = 42; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests fixed write and read :" RESET "\n"; + { + std::cout << B_BLUE "create Array arr(5);" RESET "\n"; + Array arr(5); + std::cout << B_BLUE "create Array const constarr(5);" RESET "\n"; + Array const constarr(5); + + std::cout << "arr.size :" << arr.size() << "\n"; + std::cout << "constarr.size :" << constarr.size() << "\n"; + + try { + std::cout << B_BLUE "arr[3] = 12" RESET "\n"; + arr[3] = 12; + std::cout << B_BLUE "print arr;" RESET "\n"; + ::Iter(arr, arr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + + try { + std::cout << B_BLUE "print constarr;" RESET "\n"; + ::Iter(constarr, constarr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests empty Fixed array :" RESET "\n"; + { + Array arr(0); + + std::cout << "char arr.size :" << arr.size() << "\n"; + try { + arr[arr.size()] = 'c'; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "tests char write and read :" RESET "\n"; + { + std::cout << B_BLUE "create Array arr(5);" RESET "\n"; + Array arr(5); + std::cout << B_BLUE "create Array const constarr(5);" RESET "\n"; + Array const constarr(5); + + std::cout << "arr.size :" << arr.size() << "\n"; + std::cout << "constarr.size :" << constarr.size() << "\n"; + + try { + std::cout << B_BLUE "arr[3] = 12" RESET "\n"; + arr[3] = 12; + std::cout << B_BLUE "print arr;" RESET "\n"; + ::Iter(arr, arr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + + try { + std::cout << B_BLUE "print constarr;" RESET "\n"; + ::Iter(constarr, constarr.size(), Print); + std::cout << "\n"; } + catch(std::exception& e) { + std::cerr << e.what() << '\n'; } + } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests index correct :" RESET "\n"; { @@ -141,7 +261,7 @@ int main() { } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "tests :" RESET "\n"; + << "tests subject :" RESET "\n"; { #define MAX_VAL 750 Array numbers(MAX_VAL); From 0e4538b5c9f36254a7a9e70c7f463bfb4f8067ff Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Fri, 18 Mar 2022 15:56:29 +0100 Subject: [PATCH 14/17] d08 ajout png correction --- d08/correction_d08.png | Bin 0 -> 434799 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 d08/correction_d08.png diff --git a/d08/correction_d08.png b/d08/correction_d08.png new file mode 100644 index 0000000000000000000000000000000000000000..47c2d456ceaf1afcd4f5cb474daad1dcde5677af GIT binary patch literal 434799 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ⅆ?u zcZj&jmMTx58cog7?-d`$!I- z5vko~LP!Z(YxZxT8AK}vqpxoD*Q|4{Q{Iw!QQ}36jH97t28QENn6RMF<>cgX z+Y#;!<&uo;3s!uYxTCnB&GYasb#AiXCBdiHz$^D4&{l|_;1f_w)z|IFwzM{-*FfXW z#nsJg<_JBe)te*0XuOlYA7fK0!M1ETb3-+<@l%=xiQe zZ4p$)c8Vi?wz1f%9WYd#v*f%q^kQgd6_!?<{WW`iHE_T4kkM;E`5^LdYyq9faCb95 z=VoDj{g~)2oa##q;x*P(nme4A7~Fn~DI&ofZIRK`USCFAM;f7BsYZX1aT|g{ftw-Z z_nnif!`E+VPO?P>n+Wn?$1ovl3hG&T)~2JNRvoES10CgtGqNO08`e)rQX3ljy3G!_ zRd4@6SZYxCeZqMNF{eBx#&6KrM>FbRRQ*%!XT^D_RNO)M8cSr^rgF{JDr4TZ85nuI zhtR%~nd}(<;}r5AWKR^*fagA*@hbIu>OWK3&1QyE>K(#K;nkdv@b^lw+~_hrxe60A>;NC>Uzv19U!4`2e~D? z&$5cx{q~-3&(|%OmX1EIna>i%@D1_uB@bq;DbnNKNOY(I%jhUlPP` zcTbtbzO;?y!Fb@I)%DF^IRBg`0I;u#(nC{QpA0z$XcBs8HhJ6;Rp5RxvgN%7rL4GsuLHEt}w8!ByRN|`tz#;5vK zn3!7K>HVw{zpI!!#LJ4U=}RMRXQ~`9$z5EaQ8`k`yuSTbC>`qYG4T?Kx-&pQD||*R zbBO3TXKq25)#JYXe7c&tUen47`Sf3O0GQ;*@Ru*p!30rVP;zYa*SU)OUafDgj;kq- zmWH$leXFFm5y1~lyis;mjc3?3q-NUh%-f*(wZQD>74*FoX1U%El5t~e^G3jo5?TFj zoBRVMMV+)t9AWjTHk8M4VyLr_78+HqSIf7 z;)ScmGd|L*Y$f^7LNP_$^;t7<-^q6Wr@;1!T;~cpsd&b z&iUkSyezgprg4q)zuPoxk7XM)s6oIp{PUw|m#T;}g!((DEH2+K$;@!Ma@fv~^pqA= zc7mEoBE3rnpQ?80yJV$=64AG7iyvZW#fCrN@}*2t%GNQObTGblH`vD0IR|||bUHye z&g_eyaUiykN=%;Hm=G4Y_42)4{jNEG)o8N)_k2|p;D15=Li`^s1%&?x4|W#=>%S92 zur!gH{C`sM&ocj=6@pFdY5su!=^Go|e}{Jf0K@;&%m23u&v0Y|)ub`NF2oy-2YSm6fn5Yct_{-eea9Q%fT(RlJXPX zZYSkCQ6wa#5KlqB-z)WI8zE?^ccSs5qscV#q&PSp1=6E)%bo%s`)SMT86TI-Uih3! z3W30(?TZKRBnhnQg`=yh1spuQ{))AeXkH=r`N*m2ra5 z>o`oTMh>j2$MgP;h57lYy*bNIQY8d2AQ&q$$Gc9)9U%eg;6NYrz@UW)lt=)1%en*E4P!UOC+vbrZ)r_uOCM(pDnudCx;iP~xVS(%AZlZcRtq7`;M=%I=yp(0N=gbAgPL*2!{M{dN)rmv9#)J5on>^v zU|YLaW=8Dn+}sYhI2Y-N@Lup=57uru1bn_jmq5UjLT0ov^mLTTPwg?bXB?uAty)HmqF;Bus#` z`WzF6qW23Z0;{yVJZG)_7HMmi+reb?MXUSXnw(sxhy(lZO~~{9MG6&F?3df5ELH|Jvitd8&i{{`n)dk_&N|D<(1uY`us8EnGc(*e7hvhl=s;Aa;Q&PEVO@1 zKLeRi!pttcAlT|~ulp%}1$q?_06SihTfr$Mp&5?>;wvd3=Jbgz*>Gt^ojnZlXpP%< zE@&EH8L11izF9zKde+WuRG9k7fw7N*C`9Nwx3`m2{0(vWV}DgA_d{1p@(K((9f0^K5P_X*jfkIqH~4x?yE+p*UtudE`N?2C0O%9bsg2<2u;`WSEHG zC8@|()O?+sZ}$_FFVP~KlC1rn!f?bh$>g~+DBXwvfETaEMo8Z^!!Op+7$Tnn_w5UJ zx3gylBcnuCsITl$ED4_L@<}XEoj)XbprZ9&!(Gi^%#7&45`JNgSgk zP$kG8BNA0uToJC?ktJLu#42LChyW!&1fM+Q$NEu%apK9+a|d-jzgJU{V$vh)nV&0o zG`-%;G%@==%WmezDL9d4f|&O*$OZiL6sTFR*R0mfYFKN$P*sh`qDPS|blC7HRybu1 z+n~SNtHeFLeeF=w^?me&A6Cp?nwxE??5KMQyRG+Ym5Gfhd$nm^*jo!v-CWOs_Tc)B zV(d-g$`UUh|BwZwMxTTPG0yu9-h_Io&DXN z`&Y5FRy}_7Un}PWctc8MDtCn^CkKmr15v3kiud{i*~wWKzgVFnOmg8Qw!IaaGyQ!c zT3U!OLIkjy`)6PZZtpV`S-ncfa;lYvhj{$@fCZ>>`0(&hQE`+etn#I|Q~0?>z*Z+= zAYgo44n|9e2kpX`O}cGKWo#p9F!L)ak_pL9KRP^waqV^EC5_nvWo=h~>or=Qgh&@^OY+w_P&u5JS$?LuHz+Q#qRCKgi$IL7uWJycHC**jdj?4ajS{1 z6y55ypG3Welt7Lca2P9UBI?&-0RQ13u7_9K6l1Q`t7Wnhc+4Jve^88U*|V>)lUYpA zpgls;hbvKq^4&`U52QwD6y9T*?oSYl04|m|`wMw={>@FTwJY$OYNf&s1GYwZhDf!( ziq@eB6%CP3+KcC2Ys+MWX$p;e#)02z2FS)H(@NGbS&E#pW(l?O2DPE2ChzAy7tK1! zgQ=T}DnpEXX`yC?im)*C@Tt2p$WKdaGVZRX%`>8!yEqIjJm`w?{M-$VI7UmHT6xwo z8B%OeOG0V*KB#xr{CN*xz%|51$@l?mYHAin@mZ4oeRCsMoTTI*9{XAeVq)T~?vSi3 z9hupsr6m%6S6W(H*cyu(5S{E9?k#f&O_R|Ovj%i|X-PIWhuw7ar$4|CK0rZD?fGh= zTer))%u!J;N1(9D^LLj!+cxxeBWP|xl*9XOGKOeD@Oq1gtKwkTsim@#i3t`6iogLn zIy-ThGRSao54X2r%v>EE9na&%I1dk`-(9v{_oj9_I>(dwqHWEL5m8a%2s(JoS=?sh zPk#)9R@*!w5-&)ssYl^1;~<7KZo7C1Bi1KVvyD339vSMZ-BcO`fS#Al{QVW4dbM7h zoOGGW-p4hV zz=HtTIr431t`*1Ut&c;7-1q$!#A zT+I|{5pp}J3t#DKX9G?7LGFwN_`$%%=xu*;>>C*)QSJI6PMs=M|9E|_Y$o|z@q25o zX(D8BIwD>Vx;!v%xF6J9G7<_q#(t)$s`%%41g|L*di??keivI+SyqG5hT3|pwa1(M z?S5ebwm*T4TvAtux^jJUBQj^#{DZt3GOx2kA|@_QRUxXuxVPT<5_qNC+S(dRm~8*& zmj&Nis4mitU&+h?Y6v`lk`!{hbj4vN7bFBOGn&Y;+jZpSs!Zo7t<n~6+ zh9*8Vl{pyMlM~JZ=Z>^v)am>sf>>NQGedL_<$%SXiL=a5Ipp7D!BHeiK|He)>;E6l z&iXIP=llCBpmc~xD}o3JNSCCffHczG-Q7qx(vk+!EWLDh*Gji^EZzAX-=F(0xUZjh z0DJ9TJ2Piayv}n{U63Hl+lZ-|v62bP%!~!G7uA75276&*Y$)O8nn|zl(3&5$z3!2b zO#8~lAsE-i6-j4W!Lu5l2j4#5G8e;tYatTxdMXj;%ZFDyJjbNFvJ7Fw->%nrcw&4k zEI(V{PCF=XJA3gi2)ddhk<#z2tn)bzq8MIy>t-C{Qna)NjjhJh{Kg{TiZ{JgfcU?j z^62dSP1M~)&czclY88VGOdUC9Z?{Y}1hjt5iiXA%e&(9DRFKQyiGH7m1mUvvrciAm zR?eg8>6S1`r>m=Tv$Wh9y}){6G*i*F<;C%w@c6iDd}6|7=g-0Po}uBd$x=UD3?7&ZjF)#bf4wES0HgLyhVi?rtmJ z%FVTXsWj^8VPbl6hWU($sNtn!tQuWC=)}QwbJw14^uV0l{5P*Bm?gwIm$%`vg_kRM z1rt3lzfBH3OC6MN7hySzToK7BK|k%`@(PfARr}#V4^d4%ssH4U-e`{XBq`QCaSH}t z8Hbu@(@QzOU`0w%!YmdXvYfXN$&H=6xD_rFo5t+bl%KglZ*6#W>c#7eUxE>$2uArR z`m&vND0*D}9XB6ud7T4dPwCQBKD|-^YyTADPZNEfHT{(_TJlvV3$Y{v#KX}e_0QLQ znV%E7mfZYtvybrF_g?$(;tW45eXAlI{@`H0hOU`LUMEKx_=`8##<4E3&ybIYR{)O# zR)Y~B@?>h_^H#J0aT6W^{!0RU9JjAzMHn}agKE95H zdBpgy5~i-OI4S&cI)+s@j3iPL_KY^;M@WvZAd-v@_nGOAb&NdJhUT~VR;inc7wlOH zpN5BINTUUfFMB5^H>y!XUOoG_PYR-AvJ3n{@^|MsSh&$q8lUbj@_T0`P%9WE{tUJ-mpJt-3*VEJ_#K)g6{o+YOOUn)RLidM!MRew- zQ>6KE%D=#l{%nt>1bLQXvgPtmLbcVaXXI@%VfXBhjqCx&7@Xgam%{0<5F++QE zceA`QII-&-U(Urz5d-#-nmOT?@JdJ&qwk}iZce3<;x8cnvpX1B2}PkPb}GR?vtB}e z)K^fus*9Lt#7Sfy9i!(%nLcVpo4aTtefdC*&zc_IkSFi{N5Q#8hQ8VJiX8GG4?g*s z61C!e%sJKubT_3+6Dpn4sOL^A*mk<5>L?`tCw%aC?Ut>f65B}MW9Z=@1-;iPQtNC5 z`J(0{`j7lE^}$5DkI&#gx;c2zQZb?5p&|S<4wwI(_xXlQnBZgp-qBM-bUe9G^Ub=(mTs{=K? zf6>oGs57qs+qiYxA0$-N(9u!6!C>M~_9kuHaI=$R4A2%^s@oJ&U;^=%oijZ!hs|DJ zhxpy?E*+W$hvHTUO4IF4mmB4YQ4I|N2#Z>*3o!>Bmhv`e5ietTDF~FlJK>j?2Hzkd zv@8n$%`bTFMI4d-#_$VbVtqTi!+KBrKlE6b^SuF_kn*nv-XEMTU>=4?*Gg-{F;6>$ z+dtZ{jow529eZj0s*48ds?YmvOJ|W~Wp|P8EX1hxemAuboCInHK0IdhFIsnG)OiNc zr=D69(@$X4W}@+D_Zg*CS~|5$oriOL@e*S5pOL~IK;KChU*(d=@@Ll1gIijZFw z$8**5PNX*5^g~63GL?SaIfGfANt{sRTrn}F2Oy7S@$if=3fwKNoPN=S_BZ$>3^|}- z#wLaF{l+iPSMJrX$k4gu;LXmh5c~NxP_TOonJrZ$SAiNo;dQDQ)xPRCnji#}t)R1G zK=03tTpoKG88$aDL9lkN(%Toca?k+Ns+^xCq|le-#Q4K($>vIAFL1Wc&oSz-ye_|n z$x>iLzLIjg@Mg-;=gyINTPNy-u&WfPxJo#&;^5%O`IXh=Q3y63WXB5D*;69B(6{B6 zlxQ??Ats?hLYJ?wfos~Q5csa&-x{R(?qgo;?hjM2Q9prn`i7w|1L<#0E>qrzI*+WE zv$I%lu@ndBf0jx<<4I8c7}^(!4-_axhcx|Kc0;l<HLCNkw5aLmuWP%{P1}yK-TvWO)_WA3t5pn^AN<}I%xo@c=`wR!xlP7SB=%u~y0vmmhcXta}5D|(h zy8Lwf$=1HgKgYJf=5*%r#O+m6d5s8D9-PG0HDpPn^MNG5BI*MT9@_c&AXBjLg(iRH z-{s|HEHoU{@DqL~8lR)T!IKqS0(U5unMN$cpL=a^xhT)kGkC3z*TREru|b#hiTYN7 zBz1pp@19de%VQoUwO8(=6DDlIz1H)1!P^%;P}QQ7nfon2f=nwH)CdkOX_N1rH!<3|T1T{uBpQD~^DNyETz6!n9lfZ+0`26R{?nyyj&ZL|`st|(t zq2vMMm%4)5StobxbA%m&<`!7!k!xP=W+oZs(-R0DoneP%8tRxL#ujF4yNTVi80|d& z<+k=})XBDbe1|-3CTz^uw+u|Ll<5Mgu(GDWV*6;-ZlPR>SPv%O40HaK*-? zq-@5&iA-kHNc^r>Yc|rnJ7s5RWNK>q^UR2!f1cHByS<&NSoC1NDIIq+EsLX1AvZ~e zCYIviuir!D=hAJtU>Cy=!d;Vt8SfE_{jW?+vjU@Qh+n?kpZ0>PYAGoZzIYK1Q-2jF zxx%JcRvmP7anVsi{pEvtqx)Fc(~e~vT-3le^$O!LGP_386Z@C3d8$QS-M!t*%dMPN zsxzrYY?nadb+Nxd!D`5JT!Omnzmg?aEp+O96xW%Y^|JR9cTUbaebP>!2S%%iBKC(b z>c`|YxMc3%#YWBba4|ml%d9uSNA52uMN4oqH^3muC4tI(~`6+fSy(6wcy+ttS<9g@w*^>>o7Q&z8C)BzcjQb#BFocIs5zS z^UD6p3x2vnmC>MgeSD4{_rgDeJ>IwX{KN&T)0tOCX8vTsqmb9p)|ehTd4J}4hb;Uo z+SU%fR}3l`2gVKc9`4tds3_P}@sdj6wZBfYhW?CtHr?-kpX#78e3n4dXHqe{!-o11 z4$aT4V5IW=CJ^{`2XDjF%)p`RzX=kTpAUMvT*3OnO{i73-rO2{%{t?HbG`u52A7x3 zCS=z4k0COtY%e^@{{kyaMoMY`J4yWdl_fxo$};Ny>vzBA-Q~6>f%P_C$2HW!88Qep zCeg8B*X@OI>g2>h0@$M@QGm z^)b4_q2dsV0lURb?Cgx2rVrPIF4i2h@*Uhd{Rliw7~^M3|A0qk6USFr=;!KOw(F|C zMGF#6ziqLlV3n)z{AOoQ@6y*;RYDPB*{}+yh6LvF#XcGNd*L z#AwEPP!}Wpht+3Gz1Scv_QwuCJ(`9Z8FCwVp!!CwxS&vk3u2hl^O$A0a!{Gpf603_DSZZr`YJu=Ldj^N zyjD&Rh_W_H^9ssK`uO);f6QN<)OS(Z;A&Pdk{LwR3h23Lz9chZGbPcFxS*|N2Q~ zOvO6&A$XBnAbnM?)AVC%*Y5`LXFSL5Vtmu?OUFvo3%=|2V60O(@X!Qrtj#QUFe;KT z%{{Nfo4i^?8y@*nr&OdyVXzu27Et(99Yu2!{<4q3nynquRV$B5*? zK@1Ysj0!101W7v-{2}08TOR!w^CrEs2Y2;kAuS#I>cs_u508+L*VX!$_~!L>cR)b9 zRDv~%&;S;vefUeP(?@PSAAjh5i__4aATb-&`)lY}G2|W;i(1kV$(m_0?gg~M- z2cPYs9zWc?e1?@@mm@O^HTBISh*J~Rxf6AC!q}xAC3}#PLl5L!Gbd?I_b#U(*+8;N5V3qT+bl>N~KGBQ)S~zU%!%@ z=t19Vktqp;8H}d-J$n7)^NvX7e$aB8)mQdj+-Mr95n6o3NM5CDNh%55dh{}GhR}WS zJQwcQ^IxSod0+I+KOljCW2GSS5lx(AwCs>3w7M=Q82yfA^GFzaJV&Qgb_?xf7TuxRm=#N*0#6D<9+alJXpZ-5?)JNSl#F4#UGJR%}P;O2Sp8}^f(qg5e;borQ} z^eH25w`hq5SDQ2}C1rCO%VK(bNLYc;dym<%>>hfCqCb`{US2m~dRE)a-FK5=&d$kh zw=H@*#Z-<_*ZMvDgjvBseDj$;ShS%W2RT57rs<}n;51IPNT=M;#d4<}w5iopp@AyG z{5)TStB-(D_ulbw#G`2IgfrnsIA0lOw6*vIX)p3}lP&ACf2$IObuCSBQqT9^%O1K( zP$r4OyaOACS|n#Jkqnwch4+8SxZ0y}PNoMpHLRd$mU`9pu*(b&=JE0wl`P#>mo&@J zt86<%rA<`5Zf?4AM($Fzo;-%MY_7t;iwNQ-_D@`VT4YZXcm(-E(4YQw*N!Lhxlx7? zMBm0_9sIkAQmQ1hnKq8Gm-)8eJWxC;Uz=&pa$>uWHLQztWJQ0ql!1YnwPYg$AI+7U z)1ZOS-CbX467!gT1kbfq5uW$6B~_pPIUfi_N!G&E{rik7TE5Hs_+-y}QC`Wjj@7o9`V(r0oPit;#EA{C{p>&ENsUI=dG7a0ca&vPl_w*j4Fo2sG=IU?aaWMw`+q*@G<7reytZ*AoE~E=ph0@%1Qrda)gd5&K#Z_J9_c% zT>u$(#WVaYQEmgqoz9AxJx(je1BFQ!|IExx)na$lmzyhx$H%wJfmOf|8A+iQ6o%ACmc95!aff zQ?X>+;*5kwMf4E=L;KFRtu%y7%n<#_;_ZCU=b(RkNo2R!n3Uy@*U2m)b>=py|8yHb#Zy*(TW z3FLQ(s(< zEVE3jXg(3Ix0)d2T8uUZhgn1(H@f|ezB6QHh*=baLtj( zQN-KoBp_h;D#@zN(r?Mh?PRR`Ni>ZhpBYE!>#6N~7N)~T{_4v_SKr2a1va-1#k1R1 zOGR=>eHhGemNJE@vTSVbn&6*jUyoVZg0PbyRu96*%j;cZ=jK$|+SB7S6XBww@Tfyj zO6z;!=K@{#w_PBjpS6_y5evuE&SGE4GElrj`)6xFWoG${u3dlm>_kqdh&SuTpvUuM zgGA!cBpsF7Mgu+!*K+S8S~elB{oo#)KBcsZpfKTFUG>;RUU z8j;l_YaP_-k&%mXH2o^`1f>En)D7MF&lIc+mmXs-R)s-f=$UeJ6($`4k3WqHCrYo+ z!Yn|UH>lD^2t8L`{=M72p`08O?>wvEeq84AVwsiSmKn*tI00@-VOJcGs9q{GV#v9UM+RSJuU*s`cf z(aW-ak+{3J=e#xAT<2tVQ2^IJDUFS-kv+qNeBgYPMKRar1oyg#;) zk@?JAd3a)gI!f(P8E&=M`~Z;6<(5 zSNsiqw|-KtDLv^PFWG>M+!7mZ=xR1Wif1%aT-5Pb$+I{2T=sJL;#G?|W-r8>g!u6O z162{lYYX8oe8@wMe^~?GCMw6pCFl$(bv{K8${veL@WgQgDr~>-@Z)msx=avb1oHc0 z+H0k=SXlEUNuy(9dm8NJA0PL_TlD;WzCs{v!jIreG&h&-)o7X^=bDx3B4Fb~4_VH( z;rqJqFBae#dE)CU7>euXwXL)Qpa(VcZiy1ju0`Oth z=j)u9bO&o)5vDpiK3-l8notMV4Zshep_LDdrJzaZ8_wd)QIwHNwRWO|09?l^aPIPy z!hTHVdGMO*rO5DgN;f<&AOu!*VfQUNK#658Wfe3Xh3-l|7~m!HrnBL9tUlu@o%9N zvk~qed!klED}&lGp@^BxOj&x9N@;``)#K4^Wo;eLaYw&Lq?!9!+FyL|tY;rXI^Xk9 zv!!zX9-n!cdkln+xTMk2uk^VP7^(9jfprQ64IQY^(+h#u=1ud9y6_2=ywBr%Xx?mZ zGWy7OJJbK}w6hZ4Y(Haz3{xBCH~BE83nUy6PF21V)6PchRfh%-J8n`~nAgAADc)0Z zwS;L?u_nq6H%7_>%r=Zx+)(Gds+AIDe1y_w~CE;w<9E72(#4Ler_oRGeh znVwZBzW%tjzBG4ofSi!fBTIZC;yR3YxWBYAd9LJO;QaT5A^Fbfpe8gja$tU8Ay+;f zpO7@ehvA|F`hDiq*0ZtqcP<_pc}Cusi1Efe15$Z(O(>y@$sW363x)rG&IIW_g_j%A ztSSj;&qCiUX6nP&_N*}Fu67WCIS*2z$=MHwBX2$t6<1Jen%Q9ru`Y^g%IA53F-MNS z(W#qA2>rs9)T{_2iqI^~f7g|gJ2}21zVus7Dm`UGe0J3SPgY|UZI5Kj_XhHNYI!vB zVdjyOTMEI)t$tPxR~a_%G$=~ANbisjTly-h{Faal)<^YxCmxm;Z(_gmJP#LxCoyO7 zGX=T#ocLZ#ui*JBTBEgEY8;IHr~BkYve%75Yqj8Wt+n$k$tY~NJXuOlv5sFKKHup0 zn59Cor1uI%pMVUhjP#$>^A$77a^uz#3PWId`H>_C@1EX{ZD}=eB=*h6h37Q|%>QfL zc`b@uhDSvjo}5@bzBXbzhp+yA8OW8uwLtR1A2rn1+k8pL>l1Hg|L{)XP9dKx18Rc_ z&-s7<;m^t9j9Z2$^46uwolGvH_~hneiY}%>4d8>-on8^?sV%5zXn1_AoVr+B4gK`# zh3|v;!i*Ywskt8VIV5|!3{^c^pcUN7qc7uIg`l<#hXm>}=BC`7jTSw9e@~C!MeJ?; z!uo8JmzhyQO+%g)q_Ss@_K{t)8wEGhdRI7B{t@mc9o;q6|eLsso;}xtJV4 z_DcGQhuKkgV%K?P-h#4o<|Kt$Y8F;>J(?XW8GkxBHru7ncs8sIXGabcJ#yDZiwo<4 zGyM8b>#9z>dJf4OKUn8pA~dv!H`CYOYM^*Rn+GcD+&SfaT27}0CFim8`^P2w^2$X2 z?N{0{=~DXd7z8@HJ7jx0 zg2j!`GBnCFTxL{pqohqU6*J|HGPAZdZxW=SZ2vu=^G`p>{yreNXL)%E9m&evI&9>m zz$C7&$<*u?Yv~6nHW#k#d48#=W-t;K{bd|5v3^ryEr&7m-(d{*^7n=Za)D{}*H8Sv zGjd}ZKf?b?AcYdiSb_G-|8s$)uwuELmY!mf4NNXmQ^?seZ?fQA)NGbS$a!meo6EHd zzEi7`<1eU!fktTjj4?o%K*1Q@ICw9GdPKXVNnQr&$&ThjOCMHW(`JU(Fm}S4-+{)D z5{Q2u`8!@F#9O=eHR99yK9j@F5h4HK!}Hm;GCB5$)vO3g>Y-0l`AIt5bKykGsm|F= zSE<%DW?bpfZTjwu+)p~n%Ks-n_xF#buzKbEK%q85YM0Hk%t+0FRpaS0l_o*!+h3Fv zI6OnUyvc0n#1nD9h(69wcS6+2!!tUy;BhDX{C{G82t>Xj6oxh4lHO%l$JDYjwCZ|+ ztw+&(VJ1pWjh-slVRT)b^U$-3DX^cGwwPrLvou%ocr4N~n4yx;4;Jw9+Z+WtSH$eu z2*bmS*>@K=w}upDo^GETAvZvxtf;8)(;ZG|1-s#V9bBJpFev`Ef1`!VDMhP zsztsvK5}&2M*UUO(=qZC{7(LH!-B4Y0*lxAUPcCaVLRB0b#!z9J1Y+q=p_ynUhums zFr_%v%>$jt>CczoDO!;qJv#hcrq1|MepyzID`i)f4I`Ghl_gmM`g_cLtUSDJBzUK4 zXCq{1YnqxSr0LL5PShsH(cWMBVZ1`EWZ(fKX=u&fhlAe4>QnZNu~^vj;?mSJ4n$pb zQFO$;u7{W4Gj364c{)L6#wM3kWq)J&Uika^x#*rHuY6OQPNF@#| zVSYML@Z;vb0Lm)B!xW($6Ot_WtXuDFak4RlcPA)aqzaXmk>U5bKF#LeO4O;fUzvqj zY1PIh~F=rbbC^j$xGGjA!Nc3jk95Sx}c{YSy4=!7>@F3Jh?3m%4nF$Uo{ zD3ZkWfbzKY=g*(r-FdF?WrTfv?f_4eyCCZR{@(kZx|_G)b73Z*n_QXPTA<_Umg0_I zAXSp|>gsAi%Cnolk<7O9wXC|NSREUKsjmqmdp>>eG)92-5N2Tr|8tQR$jjJ+i9lv! zCmOeB-;CK()rmjhQz7>E$~50~a_0nY9d0z6Ry0C2@+Ov5cVUw>G~M{&fxY;)ZcC%F zSaa6ZWvPlb@1oa?|J2mmntv9h{CR=Jj+1%B&-zmReV7&$VKelIiZ!xp<0$z4(chLd zD_NTCF6(C3vkDvMKPzQ?Ups7T-jm}bjJ?V{y8Zgg&shD_OEBYGUsroy9p~oeHa9ny zlrYt4Hv<~fN9{+4&ght!T4nle$OY_~awC0xPs7DF4P^S7y{*M<4I5 zzxtV~0y7=zgSjEI{k`AbSCoZy*GFDI{ROZ1cwK%!i1u`)Tv%xE?C6c|s~{~X8YPyI z0pnzt@_AgG0mYJ6iOS9OF%p=rm~rtWHrZS_DFf@*q_R)uw&?1{bc}RVjAh!}2j?eS zc5b}9=AVHj>OKva#7auzsqAKhrcRogq#k^7d2oQ!b9QxQBaZ6r?ald=a(#LEN=!xq z21HvV>|s_vfONve)6)~Ea-6Weyu3b1OA}y-g947HCvRO5pmSDNgGM<1lNpl^oTgz<>Z?Ljc4Lk1AK%(#8hV*K3}NIMy}h=Wl@&2Q@qaP;NauJVZqU7i?q0 z!%1GeIIAt20Sfiu??R(pysCPEHPf zI5j)_GfL-;L6U^N)19JHsvw}O1=w5gmAt{1l9tAB;R)?f1ecy(?5ew%SZ99{L!EYs zh;S7v1H-_TO}*o~w6gLu5p!_eU7vkMp8~32r%gFi)7&2I&ul@X1e%Oq1xH=I^Op@cs3+&fVNh1Ct+cN%cscCR)>D+ps_aik1F;Y>PC@ zpZGc$@7I{Qpdh~^7K=#l7jiM;C@qKi9e%^q9wOpsPpYmZM#9QQSly{mUhhYht{H>O zNn3rHL)hM08BD|dmwkMv0VTHW@B;_m}bkvy_cTe(m#qK zP@2+YNVF~jDL6ek}6nOB;7#+Y@LOUD)A2)mKa=+mK*qw5Ke1t-WthpLewuf_Q zo$86{W7w@06|o7S5KmP-V8cA`kKumgIY2_rQymR5Ac<@P z;v=2G6?+cSXlLy*MN=9tk=9(o`2)`zKD?!ld^N&F|*|~Q>V#uVq}Dw zmNs-`^HYw}@e{^^`g&e=c4hjc>#HlMc3nkwwrFXKm-yVejbW4lTk6_M_iFsWdy)_X z@D5#utf`$j_T}ms@$ppn;p1?4Xo&Wdg0n?7dj*oQm%yZ7z&TYA6%`c^xtxLmUTjZf zc(?%zF*`^%kwzOYV?!XyAH4Iw^i|AQuRLYd-Pk#3;&kW_>zxkkRS!}SMLd)+T`X=B zqCPQW)L<=Esj1~fF{ryh z^01TVPUw@Cp)qxzv{Z?PC2^%=Q~sG(5Mbc-ZTpo%EVHrvVQGtQSc1HQh8Lf-}khr@$iaXepT~9xbnrU0?&gg4v(Z;k~%(;h&e{!j^g6jfqZKB%y>#e zNm3H+%4OBs+&sUg<|08}@F$lg2WgOkw6rwXXUxpZ0KPnp(+ZEO8WRO+f2rtQ*^G4s z>ZN-=y@&EMwr*gaC{)re#$cEil{-&W1fnHY9g}-cd19~|j38Ocz zx#G}ixC*q_WLAwB#8?*mENZL9R_jPh?^j_dV)r+cVkqPMFJrw$aBiroksz&W3wO;Z z3F983f(56~YPBEoPIT9oK9Os@OTPX@l;M_iznOUQDMC7DtIj9EQ;OH`ocbzg3lm}Q zykLD$KO@&j+ygDyt*I|**z0t#+SS8`%4vnV%vLOg$H?P^W({R(vf~=hq5%+yp3f*o+$uXe`}0B>>jf13`-oY&ItU01Si+KUBtCxZ z+h0;%c2vy_)GAap5>4K3ehqFg?8J9*zfy4+ffHRR@qzw(J z>IU>*bzg(N$kU691TQ!oK4i-NoGh}-FjdC&_R=9*B74G8K7(gP5TZ^;fPoUQvtyY( zrmmy&jxe&%{HmD~9RmYDTnrqjK?>9@2M0oqYrO#O!YnFp{kM`nNgCiK0muW0oq&tf z%gzP7ZJ>YA)U;$F276M58nK*=%q^m3>B*BPy(s@qib(7@Mm7J-#e1UufIbU=S-8ma z|3UQb1*Waf`3@SD!6PUrd>BT$+eo*I?~pw?J_bh&0FQ_P4-HUO0TCrLJ=$RUczqx; zB7%|dlcVD?fV~r7OeJkfVG=Uxv!w+@G)e!z68OUEF2(mY#mxoI_Yx_#ZF6UMqn+)W|4Y zSk(Ap4;&N%hVfvoW@Kv0?f&)(85y|~hgOCLNHeg(TW*eg$3;i?xI3Hb%LFqlu+1IN zw|n7|dGOW0f9KOzu`enMl?w8sPBurT%sH04Pq3pUKFP|yG2_}eatCe{{oA(%g@tKc zHnYFPBlG)89G#p%D=jWLk3Ls=M|(S$-J(oPnNQ>V9FMLK|K#^B!{{kp;5ieUk2zT2 zX3x_m3;T_b1xg7t7%FjdCbqxJxfcvdRGkQmT_pu zQLWqTf2EX@{O=lm1<4{HM*d&VwSU7yg&rzH zw5TE^1i7zOrZS_7J@PHq*<&%a<_6pq5fqDs&tgXZc>e>X;r)O8;X?zVS_%RPc1Zw0Z1k57Onqr-Pqp;jBIHNv z?-^oLxe?|?)q%h~Qioe3K|jXh(6j@{haMZ#1iFaDlZLgm;?)+6Lj?MAX@24Q+IfB7 zMyYO^iC?-55+t*#PYBsvApJKI@$xkIY#*Q%jG#r@nHQRDBFGT2nMW;m?f2x)`jBrR zq{A z!G72Gd-VO4kE*J*l-H*UJ$)Y-b3k_B1q#Y?&5C3APy01~PLI$JaV}Z$2mM5PcRd|9 zODZ}28hp3Q-3SEK+0zK|`HPrYY0vKW%rqX@OE3oRxa%iZcK63aYisg}X@V`Wnu$ax zQ6!}!@@PforlwYAPG)w#2I49$PW7D+7iVgLnL}9JJG%8eC&<4DC~vH?b8TD5dj&3; z2g!9k4ML8vAL4MkajL1-FsSNHVdmY3pVF>dpCk@8P@{56jaM->n`;Y z0rHd7BS@<_pIQWR9!Cw0v#bE@7{(%sCvugsaIu}@a;81gpIea{t;ck(iPJ`6Whqs{ z)a1Hr*M>NcS-e$G{yniyl;qflIOqj^|858fac_Fp0e1NyUY=Qv#^An9WZzP}C=E53~*TKn8%{n(zV$+2`z zJxc4AzehVq(*JMaCsIRuoSlj!-h(rsfeurK~C>|5P$xkr~{vGO!8ZEX&u zRK!&X#3vqqY4OadY$&>0W@Lr=A(I4^n@~!#ni9i*1&h2U3t|~F??t%0 z7GrG>Gn94^p13HCNHM!ZveW$Rbc~broH&Bc5Ra<&etxhmzCilCoz?Tbn>EPiwu%EH z2A6x5Tf@l2?6y6x-x-9whqI32?-BDP9FA5w>I@ip+lV zM}1Yi4L3T!%xtgAM<_0ryJ@}Z5Fz$!6c;VHoDzKX*VyoHS>!47>r<+2#20#Xgf^D% z2#?_jt3>cx;43c+h!wm^;^NQ|PShXldWQT(-`;jdiawK7cFnl~ZA3W;oVLknlUMxv zq@r+FR!%r!LSeLrkEiq_mb(sl1)TZ)w>$jT#&q#nBa_YYGPSeT>MTSc)uYXX)@t|q z``pnr@@8>eL*>=L8?C=Df^T(mlx8KFmhMj<_)zi+dsCxf`-^QKSgO8{JPx2tp)*z5 zmCLg_?M9?9Z*Z|owFvRtwm}Q2DUC0F?6;VSPW7-+M4zqtO}Rkr^nbI?CeErC zWJ+oM@^ZDLN|}r4))Z{K>I?MpODZb0RdgcvTg7!tA=-o&z}&Sq&$Qg`@9*>mjU3bn z1iIRFZPYe<_{h837mxoo{_6D!oT7PozkGIu7*jSoyh4s1+X%gAwz0LL4GR8;0$Jv+ zsD$ahwH;8>C``m_|Ea)15PpFh{dTAJ^Skm4WL9FuDz!qU;$m}YSgnd_S+h)>@~JKf z>8U3_Q%&y)xkxB&FL~q6`Klk{i-_T7e#54z$x&PtZ!n%xa2q42*XG7&b?;oRX> zU}BbCz3HH2QpK-~EYu1dqxs}5UoO6Iy!av|TQi2m$?_^5yEF;PEb9*rc0_w3F4%TBlEek_6h&h#Z$h+RkIHNww+@X;_E51+|YM0*^TzRUE^!W^Ya^87l>4Q?!%* zB6L1sIu#aXz)&@kJz`=xdlHI1CA&N|N(ZK@G4!}0ede^n;2X;8&<+y~PZfHEHB-a< zVu(U3lvg9BhOs`AL7qPq?iyb(@kg`TI_=N)+T)auDt#X*be#Ay`3+cjkM8T_QpAa|#i!UwH~ zh>_;3?>_NEzjt0*6qE;byY3HvkAwq!{*%fNfPb3f5Ap7s>V^7Oh#E8Rk+TuXYrkN~5_)AYxdU?qv_6lcdMZV1MlPZCLpLw)BpWelzE z7(zu(uu)BA4PouMQ6NA-Lb+y-mN#orQ?V_krgzXfK{T?buDj_R?x<41n1FY)B9At+ z`gNCbW*@~>EUpL`ly^sB@=FueG%l)1V51m|^&=y#i`&}EO!xKv{I4$R&P_2SnKQ0tk{+xi%m>M12Y$XrWQ05Q3jOC$*}*N^!eYVb3jNhH3f z(7u`B3ly4OcJ)%;1<0n!2ODa&Is63}Y2So+mK!xtB1O*4R0&Ow;>+W;KOt*>k$DF@ zD@~GmbMxe*HdEZ{)jdNt|3N;HmCY{JN5i19@(p+D*$g@81UI0iR&#a4saF*QmsuNC zZD%*=dHVQzbvzxYFwLVO%^sTS*$--eng^dCwjm|08{^ZDHK%`$*`|;^x9Wm6ELpt1 z30=DX&;gzEa}KvnUS+hrp!Ty#5;HrPu;TUz4W#U>*fadMneiDDKRK}0ZWd|=YH8n4|y}WkZ z#9c){ezyp!#>Mj+3-rfKd|%!5V;h$;o{)OrN( z=Q)OCETPTMf<~`*47I#24!6E(CuIqGsFTrZs}&>yXU6Ng6eoJVSe0SKG%GP8_u_jXhdBI22HdYN@l?fdjZzmUVtwi(>Y);uNm=Mz>NZaPh``sE+>P?UMId6Va zN!m1{87YjHq7_})${cxse(q%+mY<3NAs(cWfw7~yODpapb(N*T`7G?`hgy}Xe3Mj0 zs}XY(rB3|@`2>qH>@OcWd-m7C`NlD?!|vYLv@)M z3E%E0V`>uU7nyf{E$3l%;2TnQ&W^B)%%wV?uNynKdF{`Ta#<)F`ELdnnjY!O^N`9S zRN8g!L@96{yNBcuQ)H%!TZm7hp!OtWLs8JFfu9DE5)=N6&x?Bc*}a*XNp<8feoj5+R}b!cuV#1 zvupxq+G4_VfQUz|utq0KvWbBw+wv?fN_Qy|tH?R!E_NrlB@^<0nh8jw8&;5WkW5sE zoZO_WwVR$Po}mn;M%YfTZ85Y*W06un`T`>+Mxm9B(^~VJetQ{Ho-%>EteI>-X?-7$ zoStebVLP4&DC=FUo$6VF`$GI5PI67nJ{!9uV>etOjjRxjs2#+Pgi;~6OK{V11{634 z*6pW_nDR?@#R%2{r05(^dVdEIp@a^+;}K60c%Izb*Q?|#hQ^z5bcH7_StBP%K5c6x zI1fl)%S!*lcC~uZ{>|HNnpj6@f1ew|-?KuC@)>QYgpH{48foT;2v3REz{A~5S7sPl z-xOM;8KgZ)GEsq-o0MmCQ1ZBkzH%o+-sOGz*zna&JqE?8b1qscK_4$HCe7cfujX6` zvK)WM>~(Scx<}>U(JlW@hNsJ!(@TLY9^YP%=?mS>#m*R}aLHdN>L@{96*`d;O*$X& z(aQ}VBb5sy-6Ii(iN9h%dxhjN?O;9PH4iV{DdDx_;8LeN?;elp>Gu{&Pc4D(@U|@d zn$VjlQ0BQ~b#-(3hjVLnD4%8+uidT*Sx{v%Uh`4c(cpJ59Mec*sh+oDhGEhe+H4nR zk>zbjPf5Scql@KPO;n%|(O1l_8C9pxPo!2j;D3GdG-Xj&Sk}%=AJL1Liw2_-=g-gz zZf?J)-Qo#PZi@{)c(}5YQglC<=`e*Fh0F4_jJM?B>;bl{D*?G-(wjg ziLxDh?sITK!RWf0quWsY!o;G?l`_^U2kIh?3XM)wEP6T>w7009;vhEnH1_YW)Q=vz z#iy07f=ruK@riqzb9^GNa&QCF4#Su*TrYYEC&2-v)9-7|+=(Y3_7i5BwU^oLP+ct{aJ#MKI^7~?_m0F2#S?XJf-B<@i_Bte(>F?{Nhaj zhOJenwCQ>r824wp#V0ZNY2CN$MBg>E=E!3|L7}wGs=Nb#JyZ^Gx`!lY`8`~#Va>dA zsriMfaO$#&`*CBA+(ZkjJL}|_5c!Pvb)$rLI8cVWNZgv_U(cCS9fQPfYEaolcwF0% zAUu|+6#jFW`^FsP`wQ3F7DP;fHy2=*IH4ZY9w^k*Oz%5C{f9JMZp{?%+Bj0qYjmPS zk?sr58_p1%c{p5^hdN0uPA|OR(8>&Zycq_wi=eiGS>n<(kC=y6{tg5Q0uKRIz*lThd8TQ_vMq`G5KzahDieN<)6MQ7wGD6chC$Q2dYX5U+Vx;r)9^iDbams>f}S_^pw~SpB(Iyi zpP>ML353VIsED@tw!cX2|0sLws4Bj=Z}fl?A_|f!9Rf;shjb%-=mzQTl$4fkkZzDJ zDG`wF?rsj!&E5EWp8MCmYrXHRv&0iKvuk#I_b0s0?M?d6_VBu9Md@n(R_Hn^Q%abn zl6-jzt7aT99&BI;;V`KwB|WdC)pX?sr z2P}{6I551Y1z#Wf1yYFnMUWX1W-JP?CF&ao0 zYbnK%vWU0CKO5u(z3$JFQ|TAYg+R-UljtYbFZc55l_+-7QFUsgV;Zv5H|7CY?K4ij zgy#AAxT|7KNT8=hc2BGkB~6YqO2>V0-U(1N8I*X#-(U5Zz4^W1lZUw-TDklaJM|DM z4Ef)mZ3aJEj*@F@AHFlCFj9~;nQL-CF_ZP(O1)Vwtujr=5KKFfoKO&s>8UQOVGWG_ z9{Zm1Y-1Xbb>C}T+>pi$1q)q;Ntmm4> z(yOT96E|yykX+<;Y9o&4{!a%BVkNLdT+>TvoX4OXCVtLc&{uzHWWp*WQ$}nwRqcDl z)ntD<`wxru>$EzADDd3iLLw&lXPPd46!h}ETyC`wd=r@T@u_0jXr8WG$TxNJOpLu! zw!T9vTp0vmd6L*Rwh=aJbHy=f&Bl5y2N`pBGa&>Ly{O3&EPwKjj{*${s0{rK{S61q z_(TRh-}Kx3VOvQ-L9R;|w~H64{F_NjKVj}K-5&To(;$7qA3vL#vZY9?r&aaJ)8amc zB{g5k$|iUAVOqUtSukXx#ww{PmC02S7cPxw3znx+j^G)RAf*h>YCAzekowK=`x`kU z1|#a)cU=PLsF@Nu3J*QBbW)zoGu@2?TDm*dYz#(uHP5>SkfdR~bZx#C-?of$Dt4Az zml=}B+nur@0p45G!9jHibm3rUn@}Q`H3*XkwtFGQj|x5*?j`H2H%aaP%;LHHV{aw zxo0v&D%yYlG3My?fY?wk{UU>t)x%hMqaiw)$gFs%t~R-(wq_Wf`fr38W%#68p^CdZ z*a4iMdj32e4pN5E91Xd-jCj3yIMG49yj@^b(EU;mT&q5sr`ZF%%GMvTeqL_x;L3_i zP0dR7SpMKy;j7+idF2bvyemd*dTFG_!}*vGaO`KRV(5l;8d?BmtAIR~w>DLiVce`l z_Q>}7WAFHQ@Qzat!8th*@)#Dl=O+lR3>U7i&Pl0oa-$utG@KRrD_0m@XZ2)~*wK^3 z`1YNO1V6Jqo}>O{z5bQSbEGn{v$g1=A(Ceq#(%6z@L2z#d9dn>Mm7($tWAEd;a!5z z6qlA&-;6~|)5_Q#5svOuuDsj3XNT)ZN^USC_7x_+5~!B#x;`SwMWT0FK$MGDfr zfjO2u)X3y4iEmWujO% zbl-3h*22PPrRFhTIXYU2=5%1|NN~H@RLGTPB_Tb(vOf=WTHKcJ-Mw~v|L{-n+zxxv zw^la%T%GSUwsV~xAHI5yLo_%Tu7<(s0%$CJzgYX{oI+r4GonO6X|AS zXV1^GXgEZh(hd_4enxFTN`Ude%``|ntOKojcQ*lM=}kddGCk$k7isZ9?o=CBsI?S%3_U_16)6Qfy%N)i=YAV@#?nTn90X!YjtaV5F@hSF1jR7Lh%lnd~ zu~B9^X(r4OE$4wh^i=&ErwFe)%b-j*hum^$*V@@5`{JHk{0*)qeZ68=Hxk0&Z*alS zpIMEKfktWpf{eC;pWH-Mw#VQ25~I%m6~V{j6j+_Plk<`lS6246x39Fdqmmw=2_fEez}f>;sWtP ziZbn#Gm%|ars=Zb9;C1AmPqrF=19?het1m zc14s#tm&4eJea%DdUnu2{p#7T06ZgQ)u{rdUJ{}C-90=WUa#IpqiAxFY*l4d`be2? zQZ(_k+`lYt{5R5?y}ZZ-DG*HXuT8rWzlL?iW82Dca}`-7aqzjyjPB;RkhlGpo{S%N zJBDTTr(ykho12Nb@`@Be&28K-!=CrE zg7b1RI7w{=v`6sRZXd*GtG8My-=b7COz2mj%U=>G-rk9|9C_Fct~~kpWi5=B0ysjl zr37;YK2BsoAKa*iIGv6f*wvl!Rosh>aU*#*==0&+ezBXkelS-v~+P*Z0`|ljUwZ!9qQx09`Buy%EFb&z)?}i%4j9N z_ApZJW&=;6+S>Z*{HzHSAtm0)=HW|NZEdYcRG$iEXKT{6o9WJs7@=onMa9l#@Gao4 zCo$*6siw{~S_akCO)V+b{-BA``IPwc5FsnV6CM>Az%7%Kk`VnqMw9dNw;mnY;Nm90 z*=|1ON452#!r7Zd=Fk?u+dE|}&@x{%d#8)$HyhUJ_C_kVl`6wO+{nR26eN~U+zTAeI%CqBYhB?0#{ondbSm@%`Zh*) z9KyrH0hk=%ecy)X6&3ZG)c`yTFv&6n#49^HCdLx*_RiDH1@jmub^ZLrTrUj=W?YL1noR#xGZ)$E{HFq$S&KoLBs`SVksZ!A1hd|WS)J8tDV4=wHqNv3``6BS~WBYg%nkh^2 z?@j26&1F|O9w791dU^&YbMo?fE^xg&@7J#=P$~l2tq6YY0Fqr@U444$kTQUSiWmS~ zv4HD&-`*Jt<-GORHYcb zH$Du^8?gi*`49ss>_CDTpyOSSmcP*SMUx}I!xc}w4HgF4^+G}&*Nt!fS}nxWL(S zkMYaPOR>l&Z9)Hg?k{I$$ivWLni#9&)^o@MLNvO#xR3u2e`Ntp9~CyES9`?@2ss}} z2Mvtzsj-Vc+kT`TRCNDDy)~jz3N0M{Aje(mP=b)BpY5Yuk`>R2`0Z{kyIJja92ll)0hd=^(ec3(q}e27dTgWP3+Pz;cGT5S!;kZ{&A?Ec+-^Uu$koWK<}G{Xx4sRgr0Q~9 z67qvR*340;g}JRc^WcB;9b^)2Zdp}Tc0qA+v-j^CN+quO^=+Gig2b%LH_P9H(!kNh zEMc^BOmS+BC=c~Q!enJ-P*V{Vjs2I&Hv2l;waMw}IxLjV?Q&t#9cd|UEP}f&km9A)$L%$%~JjoScOo z=37=KJerhzEpNDf9Pk{MlEP~3#N0tG+X0qN%xJ3togQUhbg^G({0({nc@_K@h<+{R zQ!nS1UY_LT?4O^eE>2CcC*wdMx)!=mU1%&U4!F5y*O_LH;t*<_7xG;fN^e~gIb2B@ z`}<8U5pZqoDJvC0A=Brz@D)l^;QiF<1TrZv38f#p`DOWRX9x(QfwG2(Fb#(%SByBh zcB4|gk<@XaV#b@-Z5^k!5>ng_Fzp3*m?Z$&x7g>Owta~V3zzZrdm_42AU>X&o~{QN z7sX5r3_rZ?DA?JjBKc(jC2`3srOEZ=TroeQY9_vsiA+*<@nDDZZn{DUkX?ui*xA{M zDtcjpxe6u&qy65XN`s%m9YHx{lWDBX^%5D+sAGBz!HUk*s5k>)lS?c(2GEE~F$w$U z=)YPH$QQ=8Iyp~FDAnA(Qp|hy)VC_MsWc6;5LYjoCErTtJcM*bosSM%S*Eax1D^yrxc*WoMg| ze)Akn=aX`0lgr=H?I*gq3JuQIW`>3?wtwXs&x3_m@9$vToSe(CFYqQ8>upbFYxblP zT7nft$#LqyPD^E2u+Z5FuqJYA z!WO-;J>lVk00>@E!kj>dZDd5yy@O2hW!Xz}{@S{Qv%^rG*x&2Efrj}+Nk*nL_!%oX zIRl?p4dCMC;R`Ah(vXpz>`ttnpTAtNaj>wE_P90kN6*mlT>afMI}12zo4Z`5J<)$$ zPc~N*HcE6_P0#n+;^QaHr@VG|chAqxWF;k8*u8mBB*`)4GVXWh8(@H|5gB<=YZ>go zMd17agVn^)LtDXaZg^OCSLx#Na)OR7#%7Yfm8GlO8j$_wU@d*z&UE>OJ0xjV*8}V( zHu+3RG|bG!-@g~+=XZlaijB>9FjZI6_I1Y+5jAzKmlj3Ldn~?jxi^bDV>)N&=YZm% z0lm!jlF&L0{kEy*6A;k(DUvPyr~@tG;!vhD*w%LMZ+qYifVn2}wofO}(IJYH3}|Ho zg-;^@xxIZKCz&LzPG3;5!oi?sp(k|5QQk8-xT7r-S6_-iqU2fEKRVkr?;9XT88$}F z&iuTua&C&UL<~HCiJzvc4Z6#~jEM%y(AskUQDJmYx%i&RwGvN)nvxO^x3A|a;XYd4 ze>j3bqt1FMHO-Tb{lb?nxl`yj58=|n!oYZJAi9|~3=~5USkdq9x-&8+f2ZQ{Sm}u| z`9STOo<7Fzm;SnZ<=&&_NU!h$eF-+0?ZUi zNc0YXD`-xR#}E6h^lULSGp6d%G3MJ_4+X`Gf6)N1*tjzz!C&hBp8$tU@Ym+>@Dww1 zWVCpWuWwd3UW{zoby%mq*&a!uQgXbLIOz_MfK9`XD22|K?b%M1VLf@$@dQZ$N<$IZ zEhlsLO_~DfX&6JK^X1Kne{}TR{e6oZ`OAQz^84eyDj+XH9@EoNQn$OmUsP6hH@9@p zqr`m;l=W*{TdmE_H8kfN$;9}6k+lH=)J#$VjfFtMnOnWUurchTKiRcUekir#g|Bn}Pkp9UnrCg+f=S zJCtsi>VA1N^8LGy^P(#r$@=>GWjhk=VMnf*PKPd)|H0A!lc{NE2zKA}Y)v5}V;_*& zHZkh#deVR*(ke|+RjJRMl*}sD-u?x=>SZiOvH~(QlSTXcUq5?h4){A{=<`$I8+1?x z@6M3V{@+qkq(nrNU0vUmIj;VGj}~d_;{S%E+QW4`9Ip=CFC;j4G?i>X&O|K8aH(a1 zLwL$^Tw_K`(!}q>~&I6ZB-cpy0v6-2HSd^v&D1SU8(xEWhqX5;BG? z%`iknXeZ_HLzF&9Nl1i;YV548@+iFl%Db3{hgK~uiD9aD&5`PJA?vY3U+DgwcBc2# z=8GaSGG|jGH>aHFQ^8Pi=m529A&X-64(f?%`XY;>n{$3npw37xZTS*zYf)@xt&{!5 z_mS=9W?o-)Z7F-q(YL9xnXl!N_@0okP+y+mO?6eKyaQ_;#uG3MFD(si;Pj`k*Hy?v z73|z&g}ghy^%-3@BXV*s(W_xJm`&)QyRmSDHD4M3K0kP<0jfZ6!`(J|l@%4=zO0Lt zdSBo*AaH_>&4UjaO5S+9XcBXZEIY3^U&27GA;WgEUGjElqcf~5lAq7+ z-UE=r1wIYa(9=gQmF;`}?44?FUucgChYzhDa^f%8VB@>0-gjDg_E zHXplDa>|1hGO!H!HB#O(I(i)OQo=BYqM$2QGS1JBfbV{bzx6kg9P9Yqh^mH$^O3Hb zogGHRgV<>gWyb6@lwRZf(vL@3cCa-h)SJs`|47kZhl-AF5Udf6j5aQd!1GTYJqR8) z&x?hpsUQ-$h6HzX!tPo$wO**5ETN`_K^h!pm~2w!f?Ir?VSRdbX0s1;5w^6c`xE+D zZ)6nh6h7aq-GCygdSZty}m_EIa$SCr^-h5BuhQ&x+&(j7%k( z>O1>=H&_kw6gY{k%-?)y-n42+LMXl+Tzl~tESE;r(7>~Xy_uQWVq#)4WtlzRkRl_+ zxlb=65{u)aprBAFG!_!0re@QY{D8#o;)G8UNMt4v%V+{#IovXJ^+f)b?AdN!YDwr^%r0k||;b7x17Y3sn;GPMs z)mkR^?2?dtOg@RKt_eOlru#${dvugrZ=sWMI-HqJDVxgUeQ%!Xi~iw5V{-bvn)L+lZ*;UpMB)+>x-nzGR;q65@&tl6IYzKFBiqOwS(F#Ew*?ieb07Vt z5$^rBvB}weA_k;~Bkm^Y1`XHzCMl-jr3Wd`w4CN}1K6YOYjE=0#wM8zhQ;%>R?s7}51Vj4^){k+8^`#)ALUr})^w~7E#u}^V*m(;1PJ2!ZGZ7YIX-)-m z2(dWDvc+poeewDSvuaJXbnl_4l~x26U(sF3(J=(0Q;>QFH%6b6KK1w#3o}V2xp09s zOmVM$Te?a+;qGYvF~vQ8zQ&m!GhSzoAUIO5@tdNcUUL!6M2`7@FQdFcLMHlUljV=x z2FBxfjTs9ks3FUajpk?bv-$-~{&aiJw007*fTl*eS~O_CEMM2YO&?3m}s+TYW+ zjWwkvxb)%K6jd^#hbQt&f{At%5D0?-OER-tb4#V&)Jg|ZQ89J8hn=A@j75U{3r-&d zlWsICi*#;|8`;<8dWTYrZmKIhh5u?DHpFuh3+0I}eTTf78AMo8e3MmGRh+xAzdOOH zg!xgXAR;nSxfpLp$oD%bdugpqp>)nmWc{hKkgP1+i-Te=m!l5$rCU!27G?Xym6NM! zi(1LJQ$W@Qy>;h`4d4AG!%3Y%;lv9ICm)3*1|X=@)6;9+T1uorXpyW`M4l#_Ke3zV zde4E`LZt5QE@t~TZ+?EFpJm^6`j z_PUJePDH7OPJVu#&f&3@^#`s6glLCFrO2lc{wIGRI&yz|vG#nDb{IdAnx|=3e9jo! za)>VFPkj~{7T@bz@&xB)f_Y7Zm9SpTOJsljMw7ZZ5pQDTUk7$CUL-g>HE6<>NCh(g zBFoOsO1QoGU6Hw>NjD(DHD4ChXX&TnOML0^{v*#7=a1pbxX$>tI^R*9T+7<&pWm<2U$rI+;l>a(SA=T|Sa zTI*7+s$@Djw!66&ji(9jB;Djie_CO0lGL#R7Rd+*;|gYOh9oo=hSkYk##Qg4+lGf9 zvLB^aT}*e*qoY@+r(fr3BuPs~R*liYoVunDoG8Ym(1n2lXqqDt`|+=S0JW*tMh6w0 z(=lngB9_2A4U+~iqq;fa)wXoHB3l=& z_}^AluYTtofTv9(Iwmd@C%|IyHgLfzKjR}67SB0!vC;ABG}Bv8FVp(xUv<~3bk7^U z=$@RNoxaggg-eh7B4tkZ3qmS7!WrBxJN=5!8@)~Z54YQM){z!jLW&%5*Pcf))$9pwH8-?1ICeG zk#(vlf?Nstp)`{k)_1n`yLP!F)6@xlhb``%^;F}LJ&Qwtqb`$o4;(a-lhrqmX*INs zx{#55|MWKQt@m8dS?BMXOLyC-?en`fFOH5905Ktt%eH9(&+_WIJ*sybY&F;1c^zS4 z+&k^haj1Rh*klc~xa!d$HV4pWJ#VHK`|$Pg@MVg%YZB{oo?XDbd>*Mzh0e4Pos+#Z zj)#vwJHq!CJ2ECd-L&Ggt}boMrXe)pHyuhi$KN3`A;KXA5y8)wv;#6{PARmcAJkuE z+z$MuPbF{Ik0?pEYW8v|CJ$DMPi|SgOk9N86hrU0(hdZMgyeFOl0s?ls1UVfe^Eo)d@UVXMnJiO=w~cSwAIz!JNFj+C z*EfZdL5j02cLWvC(_hc`wwXaMoS)%!zUbZ*Nl={IhpR)-v>>l^D(U7nJ6j|7EWo#x zElqUncso0LWm|c8j~)lt`U5@v^JmZU#I$a%rSaHe=e_x{$!}mkejFL)GDY=#{Uzf| zM|7YgFE1eoU-K;_Dy4~niD~uN$?XPg`K66hw*Kna>LNAq!D~Noy4i8+rB^+9!PKTI z^dYYM_d6NaTmh>Ov`OFjG#FRpNUn-D3 zK|PsaVQxe8tH{cd%;p4EjDUqNE^gy=-it)!vAlT;Q`B(J$;+Gkyl+%BKzoOs*T~XgGQ~N?*>&BBn2%p0-_z;bu`oI~# zg4gv)3W8jQXezJ+T*>3HyoK_=k<$L>$o~a?A-dZCZ)EfY9$xp~47cn1(<}kcvv}?|1`AWzEk~oo z3mA|NYynd!2t*((3#~0V4?9F7;mqt$QJlg==!t?W`?|~Hmyj00Q#g*4z6*DD$-<)v zXtv%g14i(6=)c?RQe5{pB+GISx|}a{;LWK-Gtd7!ry_WT3@X{v*~j}}Q+Y}L@3UVa zUPvxXNjc%t)4-7l97nBRy^t=QY^thmgi4c-Jo#OoQBxORtxm>JnoIC*xTbU4BHk^2 zU(zb@{#WNd3?P~5TMG_zLpu8`W<*5A0%O$*4bkq&uvZ^86PQTKghc}Jb`3!*Otom zv4r&>-uGGMds?z>Zv8v?=qw8cha-5|;_ax`w}FyDw<+-+&5Nr{^}#gxEa>#6;qNq` z=Yx~|UenqB*bwYr)_#Qjs}_-l(E=Tyb3|69HRG)^D_dHEOp+c~E7mdRRZdMA%mFCI_5*!o#OOEc?Xq{IrL)|J$D+ z>BR6El3kja-0s8C$&E!-OF(Zdb5F;0xaAN5@kX5YSOm2PEDcP`(%-iPU$@2SnL zGLUPV7td@ST?6X%!m)x zt!)GYT#$@(54mW4qXWIJmW23w@AKP@mG=7rb3>5C*Ha}=j&vC=kFUmL4|XQADdkTu zLY9#v7-i@m_R}A?8=P6yUQM+(*8_7W*QUv}hf9wwrPa(OAWJ8bI(i^shcLNwY;= z@<7d*Swkg`V13I=B%+J^lyxL)htbJ_Cx_wL9cUNE^d~^M10_JPi*J=<(B(Pg8{id% zkv*JjeX!oNdE!w#ci?g3=D>|_#!8QagELv2G7&yN6%q>vS`5Rh6V$fs)0?}h>%VGu zF5{1A2awkkUC;vCH2;Cs*L@$ij06A?6MXl7@}^Dm&Uh+9{%v43ihZ7=XI|G7v>D{-Xc=D!! zrn`GhOc)4QvAa7HjgQCO!`(g=dHSve0y0X!+#Iakga8;@)j9$Q@J>hGY==&y|5a>9H>63TUB3Ts2IH)AtE5kA7 zKWL|>=}MO(y^rRB#-csiAaUfyynXsT(hGF;()e)a*=n`3CIZ=J=lP#~K_3%%6y3*6ywKOv|rKS4jb-lCE*yvWO zLWzaq>Cq)3ItWZ?R=&O>`%FaVmq|?z6IYvwD{pChhmH&nPw~6EJ1`K@{)S<`Li49f zS7&Dc8!Jn})_{h%f%669yLX)|dFtxwk%YY3+V=sH%H<>T0QHf?#kxPC8sq8N3G_=I zjyib#Pw!2wtuuJ89*{|_n`^kne?93RU!s-~r;_H6fcd8>FwR5(#L2((I;TKwv) zCgxkq&yJ5#(K7C5&AnarAIEcu&qvS_+lI~$0A!4-Z*XMCVPb;4O!NK2vR^C8Q~3A? zi4V#P@w6Hm8grkAK#=rpDz`HUnZceP652Ki$+}f!NJwuaAJ@0!Mm|2i$<#Y-nQ*&~ zK$)5v9q$a{fq`VH1W6qa+n0UQ1x34k>`R*7Te8eevIc7hzkbEs->-q}(DdLgMKNs+ zrnTCv=&L3~8OQcogV*|TD5ze58j*;3tV>TlP?Zq=`Q3!5K5XE6Y!Gx86%*4}q$Bv} zXr<#BNrty}h0_6|)mh)f>};*A!ECNnF3rs1VukU*95{*7z1F|8_OsPwiF!@E#vLEF zhgk2sm^70K`fQb@#hSij;kD^YdVa$LhQZt0 z;xYc;01_-1GlN|$5(D`u(8x^TB%s!vD9K(M?g+Y&NnDoGP*jLcpuOSsL~AJA zk@ad}dH1fNxmoDL9p!-la&Sa?Oj;UfkoWB^#sj_Vi_nW1lLsdD>E-LQ6eFVtW86P~ z#I>rojoj+(HZl$un#7R*o}St`;7i8%qjNWX1PkKL?I3LIv{hDxV(MVwH9Px@(J0`u zmK0SH=QRBJ@NKy0H51s|f(Ym&!oL7bb~HD1=Gn-|!_eavAI^oC(zvwMnG|wiS&QEN zC>f*et75O6?1hcKgrsc3sq!Uq|MAHW+}zym7@Kx(z(Tf~g4~~jlhbOpx*dNe@8?fn zEn?!f4CPkdfU-1zis4+1go&5ZsGl<7?aVjCx58(SOwU{m7coDUsUPUKeTcxuu#@j6 zDnmvc5Y$x3AD@`03WM%<=!c|a^3Kh=;SQ7f*FQS!p8dI&TU^vuNh0db)3&#zC8+)=10%%VSeb|@8HdJAWB3gc5e0Df+>lK`2ncCK{IYWOqX(_pOF}JK?yT(u+!M` z-ToNHD`zh(bf2z^+x*yIJOes*&rxKDc}O-rQvkT^Ux_|W64OJ(?lB1Fvu8ymC0Ri`J8Dcb zS3iCX0}rA2*gu#Uo0OE4BNW={x;Y?0kXj+o2{L>F&B53(rwm#V-4ane<-EBib+f3c zJ}a6zoV2Oq?HQn1rhAgRx7)&NvurSXDij@!Atkx)Z~%nahCTcH z{qLlrXC{B=<{E)l$ypCiyZB?yErQ+;1JL)M(;dY+%emcsp4*BGu&WlEl!SxL8dJl? z!SVCKi_Lk0%J}}41IHdH9$78^)cf;|WS)F&ef@ON9d>ym1vTD>4yC5HN|1ZeoG2X; zyayNdIXHUy8ltNk9Grwl$XEJ(*y5V^E`pxPdt0&9+=5p(h6;<4oj?iAn2E&zr*$3jX!wqt2(p@o+pn+bcKM zYJDJ!h+dJxzND?LK4{FGK;P;HWHvYK-mgO1-EJ?ldwS%=L_f5rgG7gmd&BWDLwT5? zxA!UK-f9{%w~hvuj#u5VP5Q71qsp1jhd8?4av5GcymxAaN^VEXcXz6MCzDg`W!j$E z>ZMLMvUm?yH>;f$K%TVOoY&*BJ%%#F!P*-PmBQ*i)LUW+xZVJBe2{I*vRlkgpN99w zQV!x)48?D>-%7i>vc?M+wT?NRJhB1a7)=eDR#u0_8g+}j4E-bt2k!}&>^)-3bi4r| zWh%l>4Dub#apTqYX-~||d|||xI7Kvot^_F3JN2(sKtcX_8O9kOimy$YRrX%P3lkH{ z{niJ-LhSaMh+wzoMT`5G9-gJa7|C1!o3L&@pr4!b#zJ|xsc&%DiE~kPKX2V%c>W1< zstIyLkN$}mZv2x+T*4|gl4~eDDJ}F9mIz*s4@%c4bzSq*=g3$k${~|Jq_vu%LK<&H z3Y5NPDU`Hvc-rI==Y~N)$B8XRMm>FD{et}AS*R&F+%2^(?UMCtEvHs{ry;AZzx!8% zJ$;UTV3#Sg&`eO&M+S!`omEOsOicAYNHDkd1l9v1sjYEzm^-Y&n5*PBtyT?_xi>H3 z!}1>vCC75Y=Zw}jHz&)8>f2yzJsEVTqdUC6|CpOQ6})$|k$^&!;WJS@6%cU1X|p`M z(H8*uq_eaQBU(Q^R8~=W`TghjuuoKBp>q#icze7&Y&rQRkT!5^W#qfNSpm&aEn#74 z4Ll-9NND-U4jc)IG=FQ`&!5kwjdL<|bcKb(#K+NywF>vvBGH&%H)(r&%Gew|u&~-1 zorMbD0q3dWq9Tg(*tocIjXJf-3IO2*&^yYPS}mH18Q#IuFVQ0Ps)m4~Feg_dd|RfF z#Ks18X67r%@MISdZgaG?U8;i_TsfpOc1TKEVOtc>2ALqAHPkHbqE_6eEMy%YDs< zaTa#=p`)YM6;MrO<%5m0y!}_iU}x}iw2U~?Yw_V=fPan zsizke-Tvh>VWji=9}*nul@7GEol_Y#H68l~T2@veYP5t{&Ct+LV1;Mn=$Y0N_RUdd zV*HOr-SsO1e#qr!iv9h)hIk~BAiI^Oj^c^CrzaW2&}0j}xqWjpJ|skv%QL3B?R#P( zGB@|!T6YX&d5GUyOeA1y(>N|(o1VJ(H4mR*ECV47n4wrWIJn4x9Q?-`I?rQAB*9KZ|K5zD%)cXx9G z=x0@^i(Ut!Tm{s^tdRliYo8;7r;3E7hk_j8Es4Ljf{tgLv85&F{;KOwcYtnmb-lv} zKuVWWafdb0IAPL?YE3h1Yb1!16Ps0JRRHkmI^Pf8I6*+|a>_*jShKI!0fKr)M#^Sp zl|Vo?Nm{$rix#5Uc&g=bt4%<#Lld3G{bVThD)9A)R`nkxd-Npf+8+!^5Hd2qt}Y6x zzFf%io)kMHBO-*KpNNh7WH1eJ6$_YEyXWVdu&~!jXYd_dpXr>#BI6DTa>~kDEK`V5 zJl*cx;MY%7C1ow91_nFJKkx;vFEzE|$i2#;dga;K%q8i1qHgnSY${*Av^O~+#2|5U zmAzI$Cjn1E%qD`vquW~J^{_&Qr)RT%h0CaVD7xT~01)k#%w69!#(d)3-0b=G?O3_y zdo$}+`eGR%wK-i|QNiU*M@>uXIYqbG6O-{Chx`{rfF}N%xWM>(vZ$}QYAlga;^d@S zDnbUIoyq{RJ}|Hv15gH5(MO77?^(Y}t6+ydsGENi%zQ*}F*9qZs!olK`3YwF;1gvG zXlpyr)fsh1SdwGxtoP6-C)eW-sx^G0{6i-Mbbg(jL^^(fj3?07-JFhP3zOSE2|myh zHM?gZ3qU|Z>g*;uJUHOBr&wF*2pSo22a9T~rO)W>=mK1VbW!3;N?qE1QYykC0pxhP zxS>eveIM>pAp&+xK;@sDz`ilkiFW514TsITx{tj1;p15=S%2y;xtSZZr9 zA%dLPe|RaWmTh9(VI@JQ5^j02RNWdzTUzRDX;})iihKL4Ap(wP0NE4rm4cic-^$uL ze~caA(Ld0N`@^+`y=mOslu}R}`wfDDIz&M+Xb|%$H?XAuk}5%t!NwgUn*D~avuv)sp+ zq78#V|6W~fZBfBxP5tF8&>%P6Im^n5mJfOT_U-t@9SN3`gM-6jqq4c~Q4tMvXAM-V ztc*-mZLNCa_|KM>%(}YBMEr<<#ipMn>a#V-jujm1?e`T&`9{UjNKURU{eGX*UPl=m z77fX>!%!4Kj)+Uu|b03fRD z!=nd2->*~KJYu`enHdr@z&H>Ray(ToH*+ih%h%7jKbaL%;F?uddei;o%X5QT{mGJ~ zo}M5~%ow0CYN)5zVwbx{B@z}M4ld}>*eXo=40T@8Fujk;OV+`mdTg}C#$KbzA}Ouz zBCxTs5l{v;w!Ee0Z65I|GEC7k3PHB~xk(Mm`A6*?V!f@uKQDS@H)>1>BPEKCZJoG= z;4)YyBL)=R-3)x_6dEdQlDbS~C1z>4FS&E{p!O(yfr?7y`JMt8*i+1jKE>H9Xt}5U z@_J=n&E#BB&j#oa)#aF%?T zP5*hG+c&ya<&}o> zU$<>4P0q~3rQRl$JkeCW2)ZSmMh1P&HKlyIKU-!a7xzGasl`DWDk|=&12v4C%pd(N zJ*fSwt1I2X194Dlz=>cmqZJu~OOJEpa`Dx%_7xZlPKTJ~$=b4)*%mk1775=$z#Uy0 z+!HQ<(Li^XBqcdn?)dm08Wll(eLG1>V9sYRmn!~-7met#m!mHaPJS})vK1Mn@I50i z9%n;28-WAqwG8+Nx|leoWb={%+`<1FPwJCfB3HQg!;k5G{A75&Zyb*}2$O`QKZ30;AOgkX6Rr|d8+X?JWKd+6d+U87!(=&?ij z_mgldL9RBm!{>zaxM5!Uk9TTLy&q^H0RD|_#HgpRMwAaeeXa15sL&T}ABY~;CK&%> z&CmXYk^fV9{V%-yU#R)Nu=BqVH2J@9^#9e*eWog$w`^rJ=bp3;k?RHf;5@}usVVox z`}#>99Z1TGtmu8Dg-4mpz)SJ{dbZ+=f{22X>6i~Vp08es6vP&Mcl?;ERO&m+w}+yD zmGw=4>B{rhrGD~L)LP|{le^PMih1|V^+jf)h9vGM_n_7m-_=7z|ECyFwc8LFK<>FY zQe(h!)YX}9Xzt)wfRtjMN2S}D+Z9X0d_Egn#4)VZcXbs=zVdkoL@XeO#{DveT?Jv> z<829c@h7u^s_{l%BMJe-7A$ac69*3u3DIw)sqWF1e6{oBnXd~w-`nd@r$fV`)SbPx zwKLqc#|hweO*=KH&r=Lk#OBK5{xU5MNl6Y@*C6fDMrsca<5X_dkvPI$^(HpGzIcM( zTG8^H!eDbVE}-Uo7w6W>{bL%`nE%4{)@m&UT;MWfe>)?FrQ-;3QWYPSH^3`fm(oH zHNMh>kO8%_D00`et^wEFgnT6v zV`DW{c2UGRGfOJr>Qtyg#ZH*F5RSagD;IiPvP^n??O}68`Q>fSoQL<0L0~ZUBd1-0q_J> z<@Kafw;Ml?@F*)!Y)9&#WME*RFq&t-^#Le+ z13KM&Lsfv_%K1SO0zv>F+>nVScmJjV$=l+n#B_AL$;diF zalL07S!qc~t^g?wn01<(_E?;!r>5SKOGMzAG+C(SfIjz_QA#S(dNy{@kZEj8@#b_y zF|n$A+?I&n>$nrwG?H)vjlitd&M5557cY$z-JWP8)v{X*EEe^qjg6>!33nGq!EzrMnGCxK)SoT@kc>gK}t%bTe?f6yFp4) z8tI0+@Z59nJUogx%WpzeV)Ce zxe*<#*%&*xgQzmLA}#_za~si-&~Ih321 zw=q>2QD3hu*#Y;bDDdyVL^+D)92m1^78Wil&Ty_72bGA|B3JVkNA7F-t;q8*-d1UywPwxxRy4oZ^oIzT7(_i2I$Z;Ql!H6YJN26I z_Y*Xf7xeT~A3hilXZbG7vtS}XAm75qhLLsx%vr_*(eWI(7cyYh8UL`a>sL-@W=yOr zExo0w`UEWIW2B}WWufiKs8Y-E7z&9;tE;Q9Gmv3itQoLIv;(V#mZ4{OXy{k%F`qrd zGf2f@oCEfBrlqb#JW47mP7e?UhKs<&3<*JBUfHe(GZ>FE+#HgAK&+#n^dxdIxxtbm zUS_a8b+BLh_U+>0Vh8Na?<2r-HmjtBjwaB1b7G!Mw1=Ghn>hI=FNxp=pX(n#kb&P+ zT&y@Y_8L}qMn=1%<31Z(<;tHOEHo5zb6pWN12FHgo~{z)bJnu9-dbJl zk7d$@nbYbfzaTmJ69gR{Bcf@(rP{>AKW96Z@p5UEd;4T}p{iQIsWo^tE-w1;@K8=}`u+VD)4qd6yWk3I8PwhH5^VSfdwZl>T8V)V32TgH0JC(R zYR~{yQTfr)RDsH6_KP(;jZCMD5qEOC;hef`p3psi9@HvrZDVr_*6-e)vI<*JZf=T3 z{>akO!}bU~iI)L;Zv1rezSjgquM|Bzx?l%bUe3xnLJ`5n-n>3;%*sqp??iuZ6pr{> zQNhT=W54x_J2&kCCm%Gix)O<8q&hJ@JvG;czP)+$gxzjQa{s^oURdA&<7YZ6LWf3` z21~>T!;QZoD@(#=dv;?yFDjB#F~xQMhr7PM%*Hy2B5Jh#`bb2r%hqgzz~VsaCHT!W z?=;S(KIur&?Mf6xFdKJKTEsm6rPhdGlB%t!c-3%m6USBUZb6tgpp>epu(Y(qYK-}z zH?X*<#uC5Y&>%Q61s?(2L>}XFgXsOh*_jY9DJ1G`_4OYiAPK~0G2j-#K)w?<-QZ1# zc$LhMB6x}AeR+i=zTQyPB%{x~3Y`V`6fQ1?OTN`=YHHv@)uG3Hb}*R0M)Ng2 z9hz!1(a}PI0gQUgkhMRVpAP|t)f@%lHCj`!I1h`CR#h>gR-PFiMn=GYwEVz5SRaLI z1EQCJmpZ-1n+`&uSrMR_pIyQQP54q3f-Bzh1;=atM+Tee&z1}?S)kKp$QatpUZ{$S zit^?^Sg*pt!Gp0OmzCb>X)oLdQ(wL$M34%xu(82vp9K&0!vm)r9a3K_4*mbI5bElo zK=$Uh|5jH~QCL&6^1E4dIIAB#mOy{4)+uNG;xxF~U&z4)_gW;)=kiPmFIZPjv}N)7 z>exk65<>*z^8EPzgM-+g@!a+=;8uf7zr3vM2_Ye$xfGAb!9*xQ1Dr{OpJLiepOg8o z`+w+V(Q2xoG74CM@0eqctJevLP0X_i;t0!QIip!Pv-b13UQT( z18WE7!*x{k>AgvO3B7$_DR6$YtaOh3IiD9X31bxABtf4#=kG+j-CdgU1kSc{K z-hG@1!djl6S48O92$J(@9_1*)1*VaY$x62h55uWk8}zR>>GchGgd^0LoAI7TgN->} z*6g|!#)x5Or0Xx9iD1CF#wE>6%FW%3mQ_{dShtr3FReX1HF5G?Uu@naM(jv(OpJHj z42RTVFQay-($W%*Kc-9avWioZ-%2LEFYKiS-2OC77$96c@uPgt{%ilv$Wuv6-7pj- z8No=(oFe?s5d;{_!_Cb$Gc{qra@Vb4*WxW8Ge)}mFj3@aDRVeqkV&OsQl63v zzJH1)*myWuYC2Mh42M5*j(D0wih~m%Nx7a*1xFh6$N!S(S#mj^t<*R&2g8;#l}&zH z+H)@Ke#Pgvz6$tu_C%tPT@`AXG+;mBw91CC?R0RDo?eE6LKLA;vc80R3o$a1oPy1o z68jYGlcas5O77#xs23|2>#GNA+39>_Y_7!7q;OR#15b20AUo{q3y)<|(`wKnYdp)y z*Q%~7JK!!a9T^<-*%(Xm5^OBoR#cyeTv&LVDRfXSQ+aoRlpMW zcTBv9Tv}|GpV+j5~p1$09B0cj)^mvB7Kr9^K`8M0feBS;-DaVx!$n0HYo45%PmLS+FlOX zr%z5rOjYhQwFH)fEmclVf=0f|vLPpjJ@{ofJ2}C|>~k*X#iK1~Y7RmF`eJ|dJ|5#I zN)0Wog&mSJ&}m0Z%1=->ZvOESfIF*P5ElvV$rJ@cqeeNWBk=z$y*7 z3Ep#d)(4%0zYNH?KJ{O|901L-Q^%D6b}j{pI*&sJboq>37H^(E*mHiUPqIOaGatq{`<)!Y(MH8osh6mIkyc#-R8XD zM>J%eu6Ey*>@v17-FvSRH}?uZT$Lorh1* z7H02-67%sg{~hLWTq!U6TTt*^=$b!MhNZl`oJMZ%>Tiq4;2fB_Xi^!amV3aO|&YeRn(EW@6Vkc^J}+?s2g%aoHEnKe13+}g7C|L+1U zr6|!1exT5-)0MrrC!g|GI@U=7J4RO`47v>Um_I*a8qRgRo%?Jm-|C7>c5qasaXCB{ z)k6q~AHM5S;UPkaIV`R1kgS=jdN=;rPy&(jW7E8BrvxU^>zKq0(xZ@BDpggXyzFeH zW9qUwHGbpcZQ>FCX{a}eU(RTbe2TqtIBaNUqQ-o&D&V}_#Uv=GTsydq_f>NxR3`yS zEMo4D^2CM3#X;T6N81IW^ozd2tH<>1?LayoNOO~v#Q-qo*4)*S|IOn2D!y=NSEUX>b33gkxjpO2Dm zpEne4TxkWmbBy;m>-vjRj3CdmHQA!XLI{Ms3ECp-ICe+z%dVT;KrzS!s)B)7xB^kWQRn&9BVz68@s zA8)sFc6awbvCr>Y`Cg^9o7nQWFl-5^K+fLqZDG)}3a)x8399d%yJYVaxIj{Dys1ec z_2Wbr#I9R@Z*Lh6e3h?FT}^%_DA?TDIosBjYZ?#%N9>*WmrxIyS|3YF9O~+0y*toq zg5JK>k&n>a>v%n$}8gd zqH+SL`h7{B*Utx`E#aZbeG9HNI?R$}badtrO+E3$0s=Ea!YGnI_||XJ9g<#m2J_Yb zc>+$mW@cYYO72HxyAK-tzBBMA_ zgOW{6S=rk*RiDY}Q(|IbYN`(&makD;1gT7_f?$a>oCBtV2=pw>7uj5pjSckm#W(An zLZa$@mS0|Oy*=#?xQjcOFpHa>=0`}r5;QR|Ft)M5!ogWwt1c_q%UR_Wap1}q4UD89 z|90zZbu|ya7k!kuh3TI<+c^04No!wU|Y8%Sg~ zHAO$TvjM=i<>h03fmqh~%(1a>0s;*qB*BzM&tpNh(o@+?b75gxM4i`UnU6PjlsT_$ z@=UXTV5bp;hyU(}ySJB~zIJVK5f8Twmj=s~7gCeDzlVp0%qu>}Gsj+n zq<-q!n_Kmv&2hDMsplCo?-#Vv0|EldExGUsHNUIJ0C5Q62aaGjKOl%t`0~bjs-iw4 z<2GV%uWxFS2fWkxc&aZClmi-lKSV`o+WlQ08{Nr3qB8tV|DgRRl}4}?ZYAQ6J6P%*{`qqW7A-ONUmGsBo4P&xHwr%4J2dDMk&#)x zF1W|*$r;i)f{upvDJl)dtVG-&(GcT>Gr#SsWHYa98@2hJXx--;;IML_Fna%9?Wb)y z-`-+`XKtRZkx3@R5I{{pX8AMU_Hg|-=w!9Fy$o{HZuFsGWu>OG7_N5Yk%{#DRFI=HaLG9J3R z=zNTgt@rjkNESHX-)BMyzj&c!Z!hKG01{~Njw?NP{3a%dq3Y}D;Kn7rUJSz0Sh_I1 zzWQ09*&_Pl^}*H@>dnFfJ5OL!hfhp&eE49^q{~@uYt;FIUtlIGQVBG-EG(}<@Y4!J zvP|I!GICB^-`!m_Fcv>~=ZA>v~=0RjnG?NuT-8Pm>E zTbO0%ozIk|i=m-$x;{MmfBGiE2*-o4WL(YweyCRXKw3to!71nO-m(Egz1U!RT(`fk zSKxH3l8j!h(0g~`_6J9#{5Lp9oixZGk2E|S5s3~mQ*w!&ou{WKyDibt(U5vlMyWvy z?{CWr5Cp$7S0v3`EG@l*`-98&v8OR|Qke`g+-@X-UOff`LCRp(cL%lT(Or#C2?@&!CBoAl ztn~Db%&sFlN^hm=nd#|MK9X(_34HNbR|x=Jxe=7Av@y#$CM9-uL6H5~J36v+b^TNW zdt$c4zrcbCz*ie{^U1PjKbo7D|IUBj+k+|LAxucc#nr&|v%=SRA(F~Qh3@d;)JsC5 z78Jh}XtB{F#G$r)%IXS5>YSGsKTI>Rv6rBs@=Nho6pcJonW02HNC+nfzH~{|+gkt_>ySl3R@c@f zjPB>QxV^HH7#)p_h>xH2@o9jf7bO2GD#j2WQ+!j)4vxh`_`SVi8r>8%6%^1A3^Dc! z16?<0hYKR@pjgiw3p&@HaR#*#Sl6( zGz7V|^GWRo*vld#H@aibK@;xwZTI{4hhZ~|j3itlprWGky|(R0zWwxzqN3vNem}>m zQ%%g67y^1D6Cf8BWQhRjF9fs0(g&$1Y9-pwm=pm*9wU?ew>92;QO;38My~(z!~jRw z6KL=EaVKb~ALrcxWN~?A3OKdWyn3yo@~uF?e5Gd%!R&pe;&AFD5gpAF$G7g9(`3}Z z3>P%>Rnq3lig?D*>VaCnm-CQ^(j|G}O->cjmUoQ~3y4b@&go$M)!g;tkeFLvb8<99 z-cB^S&cA4vOCaBw^Tog^C-6I&g|sYOl58joeRnh)KUx|S?Za|D;-^vQ3o=2YbOqtW z4EYo_N91QP?k3;$BLg$edqI>Sm_~K16d4tT6`4he_Wq~PWAG>4zkc&42RxvIMQBe) zz)qb?2AI5v$6Uw;x!?6$YVKmSNsY~nj!MbPAD{133VI$f(01sqf2=eA)4_>?;NhuJ zpxw;=)LK_JJ-Jx`vvb(he($+C+h{q*W-J9e}*nVLaJz{3>j%MBf) z#BaqCT9M|>NS@HfVk&Co;mJ}~j-na{!2qG_&p!1X`3$jBw2sX5bY1xI3l_o1X$nS- z%$3$5RbJJrwL24eYJsb3-f~NuZ#IIYx2yUfWAtEH=p}&b)frW8GfhiRS3`$^=HSrB z&BsJNF3ZdNEBdpRW|>)PBGGOTnLo>)rA}ptGcQvALWJv2z9gG;0xMbA{Kt!8!M^j` zx4f1>-$%kmQqsIX7I&d>`g22N%CI<88L|Tzu8+wi^v*cq4p=%PF&F_M#%WaUV@kD#V@1SOr$Wlnhg&`<`@bOy zUjz-)lhfNPONsM#Rr>l?fCT{jNpP?P(IYN~(1OCNaWcf`=$X$R)TiaV7Dg<9H1N4p z0cD{vsLWuKl8L=nSNEaFx6|Zv@JH@*d0FbTvIA-JH5`Yd`v{4M%*cqV%&ZiQd-?~f zif~zjb92`LQ4gl;Gcbct-2FR{ik*XEJ8rLZcBni!a`B&6@cCE)-`LnA--}(X#Fuh% zAlGu&-o6$E35G?E9%pw4ZJfv)D>4MZkO9*Z8EH#fhhdD_QF zI);gQ|GoRAhq=~t;WK4w`7i9n-xgB2?On@f_y4FaFT1w3l0(UW`Qg|Rt~nsG#pGYT zR8t*&K$wY1(vW;Ht12!&IX>=rw0C73mfA?H-0!}a(>*n!w z|MDO~oSb=xzif+(?^RQ!TDg1sc5LUjblC(>s;7F@jlRr*EyS!wcCxZdUqw>$@!I;$zW?6k)4h2=t!8VU}kLGY(St$iw$`O8`}m*2|_3KU?b~WW+rs-p~05@ z@go8;QBJR;tJ~kUQWUcm9R5TjGIrd+L36X&ANBN{DS^Y1+P&QS-O_1aZ+u#fS;SkCu70#y(c`1E|tE*O22ec^D$Nwgz(q- z>VifcdYxLBmyhPOXX_R7$qG)K3%=Zf*=E zrJCS#J2S2IGVICe%i9cZmJ%Z!5_=zko3Eaq2b{980wH#GJE$+R^3HMMzj_;2Prr=! zuMW9n+<%{w!{aet=q4&UOu&{29puPLYG;{^Bwpvtx(gk*6OR&Eh}Z&1#uw=t0^|eR zd)I`7HF>n}YFg|0#%nSXBal=2W3@_uB`+<$|IlsC&dSQfK*_l&zJr$1FE1wttskmx zd3hoG!*!0%f&vT#Hm=TOg|(-&G?M+_*LKWMMrva1c##cT&S@QT{wtL*)-l3fhJ;-z z)=kvbT@(hinG$Di7l6v==H}*vre%ajA<$ZNT!yQF*4iJBatCQ5m}N!D%8pr~-FjHM z{+Uv=wo5eKvPg|xdUnJoxs<0$m7mTYMdwO?`c?Bz&tHoCL$CASFoIB1I!n4GB|_zv ziPtASE^NFK7tSt1m!~PI4tkGoOgiwFt}cs`1uqAgL%kaQUYz!$lUz8)K4wTrC}N9` zrD^m*K{S<%1HVk~LQpU$;FYj-*!)-w3!vCb~A5wsU49hKl&@VQ>e( z%Ag04;wGG(wMDYt|L)F)M{I>IB&GXaNNhNjc2! ztZg}FdH68ybG)6hm6~1xiOX)UyGsP|^75NTiMm0N zw8w+rI~RD{iT}Cz6@**=B#9rzpgJ@5GhEIuVHR^5Uot0cNI%cw%GidmT{Z1>)o-~j zJFGeXV?`hkFHH>*xGxwow!2C$&O>w`w%}`7rs=3A9F7E%&g>N~ITGZF18y6r6IBy# zcVAnvxPuk(`f|#jOx+ND{K+2DOnru*vH3S5rU*o6i1w`sQZ$dc+1`shvimqMrmO6y z!x^oNyp@%&CacM~fME$-!v~s3-x<1#-3$b3IeUcSZFz|X-?#QRUYU?3e=iK^Gafex zktwl~vA%gS0On*m9*D14j!I_@6L@8kL~zCHR3A^qMp8PXqtk0rS$a#16CPU75|xwO z&;bzmNzZS&G2;KCYvjq}CVMA@ad9%t^f+hPB<*OSQuoWD1&Eo>&23n_t9f9d1$ai> z{0<^?)os(I4qKc>Za@FXmh#DcU*^UsrTc`Fm-X5kS#Ub54~m-dH)=3`tf}x4&%F7^ zv2CJlo4a*%mg)LtJ%_`+uHhtU$wsEvc-&*{IJ1R?!@E{7@4$M}JV$5FX-?+f+c273 z+?rTZak@OHu%>*X*?(mmXF^^*P0xj$JU2^sd0dkpUdV%!QF(L1n_4e=XX_=zRk!RB z*AILAD%qFgrJZY|c{A7c)`x1B=vW^A7o7gVLqwYauX-q$vXY&?N2cV!qh9!_ z9@r-RdrWlh-u*68v^XWLB@ylc3Ok)6Vcl=*y}bAeuMODranVpbG=qR`cJpX@$}MA+PFb?F;M4Lq0?!sY!&bHnwI z!@jQuW^u6%clWM7BIdQ~sk+;;O*rdz8hJVu(KEy4RrTgF?-aC*ZXSLjju)06ZDuzi zamK8wUUTLx)J(f1sqxz7k7(aNI6CzFT_iS=ezLak-eRM^NZn?8n;J|1&Oa(N0zuTe zdzTsWnP!4Sn9tv=HjkD2gZ0OcoR{|n`0L+eQM+D%>Q7;2mWFO$_8|H*P0gyJ|9Mx0 zi^IiZGja=?NYC?dY&4ttpB=8BNlR1MB3vsL&O`8W&wG3z4S-XlX>;BDZ$p4Xy-Z|9 zo*o@NR2IEdpMUoy_g++IdX+T$I{8Xi!)1?8(5h`jcx~#onOX&_?*Ba`qMsV@SvYhWI`Gii?$Oj#9pnK` zGq!j!#m?Eee#kB;=O5z}G!eKjrR7lDfee&iP-8DDVBU3rNupDaN-#e!u(rcyldW2B z_3$CW?hm)iX7|sZVMhn>T6?1>m7F3i zFRy=2F)6k)TXFiFti-wmlq=@Cie01At9kSxoE!Dq{MsJMB-3QPHWcirl5ibEl#t} z&0S;Ce4hf$E@<#CY_*X`b4F>G!tS{*3ezJYF777spIUo(95r~?0t#tmaj`f2L;GSe z>7B5U3Q&Rc+^#n5{W4k~xNcf3Xy39{x+J{jR71dK!e`h;?7`x&bQu)1D;hZaECh4Y z>%q4)H5tkU$jy#fjZ8gvTk+Z=@OW!+V6V%bW4Z|~-aCezD|F# z*>B;o%C+QV%-)+qMxMC`=lPSIxXe#$5K8pwe zuCEss9u3*IBtF*^9_8&Frn8lVs8W;L=H-<~5)<|3m*YB~Az`9oK|zGo-=96>Ti;-E zZPe+*z-Dg*_(xc#f>v)=*XeKnvI8fR^Sr&iuI%hMKfmh0N6V~aHXEhtFJHnm+Re^x z0_4*8dXFsiG`;5EpENaLRNS@UUOA@=YQ4)kX-__d7u@j@8X;Tu_K){xZD!8GoAnYo z=s)DxO&xBGb6I;((3<&}nVr<`Y(pt5COc!A?9Rx|-D403e2VUvf_rFjgm^ST5xzWJ z$7q<25(|sEkKj6MdZuQXO|R%*T|q%upp*kwGbuWHe?0 zE5jr;iTC^13Gd8maHYzqWDyfn5spSy((S! zqRR#|JwI3I`o5sgM;XcAAkCF6C+C~I9-xXNo?t& zJ=#JMne2)#F0UN+T*yH&bGpPhK@z*hNXqHW8xtq?(%|L`mhWb<1vazyJePS+Pg9^o z;y<^Vo-7r5tTB5#p`T2GnyM+7Kh1GK8)?=3L1W>rb zd;X@%+mjAcDkBmq9C$GQsR?TB2aVOkC8^2H$*U-80s8|pK}_KLf;eGV@S9)S?=T4o z9sm9&^KTxQz1ok}#r?Cy%ww%M_{Xq~|LA0~5?5XDuiso(^!1xk6KC0;d*sxEGmY2v zBO|VnQFEhaWwM`b>hb6q8F{=;R^KA;kP4iU`Zs_4a;D>&q4_Gs#HY2tUx)#lmC3D= zB%CJ!FE{JtUaPGKeKhso)544l-FVc`(otSsbrHnp2Y=@ymK;tCwV`9`Q7_2F<+;0H zcSMf~K=F{)yBp&|YD!Aj1l1p8^gftD9r^x!3flWck6;tIyivO7u5aJc2nf#a-wO^7 zZus4WhH?=X2hvoiL8}`@GW|(;Kw?>YRrm;aTO39m7#pTf1q5opEm*yJ)rP0L6hX?Q z)hO6(bR%;ZA#}C0-@lK`m$3C`yxyvu z`_3a|K1ga)S5RPm_bwrqm0M0#l>()Q!{r%@$T5zjd_VcOt}aJnV!BV@kVEsz*z`|& z#@2J%lb^%GrTLp>;w~1}{mI_e*5mi?g&P@rtE;NcjQj*03`4ycMof(|@>u$wmVo!Y z3C#1m^`6Q!@;*P#7!MAJ9DGhvS)cw+p`vP!j7(QD2hOUaM4-hCuf5ZOLwvs3c;VLh z5i#v^0Vy$e_uFJ-@>`Ro!|m;XA082P`~uw6iytAtvlr9iZ_80Oj*mYVJl|{txCWIm zjpJ%XvX39aPy4DJvMmn#WpqR%+bycQ7+){ml;3;fi_K4tw)at7_-U};J#s3XcWC&J zo(31lXpWDm1=D7K!pW`jUc;pet{}?DC@23+Zi|^S^}>3zMqGjAiSUE2o@9M)(I=6A z%YwaxeBGkzW!cI7;5CJ9`10&<7&No7r2W$_!z3~_imh89z(gyHvK$&Fi zA7o&^*7DM!w$v^)x$KI@R8_^3mhpV`&O~3|XR(b`vyz(ie%z?yoI>tCy=t26FVIUE z9nk{7?n@b&knZKS_M*=2?yQ!TK4<87Ew&wobLHkSLHiIIwF}(a3k#d`gM0<9S6*rW zrg=DdHZ(}kXrrAE($FDHSGsO)tMP26IEF|_7j*P_goL&x#>TeOC&xWKo6ys__}k+C zR*#1`a|9J)+;~CA{O*B0QA8*r(nKwObqwXnn3OF545Ih_K68={L+oTX1p?bcFqM zRY%_oU71}hMft*YuqR@oqr*i*qLKUZL0?@=EUwsINa(*0Af|an#_Pcm*kV%ZJXRQ% z!TC%)V68MfGXk_I4qf;vD(i_he4! zkdg{IP||Z9m!*=SlPxWm>$L<_7HOS^buTLgVgGD0 zeu<&NBYO@WCe(hJX=$Yf;vd!P_5opwB=S2)S=V}U&qrav!Q?_THoIVE7*#S-IJ?pV zKS1&JQ_4@2YAPz$ljO5iEF$}=0}9_%JmkIU6}3NcI24FTPXtd_fH}bkWi|A8dl>AL~{H4aNX-I`N<()q&|BGah_oA+6*e82@|9l7IYzMPOje8~9R@uG`c4W6OYpF*5R^jP16asj0V_NjN<<&0cNR zET>Z;m#X!-3<#9yCzlE+FOP0$NcL|bB9Yg9ipKE#IaW}%b0kG~tFaCoSZ3x5DmpJ^ zO67=5)?AR~^0m-&022 zEA)f{QFMc42X~J%k^i2i4|xWnn;zA(BZ=r)Z)M=n|A+B{jI0PWU|6`-zp5va1L^VL z04$C;BPk<@Isy0&w>BVUWaRt57sm@&#w-IlSBqWe_Pddo?CrYG_yhz}l$}|xmUA|; zr4RKVr3g%|4`p;aVJ-hjxqJ6+mKwu-l(!rlcr8EvD=*I}8iAf!!`XVm%8DkXl!@sd zS{Iym7_r>|Y|jIbI~v$<{g<=`UrqKUQ@hxOx%p5}oxD2Ua;@Va{2HEGhstri;-oEWF)UIWOj`%DCCx`&< z&lKs@7pepzqh0}&>*{28v8>F0d)wE;KVszHGPpJLM2`rT!ROCn#cnhyJAC#FC^R$@ z9yX3DDnGYp&b_>mB_j{^H8+!tP8Xwij*CY_el6$mLwS5YvNd~CDiz|T8jkZccoJfQ+-luRu&;1 zUcFr^&5IBH$6!whJ9vD(G&%W?N5p5`w6q7%ihcb$CMV|^egF)-`#VlLhKHwSXZz-S zpG9O9&C@+i&k>9MGa8$kDq^ut@`=_3s17kPY|%)c*IPC@SXrk_X`b=8+dA%BV?}ia z1!=BHjd*y}fL~2_%<14K(ALg-{r=v2a@-IO--bLeHTbDo=9uNSZ&EBv?damNcdYv# zMsN^jM*8Odu7-)8-tWcI@A>&i&xpR3O#8?Tex38-HVyBsoJ*FI{#5|ml=DU{00L*w z??i3>DtDc#5MzubBq8DT733iPH9O15%G%b{^n1p2Zftyrnl3qxkC zh!i2nxI*wyy-t@|GDvxm{2lg9l)b%?1q4OVz=gzlTPu)C#w#1of8^J%wm;`FvC94B zcMJisG#zE-kU5;{Y- ztTJL^a9xkZ{RM^_)f=Nn{`z=*!^`;km6mb4x3P)?UX@?*jXXOa{C(`;xDSLmbRtRb z?S3Z}NvX-$Xy?yQB_k;{7}jNGb8{b`Q2i4c9LN@W1i$zoUY44TEunATE+A1vQMhSi zc{w^*Gr$T(`I*OKbI5O)Qg)`s#xm6h1}G`>i*lY#HTp&*C0WbKX~@YU@R)t#gQBlz^3xfUy->PKG8TDQm-3?K9X(?1tnEX8Q>rBIyJ!3(kJotXCS!)K;3z6dR zBwnQTK7`ej+?!MQ{D*`fo?(RS%a%7qaNp7Y9ir`4d z&AJocQg3L=9l2!6HlY@To^4C zsPseoBqRo@11!8}{+XF6;L81W^ZR$nGi0b@S5{Vpd@d--4eqAcrbI>#jvOd^c)V5` z(lIsVIt<(eth!W2!YyIC86pA#K3g3?B+URvM@khi8R&O4C^5LJs@%NJw_JI6+Ue<; z0^f_r#HzV@o<{|;sjBH}e%DJC{{4G>-FZ`;gsc&w3iH&{W14=yZu^&Rt4?3}0d*WXp6zFh5zgJWofrZe0lt+Di+veuyl9-1U zu?!k3t0&1?j5M~N`fF`wGJpSO7Mv5LG@38ath|*?bGN#>cYkj$N>WgX78|r_aD!Iv zy$>%g?j|JMLFV5lN*ft@;CaqdQPF2P_7mL55P-OllJXS)R*m#l)ad{ffq{po``Sg2 zl{Lnqgl~Pg#zby_VSq@RCZE^5?7gsnV`YVt36MT?+fZEYHVTF+5-5Un-+pTGjQho^DOKz7W0nTzv_6z!&1F!G;NU zEE1z1=8F$QBO};^wOZssJoe=Mg@k-4Mr3vx z?EyI9&oc2p{)D%bE~?*hH`Uph2T-&S7R^l$WMrpj$Hrj(+$`YP0LMjfpX`e)wX1_e zN8jvtk*?4gIRXf49<9N~t*xg>w_vY{$#(&J&xJ*ZDyqeW*1i1vksm)2Ay$h^ z$f(fasOE!xUsg$J1U1bLC@M4oEax#+C9<%E#R_P2l$I!k1Uta{-%+VFq>)el9EU%r zm`xvQez~4Eo#J~Hk6q=o<{7lK`0kw?F0LWG7iDAw^mo=equi02^H{3N=Z4`+iMjY9L78!T3Sk~b;*E{C~@texCe%=S8-nIypPTH{K0`h zEE5~4i*{~I6Jn$Yp=AET>mooo>z;uDc}K*fFOgBhT-I-xKK(q{Fhy(fl2W!kJKv$V zv`o4BY`696(6~E>L@?3$XcOF;_YwVK7A}!2_D)xpy`A941>l*B3jk@?0t;+^|31Ot zuz<$ZT+iSab9UYb!ZQ7a1~I*HEL%T=7D>G+H7cxHFV9CJxM4ri!TrZxmDZSS-CcY> z>u$=5kWJ6xCToREV0h-mL`oTZ)~v&BdU)V_sp%CDl;?kG{!8d_Sm zEIWV?WBcMRK(*ABl+MO9DNvBseIL~y{rXD4mW@L!DkZhn@yT}g^fh9HobIV`Vyv35 z0e-oCbz%_KbAS#`SP6K0Z@HEOA{?g8@V0U(g3(rU<{1PoD?LK=bPdPHx)`{)_SZhc zjaP>~Cb7xMv-ujYiNZ0{IGLD^p`Tu&&Ol0v9xr>f7{P_mTk60B!F9Yx?X*lqPgz;L znh=JZ2?D-8!a&NDhyD9TT&N&|4iKTUqf3)Kk;q zC1AFJ%or21J`%<_XM8@_;0*+LhbB#iXeX4@e%;(SB9}*bYn3!bXc=idTEXL`0?rUXV1=; zqRP8tW%Bb)6ncfa2fmZK%f`NadrLclx|f+Tw$$VBy8e>$P@(Y1g z$1&pZ_6b5wMTpOiclsB1ySnK=OB-uU-geyQ;$>u$i)TFzBrW_%k#u|iH zvR_Tj8IUhfQ8o8)Mcv(7E3ElwWWSev$JbOA-70So9vfqWx}74noAAjK3W`{4Z0t3q zQ@}sl&eq)qWY9{sO4Ed*lihdlyfg()x^xDhu!*?szE+>=)%=3e48G3>RhxnW0kV0= z9QIp?%`NLno0&o2=%~;|5O+s)FFSd8*5;?Dhx+8?l$yhfN_ZAeK!2v9UfaZ+XL~54 ztEA+Th&@utAlA^CCB{Bfbx6N%w~SR zzfl)_`rO>YxCC@~`?J6LfIE^=9gS}GpEI+u(WrJP01r5YjvJb@TaJ$JxLn=_ZwcHZ zyuVoEz0Qv)Gn7t$H#aIPvvuwU7jBGyF|T3fTnWQxNt`yEk zU{K=)0hqQ>t9q>MrID4@=K8uUBkKcvX1%G3cb`8$fE16LTUJ*$0u%90`ivwR?hPnawrmL+@Bvk>DVY55@5fGJOQQJFt^|#YB{V>Q+B0kK|x6#n( zRj>E(S6FpBFneWSz`v;HV)y-eqS)5c<81O5Z)~jE#pO;)WD@%V6nVSHDR|h}bdP)M zU5jjX7nl)oLPC1eRmD0wK1gp@6F|GuWaE<_0xqgfDfKIF^!U^e^V@z+!gJ8(Do`)( z`nlAf;*CoaZL_jZ%*u9Lq}v$08NabG9v1l;ip&}(|8xbsHB1tcJ)my~i8*?EAwe&N z#N34PZ@Lr~M6?)&(~td?vC>#)$A4fVPRTtnH{%VehVG~+Cyxj@M<(LHh?4wq^~xW- zfIud=DDiP|AH)hzPv3*V8N%n3U7M?*aHFG-`qhS+vP6AY=t>WaSoaq93$(O|Zq?-I zT4t`9Ew+{4%#%2}b;wU?si_wZ$90E`pTd1N>&NkHVPsZ0NuB=0%NGPoc_8< zMx7MgWoxczgzwzx*-vbI>-a|+>v6^QT*?_?*AGM@FXWysD+!ha3O> zJe#ZKHt<-SsVFD_^dId*%l?nl;^96o(1do`2MiqNnc2*}+G*r}%$E^M__@G;|6gU~ z4CO}A0bc)xAA|L8iT=;)%Ky{N_#b|Z;4Qox84IoSq28Pvf>65P5P2q@x_9=w;=6w_ z)Ly@?&;FG>e4Wkq{CRnoJV?2PEdd4jv}TUm(BD8G_-iuR*kfWJYF0DTEVf6jm z(C;X8?2&TpP>}U!Af@rYn;Kep91T4JqG(6QiK4u`D<~RkW8G*>*8Hpc2TDQcuHa31 z#eJdD`pd|R3mLJ46Z`m#4EO7+3m!+4&gDHus~bd54a%J+1j6;k9^l zvfdAr;b{7#s|y-cK^-u$7ZpV&kL+Bk_c$c~26*C=GoSrG3GmB)g{@n^?BJWC>dM)5 zh{=ujqZ0Yu9|yLq{qTby56Cei?jRJhbKC_TGs9}nVGu&0#b`SJ<2EB>xLB}gvXe6^ zL|*|`R;wnzYtWJ&2c88T9n39F3p7flRaK)uNK0RBEi3>ancr%{GlA0`P^5I^SJZTL zoQ&IXveXH@&UKZ zUZ~B4t6*44uD8m0qatCd23W@!gXls;h9)2geaOK=ASY&T-wrcS9-_X3wc+jA`ac`B zyJv@lU39RC84Rset;xg|qMD$= z_(@VG$J=Ozh7=O*8DeFYYE_byM@O@E^Dlf96x7AVmpeY)5fs!xMqOvVMF8sY)YOII zt{=n<-aZA&&pt2?bgBlD@2V^9F@Xx;j~|}!#H!jNPPT-&s3<}LcfbB|kk2g4ST3_| zJX~QX{F=<;_==Xl!BpN3<}?Zeg`1nDUJV9=tiz0$<*)Lcn?ggey4q`pV5_|#zolSc0Dvv8|8!unK9^3u-GYuf0o=2O;_m-9tXR3Dd5)*p> zw+MSGqA z42zN5zj!eeg!K&Cp{((t&t%0&easAv*d2CenN4WB4T^z(^7?{Gh1usz%?x5{yRIhSyTON|sJ`%YZNfc`=~(>3Dde zKR{xlD>x7BUT)a$o9gT9 zewEaf%;(C9sqy9&u!V236PGO$H#gdZ-W7*xa4EO9w?AJ9aTY5x8~iU-bdKU%gpdwC zvG-E5zrnZ6ICpm;0ngW^CcS^eRMcqJMrBwGWyN~Rwmy>i&v~oCCG`ZRu_@HDsl67Tnw%_|+yoX874^L!S}rcz-G%G%!9i+rJiPX}xU^u-UxPZs zT((z+J#mUy)NzkL<*Zf3vptVTz(IR?S2F6<{qBi(tf}#T89HEENbgKd;C(rNcGgl_ z@=DPAY-HN2q~gf0tgHu$x}63r_A74TtKTB_s;cENF`2CSfZ0AfwA6Hx(3zbxF1aJo z9xVpSIo`Vl4KM)HpRXtN{Y*`hg`wzu8Iq@FYges>6*cIO+9)FiH4MzAXj?dA6Fhy+ zkDjlu^OHNcUiY*vE0edfyKVf8WArp{8hg`-kWW^@!MiRoXmx=6yFj36aBzMogT4R& zLfeB%!DsK#EMhXy~lR{GDV9~g8JP1 zj=FYIrNR5Ov^3GhyHX{1Ogah_CgLpMbf&D#@SOTgKu_|+*RQ`zK+vYL@=uw$GS2ZE zeI+2Q=)ZbmQVf%L)h?x;ADc&I^4Tw&&N^# z6DR;p|0tb}H~-?mca$fHuR$R2hCT=O&>(Y|_AR_8PJhrT?Gs!ukZ2M6DF{7R-0`hn zI5vicGj4&8A4if1GLU^+T2iS_4B+g$!`9QA)z(fU;G+e~b)qj^?xT?P93D+q?K--- zElm_tr@bV=!?_fUnr69we;+nGpbEjRD)@i6dJCwkx-abapwcZ30!j-A3QBiKhalYz zlF|(diXb5+(o)hOAl-s=2nvXFcX!{3@BjPmxc3Z)N}O}{*?X_G=9=@Fzefl*ri0<# zl~(7+C9pt18xnnbs$YZ4u4zT-r|4g$A3g{+o~sPb#(&GLH*E_gE6g43ZxZqA_|V)F zxC(CDYz7U?(VeBGio85L-3bp)%o%#(vnT5Kfv7=Ciwg$VySpJSYYiP;d_$G?sSp@a z3Xm#DxNQ;wnl0zseo4A7qo(F3YTn!Ik?whsEmR22@kXNke%&AB(cZ zK>+epid$ji{SOz=)f?Qu*1pv-_drto@yw1ptOhCE_K^VatW34Auo!cm^hQ72g^4;|x>T=DV}Mc|Mo><-ORRU(Vi)crBvZs{)UuU7VFDc2k>O zTXk=|tBXt6;APJ3Z_28B=K;9u&{veOH2`)n{v)p(1Jn}rPZ#pCn{Qh}5kELH(-afa zDb)9R##IQq4#S)!m}98~$)`>$sju_jvA+la|qe{N!J z3%?a?>aBN9ls($`rz&?RFv8ttX~u%rxqj@UT^B*FA0iRk4A}lx5L6!0IZC~}BkW{S z9jZ%N=U=KhvFXZg+UC#8G=BWGO-ItcjkN34WTjMj)r}{H8?tG7* z8DKwGGN*08`}dMOXieAu`iJ4kB8FWqK0EL49)Gv9~xO0Ucl76T0M4lUK>%qa;+JM9I(Dkbz>Lj+2+%F#|{+avR8*4UX|a z^s-iy_0mK_@|imJqWa)Fi9C%)uZv%~bD(y-eugqULx7z8DIIy3LbhV#$VA`Pw*=hD zn2>b3+h3R_4dl+=sIaE+obB+BxJc5)_8szVbhhe)rxrX!9K=SE8ti``Vg%6)=4fF4 z7|FNdD(9-9I_0{`G>&?{soaCW|vbbR_@!k|5BOnUJa`JUbRy z)zq@XITQI-K{CLldgi=TB^EKichppA{?^Aswk_`TFn_%n^*c1PI z`X84G#agS4_4m^ChZZ~AQ`D~{CDex8wpa+fbn7oIMvfw;`kcm20tO>(BR&GkA0D?J z98(&yG`cA>TPJ*>c$!uvfJUkG$-w)f@SSB%QLeVHoA7N9qOczY=bNjJkM-DNBZ}GC z)vx}&CI9D1nn+b+9zCX&K7GmBDSqZipu4$#%(EYEBC~$k_d^`J zvBefi`{paN3D*|UXT3Ld9&mP1aJI0ySX+v+Th6u}sEB;m(G?(hpO7X}N3%eZ#H!>_ zER+UaVMWN|vOj*LucG&{ad~3u*3yo^7tW=Nlq2t{BZ2-pr^!7_GJ4)pZ)YpFbOpf}0;Rt;AwR^@I>H<_x{#IpWErbOrtE?W5vAa!HQT&gkaBshl z?9=Eq7NYhwZlV8Jx58s-)t)FXqO5&(xp! z==Q}GiHCjGR=ybQaIV|*7tK2IjhsZf7kH^MHSIWv?@e{vPOv5&Jf*odfYbis#R_D}cxYqWQkDkJtCr z{93EzSHPS2Ap)Ag4awJZUY3&+uOahjB9QcI}u_e;gzg4Q{T#Ngz( zo+B|ipq=O^Y|%fbfSjk;y{z=~adUpi-$aO#oEDKljs;59(NNa!ji2jZ_zM^}JVako zXX2xlmaeYJk&)ued14?Z{7y)46!E?R8HDHERiINj z@GE+0;fL35=8b8k{9{c`&5_@~Z-}UKWka~1?3%%6($Qf=4Z4qxo|u@BfVc~HYJrx}t5@%N?$ok3p35?&L_kc+ zOA<$BXQ!`}s(zzseN?E@Za}!r_rkNeCq4z>P(V1%>dv!hwFpVoiJ#+l}ej*%}Ka z@=+eAFBZ}rDmX!Bzm(iMKT1V(si+Ksb4ax{N&UH+Xfrl$1n(Uj$c12)ihG>QH8tI3 zVez6)?FSe~jd^bkm*l%Ye~!=3UrWCKj`&=iTj_zMt^Zd;1b5^Zd;RQf{A2Ew3VnfV1h2bTjZEG$R2BXEDPR93F4t+m(GlyKs_ z@H&X16Yx+eF%(4$YDpFxbGtZg1&mMhtSxhNvd{T&;TRIq`;hl?9XPjA4cg|AHMK_1 zPA-;aT1FzSI&#&VoVvfixu>pvNN2xsz{Y!lDx&X=09EeS%GBBU$AUt>H&0$(d&<6? zD?l=wYs)-8zk!Ll24t;4Z&Q5M6^!;Dg-~s^hl8~@cvvsXVF!5KFvTz2DWVp!Pfb{E+q8mAOAVUcDvF{b4jnCwkLnPy^^%X_D{7WO6}^ z0ivr9Bj8yOrH_q(y*j_^PYnVD(5qgI^MK<`bK3Km_68zie!ifrrn`k{YbE5h3~a z_3Q88XpZQpV(Ul|&=-0B{9A17MJO3n9Gj1lJu-M60b+$Qs0A3zG@X(0sl)O1>>4mg z_;9Z0>3wrd;#<$v)lpDRZ;HI!=>>pCYrCJ%rtYTS5&w35&8@n>wf)@FZj7P{$Iu;#hh7ZNan z4hm;~We*)8A@Nhk(J2B57&|BD5bsA__+1=SX32@;Qpz?uF07VYBO|sqDgnLJ8W@Di za{qpm58^XydRSR$1O$$I;_t8*kHUWKOXUqZ2D{w+e16ZzChg(&V6f1E>Vp8VR9`1A zkMpv{J~iUv^x)vo_2_5`Mk+EQf-2T_s)7E|OIuxCF+Dv&GHs~pEiNQ$mM!K(Jyt_a z&|Wq0-8(c+E-qR5P}C34_NJ$^=Gr6pofeP%t|%Iut>()t_LVc!(gsFHfegPfn6(A6 z;f4z?UKVRV(9;^v65m!$hg{Y~&7Z2OPdPc38Y5OKE43%*rDK&V&5aV$9fOgyK~Q=& zC}&oQy0y|(RmBrd`pA22SmI{Dv;DEg?r#1@?~|yyIs%Xzi;5aS|M&W+lj94Q3qHZs z?!LY|eEX`r^>T_=kgAD|4TvgRA$E;hZ>^AUivXkWjlf%R4h7)rW zfak98b<#`(=~(|7HPug3{lYWVa6zDjn ze``wP*|Qact90Sdz{c&Gn6RC00-etbzG2vNxlQTKIx?33)kA?2tK+-_Bn=Y)6)}W zWGFg5e*SzSppVchw%)hAK)SgPE?|D9X7oPYaox#;a+MKwz8$9oMAGpa=wJCIHA{ zJ_>!}?vHCWw6s3j+1aV{O{NOz9{I9JM5MGed2zBm^Rb{H1M&0sZ(U7IxUOBsB@Bv5 zO{N^|`sez0bK-^l9w8t{&3ylUMex;1w)pebKQ@P3g`dv=XW4o8@W=Z&T&nGh3lDjQ zyCMH^}W}&ZMu0M_pG|Mf4t0MtKKVX*ZK(zByZo*5TZvwE<|h` z!Za!6dk&1gzJ!Imj0|jqK#G!V*P7R{<2RC@Jw2H)DQuMANbCg|GfWZ0#O4seBqnvQ zk8*a#ilrne$;gmMKlzZA^&^VDJ5?}$cE|f~e(d>t<%$hQu`-O7$;nMnynrMNI^2oIyGAxV;K}s50S~{B~?DtGuydGBKwc`NhI7w)8!4PeUZ0uNk*?6Z6No|Q zd3CrFhYEF|xL@*VUI<#52r=&0(D^G%KZ@T^mq15678kkcKs2Spd?xoZR~Uo}l05>pGOr zEb>>V`SZJ)JthUHsi~C)F?xG@ZNJOj0HK0P%W&{*##dAk zKZ{$XYtUr0WXR2E3gy3!vWDF5DvteP-rv(x5A*)^VM<)IlcxC=O|K}8+!6K34jES4 zdlHTWweZ6mQK97{7$G6WI-*gjTuWl7QO-AkDtHPv6?B>*A&CNI=gUzvjqpjPF`}4X zCvh%{<+*^c2N0iFQVqD=ins%s|5Vtvw*;LRu%4Q`SUW9w+K*Rd*&9$I@K1!K>CzF) zDWdOghJ2Do(Ym8QJ{mY*YI{|4oS|BxnW>TUDS_Pn@BXP4`e6Km1=VNqYM46c48|fX zVR?I5TCo@tqsxB3n$2$?Q)EhrK0@?{2vn4Cg>@4jHj6=Is;5_9RTY??bAB!+Sbw=+ zM9FFBuMhoGlFy)`tggNZ)EI4D-Kdxt8%rL~-#L*-TXC{ME2CxY9g!{3QBn6pURYXo zbafHila-itbA_aXNQcW#-qCqpmgE-V)n_Q6Xv1_pJRH)4MjslAwKc`w+s}T>KPpNm zTQQk_jQ39W{5&PZn-HV1X%j{zdL`KSu>c;MlyAT6+qauEkuW`46sFd!^I&5i+!Mb9 zhAkDM%4uoycdi|fR;~2L2OZBrZjhwB<|h9(g zyMn^RNTf<3C6B|0ajG6T;NWW-+^%(OyvH%@KfKOl;P)05BC5w_2J7=(ysdWUoOnLA zN2C_yxHI1lKHTbOW%pyHOv64wn)-urTX!=P)aaGTFqjQU>PbuH7ry`#fnXZ8)Otv5u&DqK^s zDTaM_I~x&(2dm4lV80SEG%|u?lWPx9OkUMh+07^{j7~_5 zaxw6EmcwCGxKcYgsdA8=*%pE~5bRRv>Gc#8p76M*!B0xfNsa96X6NP}xfS{O_+$W6 zb9X_m^RV(ZH8lk#W%q*O%7{|?_wVPnYjCV3#*#fS%z$GIK+UpIo0D>m$B)r)uk6LX zGoYew0xbz4QsY)GBn4MrNApvE{M^RcniNCGS{G$D{_f4FBDQQII=G7i0!UyN>2-Nt z9UiV|v)*OYA{1@+8BWhqFXlSvlT7Dpzr}q!EKC^w8r5z15C!K>)7(i_jpsWF8Uur3$gxHxn{jY( z2)L{QYtQ?7U>3al{p%MpVrOo74fcjEE@wYl3t;83?>YDChv2~{khJA#yx;Tei@b`{ z3_gS32N#}4Pe+R9r=BtqMtP)cJX`+rTPtufOqof*{b6^nEz13r*jPPHcaxz!_KwtL z+7gewVUQN=qFoq(vFXguG}=V&#*_`Xm9~=iX@v{xcUp$pQL;rcil(ndYxi=PiVBdX zD?N=?T95B1v|6Ui^pX4|b!eVOf42UV!qiEWt`yS}LG;c)Fqj~gl11}>!V-Zk|L0HLlnV~_4WQN%6K`4SzlKq=OcwaxFUv_tTw|?Tjh8w)J}ob!sj9B_ z@1={16{=g9FS@%c;|@Xj-;)7QnP?ZC+hm5e^+I1>_y4B}uxhdJ_rw1;-2RCIER~zE zAO0`VlO~G9{eSa9D9GdgS4BWh=x{wg8)L;@Ixch#)rSwZn_qx4@dluNE?jxrB5B)4 z3Qht~vMT^U!@@$bL2EhvOI6y=E(Ht_oTjszl=Fw6p8mCh7+P^TP$BgqDEIFb(GG@E z1aqOU$j3G;g$t??g$3vO4E&E@{FYPFS%(8Wy>)#=ziR=ko0(Z(Un#B>ytrpmFf_SdM|QoDcsx;j6}6Xt$v5Ox+k5DIfdFQ&CnEmZy^KLiVLD0%v)`3ZKs=vBd6R@QX^wyj&lvV*QZ6PBZOcb zLyfU@ecH2fb4LevFJP_+>g&!S_(w(D?yLw6y+C|^&OA3uM>C*n zVFAer`Lv%Yt60hgSAhQg-S)K3ZsKXIteUE7VtjmbQXTt)2k-4fep#U)TwJcuac~GQ zHb8*`+T4(ct8_5xWp#y?Xai>wcJ?a*MnZ5T7%9Heb()YQBOBen|5WVz$Nl|2Of8-F zkP?DiMz(^N9~e1TRN%8}8L zMy&ei6%|o!ZcaXX=4WNUrCI)>T-j1-={5;tZcYvscGxX{cw_htv9$W)tx^yc{LBD! zwBW;s5_Adtehpr}4M{>d$%_ysuLOivRrOL*<^gBmCPF69`TORRqcDoOi;I9ju`{!7 zF=(>YX7mM-bj-JrW~1iy(eTK~M+XN$;*?pl)d9cP!^1roK5$pTRt}+@`@FOB?9LtH zcM?u5Eh7kLGg}L8ixm}n1QQ$EOIKIDx<6}|7oH6G8!9r=e{PeLuguHIu=&h*)J?qkDq=ZtJmX@Hm4jn?O=16EPfqr?cF`x%*=IWrVlKH zjA>3CROJ=Sj7k+Bx^c0|IOzD#SP<7z*n)y2pEEeI0e~ScE-FIuhfR!>q|fe7JN}O! zj**t??(T$wvrrMFk81qU=Ign6r(A)Vse_Z#3ljlqu?G*bWwWC4^4=$M+eb@t#m3x0 zN7tevCkJJ)kBNz@wDhO!B~%Q_fpAKl!*!Vl4+L*2ebLhPOlY`8%fJxQKKJos3c`QW zNY1OfK68HlZ}|X*BpB3TVZMK!n`2M>>G;=RXyW%85Krr#_Vbjk5Op&;0xG)L^ZsCs5t5A zj~gB92O8YV`Hsln%U2nyRM66p;Z`xBA(2h5Cyixc5dotkNo$42A4_%~92I=;o#Wms6r%#DW1;yE1R0Yln7sqogpcub( z>-hGqM=ySN3kjt-7r((=QhV-gpraF)kU)kv-96(VE7z}E<2>5V_>jqRC;$~3I<<(G zzX;ClR4FPtg@uL|6lVW&yRVeO>f&aw-^G%F_8MxdWRJezLi8o)+gMwVeYogMZu*!y%E%cj`|pgp^TBgK>?d5o_o4oWbQ33Dc4|XUb3z#DHL!HpRcjmgPVOx%BAw~(U1^Sb|@dX`Y z{32{u2`@6!)T95}W743B6{19CMhzxqJMjFzbr{2tziG7APdOd@W_qWJPG$nhd{!f0 z#=q#pqX3seoLlh zy}Ll`t=vae5GDzOcpExh_Z+r{3#lsY{gxKWeFo`P*<-Co_|V?ua>Rpr)OV^uoP>SR zTK%GjQ;CFR3i`Z2s{)J2%2qr~xHujjaWAabK+W!Y7>|nUOB?9Pba8QHmNyGe^77nN zc|i5MFX_bI*EbCWj1UjxgydA!6m@sq&aG(lJ=@q=8?i6YGHGMj*^zd-S@$pgBxVzZ9#4*oTcV%cInF&K+@7rx!Iu&qWX%!jx))5f2@87Gc z4fP9Zq-JJjK7RDf(yV;^yRnrT(ZQ!0_M0~YKn@lc69dnjoz+niuD5)+aZlpRS=nG8 zpUgv^mDtPO=5i&wUAyRs;5YK~WFIR^hjRVS#nl=%PSwnWaezhgyD^uWC+8gp6LhNN ze#_67yDRPJs4a&!q-b;{{NyHMThl3pIIxw@a;Ea3RQ=)n;;6NCTTnm%8{49$mJ{4_ zuuBd7V3p)evLqon^4MGaJ6ibMmViDGylH!DRq~~jE%RxbrPb>8r?Ov^$S9YfNSAdPe^&~O)2Bfgu z7ms^BJ@OeY(4ye_+S8MQjV17Tr&lD!t52Ru-o@3tNYkjrxPEY|a9|+mr?Mh6<<{3z zzCYMC{44(MaOH#axATlSA{HChtwTr_W1*+<<$wAAT)d}fyzUNLY2xr^-A<3_Z-mfVz2K{Q?_5(nr-Lz8LF1!az{rR&w=?2C)X5c($n50{MS19b z#N0^X`{9bhv0Aqry;^ux;d{nHSwBWWVH^e7vuum4sp849r7%pAzHoIDf4o(*Za9^7 z_0(RYe+XpgRNz9}H+byUwoco>>OI85#58)C^Mn)8 zc{kkUJ*hufOZF0qzzqwVm5URiruMm(KJDOKAA&4u*51ids@H06c20lGULXH68JR6y z_BIpHwkBpdd(}W9H+pb#xR;8vwYg8!47k7=}^cvVdBfkdo4rzdxvnKbkb= z`uzodgwXkRModhrFeNBpE@?DDB(IU0vznR$zyra^=pNQv z53_}d4<8&NnZ#)#8}_5d+QKM+&&2UWuXV28+SC*<9*{BZOX;<>w>PNhp}A{#m8%;6 znA~=Ez7tp)|86pYY4z%3Hvdg@;>qb&e08(+QqSxEX;fF9*zYmC9mp%`z1vjh*I}sp))M; zA}?;lRZLp6*-Xgbq08#?S9g8EkvEfH+5mQ~&CNl8-j9k_;^OA+2TX`hgmjD(WG?~( zHN~X$C$qxC!wYo;(e4G|qQYjx-NUxOhcGM4Co?;HY5v=n^w~{FkwIhX--T{T85#6U zegIRX2DO``%)OzN3Wt8MrxJGncDr)9hzr6>9vF(xh z9}Xw@BY>d$det7pTqdSgW6*W#eQ&G{*&Th^3yriqo&P+Px=Mush<=aT-WM20Po4JWO0<>?4whc82Y1%zEONiC!H`L)tB3GDVF;M^ zK2Ueb+NCT;r7@yE!=b5_{&{Vf(~tN z>~&x1=;$n)U!No=>jmM|AGF{uOiuE{3MC=A1LgLk4NSuleTKllFPcs5Lc+o-zJ0qJ zI9~Pa4%OvmcB*f|C1?C_+fm5qFD01MsFILS{2K?a{?zV$Whg2~nzo1%iAKoc={#dT zo+u`YeT{j+boVpy=&jcsG^IJp9uDm^xEkFDdGFLdm;S~kilros5yNAS71AI7uu=25 zQk^A4Tk8fIA=amPueSkKb{x-s{~`A9^NWn<+|pWl#JJSM<7^xhSYY~a8Hi8Shkiz} zNBg;ke;?1KrxQR0AU?hwPwf7EvZ0}JEv@@mSpsr$PI?nBeSIfIMUmt_9?P-`dp@qO zIFwaa?^^lwCYpgPFfcIqhjHLf=n4PcBCeFwQR7}RySwlr@MnV$DtLjo*AajxBp9~> zzza<#T|g>c(s*_fwlS|?&p~bkO#iyN`e*`yiVt?$%&ayOUR$|BjoQNpYc5zQ6F(gw zrS9zL$m3C}%!eGe<~-Ntw_W?XtSrL9f?5hq(0%)BP0jFx&t6Ut9O}vbxdq5{ zt37`X?D^1cml}^fVbBJl-g92+V?Q`J+E};2z;Hi2bUNCQBNfzkrD7u#8mrn##X>Ow z8M-rHaw*N)@SFZ5tIHPLY%V)2Oxy^N4~wF~MDm!Mn}lR3JM+%$4)_Bq$;El6zWx}q zB^nI26m6}o?QM2fJMB?G?insXw|((KJqF*57hmk!Ao5PC@RZp|k;HBpAvlQ6%zXU# zv1g9xm*uz6&=zO_0l74!f55>^z}eE?*jOG6(%jr|Q~N>pFRuBghT4~D_drim-#0~` z?oBDlso#wcl=&R@Dafg$-`oS=wyLz5`O;EVoyw=u77#2$_r1y5utH2>9uuosF?7s? zLpSPVqcFY_vKjeCPdro;_9E`cboKXpfYqn*tiE@wW+*ggOwV$#(-_Nnd+$fm%0Oj@ z2;k`<5F~QCp5qoX|r8yNw9i z?tMAPerW#D@VoK?VwofW3^CBr*RFEYG44IrgtqPNM`D&OZx0w4IBye}yu1aTdd0<+ z^G0V$Np;{NL0@JNn1g9>GW7_SASPtMm>>+5NwI38qi;rce*1ci)gSI&H~Yl;W5gZa z*NWNfn$xmmSvfhkvSD=t^%J$QU7cSe(!Iwnd65kblR3{apjwfb*jYV1TDJ5$pwX~Q zirtylTxjA1)`#6qG?QY=u`Xcl*gXRIUk>m?%Xp!BG8b!LC zkK(P2IXHpXz!;?KN~^RF0M&!NJusVx#L>|3Fct74AbAL#oj%@me{A5*7WDNuP1;xS zZsFri7Z)lNJ>rP(d4nkk9Xu*%7kNzdfLQR|(ic}&MkFg<9nVF0`_%8e4E)&|Ozm?#!$bUDW;8Fxi0FWvKK>~S zdm|`xsvXVV72AubsrCMNKX2G}gehhThbmaV1Iym;pUM_xTE|?i+B##aYg@=DYz$~( zQWl|&jkrRWuV)yYa4RY+M~3zF>OFY_nw3>mb!uJBfU$u?^NSrS-u3nMW0g|SdkU2L zsT!Bs!orCrLu2ulmfpmS?XuI|@d-T^=DcgukikJ{=jdGElNn@UK9@5AO}0DsS7dSo z!W3})k#W5)+ZG~_2z9+Y(&e_9t%r8 z3rl})4%WH&SMQU*PD^Z>TD>uJhuaPSS+ciuuX4_%7R5uwp#z_|52;E;z67`K-M967 zg*qG$JVFOY?XNbYgHchxJUq0}(qNmnxL`(4Pl^qA=Q<;0%Jbsc>U)MTZ}^ek;m?1+vb z>x_$*4?#Ko)+oO7YAQD`4?wU2Ps}(v_nrB$BW_t$ZQ;?7VEr(DB#Kv9cvD=gCX$}; z;I+2`QC92e+ND=o7A6B(PE4UJ*~cHook!$-(p2H>R*$(7iAW(=T}%_1Q(TN|@LK1s zBDJMpU`OKfnxtEzXt(McFAf2|)R)IPNmHI?O?tobjl6e~m!E8@!5^E7 z+}uvEQ>4L-Ji|w^s~I21qACXCuCF=EbVBqBP#x~=g~nDL2p$IpaN-D5pSwSJ5bi9G zBSnx6it23!l!iYrseFLG{#x(q+roL=zUM(va~#k-4*QU)(NX%_!5A1Jw{EuzXPcqIbToI3N~ zIC}alO3LI!E=drwjQ;6q^ZK;5YPWsjybJf-+W?Eo&VY_?-6ow^cNs z|Ay_Qy4%qStZEMA=+I7ERki&6dwNuqN?^w)4kEHgVsjZ0mq*((&jWw-NTGRvu8&C1yC|6e}SXbx5nql#eW7DfBEme+*^bUxwZb0TV zm#_7zY{<()x#zs0J+boZs{Ch|wd^S7F5v;m7wCG==Jws1ys4BbRPR+OBq&Hh9ru)1 z=za_HYI*b5Z%Ogd(MQKGP2Aj+bjK?P23`hKW88C`CL@*a=@DQceh)#iifX4V8d|;O zap$zdV{Gi~^$9N!>>TV1C`kVSCLv=qN+RFT^6F4cULJX*^m7%J)wwcg7+hFP0ghi; zWh%dMD_ZBq-IjI>BS1;oZOYi&E3K&B!Eu>EB_M#kWj^`w3^i<;K#Q06?%jixl~EwS zj8$ByI_f?(oSqFpjd1rkadA76Pqka07TIy(z1wuv^r|H##n;Ej=jqe8=;)84=o!c$ zMt&b0?B<*_)hJ@>wK8ZHe=7te#I0>@{fSHPNvd@j`S~ec-{rXzo{_OOb$KWZJ07&O z%*=VMvV!sPDjsQrsWOxHT{`>x?~6V0<+fuub>ce4P|TuCepJ$L6D@L^U-g z3xEy$TLMO6j#Ap%A8Ts<*0|)mIJY^wx&l8EEIrspRPW+dRln5JUA&k3xp*K7E-WUx zR=w-SDOB>|7&3Sz8^tjZhp12)o8gg_&J5@RdDCG;)Zlm&XCqt z3CX9MfGf<-;B4#ZA=H@p(W3O!+4;HiKAV>pTe4yz|IwaW{%f<_hT7Um_6;X|e4ZL6 zCVR&_HP4?@Q zpz{KD@}F6wP@gi@?{^P5+|>De9lQ|uKKsZ)`?|8=ifH_dE^!{7rlsLFuG8nllb2sR z0EVGXUrrnf1Q3XGvnIf@A^Zo&>%F$1O7H4AziIX`@Ka(U1Km2fL zD_n*w3!UjE9w*3bBU-`N;Z+@qI|`}4Fqyzj){U%)+$QLlxPA;ylTB;fVEOM0`1&pK zCrAYR_aG(y_kRDrFx2!%|6fBD!rusqp$X>L3JIw#Ss9tQV0|djf|SAx2L~`=ak;q% z)4v+Igi?jQDlV)IF5^IWHMhRr;NcYGjXw3&R#3oub=9sbNDTv=9Kmd@UOz{J`I9DV z_`5&GMvt=7X41S}W5hi>JhD*WxVOWN>P!xh5dLnVadB5b^9mHh7sY!_zSGJ0c1sia z%CNKZ{^TT;o!z)F&s5qhG?fnxJrS5h2LV-@ia8v+;kF?%obMQ$wc%pe$YvIN=H<;T zFOMT;KSam5Os_Z`OcC7a3OUyp{<+=MX08w0*Fj7$4dZ<|+b++bx)K@mSSG;D**TPg zJG^DU^x-t4BZi$FCKN>PD`I_5)Ww7=^52E&+Pzwz@X#gDIC{8Ea6?uCPg$FUxuSuY zkfnSU#n^NTlUS<@2SZX)#MI-ttd{J3LQ%YzxfJhNG0;k-B?nb(3;lBzo?*Ut_Kf9o zy1&Q`naO_BhhOeVd>c-UNZHEvGu<5bvRIrC^yEBJL^&%dDS^1{&bSD>>1?Z;xY&*M z@Cyw)Fg#=0oN1+`j=;1X?MY?13mCrp$Hpc%G-$cIJ1Z&SY8fpLfB~hk zG3b)zH3}T~95Vw8P{4>RNI|}!r&m}``cKV^A@bcFX}7J4(^Hhel{Oq4yWrsa_W+^p z-)j!rp7tJ_>Q}Eklz+Az9(qZ5`HKf(z$e7Ueo$c}!^M47P<;YEs$jHCT}^@*pQx9U zi@+~-2Y5>PxBa(mAB*LtjSRK4cz1S!5kJShTLuOuIyy?fe8E9@dV12*7{g&bc%T6k zy_-$J1fekJpBx_pF0LI@AYEQZr#N43-`P469gjM7d5L6xd08==Vrh|TF_j2$3)yzO z_6V_qF%1l4ZS5MEB_!>lBv3$UveM0-!OCg_fBI6dd@Oq*qgDDrX+HQ7>CoX}QNG66 zz{*pgH9dju^bu;Krs(L(k)dSR$JD-@V;DVz28#H2UKob7Wf$wCdtxL)k0XysLtiK< zrEYIq>gf?sP_(ON`_j9We|y*Q2Tpu}=8Qx(MX~;d9{|P?>D6Ij8TIvY4%-Z+_ojYQ ziHUJpY)_gYW|@sm2oRqu4hulk2Io^mMEd!28;=v*)=kD^rIr^qHl^h*H1C5NMCs`l zO#kXu{hXejmK9np$X!{@Q?rKiR9FbU<_~DcLS(QI)0KsJr$GE^>+7p7EKL6M3RFx) z-;tnDjJ*oR%J%k9HfIv_QLJQ_va$rs%prSwW&h$0x7|xMh0tPI*Sje9!_WhFXfe#My7r4orM~2QDvaLqc{@P*9);<`zZBz({)%zeYwu z0aUTM_|Nd{wau5K=(QOYW9n z1hR^-FzgP+TSJ$Ezh@~0wO<$;SD8qaf+83J!y0lLcLY7%wCLd7mcM$HQga%_ z@AgGP(&v5yi%=vwLIex*XkA85=7dd1C^tJhj%jvh+W{2+zo(Q!HRNQwNLW7!d+gFp zQhj%5zIB&@iW*+;WLJrRKot>aUGZ(4h8dl7v$aUSo|wEQ?d!uOu+e_<#Ny<^Q&I=N ztMY_|J>QczY3UrXHu(htKYlDYLD=Tzwv0crtt zR0%L%o0}8C-wj($&CJuY`^Jseof(xC74&r86huUdcDvXcMnlX;pzgT5e3g=t^8I_p z=4KxN+;K7flHRGiYz^iB)xzxTAiy2=yzpe^DNL=bzVyjaV24F?s6$52diWTK><>xX zRa6NYuY85CXdTu*F1O-+^Yb&;)s=VHK85rx`p0V_9I^uf#A^YWSyE>wg^^(Lu|!Fa ziyPO~l?S$lDf~xg5Pkur!_3t5{9@!|tQx{UZxw*i`vRK3OrBO?UwiI5BR&VE$AbOb#g4%&7hz|$H zG*D5|ot2phH(_w_hB7!FLIVBAk1Py~IroucIq?=hJw1(+;{up&z&jUxio);9%xy56 z3f*rHCCf;A1kmF{INuWZ5pZiVGpn*Nzq41up=5S;{x(O1dz(ytFgrCtPFi|-mCe?k zaT6mXS4L4DFFqczz0>aWMM0Ge*riFlWt~ORgS42(oalPToWI;J&pl30YY?B)b|Q<| zF0xYj7u~NU^0yq z>`CG^S?nPrB5KFPeDC7?4UlS@8g7c>a~a5(kC8-F_o5@^^GK*&8=$BQFR{AHh76+r z`*wDUW_68N#<#^kfKvA@cA7@<<$YROTFvn5>8t4pC=wsP>!!b?eU|&2E3swa#v8Hm z1X@gbIyxxKBbb<(=a;Bi9|$hamX;Q*zx&Cc6%Rj9R*CAG5lD{eqQHh#=QaU5?;S-y zKjF|GNPl&<^T^1^ysXwG4`X2AulV{fPV8P^S!HF!(`e$=U;$gitT)dc9RKAERVGN# zi2lAw`b0Lw8{l8ZZ|WRpQ;4>dC77hoFROKN5HHE;Fy4Ul;(kn{&uCZi`m~|7kcq_#WTe z=}1pAN>ir$V?#q&7e97KKS-(g-D6!y#t3()s6?H!(0I64(J^KNUXILPF1+Db0wr1^ zV*t@{6vKq4N+5C`jDI1p5(4)*E&9KUiZ*z>!mFIyDkWmt#z8uSN%F#O?5VsNs{5&L zq!AJ{z{d2*)5xe7Iq&T|6U6U9b}llq1d>KpR;?|A_X)cKPy2Ayd=)3^ZM!KD$uENE zH=KH4!0+z|czS}B?8#`^(62#PC!Qoo-a#{jxp~{QV{T??6o@mK7#ZD``V3A^q?lRA z7#IQ)B@C4A@I4n{yLiCNJmY9|x{sT(jzpPE4`T>olf(Ue2724~5lT1i5)VTmXJ&*9 zotJl%jPsJZ+VW&~;iPr&2m&6~No{4Opl4|@hyoRb4k_W z!Xe6CjP7nfOIzDHN05A-%oD16cz6)S=2}_RLa3CGSZraoa9a&YULg#eL5C(LdKVly zIdBv|JrtERTZOd_6?aj;+A*xt6i{WOho%!5uV2^2#}E81Un~Dc9CcMqY$`;ujSS zjs6)20Mkfh$h@y3;nuzJuF^D^I8hJ}A0JWy?9ZbWN$}+(TSvT02q}Z>R1*xj1@1&kqT|mHBy59EB4xu^SZRFW?U-ZzKlnBZz|evQNn1OH+eDzc%@1?~Dy}6MIYz@B zS6XVq5ufT~ez20gh`^(!CZJBWG&YvZk|iZyg;S4c8m}gY)h#NjB0hl}n!{w|B5-gf zV`9Gb{*L*>%HnnUkdcxS7K~3Y^~S_zgFPNYkK7e$_ckEwGB5>P!%#|=GT)0DfQw<2CvtBQxE-1M-DPfDg_4)ZNCc=>LaF8BF7jJoDyh$%EKAZIFlJKI^(8wMiKVP<- zAxiOfx}tjF%ZqpkYKsAoRs8+?zOe8ClHsLyZ!C*OcXxNt8~o<|!$W!LKQHVq$>O@p zOH1*zO>As!2YzlF+`PF5p&gV@@C8F?IFMR1ltEJ)u2Yc-`(})xJ8YlC1@c&csyrE=4}y|3D#yfRdIH4p&%3QT*zqfsDSQqN1HSqR!sXP#Z?Z8ISK*YoFxJ zeSIVAFG5DP#U?xa;Z?JG-8sp|L+B@VPv7zzr&_DH!+?C z?_x8v_P1~CK0SGVEMpoebUc0GkC^)WSplZ`GK+k_gCT}eZFTkVu&{%iXRRh#Q>40V z+?<>izrHl5miQFbMIymIHZTRV2@|Gy-&q|GxOCgY^GGFD5Z~fV}wMPxjTDt~VsXc$62w3VK81dLCi;Fb^CFu7;v7 zATeMqA8kQ_x}E>#`&V}1d!g}3S?D~>iKCfLOvOm;t8lpV^ujEF~TWCxO_dhS6 zjti2CXlf?@k-rheFhwK*Fvpw|3Xx7n3)R)t+-kb;ZG;ZqGc5$dhYS-%A@93oMbXXo zS~yu75D3Q4rDz~!BM)6z+IktCP}~Qd-OF>nC%)ts7QU@PxM=9;*e`>kL?tet(;B`1 z^y%*xB%dxl7Az}M2k^6lsC#u4e{Fqe!#Z}Nyk11uo)0+Mu+ZgraeQ<{ul_6|F+W&1 z6d)|ZZK$@UVBKHp8lzQcf-<{CtxDIuR9R)Y0W#A5_1IKdJS;S{OQ9|sxo6B?tTPC;InU1z5XXiAXWIv&!<<;tq6?_oSlJFRO&7NU!HadAgxMZl^Q8(%B;Le*|rQbMLrzqy&B?6*eJ z(Au|*EK$5itexyY$=Cn%3p5VJA)S%+qEb@8qWXUx?27e`>PoYWF6x_y=gdc`=XQ2> z9PF--j4|h-wMj5UFcsr zM(4UK-nrYw{xpGr$G)k@Ecvo`yi~-nG%t74x9{_Z>{4If?9KO3nL}_kN6S^;MLfM9 z)C%q}#fc362Udy0h7?3Wc-r&Myfe10N>q=E-h#%sRK=S=$;Zb@sF~vE$`HtlF2rJj z(a{E2SV>?~g6gH&*xu}VJJfezbaB2Cn-No?Q?Pv-k&EC>G%Hm4)@EE*Am{8{6W+0B zG-Ali!T~PsqEo?zt*wN(8VGC-1p=+JGaXS5)MgQCNBxxa2t+r;Tv!;b_i#Hj;pmHiW9G^f0pT$0ofd5irj*QnSdC0|Q|zzgJQ5loa)0Tw34fvBX2k_%lsX zSsGf1CL(*1zjtt8Z02TI|4qCsFDvU^W{$X+*vAnA)2l|_oAc*R)(f>(CTABH$+(kW z1v>*#QC=+i-QHj8It6_L3Ay`+j|Ax?#U&-`K`BN?UFZTcM|GdBiIM%JxQ!T7EM-~M2?i17ZWlaM@w14r-|0R6)&@2p-QiiN; zpo!iJC#CP99+Oj&9u}n>xt}sSZsOFvcjj*dbA&v3R=+);d&K(t$vuzclI|>jq$W&? zyFId!uZKGx5NlzcU)G!@UY}|z<{eEjQoizWLqhCylis`q1S0PCt^dT4{~rAhOom8* zgSh$V5S(}a7q#6$jd}An5eUgyKFM9$TUvsSP!6y?3IS&eTzSNgOaIAtN5xc4X>n3Z zy`ZFQZl;e|R~#7|d*x&s#k0M&r6Fe}ndgn^?cEGMoH+I_x6?h&a8X?oc+wgHcu^)} zS-EnE(!EdO=ijNOrbbHk$7hp@|LH?YIl1x&B%-2{GnG1$B4eE2ec)G~qTbO$JRS8! z#y~|yU0++v*EHJ%a1pskN}s)xk%y-~o!ZmfK6|v94I2nqRcz^r=jN-qRRPrMD<=M% zchXS(6*yUebP?0))kk0zn$#{Fond(<@h&AZZOPK{EXm6&+}HR1k==~DiM7E*eqitpNEd)Lj#*tDU5K54vLOpG|hbn|gOU0fE$D^~7Hn z(i3cK>R+230zBLb^o-w{0Iy_N%Js^@<+?34ipxe+W4gzz$P&fg-hN~9bQ9AUE=nfZ z9q14xbar%9I+kiwDrA1hR&+CEB7gv}D$CTf!OVG(BwK(@_}<=rkY@F8&dpX@i+mm$ zG^5rwuRH$!EmKEXr}O}!&gEq~6(Jwr3>to2+$*b=DjShda(X2uzLzgQ?tO}9hIj5B z@*U0}JCJu_8(H>%WH{&aH}56QQa2iq7O*jQt|L>nbCmb1s)*WufaH3e{52%`JunagVVbToD{_)%gD#u}#5&O+8d~>jBm)$ zW#N{SeviW1;oaQaa@h0K)UxsN@?v3q3<;Ta_J=#L$P ze!cDS(f;A>Db%8p$CL_%3Lm|gJu<2@3WR^XY#ho`m;02NwqBN;UR)Ws8r}KV{p))imKiDGlPRmMS}VqD zPCmEgFH*M<1=PZD_kTY-4@iNbCW6ccHZ`Rx^dtHtbjFR3UNk^4lkZyKhy)!Sy|A#z z9dQk*GBGg^YKpSjhq4dB*`L&^T_`2f$EWH160jg2hV?#eKs_GTyAuk%Hrd~TZAR9p6!$m^_%EWXezfu<=X30$65+ziv=BwOd8Qo-aGB*i*55_G$6XxmPo zThxtP=ceGjzSsaQ7DB#`v+#J6d+sli}Mo&-AV*jq4ihK2id2HR+*QoMlP;}4y3gb{i+lZp^ca%z- zbvHVqL}7A>h3?qxK|@Omk`xuy8e=38q(RfH<=Wa96WwxOJ~A0l5cfeR#d{K5MF(iM+1f zlAi7&z1m4fnMv%QKaoncPvBUze!uH7M?w_n`ahxnln**^1NNE2>TL#a#D!l83exH7 z*By0>Gp+;o~`dS?N3`1k=;gIU`e3@y&m0o#^R^ zd_;%dISB}W^Hpz;k`n*nSKuC(n@Q0!a^!`h!K*UKOT+qr32Ga_y3zXse7ozHZgovF zGd-i1(0j=TpTMGKVB6WDFI`zN%VqvtLxYqtKKYfqA*6@e*2%wp`vvTFzkuLy{J8=4 z_JvW{fm-`N_)ZrJgcsgc|NYjShJDkxEhr>hs&^pV5-Oaq3S{#STc-s{UT)x!QnUs=o zjypd+Bh0zEtNr}1!xQTK<8hvG9SKPct*r-@8D2X*`<{(f#cg$G6s>uEKcA5 z{d=Xd8LTpuHiTXY)1YHankonDBsQuyh~2%tkvlsA3z3~pc1Tn|L8Ba@CHfO23|d9H zVp;r2HPGiWS=-tgt4~yYby~R`x3Njc`V7q^JuW`JxcIm)3YOJVqod;UWbd!0rmvop zlb=A*^`dXESYLIfEz;LF9-D5!n>8M8mBI zAL;7s7o@wkwzjgX{qKVu!#aSY7WBCq6o#k!i&8m!QvFpnyNRxjVG4b4VxrhOIbK@i zHfmMaZoZS0bk)=(u60u$D+~^v!RCL2s_S@W8ogl?O$R_9>73;)-6Yl{9BZ%sMx(ki zl1!c~b4&{_B^REa*w;f-WxMv+&e2aJKR@d%v_;3)-#?@?dvPxxWfpY=e9PrLEcBaF z1M!#G{1=y(%*_2o#rr6;dixP!VerS2kY{%{+u&$oh7V>j?$CQ9J93($FZ`2XVS;G* z(1`gN;V$Fs()>Os0?-TJ4GFt?%oKoZVw_`a%~Jk-c)HdN3)Ne1GtA##OtRZG<~+b` zb9@H$Eblwd(&3ziQuya;09xH`5u;@ZnhP_v+^Md+^RPm^26Xg z!QX@~Kde(y3Zt9-aZRS<42QubgJ2TLfVFBAEQh*!dVro_r92i55`3u28L~cu`v&sL zdV3>*+O3eQLV}6%mk}SDZJ1BW{+;X=;d4BL*&MDjK~jvuQA#>vs4gWhhN|d{Ra&(c z>0*HhqP(zBIaSul(T|jjtjugiR_Ua02z-`t4hzCEx{D5#HC3hZQ^UhAFi~L7m)f7| z>$^^;_#=TAt`AVksnqeDEwm5N)AMC~FpM`9CdU>bPr85K=p+{Z^|f=u?)-IT4o|-H z;KfObXs$v})XP6TJ!Xp?qhVo(9xtzc!`nmP=p7d|l|=i{pBVfcd7^=nKq6t6_gX-T zd+NZkcBs@lTJs|&%w^wf^^2!Tp;V?&i_(;`z-s z<>nFVej^^bdHi4haAL>pXzMjYS`Bbu_0#+ftBi50*JU^Mou~{bb)3Q%LQD9uhFI0D z6)|XrLX{#Yp2*SoN>m#O;ZoDnl**8lTMOV@s*_H=%M>n;o>~7}sAH=a!?WR7Q`U1% zycD;6XjSJ^w|pLtbA(O8x-xs`|5FG1>5g-Q9Qm*M<#}83raJduAq)+b^Va`W6Jw?N z_y6q|R`Of*-c!7Iae25X%IwCw4`idzZsFeP>5tmX>c4&KyJEfOB>FFqynM_c`PMly zkSRKEXozDv)$6VIpIIPUbjRv57LIJQM7gb_^mKAp8V;%Wx&SSMTvFlU=FqSR&?y-h z>XPSRco-Nh)LH5-)n?v=Vzn@{7w?;emE4>f1;t}XT!?Kh(k#%bi<{)TMt0X}wJa$q zsk?SvMz)uMr@74khYFQFw4YUHRWLGTWf_V;JRi)A)9t)qW(k6M6&m!&ZN9-Dz-tFcuV@SvEWY!L6c#1|d^)1%#NH z)r~zOAi%^dSb%4wrlDba3Zh4g8xuI-@ep2KcLMR#k#~;dYwqgkq%`}#zI8R7Es`uN z2C&2h7{=xbo2*a7#;2HAgTYAM)ZW2^C_G~*S4vP zhFD6|NzSRh6q}}?YkBy`V2A}z&hNYEc+8(bp1)AFve5nmq6EBp>X21bV&1*OnGpci zidS%j+m)g_l+V>CYaIL=nI2tNSE@QqgeX6BCQM9vmE4nJazPVez>@K|m6Ov8}a>i)Yg8a#0a8@P5S82xAFt&X1;` zZg@jxi)E+aah~XkWg8zS14vf_pBvGWvfBt*xd9xUAE4RM`x`YpG4bF{nC-51dmv$< zgalBG9Kk?xlj_9TQEp=-Xl6Dum>EGSNw8>n&Te`Eiy|v%f`^367#JGX+4r^Uy^nwG z6!O!!RZnkEtU5^(GxaUA(zv3o=#E;V`$S zT|h@?W_EnKpL@%_-Fj%42$lu9+tZ3J%jOAZXAD-B+FV?9j%3h355gc4PnD*E6t)X# zwbR29Ibeq=S6LVS0CnuzTEe%3si7f};N}43BBK(4DBpOIHr_o;o)%ZrnFZ^3Y9sSE#w_)nxa+S;;)hFkz*WY*ow zk|%*`!KZf!?SuZ+dreSRT3EP(1B0|_#*E*+J66o}s-FpBqNDw+b8Bm%bq|UzF^H*+ z2oL|ryjfd2bqlKR+djmuyskXyFq!r^&=RoTmUjCM;LJWPbc;nYbhfv5 z#~h~C*K0aCAuGEoC`c*{W07J##1yCIxQ+OhC?VBD$G}UBUyX!dP^)-^R|%lur}T3I zfo(l79EKDJpstw`k7! z_AOM0uY`mu#g~4=G7Lo$8t zX?}j9qNs)62=S|zVI|NSlzx3Ma11gzZ||n2po4rj7xs_0U(>GNd38ub#{-cnZHtz0 z2?H-DJ2%&5tmrwk5r6-ltfqg?)$kiY=p%HwnE>)RWDvH!Z> zx`|)}5-M2O79K&0b}Qdi1tmMXM^~WhZZZy{>6{_-uDg=o@qwE4zc8SQH!U@8RKLPjVq*fak^#23ZRcRErqDWkQ9`)e+>ZoaE%j9bu5N9)EJS-dj*$ z0~9j?bp6E+wxlEy$X=&YSs+IV6r96)-WAJXcVT~da-t+~H5kU9M8KC&XFhw8K{Yqa z|MsoSyOzF0w`r$?&njkSX2u)Pv+!-5zrTGeFQ=wMOI(}j1>Un5air%e-tIr^ z=hTthySuy7($Xd;Q+$2-03Hl6y+{pLmm=ZeiV%?tDz}z^fd}a5i@Wxzso1v}oY^Rr zNL#Z4y5hcnf8^rwn(J~u<$W>YXL&gX%RWS;ru>Y5^L^(~z{hZLk+8E(I5U?bVeqq| zVK9<7)A{4=Okt+fNfZQjHxOLZ>RlnI?)+10yUP?U#ZBioVw{spPE4(Mssp9gNPR8UbY z_Cmbh*#rh1Ev=3Y%lo%)8~+;1>X7w~&&}=2%hy*{Ginr(7gR=Dt;*h4#xmH|?rCaT z0B>({ahx0L@5Sy7%0Ub_* z&nK0Ig;_8YOMjIXQE4&3x+I zAmfLMpGWf3hk!E|3lEQc!Vs6A!Xj&4!}rMz6qC)>_YkP40uhXwFKB7ccUuK&YbGTV z=n&5}%uAh5W!c!|X~Ng$=Vdf!c6L5)y5H()4+(yNfH@MvQbMxpG&D?MQcz>%KEHi?D$45uc&m0#Q7l~hm(r}_9J{Z>53;AC7 zCh{l2&YaKfDlSe0^+nGkRFK+vQ+Wi%1;J7*I_fE8=QQ)(i;rh)=WlB7#2`_;dpB2J zRu&?1@Zrw7DoXg=vO9kW62LOUAud{4F@62_PdYa*PQ`#xbPEyLnX)s|Ao77mzSrfg zIHFJ+7w%_?2C;BOu-eDD^h1I_zw0{L`6(cF@*h1(SY2PQwlDOWtfm!Lza)G8dMYgJ4-Zj( zW#wtZEo}-s1cY!p&Nbyjt~L)5u97cZrzFiYwG57Ut z2jeVu$FX1DR#aPCuFy4t~$kx;@-0P{SY%gDq{nq9}{EgNrh2=(I zAUaWy-M=?Q5fQ@~GF(Xa)U+9jY(FL>n1U+|gJ>|+=01EZpR|}<;n^7?C&o@Km%FE| zmR0U|*S%Wh@MtO)6%~cXJ($gnO?=JjF*r?OY!I6M1KySUNxf!-)O|#}L-%pQg9ITY+kS%k~-fV5<`Jn51`Q+n@fQt=_u=X`6 zspCLeu65N-0+SFn;*DTa#LkY%nARI7D1RbE1mAvuV~05gSU>z*j%={BIGiBzNX+{ zcVMU9ML<{^cn|g}KrOm8)dx;ilgSG2cPS1ImC>;{6G_c4pMHh4*_SVx6qG=Jm&1{I zE~!030lGGH6eVV(VR1x3Ny$HRPD8`2PolowuyspH(tQ7ZJBFpz@Z!YclPK0inRmV> zG31+rKekG%ktd`W+hpPi5mDXdzs3)`x+=oL&++mg^b}4kkJB)_Xc zVRf~CWTYn8ctWsrHpiJl`d6$y1$@xqjDlnhsPh5OQXx^w(Cj+BJO)F!#%Obs5VQoW z&$@<(3$wEUUmxLo9bI1T#Q&T3{rmES1R|~}t>tbMRBux3ov&Ztg*>BJ!WQ{cU%>(h zePueQMyI7aqZ{r5(dF!x=c^mLX$U0-p6HF=mXxQ}#6E z4s>xc%rKfFUr9qq^T=M$N%XR zc1ne?44KN&=wKPcAxVIN%>1L7vrB@I^}32gBHsFgI!8GK)3#Rs!dNNE z1aSK9)wuH{T=#)a>ap@j0%Vs1T@ zoRD{t&g--3)%50;%Sm|d8@m1T%frLrZxcb_idOsYcl4|T6o$EHPaDqB@Y9%{f{3PU zVZl0kNI|}Iezvv#i<0fdNqeD=<`1)odx(F0I`^L1cSqf-n;~ocpwR+Ri3sH{dM?DpluNw7T>xZa7 ztMU8&J0M%ZB}0L+K9P z3S1C@z~6yD8OiSRS#T=6q6rrbC68P`_V74F_0|URrI65gL`0dn6l?C0PPpL#Fk<}u z_k#$zv8Lc6-M#FrySx;%5V}QB&oaRF_I9I}kM^cyl8TOUs0t1(4arxpa0%&OqSeOBbqf|fn3Q4xK-TT_0y$B>CYe84g*Qm8qfoZ#RaZ%&Py_ns)AEPp&P7@o>|5;LP zfHhoMTKeCe$6eh;xIT}=(=w2Ci){nTqA0z3ZPXW6s`Qk*-_WU-n~^uU*)cs75H;|D zi*T6A=>;-EnEY!>A4mY|73CN4iQQJ5gMWh$JvmuWTS*ks96!aFp^_Lv{>9lDOZ4B# z$++UiiZnelx9c}FhYMrH(dH+u(o`FhpM=oRu09_)a>aM+6?2#!0oXMr&2B9FX2u`D z_dkUFZeS2!jm`S78Uc?vp2Z>gNVCywwx0!W~1!1ILzc4*m(M7NWppZ11S84Qy?my6tIcNVY4Q zk&JeUd^75bxS%Hnm;QX|b8kSrI=&yOt+R}_PFmA`(h`Pa;o;C6&x9igj? zgtQwGfiZ;pt#nwZwx;~yyCz4 zXu?CdKT%O!#83-Qn40FjRhuXpoM z{E7IlrBQMF?ti}GhR0O@>vrV5fv1Is`Ca(H;Neay{l8g6?F$g&;PDUjQNzvOd#y7Y zV~u{YG6W5?ST<~57IJhnp6fZ;m7?fzn}1Xg@HD+W`()*}gxSAj4s((NO#bKAyJ&*^ z{3>JJ>|gQhK6>RcBL;vBoN8eLZ&fWU4#S|w#HdDpD*_Vjn70#wLbefXLL=z!uE2W z0>q_e=cn|Y%*}l?H6WAl5$UIS;^s_J0lpdbM6(FQm5v z|b@CA6~ysX#G2Fv{`yo#nTm2dh|?q|AFU!37~J()N%@Tp2T+5S*25P zIlfmOOZoTD9evKd2ehB%pZh`^J;MPl{#L?d6l}CVLS>-}gH9|d{o%tyG_>oj>N=>z zUQKqo1wxl3k;~=<$;Xjp!Fw}p;F3H%Jp5dr&CJwW4ZNca5N!*;*WatZu8p+^`RKpv z_%cRLSYwnxj!k>hr=>z2-{l_7w)S=-zMX3ZO3EM@?HCp{IXjLvtFf`sZC6QuMMcFw zdq$?M?fQ&G&$=h!_0Zr~lkt-2j*g3|Y89{GfG#z;fo&}QYYA+1HeJ7?x#lgDq*xBC zni>UbwlhApWwSN0aEE2N4H|Txl+0I;TdVB0>#EMoFJiP$%wZ!%B#rK>`a3>DAQ9_E z-^$N)qg+%^g0k7x7I5_C)u*V{eUZ6R3k$(rw!gPXC%Qr*#FF>s-#ex|X|Qbg?io z)#RJst^A;eBtuzJGM$|vS{e;|dpb5|=KVbt4GoPi7@=_5nOTb2UlyXGp_v&Pk_J7{ zF3cMr<$Q)0U0GpYXTOV0@jzE+;MdQ2q9lcdv4Z`0ZSC0{nx>wfg2C#xSmfEG$KlVtpeaK~Zvua| zrsdSZ2$$T zj6jozQY(Y%lE0Z3O!O&`J#n;^`-Uj#o8Ndslzmv}ofd8N;zA3xf(8mEb9Jb93%4og z%#SH3l);{z(>*?Z00izixtsdkte_LjNlLm!awaN>vN=u22e^kAwnjCE==%B3AMZEX)n9%Np|lFD?{hz*HS zOEC*I2247;ASveo2)FlW<~HT z!$D!FIdq`B$MmI%kU4ujl!$eS6wChx_}nam$g3aX)dCkV3a>qQ*YJoSjC!OgY~4k7fEuzz^w4alG+BzmJQG z;`Hi;3-AR+DgjT$_TOk6m$QTRt}ZhJgCxPXDAcqVmKGK}M@Qy%b}jR>m*>Y#%_jce zzngsioRi~B__V@xbDS-bF_DcuVRji;xasskP^&I8-|3%UscaH*R%=bZa&T{5KK6^b zlUcN9^WlTw=arUVd^eJi!2+Z%! zQ@Wlm9>l#`Qe$}e>9>a`Qb}p)+*~s3!C~hUn5}baX-1sLmanNu;uRCatEAE`DJ8Wv zlpR@IETBCnL$Etqh!Yri6jo_8`=ZZP40CAOEA~shTkmLLigHd)Z?BuK{!EiYTMy$K z6kWYE;I7>!Zse+=-l)%15OoNpo}-n!bLWncfkBbdvg?_FnC%gov%-gV9=9uzbyRfp zN4U71-F04=h2b%AaRmH>gIN5aQYVmPsbkKimMeLHYWmL&UY+w{Dz~&Lst?vMtPdk1 zSl#MM&1cAwkEm}+j1RLLa`A@Q2 zlcoG(0~3>9SsC{ULkT{YH46Xd{$IX^hJP^maVP_cnFWCkV*vtx=(UE2=M(c#aXah{ zdfe>>OS%PT7X*+)0XgVtlBu!y#g@$V)#btAAtpaGivg?-S@j+%njZnN1krM2DXa4G zO)FdDr5kr27$ZZ*jTRFRk6Qa`=}~ml-!RAnVER}Cj!AGr@9mp`XO!6Odr7$+D2M22 zoya-w=H~I%)YM#Do^$QRfG?AduBH?KypO{h7v9RSvJOJWnw(;Yh5KAjq}?np&mRa* z&3g5fHnh0!l?%0fYii=a@t-);0aK%YmY{(_CU^j=Dji-%YtPNGRtxFrs+*e^v<@Yu zuqeaacevgpEg>#$-12=@R`xX(e_0u*l^;O=yHT$g_<>;4vmg@wEy4dmtf4z0)yynR zPg-4le?!^3yxb=$YV;e{T6Z@(=UH3Gv&WAa`T5I^HnY8gpx8^TqMkL3-udI;$m9^n z5j?M_o<3}Gzjdju9=}5^Lm|+95B+<4XXnT;c2B^AbPc(E$+tYA8GfQUi(n#K|-9TG|5rv2)b zBk(OMPjF>^n*_*rklpf$xk62wjhVmcXH4Vg^8^`4kmYOwVaU6$Z@-<8gGkAbZ{4a= zjpw%8b)BSC&o@qq9MZb>c?)khM-gaTA_s#Cch_DPGFyw7`L5$S{vn$f8;6FjIn4gn zy-)}SC}!?v4ZSMq(N;hT;lGb3XBYlB$WI@>v$0{@^~;Bv<;69(`+H9m63|!>1yMpZ z8(j2O`V$@IaUyf9i6D~zqLKAMU~q6y{ndDXzvbG8wA9pBe8NuVUoApRr)xffC*`7# zR|dUFCb{Fp&g0u!gIqNakpu;)m$nW}`KatBs1MMuJ_SBY`G8!%=F0-TrGpKE2i|WKgYC@E2;XB8wL!kxb{!MVk8xl3NL;%YBBLT{~H_`nV$;{4t`GRze0v0 zQ~Z|T%s*M1nEf2hl~O5oAbnj?zR=r^C{v&!?$mqoiNa11XgfZoFIn>0f>FH0rFfHu zpX$DgMm;RApNmdVvcUbm^gRGgOmq+a2nD#}#e40RHo2kD>QKk#oKNm$s*`Z}%IGy!5#31HfGUtR9+SQd27$Ca3 zB-)t>A*t(I5Z?`-b|gRB+4-U;vHn}i##F2{RNDcmYc#@3My9P0SBCBHCu+MLI5HT= zX*xMdX1|VftWoz#Q8nE)Fmx31U)wtN(h-zAFTq|M+QgpL{$g zR9^&i6mSZij>uU7=IgM>N=^MZQB;c0VVAV??}ih!&&I3P7bN-&>s5rp)3dTfmB;?r zZNv6{W~Tc1jgYSS_B1NldqZ+c;^kd?WA<2Q*XqmAB&e%=BkshNjORm`P7LLg92|3) zjkmO`^H=6%1P1jTNjPT-X#SdkrRVd;8;gzg&(u_TRn>Y$Mgyqq!rGOd?yvbB=&X8q zc^(}xK%X6ooKuB5_z6Y<-%uuCr3KRGaaM5V=bCFFc^Z(As6qx#SU7TXv(WwS>a{gV z3mY3XXm=LwdX|+fogKdA^aC4k7f2OO&+}a%qOjo$(w{#Z4-zQAU+e8H1j|HHvH^(P zkw?0Bu)NLp2p}rt>Mb)-{qvhtudC=O)6e?6JoIkoa|!`5 z0RcicDM1lJ66kM+L?@8E6YaX|=@FSe9f`}$BmmE%(fm=Wk`M!Uxp9%%>*49>%gycGz z@Z9A!#6LkF>E1oo{Xd!_uw(JX!8=w%!=8ia zuG9z#&fQ&%+lYp1hKrprDni$aHB+totZ)Q7@?jBI8uHC8_(7K@O-)U6b4Q__j-4Gu zG_)9J6SCLK(lU5CdAt{pmL5jO#=#*b3MNa*p9IJVM6X1{&0-gELIYf53-bb;gfAE4 zkZ5STG5TlGl9=xbm>&bZ1tx4}c0Ym(#AFIL)7?dYJs~23O#NW{W&=jd^j|Tgu0}DR zrnuOxw9M2A|9gp>pX_X262q<%S8kdQaWU|DTvKN~bEg8ZGq&^! z45>p5{kDlOD&J)*$fyPh^NW~NHz^qTVHbvEgeUtaCEK)n3RBcxg<%}4!DcABIBd(&UC2H65;KVZQ#Ha>2XO=S1y#m#F9{HIv00_t*V zWu*k@p?tF4PO&k;Kr@vlp$duaIth+qJN9clL{c*P)t?4m#)gH5Z{CP2Lh_{)hk%W? zBHwtUYYBOVkAHYj_uS1U0umMTlnOVd>}FgVQG4Rrt*lhZV=KC_x$5QAJ@BF{=+B>+EG&%|r`N!Ez3mQtq@iq2Xl?)$6x5=@ zc%M+b@m()0;{7{sf|{O2LUu2-)Vo<{*Jetv%b8iI!1 z6($}vw{9=(r>m%p=PBdRJn_HvhBU-@;t3_DI0swl(UHb2L{ic$jIJ6Qyw+W8Y^C$9 zv9fMp-+IY{L#MeVg?Y#37ll|Wck}oXeA-7xl0-xrEiDn*3YSzN!s8FoS*(FDT3Qwmv=Yw$Le41e%bVnny~CSm*Qm z5F=3QxN1CxE%La+Of#nRkoAFoJLuU<3ZrE-Tz?SR6xsACRf{-)%MxCvvNE9baPZr= zF4!|57HWa0Lx$@G@;IQS>gb3e`+&yp6p{8M%&@8bP3#h^*{I2pJwEtL+~hg-_|M zp6udeW+umT>j);-!sIO@ql$RW%UhU{!AVVhwbBQhqg@0rPIa`H*lB185){wHAzQxA z#i0Jm(Y)i)myJ6ox?HIlU2Ye<>4`I7qW%RtArFsacF#W#)uFrwzG4CX-;(hi0fB+a z^}J!7i?<7!c0i<7S2vTZR(Wxh)?E2(K~_oWlf8YLFU}bBS)3f`;Wyuk@jszeyy}H1 z{*R9kX#UR~QfLrXV*PX+aK2M%O{?o^i zXwBiYsdihz7>~lfXHQNRTUgwOo+eM;`n#}C zUuHTrnl42=oTMr*zc@d?y#$z4sa^e-)|K+!aBce4^nF&r)T8l z>6!2ux%DJ;!Ey`=m0Uh4J8#+d{p#(hs6ZIX#W^a6+cq@xirUxt=`XKj)7!!MZvOs^ zLhs+pVks4U3i0ps(Cw^2EO>%Q$ZAt%?CP?Mw68HDyVrV_-#4`RHYBa(W>nNV+7$Ts z;4A--1%W*Do402F(BR@y4xd+LW*Wc-alQo);r``I-5$lgzfND$s0KxgKsdKXu;C^J z%BgZdd~y%gcyunx<{LWj9RB>d&3A766frpBKQweL#lZW4*)Piw!{d29S{kmbXzCrr ztMp{Zt#3*`*_Ku+?KQ*KcSH7UQ6v~&eHF5KK^pt`_3P+l(QH!g0s zcGvUIGp@`JfS);TL`HgmihAn&Agi?KWs-K={4VT~*iA_JG*ZbJN0^jzLO#fR0W_an z``}=kVwWE|Me4~Zy_NMvjHvmkrGa^YwC(MOy)@mj)Jc06S+bGg;(r7&WgkCg{xV7J z_}rp0OExpC^fKp?@TE4WX;j4j26{i3TI~4sGXKQi#{&$lhPL!hUzDiV^g8Wd7^Q=N z5#jSEN$kf15BNyGwp6dKwtvtbo{)$L474>g)Ye;?t+Y}vE;<4&w~YQPg2!v@zf5Vf z7|+gh`ujt*wY72SltSYOdI;j)2NJj)tc-oWgc8DcHIF78CT` zgoMjDcam;y8p!$+6`ur`eDCO}u$!%_CS#hym;MA^mzZ!HVCMPpGFvWugD{t|@LEd? zK!yuTN>6J_qOY=$9j7UtdLvI_3Oh^at4N52*6CTn~XyN?K)KAIVGFTbzjOW=Q?lD(#CV!trmmcb`aeD z)Rp3xf*)tSp|pSdjrmR$6l2E5BS;Ix_8=mznvm z{`z(EERW`LJL{*mR#@eB{mr4k)*dgR{(C1U%uduHR+pO5$KhzQ(xZe`Mpzg#sPzE` z1{Nw=M`!yO3d>jM6R(f>pnBtri|2q%#nV&KijzQ5(L3a0z%L&kRVY#3@mK|U;rYT3 zeT)|!9UYKYlB&sn8+O3a;9h}WUm(8H-}_|b=tP4! zIlsb3*lt~<=4{w8dp=BJS^#s1^VJ7talRM8JT5(MBV0D_$*odMoCANXL{+- zR1zLa-&KWe$W;J2w(mwDulS&;$W(xIMUvT!8#lMxK;GA(!NHi=iG}6P?es(2HKm8u zB!x;Bha=t8)V^w4`1NfWzZS3~v){R#&J-z)u#=EPOgBCt@sj3vOP?V7tE(QUT01v! zrX&X)YL$Bv-|^(GZWU`HsOW2BB3_WXgf#7O0@rbyMpPc3l*!(%fDB* z>Q1!PY>)bkMmk{R1&^=cXU;q)R}TQ-qSRJ!Tp`ilY_4k2J(1mjZL>O$BMlMi+1%Pg zS?(h;58#Cdqs`#})E|x@It{I&QS03Q+lqyH8@W%U;=A0w0aKZX|5(Rs*sU%RQn5ov zwiJF>O-9){HioG$d2gNo{VDSO_vj2P%(w26Jl{77k32=ilX>Dp{(q46)=^dN-Pz(*K?>WD}&Kd7HYdH31 zyVqLWYu(?Pb6)dvJ<#w&?J_a{^{}^#`Hg_yCnE3TFXaSFEar$G*tc|iU0a9H1Ig$x@Kn+ zU~!D;ZY~o;4UNaopKB^%!h10K*1Wpu`r*^rVH_N}*v+UAm}!L9%_b*ztv;NzSO1qE1i?z;r?Y$&s(uS7?6@1nVQNSH2m|&h87G( z=l4B4j%Cx7z=bp^IT`I<$*;lHf`VP>IIpbCuCD&m(_^+cuXC47NLYAouEvaokUd)C zBeT1vi^6c#@-j#A&Wp>-t?v=U4C>Vxax~S)HhW&*-$WSI^4Q7t|CJQ3LP4nKl`VBuwLdW=2s>rb{PX=VJWxISh!`d!P{l9 zZyY_17=mn++)jwso;c`G0+Z5s*8%R7NfQ&PTq z?7`uDuA`*%XQ0sqbmyQTlQ-QI@)Tf(ywSPiL=M=gB= zVEE(ZeU;LWo26EjTDT`9+=5GeIjSFgd3hOsrxga!r)02|Q5i5iNJ|h}A6Hl@$J8=5 zR!P~#5%?uXLroshp5hY}6x6>G_GQyeg~67C6w8L6oy#l_>EFW_Nr zPkyCOB^COHsG?Nb6q{-{8gg;GFfh=%f3?2*vCn)e7gye(mpY8bEp+?CH!cM)cXY zH`v9#jkalgc5>?S{I~Ieiw4M=7$Um!zP;ldL_WWI%*k2x^Ct%#ot0OooB|?GDLdxH zQs*})LTr!eZJyZAc+;Bg&F(!ws$GLq3x%w#;i}(o#dVU>4DZ%9-N_3FTjMV;@4L#_ zk(VXresXnPdy`jymCwX!H&ya-RrnaEMWB`-Xs)!1wC*O72LFxw+xV7UdzCJy7pO?C z2ga_Nti;o{>iRShW1uTC)<-_ac~J{*{uEUM{)zohcy#xAS#Ky7_N5BA~`oM+5A*ijVrg-E51@xX;Bh3wyi~fCb&SR=yohp zE90;FYCg&*-@udJS~HI-z*GK!Y7Psxmaxs?@%>6aw>v~Dkd%3qy{>a#39 z<7bsFPfGKcm`ocuIi6p5R%$-CNU->vhlk|Rqq*f)sAD^wFV4-oKkqXv?&`{EZeT8~ z@3?_v*GvKa-$+Q#0bJbNx&_@e7r$R6_g0>+o_EH)F*VI>J`tGT#ff=-x3X$DaPRY% za3e#*oa_ssls_fKai$B(aF@D~HsSX22xupdwFq+<4Iw}zL&eB=7ahH$^)2)p@g|M# z4NYV_Y!u(>PnC3-#QDspq-45tLdwg_`^5W&W!r3J)eHIe@0BaZr$V3vRt9jk$eq5Q zqQ^3T1B&Om{_Ym<-@m^;jt^{75|T>o%k$5_fA>#0kI(F{%rRCUJ6Lu$-ytS$Kc`fe zktuUJ>!MWZCx})YisfVk20XJ9SBvBu)(AQV9>?K&PaC|gLxopQ$K(|ht~g}lm^AC> zJm6EDTO1eTBGtx1%R3a~tk)_f+~FjqWsf@710CC{Dw8v@kx}A!OVisCAU9U3RF(xW z>?5MSn(g{63F+$rLD~M71Ty0Qu38u)Hml?tTLpdtGV<%#Sb6Xb69zbopjV60lnehz z+sE*?r6~mkekOJsW47ZZTk|`AD=Sg(8P&9;v1R1tbAp0EQ~7&lS|1i_U&#EFS#+)r zs(t)OC^#@Rg}}$}o+~>!_3P`G_7fcU@zG>BK1O|Eyd5EOczAGO2O|UO7cfM2bttgH z!c@prM?%dH2SafKpbGm~;F*GpX z<>BMY@ja{85kWw(y1rii+0s?wI}yUgXE~9AE-pv^WEYp28BtMM3aAW)Y?2YH0FH4C{-XRFA3l`jEM>a=B+?$$Gn#BbH)S*{A zw*8#0OSK%_(%+Wq4$^eDM;Q4S%rA)uE-WnZ@;ZTEijmnC6UkIWObh}W`}0+ToQg_@ z+$Gyys|a-rQf%Sux}Og=HXr0F)2unUcCEM?Ea!xSoHu7@NeQV3*A4{bK73eMqXjeR zM+5|8V;RhB6$!P?7YGs(9q9rv2q_->=5}y!&7Fn-c4m+F@82PcXKm2M-O`)~p_r1a z?AmfG)ZuDkgBL>^eOSFY$D^y;1NMlSS#miFhxh$Y79zyvB)+2D3>GXHp1P{?@%dF* z2~bay$;lW7)l+<8CX0uMJXnLnFS1n1QuAea$GQqRB09>vgH%{xF}_}vGy>IfU+g{J zIar&5mchj({rB?ns?{puf-^HRwDKHb;DtCr>+9#Y3Fytup6`&Jlv}wgtc{Z{XKYqO$H^J&qur*JZ#7zwa$go3aV7I{g}-R*3X6B3@mI~&W?zap zSXn^H1AJP1sGiKpsj5235BcU+zhh7_z{jH?Bqe>`j6-N@hK4eU=BbiG1C}zJPC)1l z8HTE|&+=@Oc$$=MN?KZm+-Ja2W@TiMI+otnhA$HgQJ+ybJ6@ibZEveyTwJVwCT~a( zy>rXcPmq`}RgmIrek6ZR-9=Tilu5w4IPv9sn(mQNdZwyhgN997>4Mk*7?@uw*;)Sp zJcHbiu2@S9xOf>VstTz;Nuqcio?``^llU$lo4;{%j1|P@vtD&yLLbUe?f-j@ILwB~ zqzwKDTCK?&nV7`oZk6}yHI3q?RaYZGF)Jp14;l#%?41BJF1TA4&l|k3@P=oSTT?S6 z_-v}rqP>V#TH5wGas=H6x^SX*r+>=|^}BSyv$YlAWWkAv+#4Ga@8y{G7B75RcY{Ui zXFFzEjExM7Dv6@1Qq?;a^%}ZKo{WytzonW7Yx&M@{>-sz=t_zksy| zN}GpfWZVS!hgnpIJ@D4XBdv~XnL9b@Ok89IZg<lHhLF+nurv=~h=VOzT=nZ*cVS>ua#2a6W`qPXe=#^LJ=Y24D z4-Wy7isqCKzq6qS_v-h-+riY}+} zyvOri0052-4-coD6cp6dqP}6$Vs4La`sGsz-Mle1KF&%_{h+0jgG9>d;#SJLle#-6 z%*^fJ9|_T*#n$A7WpnWrC=H2;U4E8>SP0rY%?j9Al>fZqzU!HfK^&zp&iTD`-+^)5 zKfSZTU4IddW3@qaqAOzzP1L))d>ySKp(1+Zf?e}#B|K3gulaR;KZi)` zr8_U2CtjYeX6|Jwgo--?3X+Bf{Tt%r@o{C5w(v|_sD3@Wwv3-x$~z+pnv?SuVn(Rz z3>va0bR)QJI+hX?G^1ZT**hS1PAbR77}Ku?^-N7kA64nB4ONDO@EajOX=r%ApBD$U zp{I({TgtL*(TdY*X^P7DiT4o zb=YIUp*P?QEsz}Hw;PzsKVXu}hCq%`9%tm`gPNp|8*WA%m!&!+E$P-ZG=p;|E=ES0 z*49n%Np%VaWYYqBU4GXxNhA_*V8ohOawyZnKyyAEo$2cf>hD*8)?;Qq;V3%Ox|=m{ zyQiSVbfSFF3Q0Ud=#8MDt<_%QaE*pNllndOAQyeP`n-+XY`o z!aMD6S<4y+%mGOlSFAH zPz_r0L;lBBM#SiZ03Jl^xb9~7I3oZ&#M8w^`;A^kf!6wZt+k;}gtMaDyMo+8*~@mu z8pn%+l1%w3SPb5%U9!_==67}VqmxhxqXN1`NT~Vz+%hewdmY>fQ-+5AER_7BF9j6F z#i=oAP(+0AW@O4;Pezfatk6Ps_lw>Ba_`REe6xVd)d?=HFr*#A#8SF;W&CQc&inc< zz;dy~bfW9epPY0~aVIG(UlIoOOIs*J+8((>75$EP+rSdnVrNX|yNef;lrQ-BdL1{Gpu+J!|^1*(U=z2akI ztsh=pER9TDXn@!qd~@G@d|W&o1;DYSFM99OrNh`e^iS_?Bv{kxUfuR zXizGG*_a}JHM{p24tJBb~vQBjRgc)USSITu1OW|{#&Te z_zJVCDhTwyuV1^bP!;8;uvLdHA89sMdQG7|nG^7l_;}pJR{N43Fy=5o3JNASH=G(r zcE_4lJvxTGyk0|i8F~|00||-10|?#k-;aX*Qh(nhDk|z|apqHUayhDpEPCzj;}$al z+Am+Wa&J|Z*qEfk`fNVejEj%&e7ZuG&IVR1XfnO%_8FhvIy+a>%D0Au^wl@GOien+5v8xju(um+jCHK9^P}AMnqR_K zQbJp18%REx54A{VTR#|P4Gq=3abw>?fje18kCAxpcq^(9t`P$4Q_yP?uZvG!#XO!f#6!}cX!UBjbJ?in%_LbBs z6feFJj`w_mbe6`uycN@G3f%1mQZG?rB%z-0A(yWj8_5A;DM>>W1V`3V-m z|DlVD1e_i+Qtew_yB-j>@DIEb5`gbkSJyk)!iozG^~a>49;FQTqF2O}`|w$=Mo60{yW%?Lbw=(oYlRO6oJB1F8bDGIEIl2a7o+Ru<{hnkXfRk?598*Rj^VQQ%gh|{I6tFLd8#LbT#TBfUPw{CO>l~YK?Zf{nMLQSx@N&_Y3 z-O2)ci;o8~L1C6^45w51+RG#|5fPD(#>RaNwJ+BjyqP5$_P1gmc&(@r1`?RZo_o4I zMrDW)A5>6`WW=j@%fDvlC;iE1`I4u=3?hHmUgYmDK`Joq0w%wTa_=jUwrv?u@6X<% zEtc4D?2d32qjB>_!6NvUiAs&HS$fxy+=7!lXlFq0}^zOK+AilQk1<%M+)7OYpO;Ywp$mC(N#m(uM@b5h=}Cn z@mw}_qarICwDK?i^8IjWDYU$k;JHKyW<9K)m#^@l=mO?>@-wS{SYMPpKtqE}j`O~V zvG$zR)?~@!nTF?>IY)?ODIt)3br}3COD4-1@}CX%iK5@XTdDQipvJ66}J`zP`;y z-{9;F26enF)ivFZAD193>WWiBTHbIn&?$0U>LOrdyn5{&xIS+Ct>xbKA-ciGkIx2U z9m_A_5T2D)*b=DwjVm+L3{*ogG2>uDN0{E(=plZoz0$Y9%^fz);y9@?*D z3vN`u@AMTS?K6laCXVY?JV3IxJ|KQ>JY%t;s=~vdLWSfCqPxMN$?;0gqSQrn)tfIb zifQ?f_sIySoWLg_piU*{Vs+3II%AQMR8>{EZJQO9xdA0Z`7Gr=I{KG_%{H~vzuLEv zZoZ20_BI1GQ(0N3H^LddEt@+hqu0xmskWN!{7iy&kNp9cdj2Do%r*IjLTjc0I-}nk(fv# zl9Gi57Ct^cNmLmnw)3CAJI#d&m6h%MHW}A6HFY>L%`PrZ-j7PpdI&QYg6q^wz+kdn z&Rko^7=V#sa4@3s${Ct5ZbTSik&>n-)*T)l@tKp~Lo%HxpXl#zUr>S~VdqM}J}XP$ z;!?tJe?Q1nu>G4}D*WgRev$xhWI%S#n;cr>Kwa4)%#2YEeT5^-kywsYV%&n#wE6|lSFhC(B1X0_I67~-t zR!&YlB`8?AxwUs@-#~&x=RUQAN@&8)02U_K<}{w{zHdd`}2pc1{gii>eb1^(Kz1u9O4Vcr$p48x@A%dY#BCAe2IGH&$~vZjWbVuD(WkcbEs#dBu|0VfqJD=Kx?`!8!;eSHy-?Tm|c zECrfiy=Qk{e~?P0;$zIP-n5meG#cqRF6Wg#d|+|=`rdiG_^BvE@%tusy zFJ!Tth7u$L2WufIdrfqtv+3qxb2RGIepeA-oLC- z4Cia($x63|UO14V-5n)Y_+5D(10>Mt=}%@`NQv9c@Ld($0&lS4o}MBj1-enAqrMcd z<(-(a(`G;-AZBELu6BAbtbhbIxoc~T8u^LTm1=0oa;<6gSFaJk`ndU~U_x!JE_ zhEASIw;FaEwofrA@^jSD){#4za)D9;lsgVjLU+> zip!QENX*+KVj!nJQTdts=~ExLzU5^P&s*Ze;h7(ld^0G%(|rK;Q|w1LjVt{G?W$}- zMT*>n)4{xbQU-G4mIzqY9|86A>0J;pWXg|*W*|*RsB>*iT~WjLS*HQ+j}5~S!ie{p zla)2qm#0SXG#I6D@B?%d1aRLV##U-Xggh;1ncVPBk`;=*KO?rS*hK!jR9SJ&&^z|uK1q8~;Fza+!s0>k`Qu%2y zEkjr4{cm0pkw3^dPf)y*9}z5zH{X8v2CCW1ZJbEFRq17AqcG?B_}p&YQooNOTYvx# zTyvg|)}qHnOZ zWl*(MFj?Tk>84b#6Y}+zvZ)fF&3|?Q6Kdb_#}&tGRI(zSwxsbABhPx`hi`Ck!?*3$ z+7P3pq&d(>wtH~U*Ym@LneD}k3aj+e;$jm!I}S?9lCl&1(Sa5430Yko8u*(?B}P@r ztlzbUWF=x_69{MuDB4N|hqJIM$A?;iPknK2Efex;?o z;Ia<_m)qjvg&_XRpNcQP=jZp9OkEaM#;Qe(_x0KD>in*%3NUu-eS2^pGbpB1Y;g?@ zMHe!ay~FBu$J@+)NidSoNhPe|i|~9eGv#4lGq*|mZpy7?n8S-rEF|wSJ9|LVFEBk_ zd8dPPI&gln*A;tWWoHKv0M+sz3cSE|Eh@4K78w{ie9UI0EF*K5+GV~q9}+TtO|!7M ze*eC2YnO5tg6h!dXg!U*`RtN?h+Fx5!&BJAek0Y*Wdm%D>BZ4K$igC>CT3)w1;&CR zg)OJor5lc7ef=@zX6hsfH8sTtb?c*rTH3b3K_L3XasTqX>MVyJ}JXPJ&unKa~|)z$y?M z9sLkd!%smWFDwkET8Ml1?78+MuO~tuNDsTDAn5glv>*ot$6T*mTk1SuTiW z0@fUWDtAyv~hEEFTc2W zt|N-|J3XsBdxi2)s^ksWY+9>jySg%sO;&gZk!pLkO3>tiR$YQ6PtD1aGjkEfj$8cQ0;Sq#%PXk&diLS zxcdT8sE*+K;P2T}_~SC6B;M1M=LskrTjkW=4|FF9x)d?i(6O_ru$YXo6*vsR;m_0a zvx`+SDx8ySHpWDqkxyObwrXHu?e36hJJN&>jnvlcgpj=$7nLf5|2Po#($LZ6WDuRK zDk~`P8x0vH2M8Ldq-R$hO}{$ZU7(oD7zP2eGco!#aXjF=ZyPruAtjvqAo~bSlgf&b z0nf1$&7aY(Wu>LXSb4L;#dkkYK?dt)gCg)rSY31ZWP7B?LMSi)eQl`h`pG-VFi|Vd zi3|GRq}F43dl>1-K4k-YZGkf=robTZx_RYVG1Y>S_VWK~W+9vYzbygp{SQk(HPruM z2`KQ-5)fVvazgx@*H>&1b{TQOMR609x|oYo)(-}15p7>@KrlT1f9^E}-kkp@PF6wM zTh(((9FwyUwbs&tEngrTX~V$qNaA zh`f&K|2+t>HNfrxslKbeJ~d}EKW})qhT=yA4UK73jIywx;Dx{S`tq_$k;vKBt)hJM zO3O5_xsln~_Uh_24s7o)WPrA(VzF@0)9d2D4}taTo;Ye`u&X`7Cr? zbahu8;w}~!aP90*ce4X}GIOs~rMrs?3uQ$N%dL&}>)eGg1psfC;F9y0jBJOGhQc@- zZyGrxUv<`c>Nf>!czygabLifZ?CgUO_BXc(Kx19f;0S<8KDfWuf8yCqDCHmUw z%(0dKf-9f(ci}s z@RbhiL7SU5H@CK0eChtCJQl2!XoVnod|X|5Tw`z11jK3}@&&K@tYj5c*g0G@0L}mG zDM{ZTJ9KS)l}anD8Ki#pEI@3+6Eo?Ztqc|4?b}eHkCIyjt1T^Pu58tLf~LC>N_l{a z6(q{2_@m4e6nHCtzJJGi@Zb^oruvg79;Sb(3V+)S3_agJL_eMjN<&Sou6E|Hfoq49 zGxaeh-r;WtyR7WoD`c|SCYdS6!oiLX*jrbZ63pg0);Y@@sGr-|0@%9AzX@1Ns{n^3 zCG`!ehs6cs^l9SQj-Bth)3bRqIO&SXt3IyqAs@VP+{{V`7>rXO9+2&JXIN zlwJiq=k#n}Ke&4h&$(RJ-`ZQ^KD>W_0oyf{@s?Mjh=`SeBM+vU*qoSL)->ZIc4gJo zqg`yWTd`+admKwBxQV@du}*#bmS9yNE`vX_}h&8yk(eT`mR0#WO3< z_fPi1q4A=@64}WqPMVL9lA~)db6ECWA2tpK*!nz8X#J;#`uyiF*3;j>^7{cgP+Ma_JpVKom9ON%4y z)U>qZpKNE-b=Sl~cUepU;6=k{hx!9P<6^d&iOZtIW_tvqFQZSH{pWXm!RO~&4h|05 z+DFrk@B)bM=%}etF);4kyXSJcFCE*Jld<|doCu%z%tTc5)!T1~03n>We-74kMMbB~ z!@g`xRMccr~ywLZU#9rE6ptZ3X3Z;;I z8Y}{&dhM3LI&&uHl*b;6-3piMg&!diDUsNYO*)Vl4h3<4qOBU1)==&onw*xhDk{t z6D}4OS!e`1JC?Z4O^fRHz!!!}Cq9FmFlu^cX2I6q!<`doMp9By;bH1Is`n%(F|51E zuByr+U;w%Sor1#@afMG@73b#y4h}IZ{rs;{(=)mfm|v^Cq=w`hT=S=}FREo0+2yDB z`uZ4*j5XlV*7r_}GXmjgGd31KJT!T6dB$pEliAP!{by&U6B+N`MyCH@D*W+-iE`=d z_wUV(zBr1n01^QTg_$`VVAv_YX`-*x`YQZUUteDoAVH)#pkcwsRgDJra=|XikQ*J$ z>D;W!jin`CVC-W(5kf%$WgzZj59jlp40rblU`D3=dtMBEmZ?3pga&qlwPNgnf=& z>xzoLQ#^~~v7}ItlDeISs$uY}#@T5ZmLcJ<1a*aXQ0`O0%IDs4gpUC=4{G4J+(mu- z8$nCkEh)Khc9ZzFdtgsYi@zebU%}Ot6{nNkXUTpel|$y$&U~n+IyEX8jFnk_A1We+j>*a9jt)P853-O7jf?ZD(e?FD{vM%V zJV`=`hnJL^3Tqr~IVx5OvdB*bTai)y-y9UrjU%bL7#SG4F8rtuTY-M!kC(nRF1(&D zglcWu|EVJ@YvAu+L~QKez1?bkUUM<>9TRR-IGYf-mn}0qUQ!Mg`8gy%$=hL={OcFh zcs)m<2!-BhW}sG!MvthO*X>s?sk10WqIxe2&KaIPE7NU%QK*lzrKoj)%U??Q?AbHn z03z^rmeLw>wSMS1Tdpe(CO1cy7ZsyVnDo=Sj&DDRlWKY46c(l@9nEIm;3ethWe?}R zu~AOd3V8^_UF|fPFntBtFkPt0$-kThup2YQwwfX3O|!NWmGH#$gB;KDXRwHmb^d+C z<>Do}u!P6tjM9&O!cxl79lE&B^f+}p_oGZ|G3DMb>FcLG;<9RNr+v(OffC&Klw6>` zf--V=%+&|AH$X}%^ER?(zdp?=tzR&W0a2ubc>2c+0ddW!tpbS z#bxs^r?qvE&{qOx!vSbqG~|j?lQB0ME0Qit2A4e^$d8j*o$hnqM(&Ix>yEoa*44VV zL<_x6X-TtqaZ-#_rPIr$UQ%iLx=t=L0{Owg)j&^hK)zKHH!*E#0c7g*Ob0m`^Lu1+ zs!nNn+k;|^mf{;TK<)%l{PD574om)RA50p?tChYK1eQQ?u`S5TU^-x@yXYGHO8EZW z_Y8<4<*BLi8q`x&jwd0>4<(e9*Lo6@q2?73AbEMYhK9y4{b(IDr7eV|qT)f(oO@T; zIH8yV&`jPQF@AZn1S$LCf~>5sNl7==BJ_Iu`Z`)$oe#4TGc&mvOcCKk-Ze>Yhg53R z4E6QtpFGJ<%(pxK#0+%!bKE< zxvt3K92>rbG>zICsBUQo7ENN3oy#jLD;pb4<9R29=f!yj!KY?5gR{KNa8th6CL*TU zHS&J_iX0k}H(JAm{h*n8r0An8fOL;$-@q;{EGfA$ke=|n#MZ-GIFOWANjgYH;V4oc z1C>Au7J}Ot*RjgAz|0f24o7*A8`TZ zty077baw#{HF0D72`sMTI_}*aCBQG~9vOKn`Vo)39%pjQ=6l`JJa}0xPgK}8 zHm*DFBsmSyHKmB-7w-N_PcJWb9vvF`t>HE{tnNK)#m*iMK*i-{#k+TXeS9QA485^D zeQwzTC%sp%oY#h&27%J|vG3>dGW|_48JVc1+1WN3G>8-Mh%3eite&~ovyff>GhIZw>_i4PEmjyyc3yZPV;3p7RQB+TEOC)9me5j~vu4}!dy(_xm|+)Eod!-wJJ?X9hFz7bScA08gQ2Ogg(GqbbHYs7-& z!B*C72`oq4UrFg(c#%e4o6nh|+j?tHPKLo;j)~0r7XEDW03cs;R`It#)3>&YP(E#x zNjHaY6`(()MCF0{Y+sjL>+tB_!kPy8`iY{I!I$-^(pMdwoq(@!1M|VsEZE2cF+)N_ zS(!iZX?r;Ww7r_3Oq#0Z70_TcwnYjT83-LWgKFEm@DZH@XqBmY0c;y&D>O z8?PASS2qoB{ng)Jf6DFT=xurhY-x>63!N2Ve4vX9#KMXhp`1Ssujk~{pPf@TnYo;T zlRxlwqN38ZwCbJ5%QIGgM~-}|bRj0w(a?Z2nGWo1jd#el%~bEv@!WyH{yb=g^271x zwV=$zMfwsA2)7-VLqepWsnBUTo8S+S>W0H<={;Ny{V~fe()ERL(?Wj)5s|~IezMj&(84})fC@;O8k9j3JpxvPIvI=m8f_s zo=+>mt6VX8t|^#^Vn9SffK9R$e0!QVI3j_RV40Yt5-9c#T_h>s!&9C1uA*hGw#d>$(x995M_2HN0;y3ah;+wzTt*x@CIwO2vt!>#*aM7=bk^> zdt!7v541mSO0P1*EOat{h0VAb-@+Y`QOWyVuX*8iZzpZ}F=|q=pDS)witfEky1Nun zd%KSxJf(ZJA$Q^&=)yBuadx!2vpC7~1MpTzlZxAqG@@#;4B+Q~kITf=4%mNi8o+mxd&KcfXgYMri z9EE5V?8yN4ru5rbgYMt}$j*ZX20ble$9@;*dkwq0++}5iV`E#@vq^4Wm#q#m6>{4n zuX8=$Zd_me%ja=%ap1DqZ&0+OKVHH(+ZwDryE2?@NlRTu@4Q6+4MM=RvnCI2;JtUg z@y81hdHO-zuB{FP)nE|96_+EG@=iBfNj`*ihW@!**Vu@ndX4iOJt+?ShAYc|mq-FM zlo#r*>H)}6bmRQ-Yr`%efEK8n2J;0-=8}8-ov5Ov+4SYd2H)|>kX^GK?soyKqicE} zKjwel)5pn4DcB9JzPy9e%0MKM-ptB@qi8)<`Jqy`T|S*%47>Q11;u%H03R~tv@X|K z-JLB3dHK62U+xaTL__-8VsuqR3G=Q4&|R_ z?D*X=k8VFmotLolm;3=Te|s1HlKlLSt8yHHz^a=rcD-(UnI?E2Zx7NHfo+}m|BI(06h^V54Nz_wXoicArd6&G~4y zi59|w<1;fGOKoxw(DOm{z`)crig%oejm_?K|6{!)@}G8ECc58=iM<0>=;31d1<~C) zIod1}`W-#gj5RT_v0yS%?qbmJ#ohMs;NTGtfx6=H6=*Zi(UD`up^u@vwN*^wt7d-A zGfKp8&s&${?cnTK$~!$(pN|$_^PR3zgs?asM8|z~e3GyHhD%+xY^a z3s5B;9TLe&^= lAVkMczf-PPzRE$J~i}CPxpi};8uxnm=`gP!|LW+^c`pH)l&9?~sHS&oi=R$&;1st<=<8UTP4hAp}C z6W_jlTN_Hgf41dvKSrvqjvHvMf>0ZDb9=?WkO|&aZ&=?-n+aK2oo6ejSXc~z?7?_q zl@?@bn#{$;*5FQ!O7`N#B3LYxm&bE+Uneb+0op zGxNS4psvG$zhxaEPxu=G;iPxeZ{8?yaaZtN@$^hg1T_7TmiWqPzb`1$D=Cvpcs~Fl zMXr*oE0{n9WnY{S_{HLq@@74iJ8bqW{vx`R@lu0TxIa1)6u`OJ3pQQuruCT^e@rb zHq83rhL*rbVj@2Ec_UDy0nx#a9~0^>Rp1T=jj1+ghmU21Jht&U?%cj@GF5%BI_OAY zxe-8oRkwvE8Iu|p5n*az@OYHTqi3c;I3`-j!je@gf$wrVG3-c*-}zkp({|U_ua-?s z&p=^~n#fpl|M~OyPOS?#5huRUdQH;@?Y4;Ek~3aFEyda4uQ*;MJ_v0PuDiO--D&k-CO_4yJ4{kwO)F$HF= zeM?@2Jt8~*Yi)BFWHijx()jc%>AiXoFVoO$#&Jj3ue=Kcr~AW=SB)~7>95Jy4MQ6B zHAGrp0DR_OIn{fXaG@2a^w6ypOl7BRk22UNt_wrxM zix+474)&&pd*efW_0`syI*K=g!)YUW4cKI5L#bs`!Oi?{wQARbMa>1CrS*Y`_!&^L z&6Sn8i6m6joNYH%WN9-`bXZ24o5#A)w{F%A+2s5A{SkRkVYA_tFr`NX*(*`=@!#FP zbhEHvOgczIaUah7FThH@xEMsj9mB)mWz`X#vNexr2g>8!--;3ms11{00_XlZ z_KhroW!%k8`AvWPNL)PU9t2XV5Gzs3${DbwK&n4|PrYyXnZGnPxtXxAcX|0f()Hnk z5hL&=H{5N)Ghy)k1+$66U?56aQ(dRB_w{2xZC}$F`c}U z(r^9l%WvO)Xkw93QBjFh`$;^my~3n=h!)gBnRC~2DLN%BL0pP&aS8wU;wZgQ(!7BN z8-tgb=v}XY7$0AJqduM^Urh~Ss*0qLp%)V(WvpCBqGxz0ZmvN+2|Ms18=1t=n?(A3 zB`9|6c#_!o5-8P@U%Ix)vF&*uKDr8X6G)_@nZ-waz!T1O^(;V%g|9_0RPcD%yIZg1 z@}LF{jtI5$H@L6oMC17hUJ&VfT-+INH(2RmO8^}hNr+ZY<>y6Mj&*fyF$Ipc_)D$s zPMQ7e9}Ec4hcw6D$$52kbw@{R-F$Ll{~$o1`}&+QQBh!NNRvu=AYP^8D+%OnbZl+XOh6m6ra@+g{DH z5HcJIdG;J4$fZvl;PPfAZ}SkO?Ep^pMo$5H@!-%<9Oqt@j+UgP5I}zgmVu)M;Cpx{ z%SD3Wp`iytDEvN?BO_0p&m9QRy+gySJi3=)zNDqbKYJeVroQ2cva&M&iH?ctglw;* zxjSyaBYX4b&;7d+q|FQr)>l>n0xr-Sw6KUO7(}(3>wA0osHsm*_LgqCO%J3O!p;a+ z60-1^O=|#%iJ6&3P(lIMdK%hHD{KAfbWe}H!-m)1?~Wav&CJvt9bwc}ZMXUS>~axh z3I97b1`csPL2huEfLA`f2bC@)wcG1R*Mk`xyF^7HXTc2AOPCa3!&6k;6!cnLi-`?z z+2l_!Y^T#dONQsP0J~}!Bqgv%iUR`)8XX>wC+i+w8uR|J>jdXeWJzwp7 z^6KhIFfPlK&&EMTfejd1#r#PFq+Yu_Z)>1r5*}2GQPLtg|EGk@1SWAKcV};0C7+if2t)ipGi~B|vVit5cs%PmzJtoV>h^xjERn zLPguBrs_V~ey=bdAKxY1=)}aj<8JI`guOXbKI7vPOvmQO$J_Jsn5L?T867*yp9T=# zGc)TB3v;O`H(lS_dcn*L4msE+BVr*$#ZjzNfOI>b50$=k(=8$b+*Fxmq2BMQt@zd5 z{hp_QTE5mOzWT8*e>hv;c?8>K2!c1`Ia3d%80_a3)(3Oj+f|K0a8qh&U$I1MABdsZ z%Ubbo*~vzuQTVpJx1|)7ZgFp!3%G1|d)j^5Jz}Q?@c=|_Nw}Ar6At)vc`Aj?E4qKe z{95Kx()7#Ab138W^cMe?S=vrjyI}KUJ6{|`MGWKN(Yl0LPf)=bhY`>jKj*uL-K#!a z7AT&_X)1or$jC^TTCA~r0$G(Uuj9i`k>>O6K^>3X~cU#Gw> ztMk?O$#1D(lO0`m%RLs$7E!SEg1{j=`&c=ZGO>mZ5A`CVid$Zk{p%dZrCP1I1vdlG zQ3!L~P_T2{6fo^D=yM*R&0q?!+2M)_M3B+wopV9qyr6hz^^*X#eLFi%aognQXOvd+E$ULoO%8 z{dl9|_ASKf5n}Hox8`P`UV>Thhqx})^nL!q7UXG^$d?UnQ7_F-%~P~*R$0#N7?qqc z#iV%FPsy+SR^b~zp&aV7nlzn~rZ6k}o1nLs+FPo2RZZK%=Oz_$QFRL`tr5kZ_9g+k z1da5 zsm_v`dvs+Vhbw;`%V}MZcnRw`K$^zxfo0?R;VS;}|MwFu z2ggns`S`W2JNF(j>ECqwRk+s|Yv!^UC6R`MBOA{X;N=yXo{r!O*fWy6!LY_jlQ=Wu zU{)um+m5f`0+|$EzixmkpmKpu zo64P9fi$@cwrECt`|r|k%*+tpIF68VOv46jg~n|I2+~R2E6%=L=*vD00m?j2vl0)x zH^$OD0Pz^lqgXqcnYX&l)_K4g5d&56MUb2Ha!KKby~A057Z5#zbNC7m`PYDe(S-J6 z$P3oJ1{zm zi%&UGb%v0b-!Z@Ejq|tHJoxiyUmv9DpEEO?g9ZBjz7vVmCk>6|7Q_<#CahjJ z)>RE~%Wva?%D z*c@8FzJukx*1CK`pvp`o%-v_zc|uU-*z#A-xIFf)DfZnZ(`ULCAnSvm8l|0T`O zYrot>Nggan_x*3Vb&M#_lP9v|uua%8Gv6J~JsJ~`PVC3su}f58P*0bO>Rha@CboAn z2buP(SG}#R?o|#)g`;kc&QRl4VB=g}?7V7jq0CnVjC>NK%JI>BvHCB$4{!o|m;Tk~ z_U+Ba7V(RVGKWJQpq_jfHZ+`%C6UxyBqJYZaM^x^=HEn1m1iE zyiqsM)n(=6=uQ?VlpbCjDZq`f?Cr{5jg^|z|xh^+$;D{=(WLC7d6x`mBM9^uXu6J!MeaPSafr3rL0+N2Y5-o%V`N-j!v8) z_mL`@>{^K!Hc!-}R~3HtOxN7}-Pr*&Jh>;vxBf5I-ZHGp|BL!OhysEltssgZ($XPF zNtb|hgQT={gAz)Lw6v5o2uOE#BOTJ+-Lv`qpP6gs{hSvnik$o0@r}LL`mA;i+chR- zAgQBb>Q9I=xnGS{Sk8!=j-XT@PtTyDqWZO&v2V{Lwi}{~2>I^qp$n6>pOpD@E;`t0 z8h-I@#!2ZHVs-QT;edo7pt%_rY#L^NYrAYJ28rYJ3i7^XRLuz7i50J`E02 zlaqM04HsAtzvS}Cdd~Z-5+pKz8@w^ShZ)^MD(V5;`jdiIe6`0_I6cakj%kW1N1r{ zm4-!wg6`kFTOhZ3bajQq%jetPGjV?ZTqS-B@PRH?1zQW^UWqeAh65l*p3|M;m>J4Z znT?2}OZ@ReXB_|YGpYO$qI-t`5^4Rm=;V^0lUsbLoZw6JSSCF^JzDC}jGdNRyyYM{ zP(Gaqa$)!Pp+`yw_#2bMkSMLQ`K9iVf`ZTtssc4P$aqezs8Gn}0Xl;zb36rEv{Zpf zL~y%8Vsv!>(18pY#eg8Xj~SrUP3#Cla$ibGPJq67a?&*~EiK4UJv%c*ChisIs}nvl zE|2NqmEoaqC#RRslh;g;gG;wo`enFzcu1rG#TFm^S~yX|aQY zhSt;FVZk3G@u#LItcqU*YGHcg9GuBGDdb2>q!p=^b>g zR`kbEsV_EBkAPeUwX{9s^S=@kGTxs4<0hIv{Ud}uKNYG_%&>6UO9|q9r+HRYTN@f3 z#=^2)h0Gb}ll&Z<@tmAcMM!i%Q+0ELL>W?LoT+{Jss1f|$f@LTK@P9tCM> zc7T=P5hPcJ>h(RAzMJ|qx_GFjTrdgWuj%8U{Cs6&&Kv`$dLhWZq`xxw|@$pBvQI_Y)bl z5U7s!%hE3sw*f`$aky5TB3gS74NbL(q9A+SO1Sw>d1L!u0PsuvD2R(%g8&v15(aNskTFd+=r9T;|8_ZE`xu-D+YO&)1&T0ZeOBld z-Xhi4)z#3ve4R)6tnRpYgaZ3EHr~QWf4|edA=~sfu=ky2LZ~slg|L{IzLS%W#shnh z6euc2c{ijnG3^Eg9rq@@G&jM4Oa@<}_qX3XdK8F@e#bXUq#&B*+L*WHD4B^QL&q9L+oB`3wygcOG;F#(L+=0AV;>54*e+w6?a+*Q}%`;CP-|hQo=C zousOYDjs^VRmp-&NfZ+uo$y*2GJw}MxS{L(;T0*Jli{1BDN9I~0F zxuuwxiT?f&DT=`%TWc{iHi0+7<9*H|;;P(>2hKt0xMr&ZI|m0FV9WpzbDLOFp?bcj zKmU6k`G=NK;5;FGv=S999%RwhNxQSJo}8CAeN3qk8ACMK*r+Hk554c2nuLx&H?9Q= zL+aRW-2zrXh@(CP7y=zbenxI}rH98aF+7Ow!TW-SKzw2PakKskA553T!O5^Hii{jA zDmt&Yh5NN}_ed))KE89&dTR277*mwaf&wjTFd_@@U4Y>%ubiijtwWfjo&!g_4mUNw zUV#c4DX_hbqi7Tb<->kVXD20n);>RVa&bI?kZw^Sv}h@cfaZbWB?x~AFiM7w>~EF5 z0EN!KbRplpyXx?w)22!&`Qp`Cong^%-eqm3d^fhUwXv?14XCPtkG(r54tHnSQ=c85 zYkWn&H5KgJNxzrgr5x<-7r`TiO$6#VE)#Q}qM!f%CGaFdS#M$Kmwd4#cGDmq)%@#k z?eSh4A{4N4JVh56!tk?w5Zhf+R5Vp{*}kH5WRftg&RE)KwDO{WJ=v)S5))==A}W_Z!Ea(^toe>T6BzU z0FUCPZA~flsMh2!Dm%Lp+)hU^3OpoQp0XE?1J1wbt0kp%ekOkX3YB&ttKD`_PcMbr z_&iDXP~PypA{XyyK^^RKyu;8>c}XZRb;pxmcQ-7Nl!!$x}E*f8K^xo>UJk?Lnr{iuZE9@87Q!BKYeXa#&`We_B)?|m`t$gdnWUd zylQfBxMF5g6@%SD!KpmS5cNPVu2tje(>wqbx&{(ZrnamN=dQst?=7qNcQK5zw)w@F zSxI8zv1P61@qw)<8l<_%BwV!AxDlcyX}gz$`187zvm!-qIW?E?efBA5g77I zJ$4Ez_Wj8|ukAN1%*~&R?`7xvLy#mQF=N3>Ip_Z)5DNVcZ3T@EsM*zBM$O;e3Qy0FkRQM4QYiV28aU+kQrrsqvd zZ-sD)&UQ{vhe6^13$t~GwOb08Qin-TFCW+wYahN;`UpU%|V7mpAk&qdH%BfvxAJ5An zB@?{9RKiGak>=&a^VHzy&fUKQ1E8j;`IzKS-VSF*Z@zZwl}}upBlJO_s17#KLQX=g zf9k4ET2%Lxl+&Hxg!|l#4YX@UB(OzufBf41UhwiW0uGrN{XklAX=w@R>B0{olws{E zzyIYLbn0RWKsOAAY7LD^PU4;~_t)XN#?@S9{P`39HkQ|E=chpjo{gxeONH6T-`6Ys zXSRtuEs(U~_n3v{f%PjjTIH6^6p zPL!A{$-A6o8y#(^3cUX)BxDPGsNCGYUrA~h)WvOW7nZt>0o~LL>!1@?ll~OYnKd;9 z(bI3Cpv)WgmNY(ZITy3b!5cO+VAK1X^*~O(w6bC^{cWtAx{ETo|Dttyw(|9+f}UQA zoZNt`+Z~O(yvj=2tIp;kA~uQbFd24oO3Tb_Q$}WHDTy<*mrIdSWj>qpBf zP`&oVXF{z^wUS*NHW6fGw$t1uuMYh2JC*XaVk06dCn`TVV_=h(O!=pLeDq+4F#Pdlsiek~p0rVR?c{37t*T)muB27(fC%J``w(~7bY^FGH>WH5hxj0n^VPt>OTUja*;^H-!g$MED zdvkMXGqZ!x7YXp~SV)MvkHS*Xye?&0u>ub!o>EO>*6EbHA71D@aYkF)+G?4Zig?Gf zVD}r8HUUEKxfABxhp_26ojOMg^corjzBmv|CtM7-82+lM;T2fvi676%D8r>hM?DFJ zZXY*y6$ZwG)m5t{Jf9}G;}GIPZxm2Z`cxbo9NxT1s;zzCuCC&klRS4(QA-fyLLo?+ z(5np14jrA**~YQ58AT;yV^xzi%rWdk*s)73P++yM9(Mi}Ll%U>(?61O*HZ~d^NZsg zB5T)a;a}P|fq}%IpM7$^NiJ>nLV>!*#q;QBR9GJAD?h&V{JWPI1S_mQc>3p0 zNy+Beesh&m6%uAcqQ@0z>mCwIy%i!6!o;*!FWn*&-)jkq_3>$qi(5L_)<@w<=#9_K zWz*Vt+mox#rkr=-`SlnIB##g>l)BI~a8x?p`Wq2`LC#@=AIPtzWeGj|!5Kd9`e)P5 zot%t)mY=+Kx;bWoNGx?MEZFN>Blfo{@4|>hK<}!q9=m^az8w?&?wY%t1l|alf_D99 zaPUK(Go7xM{0i6p8B6@Op$VSqNSlvOKW zn&%W3vj^yYXb4^Toiw!lH*4XKQ0;(4a*0D}w@9)8TSErgbCzu*?jvJn!RiTnM;o_m z)n1###PgWo>dI}Se`r_&9(OMD@orGoe30}6pKNo{R$JR+F2F)eM8t5KyYt~x$G+pG z%gJ#Jj|)YR$hph95E!Sf=*tjbpbE)V*L%vd28;!I+Sl*oDSAP z0~Dc_69n3Fd)H9yx3_2aP-6dgvU|}Pm0eYRIX5?Y>y5U`Xe1;Lf?Knx#o`@oDNcS% z7UG8vDLj1Wz*BvZ*qEihl|rKJl>6tDMVh)nTDF$M>>5Kiuyio zJW{xahaBt{7vM2tBb$qbV;D8-S?N!Sq=yHbrKsG;hZFG(51oY>^H(~_&p~5)`fHVf z1`I@79PDj?B?!I|z1AAw)v%aGQX{}F64bo};ED8~KX;lRt~*uP&ylA7q97uYCPjfy ze{wMm<~wMhZ&!0%t>+7ZySd5bDbZO(adBh0O*-OVli$F?!W0;2ArS)vU-G|JkbR%} zz|zkL<62r=yl*fTfdCC9At5R?9=cck&VlVj@%lNm(s>gt_4ToctKP`VBm0(|M})@( z21x2NNBj9rK+UWDS!PaEouQ3m)lqxc;ol*Jw^F~r(c|9=S%&vRIQg!r`WpuZ## zd7q9z(zOCqA!$7$KUHEN+5={g5_8Eimr{cP^6Iy-o~_^9vP+NqmlHj9&$ksNqntq$ z(tp12q8|zTdY0VWw}P+)$iQ@A%axn6(FBU^;hbFu2W>euweLUL#^7ug7A6XDHXR%t z85(Rl*xO5qjqXBXA0!9zxP%6i^wPe>f7uB9puiwdbPx!Mie8-PS(%zXMvzl(gPj5r zWqaC2)N8+_*}6JA;jDCZT|7jHnftIR(D(>I|MKi) zUYJ<=7Q);6Hi&*`O8b&%U{Sd+J~l>9*$OBV90zjP0$G($dU~c9 z8&^Vq56VqV`#IVq+(tbcxRiUfXEao=9OWe?F?QpoCLy>0LrxyInZ$E8FWob2h5PDT(u);FBv1tp-`$DJ=58(z@O%+4r7AYR+2 z!kT+=>FT#puXKAIR{p{%a$~>Md&R#I6&22iQ9z?-DRzD#Y?DnTAVpSj-4YN0?JyfU zM(`8fI7plL{-Z1`qX=|b$6HVC-eod7I{Nyc(l<7>$cT1e&|!I*WOn})?$jnXX4$l! zD1ADs@@^;y*Irl)ii=NAmPaBXy+O#TIz2^vBjL+QKmNS%0*s#6w;tBPFbSzn9d~hg ze-{=$Q<9L3s#sp+nGSglFabeT)#!Si@Q6#>)q!m-Ef}lZV9C?j*;`z^o2Ok{V7(}Z z?vtFx*3#J-Ph|~663cBxI)bqF@clzg!O3uc>GYQxW&G08JzZuL1>Rw1!d3rdGXn@X zWiu6MX#*-9P=`NTzkq2dS1x>2|GmvR#x+T zYpr0C?Bt|IMWxHyS{^d@7H2dkUu|1=_hGz43(}{|Ra^PN)pVIeQaLDrd~p_k#gO0E z+bgQ7>L-x~evN~kCtKaI_l2lEb91}D+^>iJI0y}zo*-U%TqP&XhQsiRsB6-XIUzJ- zW*0goe?&+a`1rU4Qd>UP>+5R40IB7>%%L~xo`^bq%$!OUIzyGwkuVCsn!WVw?AZ43`Q33B=M&iDH2F(H zRDc5FlK|4wV9|>%oqKR?>%XVT314$Tj=Lc1%Q1h)`Xo6hQy|{?IUZ4BIU&B}cr%*E z^g}cf&{8%xH$7HliF^b$*Kx7L-P~@`M37;jfu1dbYiIHUD^YaPwG|U&Nfj17zYq1iU|M-kWzI>J`j0O^lrFLq9YvPb#F_ACyocep1U_nDeX$W++kXttGGb-Ur zQ2q6bV#ci%TeFV84XJLn5!KoTgPTWrY4HiH7VvAK9zejQt*c%8(>G3OPOr z33o5=@Llv>)P25QUtNVqd_lF(i2UYk&&ntE??ecRh``eBrPc*NfjJO5lVzp7iPyr< zurz8kn)N%d)l;UXcwpo~zkTazKF`ZdL_x8ntel)Huq=PyN2Q6r-4>MCIxkVp8$_ARPKCVK zIFN+6yDNTl6s-O7sfe|;3D`TKl!1fmpr-1FiRK%|r5#!TMgN@%OTZZeb%*IGq8zq9nwsSKm-;|tVvzUin<4Nvq`9W1Zua-b{r)Wmh^oa- z&{hh!CZ(xWI}4kc#d&!Z$x_+cYJ4y?y^mmG3V~(P@Gz#Dnx0`dbM=JBt+CeSB1mI* zIS*D;P}ta9hNXa5t}IPv?)NV;ZX%7!%x)F!9TB`xG>c`wgZwFMut74)y|lz0bd#eM zhw909`^PLeIYmWBV0B_-)cR(I7%CM{pFWKUv62OI!KJhI%UmYJ_wYaQ-P2DAN`#e^ z*k7I4JfjKKdCx>iXVwWL)cCj_E{^W1?P_f~%;PAK!FG;%BS)1qmD14Yg7qIc&117> z^!%Zr>b$&!>gs9~lrX4%x4o4_^bcr)m|=Q)b;_X?_0An%i$i&3WylN$RE0e>hG81) z>M}fhx&6c!$W1}T`Lv^nx@fxU z-Tjmzy`6Otv}(2Dzt`@?PaJbWFm(SKRiO>HdBwx?!~yM^tyjCzG%q8g2?C=uHJ_Z- zCY%-Z4in%JyLF#m%)zn@cjnpUTns;25{HZ>z{I_r*RC~!SRHQ@0Tsd703F>uCkO9I z8VYD+)nLhx48%jYadiLP0u%%MyJ2raxr606G)qaiSH#4}^o)(KIx0Njn}QGnGpRRW zHhq%+77pG43OYL*H9{hqqt~PzCn~Cs>IN&KI}7(=weAV#@3QooU!L2D|L_fdjSio# zY5#W!|NR8tPZ*H&bn{0nf#~ae?$vH`)~8|-#@XE{qLAyf*%?87|qusgUvA7 z`zy^6p|7>i-_`lQI?=t^cZxCA!48o8kq-Qd^Zz%~;S*u&v|B5i)8>5yAE6Ncn=d6a zg4=HDszm&mpFRa<1?TkVWruv>)A={3EH^K>8~MQ4-?kB8;T?&+yQae@(Xp{)@1?zCVzxwu%yM&c2L}e?m>L&W2h;C;3CPda z7H>}ib1ZlS7m9i{_V$<~A|fEqSXE6e2@tdk`r2x0^}3rc8Tg{39H@ACMN+xLqod=& z`;#PVW^M$cLd(fAEn$N{{LjQBJEh(lyvxKx(JKfJM#X7o5d)lDlxB^q!QU*1i7kR+ zAO?&0Fr;C=lehWY9%yc1!NeK|sOhfmw}khi)Jus*@@Gb;uXH*igIElI{KMIru8xX~ z1cmAc)|krkS{O`~Wo4UYKL!S_kdkUc&^roc{9OlPAIU8@`a~2R1G+ zp7;0tkX5oLV@Wx zjExzXuK)YTxD0`ROH03qF_$k+XT-?yo;+c*nEWb-{LO#7XA!4KblCVI5fMu%n`sNr39R z|FPg7A%i+iV*|T^Q4u`wv#1c;oQm?i_|MA9wiN+N<6C8A)a^9O zvBLf~U$C=riTakogMaVND~Q=bc`QuPPai%E!m4n;6cKA1adL`=Yz1(+zCi<8p^91$+@x)#GbmrZy^Bjr0R+E3 z>?56Mp`oM%1l`C)58k7H^^G1^`y?VF2cDi}H{gJBo25~=o%&JDO8e51l7|FKX=$6# zqz6xHm>40lbo?2V1Z}pbn;IH4Kt5e$lwGbtF97_l^t80JvR8aB7SkIVU|dQ0@N7^A zyC=ci2wGu39+f)nU*EM6%U!JZLPbKV|NQxCak2ScOR{{rd;KcxydhP1W4zdAW3=D| zQ$S2!zH#bOn^yS@q9M5k6f`S~ZY*QY4sbGFVhJ9IQhd(SsZXOL) zCnCx%U{~}=J6Ne=5fMqH$5)q_PrqrYZFZObZNN zv!RhC>A!#fkfJD3aRIps$ZB2%=+`yq@Sd%BtQ=&Xo_@s^(4gmF*zS9%O;=y;{UwVn z)xNvRNxH1{{{8eXUo0NIwwHoYBrYxx+GI_wlyi@~&C7H?@Bhs%9?6^HN1H0MDoUCy zSxF~P)_V16Y(q;=uQ559`^Ag2z(8a)QdML@=Cq7Deh-=m>oeQ22A_SQZ4B|AzHmIH zx7|KnUEzAI=(#zD{+QD5=~e5+A}N4piI1nxpvKBa@#Q3tf0!8VGe(8~=7`(8i89=T zUmI7~*PrJlCdpB2&_7_nW@4{=n0N~$4=^@rIXaS02j%2kEVhS9dtBEUbh-lf*<-0o zHBKuu1lw&O)ejy7+p}=E%OfLU7(MeseehDV!mRNN8fNcepJckX0gDtlJn%iFcfec@8OtT-O z4GmdDf}g%k>EB7CQl0vY74!O79&%Fz1uFovJ>MGar+%ql{4_!$o>@3iAPE-s{i^^l z0ony%lcy5JCF)Limo_(nVb{LA-`Obx=oernkktDUWeq>7GJVS9Y&+Yq4bv0sp+laF z!g^b>BnhUsY})59Um}yju-vIb2O@CX`-&?*$Uh{~UcG+Z(b);qui}ytQgRy|v0oeO z>y5Y<1~n=4?1I<=K0eKkx8LsR*Rl{}bUsDg~jV9Xlh-?0MI!r56Aqhkb2 zO}Pd5W5Namj8OmX&?NRgR2K`71KU;H$;$@C|&hLhj6PF!qh~{lFr=*gRNmfwCqVcJCo<{p#`uK6p@sf!El(9gA%G+3o`Y zeP%zYtNng{JanJd$BvPI|6xnKC?-bP|hfh}7aEQ<>zSt4G7xHa%n1Fq$?i-Vj!0f)0YYl?q6=({44E#%KAHgN<ibuM=XIFSI6lvx?M3yEE$!{_ z7GX9!qXo>UUpc`L@b>L-ZVnwhm9eqvP{h*J^Uz_|vpRYRQhF${2E$HX7)`TUt@Pt; z==pK1PdQW|pa{>*j0u)nP_7Iq=u+NShmQv#!y_ZO+EBSHP*H{bALvpXaTG&~i~oi^ z=L238`fbmgoVZ`V&R^Y+ojRWnZU;X~%KSSC^v<3hq8ZVZJO5oo=-0wp#lV2lk^2Tc z2((nI>9#g=$fpL}gD`XuPQE=76+QR%PR+}s|IGhArh|yZu&c>$T-TWK`SY{wT5Vp3 zE$+l#25L@_um(kOz=VO1Pk9qya0q5Lz+gjt1&VAD5lu`RKv@aLi%gl<&}e&xvWlsS zvaPL3j!YoAy0{38_L)&f(Ld=;RZgb&rrENxXykuA`uBctuyMMa1xe;U6a0;|w9VzE zmthZUW9thLai~Jl58ap~rp`MCKE}c#RYy;F90MX5jR%^tXy(4g1FZ%`5`H!09rf=m zTwQgIj2^;)Qc6_y{DhED!$8Ru&IxYHT#WzKZkpy?^r8?R)_05mE^k*fmXB)`$S- z)6b-mI{(&w|9%UKXUexRWd@xhs_m|BJiy~9was*KaOnMG{N>xXCQ%*TY3@hf`aRfi z6$O1#IS$K%1+Le5Hi=HO2oR0+hZO;hq=D}}Tj%fZjd1e{id`UI#ca)3=4EF;%wrkJ zf55>K%Ve1_IN{C#PXIZI4^LdRR2?irlA0CV+8A3K9d&fAiSIV7 ztZ+6oDq2|hC+}#reRKa@4WOJ3;|nlc&97~v+!)#rj-p(zD*?;y6Y+OM8~jsPTAs?G zv9Xrs=7(9?GsiF3*c!Xdsq-!e(tyga|Nf8`zY9Kr>%nDL3K6+h1Z=Ldv@r7%Z_02~g` zu<$F`5Q#6EUVmRa+17Mp4Ac`KgEf7B6uYs~O_N z&G1XiE}`4Ww{doJv3GLV;?ys5H4T*C(L7|9FgCArGt1PxPfI(Pj1?*|j!$OnoMN8x zAk&T3Ei+@dHL$M_YhP==tc8xne6un(^4#IDb(Q<#csFDsiz*h*7W2aqk!AJ zM5IXX-v5PICV}`G3kG$p5c$$o>C!Ipo>@T@HZ?%%}hACu@{YcRy^1`Jp8mJTMkfypHXq}4#9nO?1m6^;1X4LJU-&~2^D;dt2^$~3#%ccufCC=a*_*gP zCxLjlwJ^z>I#Nb&|5?>7s8W%zvQ_^sitW`uqo7P5_@JOXB2!((jet~YO=acfjtEl- zf+r$+4k08}js-%}-`I`50T6#08XmVkKO@ua1+^X?-Xj=LpaBagyZMhj1!D!QM2Y|^ zquZziF?edKmjVs!sn1{;2ZXnjtSsG|jit`@zc)UBYBn`p|C?=a8)Vq{ zjg5KsSJq69(O8+7#%tX6W7yuHVm1X4XHt$iFZb{e(9YF+p+iNQf#Crqr6{6*Jp?w@ zpo7u_^LT48EiKK{l0Q|q5gZ&NK(T~?>K`1v?#=!N&q4ss@6+s0MaP~0^XI>{wYk|{ z;b6bx%An@8nvB@kY@sa+;-2f@V^-WxWkf|^v$Ebsn3%4+x*=OkSDEYSRl_hs z69G$Bd>kAYO-0q!1KJNDRS1kXQF*^run!M=g92N!Gw(BTB!WISJTz1U3%0Ya($ZU{ zGZsWJerIP_Ce1=6pBVv49 zs+gE8{gBWQ5s~?3!lu!U(fL-Ew{I!EeKu2NsqWl~ zOLQOao!ySWQp98uw(tpGhVWdAKKU4@4K;e+Tv4vs{#K0p?=w==R5 zS6a4W-cxi#L-qzc9wH!d^|P@2^6ee7Gfaa?t+{ii^CAszK`waJ$ylYgm>y&c;38_oYPtd9JdSigdA>TpbaiX;fhU z^{a=&k(rjxv;9TM{+NsD>ht>g^H!hm)C*0ta(;mS~^l_AW5Dtj0NPkRcKb?VPoHU7BlPZz2J5} z8Xdg~e!pN6WeJpHEWAJcU1nro!zxWjz5xN-rktDkrvqGWVPPJJbg+EGJ!7>tbeA&y z^vRPa1_mSG8EXFw`e4-CIr*8HFIbR2K^<|R2d=k4o4@O++;5%wD!o?BAR+^P6oz$T zJH@|YkjN$?>{Fmp32R89)tk}mGwOe%nZeG#H%LhC&;&c#c@HKnxC`%%>FDXfSvvtp z=fJ?a)Gvl05rDC&6dBq{OFu>65hNTRAHQdO1S(-YX18{F1f%`NBTY?nF1MX>8{vS5 z9w0ms$MOafW?#};vLS*f$WZ?PJA$S{(o9$PHsb8;ISH?;RLKzqZLk6`+j@F1E-r@m zPP_H_#oN;g^!R`ukAise#2moeh3<$SkQC$ZkM5M%H#Bq`0aYH+Z$t9$-hq`=pK&GB zlo3Hib9UGgG{eIUt6|3VwX%l{1OYt)BSPX&J7fMleYm-~(C*5?p^S{|hWNqSZhNru z4v{>5a3~7bFZRbH7^{?&N5Z3K0G!$d(b;BWI0NJ3_J<~8i=An>6pv)0bukf3OJN%u zX3mrkZLF=~i7P1?E-p?MHhe#O%21<{lakV{)2E!XL(HUG_Nox|Y5o;38)%grac(DN zX3oye(ql5RUCM{#`;jv}IuH+&g4yLAl>$+a{ht2Sav}p6s>OSzu?F439Lfp0~Qy(5`tLX{CyqE`}p|6819^$oK|?z@)`@KWX<;5h7sW! z(-my`^DXyzP^7WEb7=I1F^O2k*3=7|NW#ESwucJ96D%Uxifao&v?L_yXIQ_-nBeJv zAvr8m&Zs+vnv+!UO9l~P&`c#q9vI8g76C+GxZInFflyK!Ois}&)1VJlCYdUyuJ{T; z>e30^ikh0w!K_crd33N^^b|=hp3|lz_w65fwGGRKu|L#5>Q~gl)l`1W)M#oc*digW zPExq2sqLn#IOi5D4VI*`VY&C2Uly8ESik8Rw*Ta86;iy#N$jP}4rO)7b5m10O93*$ ztbqZC#S~4H*$Zk~+91OHH;|A9k}<`akF&{u4`5`8Re86&v$vRy_&DEk4bdv3UNcRB zgoASO4}gBD{S1qo;+OBX%S`R{KVamB5`MY&j*XSrWu@<3lB^00rg5%fg^B~(B9ReO zIz@Vv(yYK8&B}0m<&bwd+qeoG=XjaTNUbUrU2`5y=A_YB(GKg`hUStIcGX;HB+1r# zJ3vb*10!A<>eL_YwaBs107TyIASA9^U|*<$jfvT#K+`-u-7_pd z)JV#FRcE{;gZN;&I=yZ6ODQRAb&C4$%YA!uTDHssqkdV!?AF{gTnKGhBrT1yoN1rX>@ z3=P=c?xjYLHP!JiRoH0*4B_R=-0j*KiZL1jB5+>f#Ds=|D<11n+tAPu;!|7OZ_P^g z4<9}dbM$;XJIH+Y?TQv|0dAftFzMa({9RN8bv05KII&XkT#Jnl_?}%$qGL=D;^1(( zl%)Ln^(8IsPPw02)`;jgLKZG|_URsr>4o+sjE7vA8C3b2of<_H83hI6^779?sXQ!g z#!}>0{X8~CODs336gu0v>Ohtg3YqAHR$UU3=OZICPW~?vbG3D-iGAmbTBpUw**|%q z_bR=G9w}^{zsi@Lxe8$c-w{4tl;MoBJ2xJ?|94RUCs1}>pS!^*_PHSetvJgZv z!U4Py<7Xw{+<}>`-K}Ap)Y9@gzebJEB>YX{2zc!^rKJ-l$L}L-mRvzUs;#Kl+}+K> z!=osTS<4J+#{*vHOZ$Y{i}^LpGrprO?kqo355$SXtqk$SWzRqU7iZ&F{o`+63je0} z{`8FM=N+UMX1DebFOomusS8uDA!Qb4CadVQmr~rH`{mvVOPBhaZwP!o@ChXo(`J~C|MoVi?U zS|y8QtDyfEp_2L9AnSI$UtIF90U|~&@j~bym1nu zke2^$PSi$5C|ZnSb|*-lV4g)_~Aaqp&2o*8%-_YbH76n>S93Ez8_ zFCo#h?x&>JWFuI}8%#!@?b`&)I;my3^^?C#F(?4(8dSzWCM zfj$%zk;B81p`qVywI6*23h?Fm{6o5vp{6G0XF5+1w)XZGV>rgTy5;(J`FMH#dXEvR zb387k?5N@*of3r;?mzLe?BIe+a5>*zZkl!p@@He`R_qqh=X68 zQhQ}FL7=Is`U2~AJg=M5Gqg}c6u{UN7TL`0(oIe(X;iDdMUP|B>wyj-921@PRWGcZ zLPI~8o_E*PQE_rM1Fn9+`kkvQ&KN*Cv@6-YJL9hhWjH|ZTwQe`B}Mm;!M>{tFXVQI zSHmk`A0Kd%Y{D}I#vmj-4&y+l&CS!t?B29pFHYqlPE1fj_K|~{V56q?%wO&VpX}_B zt*LXe=e4)KyQ_Be_x~MHu3L=x>LU!2)?3^md$4o0y?fg&3+ZQhxiG1v=F}6o4>j`2 z!@^vQjS1TY@bK_LB=zQ77*-7yl9Q2$_&Fl_3-pX5BLlj-av*;y)(6A9-KcJ%H9I-E zV>*G)a=PKuC%f6%iNd0NykD};&IFo;d&S}@%Zd&T!L`?FPkTKz@cvXfY=h*wFE)&F z9gr#^k`G9|znj$GJgko<%jG@()s-?aO{65(SXgfVlvhz_aJLvh%8@5LYT!)%6GBQ$KrHJp*)PH_6PE;O02IVxu*Y6bKa(Li>)O)!U z6#~)JXr;lxY9k~oD}b8X@AR~x+{Os0Zo1m)Ca8M0ePO|CBu|lpRSdZwT-JK61JD*X zHzV+Eo@;1;`{-Bp>#=5o=+e@!m6a@?bfX?Wj`j57yWS|OYY+(W^RwdT|LuCWLzInm zXlg3{!4nCTn+-3w^N=B!Q01(zc4os*PTU0EkDu($g9UqqKaVf)@`eXAa{Y>eBBsag zbT49a!a+pTlE;l}q_0pJ4i>Du6lap~_HZ)ATpJac8 zh3)f<<)^TSlS_aTb9Z08dzs-SO~+WZi>QW%fYmN%%bWMaO|XAzYXiu1v$YF>ItZOIrI zkm>XbRJaq~*%aCK=a-#aq==f+DxkMiwMa2=o#`Im*Y#F zxSu0dr;s=}YQ(}Z>KLg4y<2(t7@u9`t2SzSR>Imuub2GCFs}u?zoJCc%vxX?Pk(#fSI19+fZ0UqZIJk_ z7V0L)AgWmA#dzqpLaxOJQI4O^fa^GrR$AyiiD`S;>xP3Vy4>w#qhuSA=>W!^p(i( z^fs@E1qClPD^r7C&~g;lrbtVFgL8C!x~!d?QW~Q8wqh5|tlqZ9;VruFbPEoWG!Uz+ z$yCO#`n5gq#mIFfEZ%%ert&j;W6|UrLQWTQ-`^~X*iYyz7`8j>o15xFFXpKTB&o^; zROtu^ofqLT6?zzDAR%iA2Zhh;9%*->?CiJ<$) z4(UARUqTKFyz{0bm1^zkvPM$S-JVIBw8d0t42C7?xL0I&OJ!w_{z9wsEkQ4g4STQ1 z>9=IT7wvQ(6yBe>e}2Xi5L*=Um^g8{_!{r>z+|n11mP~=n}#BQmRl!-hQBT&`>qc` z_6#i(JHvD68UCG+j&N0l95e}hf4Y2cQG#~7KjCjudDS#bL@6VpK9I=1xgDjH^Wp@7 zM2Ocw+wcA4sA41H@f{-}vQzh~x#{z2&YAtPj@blUsyhhAP1x@ya4ABh9up(uj}WUL zt)2XkIFowg6B_+pleWk%&^9(kO-ZRt6Jc-9J6gWa5|VLycHE#l=C7*i7>+o!tY5ht z#VOFhdV_|J`$dF=0kbNoLJ8EN$3@juP*PI(M}wT8R4R2680Vc)9`zQ9XtdeQ(4b>u zQ^rU45mT7kCh?xxJ*mnD$Vx_bB>~p&yRnqerH<#j))N(721ZV%{7iB2RO`dHX>xY9 zwrlJ8w0Qn8G1<_dQ#r?4mu#AKg}~U-(T0EH;}uz1GfH{3&%OkaMo9QHnE42R!z2ar z6qJ>XTtCG>S#JrV$cca~)xCX;sVU{>sa5hVwz`)2!u>YcflReSnyuQT1r27@W8>&4*NJVIL472JLngS<@EXJ^eW%ghrOetYLD9Z zM@PE2GIjk{!tZC>`K~V{X(Avk32SDVLEZ2rLFv$t2DC_PryXY-29HlANC?w<(fS=` zE{jrAUAto*fCAmUtmZf&GpKvO+dCX2^R&t)GKuti$H$Ep47Ax$$5_QQhmKL!gJ}d1 z+i3MHEn$~WO+}^uQMN-@)#J(uPoS;k3qCQiMEc+Z;zykK?v6#q&;W@5!c~v<&b~Lk zpAUF|iOKEEYB}HX5*gVGaFkXK%aB&GynpBE)Ad!`im$C}a0;;mAabO;z1_~nrnKNa z;7ZWsa6C4!(D`4wiIy2C9 z)z<@#{N?A*6Ycti0i6;QHv0YnQE|j1xVSSD6YKwUwl}K@NK^mR2z5rPe*L;VT1=Z< zs;sN8PldH}|DK^Zxm%N1Rq2d-tVEi#(<#W?NJ#SS*130;Ve#(M5EveQ0Gm&m2qL^c z&CLe-oU8@%0%-AKWFZF!2Vh2B?qQp#zYgboS>o@g~vbeT2^*S){o*&bEjLt1-Y1&)JmyHefU|Z)X zRivP3(c@LsP9(+JfzTXhXJ^=2JRy$MLz4LVeZVNJZQQwiy1Ji`@axnRC&ojyf5qsSL>{~hPemk2~L z0$1n1Kfo_0NECJO+kda2TQ`X_|9fTJ`7ch*G3(dT+IaEfniI0w)dFT1s^a5|3TgTA z-=@k?dbUdT_VV$Dh$&LwfP29`uY(W{QzGTA5P%%c4_ihnIfDYeREm)0xC>g(Ca z$v2>tG%Btb85;|h)JeDVqYUd%M|gyWhdXzTh={J57tiKM zU`p+iTy8ul0v;HGQk^Kql9C)5-ZB5n94=N?isS1$pP#L_g+Od7iQ7W=tm{uM{6rLx zJpDMH{n5TPXca_Z_~8Q<;c0Y9$x&HpRXDhw?aq&CtA}3Vvc_=2$1)bQ8He&W;+K+} zn;_&l(GAPd1^xW_k{svmxhj3sgZtv`3r1J%Zp%;LNKpuWexajV3NGnYZ~{d2|Hax_ zMpfNMU;Y9rDo7~Z-GYQ5jg)jFAR%iW9DHWx|6<;b z%e55Hd+)Elan9bKokHf3FQXv_jgppad2@^(MzR)o~);Z_)MVqiP_O?10>Dlo_^PVl#BABpPv z{p|GFL7*?17-j9btQ>7tz#vgkIgNSmqNP79=%(JhovXFACwycvF|iWoMwV1s8sz7vOYQ6XBZ{eH|faOA;Lmq5{fV%RQ~9Y}{F!@3iqc$ztN<+!)g> zfSfw;4ZQgJ4ZJ?NT4lzrZbkUFkJ0ersC~I@rYjxS7IB%^U46Sk`4v9O56{eOE#YI4 zku5G(=0l@qe}%I>Yzeeu?DvG+53jK6BHCqRJIQ#!b~YPxG{eL1@@{)IWoJsV3DN^u9f zr$0gJc#j7I#;PZ$Pg~{#6!q_?Nk?O>=jI9?#{>uQcTfjo!PCg3Zx>seSL_94WLx%Z zcSum=?9~hzYAdC$F=5k+h?x3hO7tR`E7&#l$TfAz!*kdsWyuxQJyc0i zRd?pAT~=z{nP}Q0PA2m+=b4TEel{9@cEgX>l9J}A6Kn_wur}J9)RL6^(4zYb44~MA zH5PMipAT)S?9ZGQrW@+0sGD5{8pU^|b~N9qo5#YJ3F4li=mRo#m~Rgf&KmRq6GQ--j(d> zj~{Qt3gSi0p!>n9}7$x@(U_K|wLz(xS=GGg*6(2z82pR`I(HE+vUoJmHc; zHuo5uby@JvPHvu_6?b)ZzWn+v@AIE>{nxbUAKE6$Zte;LL!J^%31fMAzzxoZnOQs1 z$4m`|p2DJ{aG9(-cci;x9>U-6pie>@loh=4y_G=oGvpwYjd|<#2eFgZ=7)w4Wvy{b z=B_^EdI|-#{?)N!U2$6w|wk@Q1Cr>4P8UZ3UYP`p=H6Fz?Q^7pl*QgEST zFdeGf!szP3xqYM42X*a}4YLHJQ8R;&YQ^h$x|4okUFUsM81R~4%Z=i#Q+EiU@A#Ay zB7A)Ng)a54R09jApD;6^s`ZPD{;SijKip1r1>|X@*7>BT6JW; zfjpiF=t)TbfVAZ{HcV0b2g1OYnXKQm1u5laD9+v80 zZ$B_Zd=rtKO`e$GnFIkD>+9kq7F)+Vk!bj=6tW6QrZ+@-961SyfRQ$|;=ozf2`F$R zZ&>-~m5($V5F$#7s&kj|si~V`J@dzomy1YV!}+Vfzq|CE@OdSbRZp#ng@6b2a`F0i zq0ee;dDzX8pw9CdZi_p2e;JzaP}9?cB%ijkGtZ!H8IzQ+<>yZdLBYM9x%RX)0mP?H zLtI=Q3yZ4+VK2~ypaPBga7z*1#(_^zShuFkl6$8?Dc?3->Hx1~BIfjz+^!}`yC2dtg6hZH)%85npnvdF|%kv@$bwf`SV5erz|d!}4~j z*EBN1;{x*oCOzvzh_u&u!4w#}IJ6?}(w|_YNTxzW*G16Xn{``325$5WNo)%$^n3R< zr|M7Q)f?15;+P&zISPb!R+j?!`GJvK@}dy*=`G@503br$;n&4 zjP?7I81uh;nYH5uBQvP_jg3`-kn)K>KO=7?-kP}Q^PLaUTR1u5qq3D~LnJK{(K0`)MGWWk zYtJLw&_zmD##%D(8>2UR#bRB<`MQh-lja6K#Dx6PtK33Rm@@L+BC`| z{%JechC!HK=Xrq-{YGnR)}o>yG_)XOi62JHHu$0Dm(CjM1IxnUxVxK-*Zw+qO-9IS(xx-Y$Q90iM?DsJ{_!$L8Jt<;*QVGg2@UsUMA_Ps3>VNu(05~(3FGxsg?yh zgm?QKiijQs`@OTl^>t%OiB@pU%47{1v~wgRCV~~{!2?VX+(6316DFn)U$khLf^*L!t)^!A`e~12L1{&D zcvO_AXF!RRn$yAR;}H&oo|zfQX2(DVt!i%r$U-fxoLlJ2!p6auX=0tg>c6}=L&YSc z>T(Q)wDuZ%eBU3F(81(1@$BsDqwKGHdlIP0LZ{oLgo?7dP_e(iLIo>dtBtB0h2+T` z%*eM6@t_C=4Ml&7AX~IdS*b!z9UJY^3CNjbW!Zp9s?QOi7^2Q!FdPTAx`=m~A9sO2 zaR__VsHm;})TTG*$9E8c#6{K&sw$xob5vNForc@f?isjjIbGA!+2XQhNP))jxL02Y^3>5U{`0AyMIOC`%uMB|o_oMw^o?xtpD8iwcg4BBPK6aMZAet18+LEP#k zYx~ci-$oqS6E}b$;_6V_7Kr<*w$_J~Bx!OorvB=3sC>x>a~e+Q>i)`MVd0?b-Xhe7 z1N__5vt%3KUu{m-tj(3Z+!=&D@8xBqrzaAmV1e{@V;s9EV^6Ua*$#dH-h(0?VnZvd z_PL$21A|UXMkt0154esE*fu5-o1D9#Xlv_p2nf8DHOuR0Ya5vH60Aw7iM)mJ*1vzI z*8M1DWr!5S64~<9PC_UmmXMANc^k*?4AWTBR!NTmqp!Kc|eNK%bdsiRR=}HcX>mX~6+jC`QTl0JhE(gw_ z*1(Uq7j}+$tk2Wjnn&(s`L&k!CW={ElH7b>-qCUUmXA~)|DTnW*LsgeTa9*l;>#q` zOOyGV%>ug-zvgyC3-UL|Cwd*=j_x=7&&tOU#?{OjTQoq5+*TPwTm3>;*(iu5HM<^lLeD-mmH90r!TGiUc%zYhQ|qQKypA+DN*d*vzA(yWI#7 z=gf)|DGrFXZT}~mbxGHh2pnm@HE%EmKEz3zp*`uQpk}{wQhLx z_dQRB?)8VqCE7%i%(eJSrYFHRnf>1Vy5UOci}RQ4&($5)cmJoYJU)P?>n#t`uA1ZE2Ib4&0u+$0icsP2L)%DT*Kd&e%I9RA%1vefsF|oVhnsWcn z{cybd_d&{Awd8Fb6q=RHtx#^&x!hOa&%gg7U3lKdnwqamV_pUUj}f+3Ki^mgf; zyBtWRch6s9;fu7$iHRF3L%s0+10>}rsfb)0&NpJ%PuU-L->1FxNFK}BJKj~;IrLRd ze2@iN=iWt-`zG&F%Eqd|Bq#nCq=xrE2%(dUJHP9+ZsR=LlK1ITt5>U$qr-J7pD>2APNo}rRYif>HR#Ye^nKtT6lt&Jc2&H<>OTqh9MUTjN zU406|Uqi~}L6J`~B_pmIXlrACw0*TTStFMJyXoq)kI(O5!oEbF9A4hu8rwPi2n+;7 zT<|-4%3R#o{_`D$le3_$O}CS>#NBzbC%(wZiFIv^e%nO=5ywBaba6BW(Hihuw_530 z>BV+)7$s#;VIiq;Zvuc8?<0zI>c~jyJAVE8-Wy`S{PT5${H~*nYR(IQVaPg~Z%zM* z=hR6~TFlI}yod2>_~#p9L_$LK>(|UI4>x8!#=N>?_M>Mtw4tW$x&5@hqQWOA=$V3o zP+n8X&X^xs>JV`#(eeh8;f;85LDdOJi7)oGknF>1(m( zLWr!BmF2hD@>b31LwxIs-Wt%5lkEmiIQU3-ILqiBONERp3Qv74O#l}e(x1iN55B&J z5rvQnEFkdy934?*JvCisVgr{sCv_1FI2*r(Z5@)VEY@%c3Bl(qvw&E16>wY)_V*9V z%DVXBCu=ifedAb+2V_wAtmt6cfi{kh2nFKv;ZGUIXXbZ1DrkPAfJ_Fzz5xXe7Ob4o zxALqb#1YGzn8k`AK63fI-?OcS8#DWqFpSMDXB2 z)@KS`W!oDF7lFpIvgUUvCmKaB<>vVBxYil!G6!hPN(vftKxg{ikI_!Um zf*J_cAmx|!#W^|jf`XAr`X!qF7`S~Yf)?E|4v1>6CaZz;tXHp678Z1kjjS?M-@cuG z$aZD-yYeBqSA9YH>S%x=xRQ)XMcY_GjljJRAIt8LIv>|G=5l*!o*+Bcxo$aIIn;w0P)q` zIi0c@{o7-Oy@qOMd_UM_WhJX>^i_`D535`)XM}+uy6HIG zv_B;|mUV=OTcru(6N_kdEuStBde4c#{rbswAD&V`Ana_%ftfzS7JKto1wA{v5R-XL zY3cnuRK&}dB=_#MThF8jSx;&Ym!PvA+2$B-_2O$bM-=JCrcCD4I<8^vF~keg8E<%9 za#nv?-$Oy&g~n(l2p{_fdEU=&ziO28J5@ZUf6ppm1b6T7KgrU^AI1fZ7l$rhS6IBf zt~YPqWLm)nHVuFe^78YeVmvn%7EVsrZXxu{`38m^W}Ro0cT(QJuP-a}0if4#USwxR z{#Ikb{^8>C8m3X1`cnT9Imdic7*hrTQ7Ea^jq+Kk;et_*e90RQ0dlHu_0Lo(FACqr{}Qh6Ul~aH#0SzY;fNK z{$i@fA+JBD&Bm{4V8QM!S%BG$-ERJ4X=!m#pb#X&4~>kZp>c$2zIpR)a|+}|8$i*+ zCn5Rjb@d%k?WBBa5Cr^@m0@N3Z|U~79}yAC!u&kEr;YjSbp6D)Ct)W2&!OjNH5oU* z!pjC9@K?o}igsvw7!UU&0wL3%6kvn|nFwo@RwX|oEJvi2Fak8<S$B)b410s5)hj2W%q~WLi{U=td88H|sODh;MEHF3$^al-9)hfeI zQIOptq1!e-szR3sT4?>kQ1zG5wsm|HvmjJzXlPMgM}*mm(kn8N~z2+Wr_LC|L3d zhE%RHB%EjAQYs8MPR`DeaPQ>Lns@|K?MV2EV#}63rbwm&gHKVne&?MVqACF*6j6}| zcl@YoRax-Xpo%ijqU4b#BpAeurz;sej3QF;ko)kW#NZiS8?hjS(W^rBR6~QAiHU-g1|Qk`(tRXK-$dQdU&9qMiMfe-_r{A}BkPXn7b^{JIl6!{#t2BHtwgZpS{auPXW zW^hoyJv13S$~85#0&gX>CaxnRVa3taKf`uE0OqjHBVIzmv*mjvxkCCaS4JjFh;K(T zx{mgHKqR3<5b*SAs;V07FNe=l3KUjhqg{)`cDZ2CN@M@oV_6yzksi?b+kuf01LKg8 zkRRIB5>(0x3e$hS`#|-g?Mc{NJMq}aNF?P$<}=8{`P8DIXbE!FVDot`||nWJ!w}w7(QHG&mb^PLj%9TCl(u0legn~ z7wmd_=)iUY?l&8#lC7=|%hnU(|GhY~vKVWF`|bCy7vT*5 zBtkp1yu>!{$v{i56<##WT(UDAi*}{q%3#OY(Qh!4S6a)H!L(szh3@4)`r}8>%nSg> zc!OF?OG?}}9(&|4>y%0ZpYOq zZ-g#PfTfHHp;Rg=_kr8GzM%sRyljPJ(L){o54W;1EgkI=sP6|rp8Uo}UKI%~eS3SW zRcVFe;K)ckM{Cr4RO=JB(ut4qi2y?3-k2!Ukhl7_yCCa8Zsh`!K$0g)$@6Ik-1>BM zHf*|Nl3i{PjPuxbg{l-LE}$$53VJ|*EnwvV$OrnSIRSGE3#;iQV6pjiTM=^02@74K zls^4)$FQ!s+A`$}Tz?2{`0)d8d}0FOU08UK%~ttJIe~=j#g%I zu?Yw+T=RL*@IL_Q+|ePaFfR{4|IVil>NdPcxmwTyqwE&|JT}Y2hq-EcuY6HZ^DWHG zc=>7@P8NxkmAj=B7`tQq3bh`<5(X$MZ<{|js+bTq^bi?4%y*Q)DMUl#Y%5a)2YqT( zIXF}_TwQAjIW6I%NiCTC-y7i@(cWkjeUj&afT`E{0kQAt`!x-=eLv%UY=A=SZt$0; zd~L40UNQo!gG$>E>04hPE&b91(qziv@6>>Z2VmQa5~_1$QF1^!Vvw;M?q@a%-9-Sa zbE#ifv+2@f^|P>RjH~#?OH07Mzxf>3yhGvd5dz*yx6^0)sSdSH8>k)^X&!~)UOqW} z)T>L7#R&Pm?57g9)4Z^+C6&wlJg&Q$rKL6y(=s|WwFl!C;N2tKoOD!F_+Xhf8>@Gq zY;2ruW)?4+w%tzd#l*^5QqHxNaqogz(2-18xZSwy!2_QCy{7<#^TNloekZw{>Zkpg zR?smvRE=OF78lPmCNdJpNoIzI)z(wy4c|Fuh;n|lCR zf7hOStUs_@nH+m@eB|;&0QTyl9!S>jJXv9%vX9w}&>Sqlxh^)sd4R|_PuA+2{~W$h z6H#jNM*6?S5l^J+t@?kZk_+Tp;79)NtJ9ls&~8Fk23vh|=}bqrys!F_!i_ZF52)N} zEx%DA60%Q)@jK{UwILHy=z8Zp=CPl$_eI}#Fa(KH*60{U-k?H7Ruv(wKon{R6uBEHP%c8LpkE;OJzOu^{&eX*n*FN+`Nf|(|z|F|iz~us#aSV*2 zmzzgEY`b!d%=`xf&xpwyWJwg>zIf4=F@~}&rL($T&+lH@kQsA{$L3UA+%zg|r5DEh z&i;t9GB^MQ1u)w1g&6B8v@v4%et74-G(B-@ZU%XSot?(B9r&Hlj>{P^g%nd7X(q{x@^S%ob}bDJ9$wzRS+TD&Wgc@)N_lDW zB3@Q+7aO!INHyOCE;&z?)oMO0QQ(9%B3yURE+@eJl*sR##$a)@MAORwYq{o_Z{ zuePwjUwj_5w2oXNPAqEV3;?SK(}7EUnH-({#c9}LUor{;gcjKNu@Du*=a?^{IldUH z%bmu7BDDzSl<3yd!n_k_PtQYeoZ@UT3tc_c(ed!O7}3y8KAtd11Im%Add@l)t8UR$ ztz-8)l&h%eJ()U6ZE-$x#uehH>==UrFXPWh5Wq;KB8DyQ8HvIF=gH#rr1di>=R zo~1>dygX~HHuSU>*Xuv0&*C5evC6|e{j%hTPc6s>MkXh}Jh5G!qqDjR_J><4uGMfu za>x3POnG%h`T`_`2Er*{4VE*#*p!$n3z+Z!4>(ybjnI;aHr zOHIv9@QLH$%mcY5GqX6i^xi$5!;Ld0Ml*W<$e$yQUISEBuo&H(h%_{!)mlIXy%PE0 z%KStbJdh8yY6jPSrpZY&0dRUc5O=F{lefFleMjHXz<@e>uPgfMcfG3toT@P4=b)f> zIT(?SiLt@Kd4mLj&htxNRr;;&B1Rh{Lql_$ja-5rUaw!Xhe&q!2tWf~OHFOky`+C2 z!>_1lPesM4>3B9MJDbhj-5oaN$0vnqBdBRg+bcQRD-HlY2#4D%r0u)U3N+CuDc340 zXf1RCEf)|J_^gQI`N*FVZ}rJl_wL6rM;F`2^i*o zRixhb6U}n$x|f!oE<=GOwRQ3xC!Dl`D$5pus5yJds;x4p0k}?C(gUpgQ*8qXjyf0rkcv9DwO;IUMk~Y@5S(%t#msp+| ztvap_$H&F>=dlR_yJ!Rn$qN-hw)GO^#{T3*D4*WmjV;=l_B`_f@^^G}7O>@D^^~iU z&!XFC2uZr!T$4Ws27vb!7(7XpsA^V+c;r#L;ClyD5@siEfP@DqiM!1d(Zb)7FZJj9 z@XUg9oA!h(eQ2e)Nhq486I26QFB&lr59s194u5Z97R!Fstb`C5Gb<~!+uPywo>J=M zeaQun*a=lN;}iuO^0eo`6THA$<~F8tXp2L4Ov9QThYxeW`7Wrh=7F5 z$k4I2Zsbyqu9|kUpBA7;d@XeYE5hZxbV^zpQfmK9BRv25CDlcn=I&?La;@#JcOz(E z(1iaxD243p-@Y60Ko<$Y#&#s;&#|^z1REu$(LCeZ2qksL*SQk&=o}b!6EK`mh5u|{ z@<5o{TpRI@tiqJ3r0EF zn`eJ~D*Q2Xq-B{&`4Mu7+!B!P^Vsofb>u0cE939RhLMR0F)l8^m8xy$UP!awwEIhS zJ3YtWYinAN35Qy8UqTx@(kv-4QA<;EeS=g}ZNE@oQ>~Zn=}%u#Z1prHhV+5k;kh=` zciw-xMIv&ar_;+#nSJY?%a%n&t{2YdPc)48?+~K5txt^VzQtCgoo~2@nT2nLQ=Gs87@!YH~|MI$b%X$2-49pNlz^>pDS2zRsr|4rnZlhiwo!@jLx_s3+D=PdQO0&qYBThJ&hJJ-kD5B;>sL<{ zyplaPqP;s<1F5HMOdE zi)mHw;emu|^CSDk{n=Ua^mKh#B2iKO=;>)g5qbF%9ae3_!yKOVW)2QFIK#Z<@u7^ckhA+!1nw5Ed7$>WM{nE>L&&H zPVJ#quo!^}+|tS_hDD1eQNFh&&rKMhFZGp&G7b*DG^nrE$td<8?%L6R zY@E3yB?HV{bTswR+OvP#AtJPEh{1Ba{o3;fVa}V$&ZmNFPtfTVq7vhRE51G=m(+q` z?{?Y}rVvW-PcH%?6c&qb?P^@Bg#UI{X-I!LzlpuSrovzUGk9?Sai#JvgwGt6Kyr#q zxqg~c>2Ilf|1;>oKZ0%@LGc}2A&5_U*Gl;R-%#!G%8hY|T+J@pxBX)y`V&dKu#&XI zdZe`CZYcwWB#pQejzmx(GSwr7QoMy{7DkB2_ZgJ#GHI?b+@_MkzL`gryR2xWjGbpd zZt~LfVOP5MhsT{qH8tEJowQ68n4~lPx;xYM{jU9X;4AJI)Z>Q%3U;7j&HvMmcSctD zubB@&Xn64ET5j;~%q%B+U-#+%`(o=x(tn#*IA?D3f36$*A6}TP)IfI4nFh>VoYd5u z6BZfiPEcd-B=agby=$xq5rP0%(hz$v2+Z`U$@<{n9?+@~5s@LG=N9`92I8_hI#zx7 z(gG5pk_jg?JeIB=0S-gI#_)H}M$mdlOpNvM86u7bU<_OpHI52pAed_E& zJES=6@4yegp6exsHrxHXel`_fnuhX|zU>+9BJX zr*oD|9PFd>3i_3vKaWAzqo9QMB*HnqK7;cm<%R{hxg`8f$cW2>VsxD;t<%%81s(5O z%^phiPL1?!+{N1EIMye2hXQ)PqeGlA zUCSGf{Ya4C>9u^sHhh2VQk0#2>%{fzM`m1{`RiQ2Cd;#_=-Jnj0*0Suy}GHy($}Fp zEGp*1&eclc`%@PuL=p{sf2#KJ4|rus$>)-{iYzV)0M48_VCprpJdl{k)35pT>EGUB zVyu(qVDvobCW{!s4Ml`lnV|zch%`HQ3co?ywZ)B@86Yd}{dzGQ^yr<)zkn!W?&HLGtq=Y-^kW*r9;XoHaGU#gUz@Qs zSk6yyUVJiI`KfjGy$1A{w-tvZ?0x5sG7E9tnx6a@oMr}1#v0Rfeqdtj( zrMh}Wlh z+1tyyxji>GPZ*}tG?Xg!0PCh{$G=hLmDLa(ER5Uk5!WMq&R&$1lM}UE?<*~x4Iys0 zxM*@YuU7WN6L{4Q{YJ0TJiQ%#Z9C+*OMPCVVoe?0-L(!YG7=Jx5x#y_u`tSrgCA!vmmht7#H76&1*i>e}56D(&>TIH&?|LvkEJ^FrI63n>Du-+W$| z_0TS0Ynmh>s;$V&>x4W2YU+ZVoY?j`NPDfWD+bsI3lGngKe-CwKRUJ@3V7fONK2dPFYd>m;xb(uoftE}e#HV9 zR7=aaMkR!&Sd)cmD19pPx=NXAN0XK9M-q{eihK9&mDx(?@-j4t@x6Q0TE2fjEbAAV zs^ft+dCW569fvUm-5%S>W~8F=@^VjCzc7Y~<)@ffXUIbD4{)He9P)U$W6JDJdQSH6BO+BBPd;QokiDwCPj?7?`zxhSx?t{)7vd}UvOYOl2upi< zEtWlRZ!Doya=gm;?@A18Y}oirBRE_{g`X)*V7Fjv8-T!}3}D0Qt;JN=(CzNx12E4W zI{TEQGf^ks8#j(Y`}MM3lh1J#hl-8jmc7Wg#cv`rrKOR~&sjipb`{yq2)0*9dz)W0 ze*XM96w-l;4&I1m*b)@I%v;~sfT(2zl=*BX3I5EMmX_}us;EphdI*2C!JGK+rV1e! zw%+)qK0QqazGK=jsfdk#gWauIk!!^#1=clK0&55X!06de5OgL?#I8T@Pwt6;?*JG3 z^n5NX2gy5pfP^}O7wX&;x~v;PrKJ&#mzF#{Y!K*u%jY-@XmZI=tw8n;?dySC6e6Zx z)j3h~^1f5Z;Uox#wgx6N4z8RZaX9QQA~kI5o!eDG4c* zyo0sw!=0B|E!~$L10pvDByY=M5DkB_O`_+hq8+3nN4zDp5?V zq54?O!h$)HS5e+dRHo~)veHR+Mg*ZRL(M92*T@1&*=k9!wN4lL=InTI!yC{}kYsEG z2MU1>#kyOP83V(^bk()BYR{hs4XLIF6MCmRt&JAm!<^Y%UsrqX&{U*gV=ptkJ*;a+}z^!V8VMM^#?L-lCHWPp;%fl zBpn<$f_V+$-N|KC!f>lB4ul{-{Lq#iPHXHJ`ue)*71U4=n3!Yx`}k;tnb5!mW=UKk z=;Ea#h3xF@8Ch72IpmQtZLsWqHb$JsKpY8I5B5wmtbLLNwaKtVSgJ<`;vJVi)#H2k ziN2dp%mj}E!wtSHX;Y2VnV(*C|l+@I4?t4p8 zmr`LMLFSho=4+ymzNH7U*+|~~_#b6lOR64$>fX#%GzklPi-|^Bdc|g57#EjNG)+lb zT3X!^aNVyHa*;_%lMRuf2JrE=0z@KhPTfJYICxyRLCqAuly$yKTe*kLE|N>XManLR zyp$?k7wb=FB>uY)f}JJBJH=XoI9;PLnUHORy>pP0df%Ni{IT2ayqSi^5zHfiYLKY> zYUn0YE~Fn*m<+&z<$-+2v=g?Y8EZA7HL{K}oQsl^bbZc%^9q*rT~VF5xay;$Er&WP zg_JpE9Xn$Bk8oOiR59%20#C!GBnTtolo${$>@THNO2UtBA|!~r(uZ`rWP&F(SYFM6yk@(@V>ni7UZ#+jjYJhYcaDNSc%OHMn4%$y1_fTu~7X zzjsZVz$a4y=?qCQrz3sD$7j3fU>inQ(&p7>qNW#dJd0CQc`*jkNfDC zc%TDQ+qq7-Z-pfD?v+i|soq3>3Ug1@3?1}Xk-kByctL&jc&z|3GL$b+!pA3NoL?kFO>5NT=hvIW3-IP3_#DzH zw6-<;)ss&w)@bkE-IoYr;kMdELI7|4*RMp&%BfuCj3-G_6p?`d(`Kclq~kkH93ADh zvU;ehy3+JU%xny5hq>T>(#nv`yK(a*FHfE#5(L`Bf-j=aE%iCZMjQ`n9j8f2bv}G> z)AhiWA@hD4p<@NP_Nq%(I>sj@1cOej#XJutW zFbo?QIJ>!>LT8zfVEN|FlbfhlP2lPSUzFVwY#?nHsU=tFA(eQ5zU3g2&I1Va-FlBY ztVUj?T1rKX73pq)IUTdF&%(7H!^1;|n3%aMCE{0QAsaLRg2KW=0|LT==V7K#5>9o= z)4V)JMS%Iw`KZF$`qg~;GNWqlm`fNTCmk=Z5FZ~amA*g7$7&rd@L6eM#EugG_kcH0 zZW52ahlM(}XHw{sNGXcquylBUw7A{m+rQMEs@Bn%9CW&LHC}i0hGFOu>5s0#dYj$F zYE?n`hP9(kfn{CyFB<&l$8C&acNUbSuqTu#)03WaGnRg-tg@0`lPklJj+=h|O1pHF z^#$A)PuUjMiS&by+yoxW8%v5UoqApp9odsN9trlp9D6Hxw1-}qP}op) z;;o&pj;xiJH{QMzKmcGC@7!Fm&Q5yrGVQ0Tn?Ha3YHYj=)YB+Vp?}=Y$i@Nhz{Pld z@IT9(w*UMEZ4HWuj*gh)LGjI-HDxCKZlh1@nLzkkWjPTQ8>_A{ru6)9OT*~Jb$!5% z>ECCO)+FAe|8kZ9DyL%*Li;&ATxKbX^ zi7PLM4yP7}&lL$5FU8jJV)rJxCGvy%fCnVkN1VcbeY~dkqoRyYPBuP)&~*%~^HMrG z7BACiGBY!2@($};+S(%V3r-+NLg%Hxv6m3`?<$+KWolf+*DB|tyu9f8{sHBbaxMwU z564H}v*i_HVhU(&m`zLP6fC`7i_?$1ueOX^;s-C=H`fPD>+fiK_RppJmZ6<{ZKh!y8JPrCv+`08pQ;p~RZ?2T*2 zcbW-$@%7mh1cVR-^@2-da;gEklt>iJ%wuhBwk~nqf6?O-wPT~c!fjYlVfJX0it;bN z$3-;1^Q~={`i>5imzy2C3l84?UF}SPj>m6)EOd{6@&TNcl*~qkhIKWr5yeQ~Iy);q zf4+^7k=2TcadLBO1CS=fO(>H1p!SoSTUwS@R??$MdwRYDByvP?MutJLP91Cj2(pLd ziHR;rNJxS|jw@!wgFKX6*z?EqG@-Xk!f>r42DFeMkmdV#U8wYP@l?UdCKYrOU|jjm znMFmN0Wx_ouqB zunNxD{(dki33q!t`9#wdMUyAY*a?rhXrznT9@< zi~E(4sVN>F9`BPUQg{)^7Vevq{quLrG?(BiOieXdT9GOyckS)&LhQu;&K&}>MHwz6VCqvowz9L3*H=jX_sH9U_mvT{s%jH{s60XdRV($bud^y1>a@Ohs5 z>R}>|ra^7LvU2C{-N%pg2ngfJ`D0pyxvY&Kp7YLgor}cegs6 zyii)&1a#3)*rCeeM)+^w@%?Ybu2=c{8DJw2(&A6mysnasjQqHM;ZILD8W1if)Y#92 zg@j;YhJgi?<56|&DKb{4y0Ni>t!+xpi40j7KGq-EEScEYSi2{f(GS#H;l%v>srgd* zJ0$3!l#b@B2QzD2*1H`LAs}t+qAkP=(#$FZGfSob^R!MBH)l;UPZ^Cyb0Upr)&;ygvcXn}e|m z$h!h6qx$n#^$vNb4M&TX<9Z;US)VUYc_KhZ@$H$If$hte`_vhLj0ev4udJ*b=dHu3 z3g%_VLIMsjP{SJ=e?v!bthkC1a8D&d(#FQj!j~=s;ncR~=BW|12ntrUh^i{oXeJ%y z?=KpD1+!q|;2%BoZ|>~wKD|6^0RuDMTKykoq3^aHZ;|oXo|}{e9&TL$chxsF9Wu0Q zs$Ir^6=~Ov-WO>Z7C*ctVrkpo-Cg?ik+1^;2BNF0&&Y(+>-aA}9j8zCLR+gxx6SQs zJ*xoWO-Og+cX`CY#H7D9{f3!2sJz^eyDls3oz!DLjbqOYe>z;OuNulb$zZ$e>QewX z*v`(g-TGN+(gdr9|K98|Iq5?TP)c`iuS{JH58+*H@A785sJ8aS>(@n4jxjf z^@ceuKi>`D5HpPoh}p3Kh=zW;NrHhfZT0#!H5*%MN{ZZYouY!m;a~Oi+kfr4pRTY)yABTp9^P1Y)9UUD>LLQ@|P8%@IBJ@@UX#tl6d~P%d zhk4*otM{(7bl1PNHOtbetc=rk2X?k>j4Sggf|rOlm*;*Ud*tQSLX1~h6_oAal@|01 zsV4K-up)BvJ?+j8sqNMSGGLu$V`&Ls@ovLKq;EfeZi5~vG&D3n&m%uC4+%j;l)5JS zHU8zx+z1A?;y*i*BqZD@SZCk7P8O&_viYAj_w^M)wa)t2JOeH5WB1AkA0H1$vC$G{ zT*=JKE2*fs>AjpsNVFRHxSgGc2jYm`+?Y$t0?6Mov0Xv5XsW+I4;FsaRwKyx=2p?P zzlvyCqesiAt6$teEcTv(NyrOkw>!mO-w=RB0AcmEdxIc+EF*1@n=F?v04YFujIM;kK`%-C2E&{VudmXpKLRnL z`zB&;J~&n9d~tCkmwM?1DY6E!v}pweLCeU0LU;^2@DUWuvY9Q2mcqV_d4k!Hz<@v+ zX6Ay=6sd`ctdH^dYEl6A2hAyBXUpYhIbJIIqS3xdNtUL|DH1_yf4tVGJd{*5rct+j zK8C6@mV{wy)=kCh=oqz{ubNAUql@3ak9{M`FZlR5iDozjm1&l`ZTJ`-A2VqQD>V+5 zMq%>ECWm7Tp-CaZ4R)q#$4W`m8ya5%DdykTI4{{vxe)K(-MI;rxF3=BUP}upKpi|v z`dSdHXp>8bfq{WDvIjiL%}<>4IVOVCv9jvwy3hkkSC|td8b(s6;Uap;fn34MMTCRciU|-On{Ep9b z(%u~Q#FG*A%B!wSO})_Oxp(&lD@Xhl7~%0*;s6kIg)K@GL5qv~3_!AXC>4;CGYHP zA$(OYLKnI1LtLl={yFflus(d4Aanr@3`HJMRUCDtuc_H9pwGa=k0sPm*kazS0(S?O zyhX(?cn&++y6GfmA|$B^tlkfVL$YJQP)u=o{z%u&Z4^=>nt#O1)Vl_y z0wqcegYFvw@#W5g8y@@*g&zbUcXcrh4mq=tk&)5i^xeh4SWmno@H>guakZG3 zsOaS6=CXssn{5tm@&85JTZUEDM{S%33=|ba1XMtzyFoxH32Et&R63=*L`p!UySuv^ zMY>BGq`SLk@w_wd%!m0fU*@^I9tHHk*?a$Mt^5An1nvjmOaoD&lBxvjW3043{V(qY zau)`cyD-Q|jAf`o{%G2RCFbG+PjTd$+yklrac?u8_@wIfTrd+7{_O0+!LJK{Ft@an zE!Sf2&@-JOov{6s_wy|Jr=LEoQy0bQ29`JAW;L}L!l zbG^P03A(tS){@MJuXkKa#DCW1J~S0S{fCUuxNI9g;Ski$*< z_HA9&X}R2sr%#?-9ZiJH&0jYLOg4y`m>idzoU;=XOT020DbufANKji#msKzR0n59CKa<*4jE!1FzPS=bu4d8;1#pZ&=( zdPKa?C?P-zqpmsdu4JoU< z(I}?v!tdXVuGsWQ0eaf%9HgX+sDdZdig`(rY1M@etTorz2pH1jH|#fc+85n zA`AKbNrRD*z`?Go&=kfx;u+r!*3GUgH2fvnqem}wn(w#6XAz$;H<0eywHKm9_RhTy z`&^6yBr-&!=;$qD%-ows`prj$VBh}lPl$&P{-etMzkTwdfX$H}>;te1REzlf`^>sE zU)MmcBqmOTeuUJeyh1z(0sDEJ5gX4s6l^HZs*XzRZ&8nT6m_&Rh#Rhbp{JioPoKCr zQ2dJ+XBSqOen4FU@BIPuo@W@4))4%^hjaX`t#Ksd&KxdI%=wdl!zUGfqcR}A>Ht*w z{FtCL7X4q@4kW9CFYUo?I%1(YKMOcKmMGC|Z)|8^GwKr(HYjG%J$wW6-^2g7ap9g` zcg0A=?h&4zo}=MW6x+G+73J5fn=np@>FHSJ?p_`b_xI!GwHxHXOq66+pQrfim1#au zS^tF$LM}0nhN1^NXchh$in} zu0T-y;Ns%9Iec;F!4i1C$EjZ+5Tm!L8(~;4Ea1a!-O%s=lHK*m{3AYL({0QmrRmX= z0>I-22Ny3bO@MFqq|q&z-+OevU~P>~@O}R7ZjhWD-Xa|&Z=Y5GNFXxO4i*o>)a1F9 zfwUyC2ru<&tEf&XRaL66yQk+U>1jIpWy*BYz5j-B*;t5zLX#=@gdNXQJRdaMZkHRB zjUOD)Xv};qWDt~=_Tek~;L1VB^VU`+UxPaz`zUKoTomi($WN56BRtv>#{DE zaM-rp6g@tCbnoHA!Q)%k!JQEW#YwLDu#xGNEZ6C@iB4x`vVfqex%rTjjH_p~aReQS zMIMD2&%wI93sGFe%k7wP6%~;h>RzeC;TJMvu;%l7jUB7Id^dN$5DLzdrN923;zb! zPk<~K;l127fIcyl<>8m*GM%`%cu*%lh40!7xf94J6P${LNP@k*-p6w}{&ZZOZSu~_ zs%h4==jD}BpLQL)QG5I>L;7d>g!hTmJwugAv#QFZSC1Eo1pg#cWF{7)7JH*4AuD7` zO!$?3$1Wrq@-J7%(Z)KHf82bhOhSh_FJVsIQCgZOP~z6N#8{`^_CBo_!aLJKHL5c+ z8naz*Eql76Qp9za3iEPu#CDgEGdFS&R)RL0XXEV#KJM<8;y*GWO$;F;TOmfmGd|i? z<$R8Ye;X3R39zw602IQ@y8>!sq<;(TvY@)Hs7Tn}rq9i<6*$;0!4|70EzS6xnOYaa z&sB=5q^^z_PA?#6Y4(ew@O|Q=c^kR2w6t6Fvp|C2VLr`$1w*AE3I%?5V(bKxEDue$ z)He$!-7yWhYBftSro~|P%gJ`ReIlW~t&HFWQTcL$si>&vcRxQ{OO@cbx`Ohf=`iYp zni}~sOWWfTbRJa*p(`?p3937+L@%x^ssU&)U zj_7gR!D9)DM;aR2m*>nPPG7$K+FN`{qtGjAx|fKBg-@uV90!ElHlnA3Ig`a{7Opq0$LX>$`tcZuURWZ zySr(@1P@k7uw;9AnVz1WQh53{>wy{M^wiVCGY`s&0HWMrdl1kHBKD`ZRz2Ys$h*;J1ako}9#HLefvkMwj|=ZOTuC_pJ!_`h8{fQWm}7|9aq|jL_j&Ft_g*nV5kJctCKi+&eDowEwTK@HdHr+!aJ zpS0UEgM<^b*1WF@rBoF;9gk>W|8BYLvaz-{Udh^ijlA!Uew754!!KX{hD<()$dUMIU}(tjfYK2n><|Yp`HKGrx6a>1IS(SF z5R{fo;Fj+i(98B|Ux3A_xy41_z<}Fg;ofO36BM@te}K<+;g);1ZqRT8f>(M9%^jMm|h?s@g7yB7AJ{ zWKM6pq!@9@mK(hm`1h*pmyRLPb8&1mZ~iUHm~Jw*(6r<@32`#;Or~XQqoJeUNu*95 zauA*&%x|1o!fC|>8q%0r9ApGpttQkeN z3Ry})$l*GeYIc2v>lV6`Clz&=P!sjA<)+J&Qn%{B7)h^MDNgZ_hLQv1ERT4Xb+~#( zHQdGD+ai3EaS}Rf2%0tfXD}F)XcR0hB}eWcX!Dkt6BgbBuZEiX7mmgOO)Obm5L#FY z#aVm@&%jga^$pI3;yqP+d*DcgWuHTSY>n0GTvrz!;CaF2zQ@iWE>4Dyt9x>FP5>J- zJ4Z)5hkSO&aw0M^RJm6;G^X+r^8RGoy$1~lXRkb^SuUgSZm&l^$J;X+CGQt~pqWr7 z&~R#cA0`Jqa51{yeH6>sBqM1Wn317kZ|^CUX>oSUqib|-^X1EpCCJfHNVEe-M1;~; zFiR8*^;T~z1`5h~$fvh&C%U>O;S31fUXux%AoqtblLD&iVkJn9%B0TW@C^6_r%sp9 zh=ednAhm%9K{tXP3Sh6foNYn%_yi%N9Urf1^t z)MR%Y<;)mq)!Jz%$d#42xxIr&0N`LE?e`IHXf7-AGL)40_%v_yoD;#ovgyo-@FxjQ zpzy5*QcXlo9?Ri~X^fn_NL%vE`iLn!|G*=f-9O9_XB;b<7xPVi^Cmtu{RKAUdprP$HGW;S!!h^(XeYiN^DuyN7j&}vhOA$|BU-QAzGO)E^B89qy5II6T@>8w-K3R~ynnbq=>+w`;Yfk2h zzRT4$-0Hv|z8=3Di;GbqHkGUH9kbpQs6%C87I|prlREGhQVReL4)-VeMYU;Ym^_6u zF|fW?(wc4r$_^hW9^!G1BEDYbkV{K%E35R{#UBMLsr2sbtGoo$HJsxfN4g&LD>r|W zPeZ+pEiH`!M)iHH{%(|Wt2a5&qekyV}tbyx_1m^RXP_*#Pq8~|ock9%tJ|twl(j4af z6bK;sn>SHtq&N;AYi!+&b4pE#Xv4gdeb>5H6RP7?!UOM0`%8dt?O$<#XoQ*C;5>EA zXp@d_#a8yCJsqiz%7>o%nav*se7wB+W`&>!>&~ITBlK`_UBd}DIPV-@{~w7P--_qP zOv2*){3&0Ot3m|527pzZ&Nri6|2}{;umi){n;0YTQUHk98MwB^oL2?Z#KeHPR_kUm zg)dxB{kLm|#A1B*z&hiooH@ssYYPCMG|w^NL3!8xPe5Iw=PV7-8{`VA3o+Qxbxrs=D!adX#f4scZRP(qZ{RaW%%k3*#9>k4Z7j~ zw?`S>)n30@o*c2(m{_h|t1eitNB;|ex+^30oA$md8kwb~ zlheSmF?vMjqx<)nnM<&H0d)nOef})}j zOu;#=Vs&}u9~_*+!9nxL-(?i&1O0DpuOQg{e$6*IDXEhcY1-2pzxvsW|9J^8+(F%; z+{ABlW8?N$P_k53)`4~tD<-M6t-D*L((FE>7J_PJWn~2gqdsIDNB;F|A*=m6j6a^E zNZ(KC5TBY_`s1NOuMrz`6$)@}H2A_#AQu(LLAkkjh|vZf0P{8im0HG2@@uzlz%#}r z%-EB8|Cim7JToy}l1Wl+I8U5BB~G4J_hWLkP1PJ58NLJpNa5JV%b|^HW%ScxkhDj9 zyKyiCd+;TloYVjGpZchB&Q3`=JmXrFI>hA_txRyYDYcaa#~BhYtOy89?>3RpZ!fei z+_+4*-Qw%D9>MSWU6K9nD6Z?9bwKwxn=nN|YRr;7ov7G$xw@zV+X3&_2De|waDe^$ zSJv0B7nxT^#?WMQUOq=*r)P3#$k@O@Pmk^Nm%DF~mc*Fx(Qr=MQ&i*e(t6ix7xASf zm&-E;dway!s3>`L_403g+mVs%*wme)qx$nLWw0Ou^b0!ibX0Hd>@4M$l?4F1?8{Vj zUfN;zO8*b=-9kE{ljXz2j6+3Ev=@+#4zZW?7TkA zmTy>Fcimn+B}N!ey#W5)3p~7?gzKk5@4q;nm3}@ks|yT#CDDxpp_Cw!S+R-+xkFtY ztzQ@xex3dL-$=+x05!e6U1eB!_~vNQqp$1*701Bh%iwr3j%kXplK}fFgZJQb?DG7= zomhy`O_x|dJ6MHp)S>+ax&`F)^xJbxQzbcMoRE4J6r=(nEK-niXI9ANT>Xl}p1z8h z3tX<5DmIvp%ZX}bKxd*0joJwl{Dz`ITjX#j={+t>sjUG*eOc!6 zVPpzMgQ_6T6_3+S|9DFY3rpwfU#g6thRF4P zZv@D4@1ZIu<-FBy@)9P`phWz^`L%Z0qbMg=T#*2wDWA2q5eSgs-G87G5faiqq3~~R zj@vA;CxqM@?x3!&7CL?hgvC6%r}X*@UJ*H8CDzTY(z1oDV;~6kM6;$OCT7;xtIJw8 zo*mB0$Q*z!8S<*sYwbitePKA;@6LHb)eYV{+)71xu2{C-5Wb{X4%tdA?-ho-Upphj zBD=cj)mh*%Dag+L{V9^2ee?;+G@SFf$Sn8WQLrGZd4I`1xElwJIjE@ny!a_r+>YZMC;^yibz}2|0#Kv$XUQGpaHzjg^=f z+GWP%5fg5VN!WZNqKm<{u7Wr*wnBJrsU^yGwh7GUK%Z~ z4pu2BU_z^*{SPea;8(pkQlU7-MugLB{Z8HOawdIt|2KZp0*zF^l(-^72@N zk{`HYf-Xkr2SZ1<4rB?XrfMS^%T0;^-aR&ka zdGF!+B8VgxmPtuRy1Ki2V%r})dIVjsW$ltnE=9&*Vj8r|k2h!txSpNUrwvthVk;GQ9@mU+u2SE;I^%hq8V$F)_V= zfA=Zs;n|_ZUMBCdm`Fbt=j4+o!R;xlt5G+v$aYQ&##l14t<~Wi9H3%FR_d+F%y@V_ zEgsfPE~R6#;0mdF&BEfe)MWr~YIr!{%jB#00T41}=jVqz! z+xB=_LFNkQ*Y6CN&nIf>#caK@Kn&HOk0>(9&9X0bw1pS~+^8@7*_p0UIYUxzK-FW?82SN^LD|+!PT>~ zCIc4D)1f{o0>oXkp{!gd3L?s{v9Y-jX&*6yOch49H!B0Y>`bVU?CvH@QM`C@32cr# zJ&^es9vB!L7M7CCm-}yVX^B>CEhjZqI8DacsWzT7%kiWzIzmvL$aRRnzmER5Fckq|oqs;;Rj%k5^r_lRe&jWaWU}D?;sV6e z>s(y8EaAUkH3S==0^*alHW10BrKD~HC?iBM{~<7*-N4tTrgjO_HyVBic%_M1SYo?f zoDU5t5%&~dkuN_RqQc@fMlqavim8#xB zlV4D^s_CQ!ayU4^XNHHi+!e(~n`i3vXb>wCz3K-gXT4r8c6U6NWh3Gdswb0ad-bq(?zhRb{CJ)RI!1VsIDQnUR_SVMGdQr^LV$1s;G)4} zcT}sb>_-{Y#5(UIcDmW3)z!DO-~IkfMprIEgiG-yQuxWZz7{hGFnZeBq`;2X%X3XK zNbDhn?xB(h#4jl+sZ!&Q(3^YlBJizo^Q;BOMeiGUhE(aKvYw)O+sUvX7$ef9Zqw6? zf@4vi#RB;iF~6~7T7TvO6OAX|=ElNf4xgx7-lC-Olw~>(_6O3aa}>QHRtmzgqd7bH zlcdHc#tPKy*1&CqxF^X9z6)k%SwPLuE0+SuD!y|O@i>FjdN@jnW8q_A<69bIXSm+R z#&RPhLOnyFyXV_6?YE(mun?{c2ADm}AXPOrJbXPGB?dP7Z2?`~>^2s}E7~c)Nj7Ry zQo$n_7RE}W*SOrO1xD3}=`=4<@4#aAu0AZ>g)NIrk}tVmU;DZ@YX0@-Z)4yk2jLGK z&odJHVwy!$q`sGjS z_uR*9!StDiEcFvuOsRNkZrh}~}w)r0a7b|LZNA~xJ%qE_q?Vt<}Ie^@L1N*&|l_a7wpKZ_?x#q+pg`d+A! zd~KTD6P=|O{&a%)eztQK%kzId3{wUvp-YJ8#Ag+&<_>5(V4zHoCom4;IbX7Z=%J97Cuo zL@~i`=lu_c*9?6HnVCCp$YYm&VTi)CW%k{CcpJ0p+4))#Sl} z`$G6$zS!%7#6&Du)i5xEcqfrxJ&VPmQ++zh78D!X(-25aOUq@R%;9&a%T3cYHFek) zqy>@<3(FW%Cpo;JyvGsGzJ8ZMN=5aC%22Dp#Tn@p5fK1noCZixz%sL3(aXDrrl%*wTE-2>mT&Hg z1sd15h==%ZDr+y6Qbms9;_&qJ$b-noD$O^`jMCumTwE&p;~P;0>JCwO1q7J#HqsLk zzC$p;oLYai^RZ-Ubo4?>Ss7xi-d|x+4Sc&}Y2RR+nw>phjkBmLCU(BCP+Dem-Q6%r z<(84*C@8q75#54l{O!4ab|{;`q*D!MZ#TDk+L`Vq#J}|#UjCE@_a*>RZWHp?lX9TjUV zc?Cv2h(#SMSyuYU0TIyyLGVJA}@~?4rLo-%xw}VzXg64M2#t# zZgZ%sKY%HT(@7~M?{bR>ElhMXdua5}#1Xur(;e zN@Y0j^(g4|Yo3kix|yyYc8?<%!0j6uNedf2B^60HeKbJJP&`)H*c%&-*}O>N$r$hb zCV@3wTxbEbCOhddlnb$5$umzMf2*fE{&Ia?ki(}Tr>B=u={hFz+tImSF|G1sFPyd? znp_(4c@EL==nJ*3dZX(F+HPLa+Bwo6?CvtLv7Ns#^!xnd@tGsWs2A}+_iNQd7J^Cz zU#Q<$Yw+>;)|_u_We6qk=`MYS0nyOE0buBs!Hh@9ek~f0y%?di;Qrs^*LVG1P;l5E zm+j7LhLqmiloVo8QniHw0_UW?go%24@F` zGa}f@GJpE&1+xsj%$bngUTS{k%I~2p9w&imNu;Km=X(r%6dv^qwJ4D@D5kQ%{?8nO zlUc4t*ZcW5O|+YOLicr%?eb>{wF%@##k-yY(!1l+bBJ+nEHP>#qMw3ypQn}HLo<6` zmn`@E0TmyHpujCu8M#!^I~XXH!hWxM2}R#Y-=;;2K-ZYLG?Z5Uj*5(YpTvHqy}Xsh z$Bml@YwhgPb2+wdWZcNK-ex%#kAVOLk#4yETkSHvGxTEaFE)^uU z8-o-IFuvh7xUvu7zBEdBLaB?6e)f>t43*F8L z-~c{!D-KN|Ee#FXwUd2;o*-qwnP7Hy{@XXzfByWbTS105uAle`JyhT(m%)C~W^S9^09l>}32SS!_?@j5 zEDogkhEb1Pl(ih-g^bZ(QMY{Jlw8#z0V!&RUadHKLC-pUSxwEhKQ1c*wEqk`zE?T8 zFW{b4pmP7`)k(TC>WKvkXU_E!I4bmcS8)>Jz)^tosXr_B2|mm%*+#i|F(~hn|Fqv&Li2&)&=LZaj2A!ZT$6;pq-)%8~#P*C)eq%u|Q!v;tC zc5)hA1FNd?GM0Hvr)wpu!$w-ENXfTXS223yj9~LVIxz4At8A>J<5y1)?7-zoo&*u~ z@ykZtH^08R#YDtp-a(z6JeTd~R}&Ql3Yk7=8Kq)LoYEwKupui0u3uEtVY-A$vnC_& zb_%!c&j!ergKrlx(xFnZg^&{3nmj#T8+HS>krg`vi`r?bx(!<3$cPrRht5i*@3)gK}u-11hK)7{q5Q zfNTBO0pq`+NJ>N$+pQZG78kN9=Ly+ef`X^u%HiN3N4z4{F$GKQ@yzl|&dP$q!tcHG zce48}kGFZ)%|3w~0y!XJ2%^J5bq?YU;FfDhnbiX9pHzn)u`zKhAv@S4o3RJi*Y5l% z4$ec4kv%;h+<48-tlsG^xq-Yif!le>zJW=G67Nmu)oKQsv@{5w?PpwSAoLh5=<-Lg z(MUETv5-Mh!}SS5K)|Cr@^fr(Foi2Hu%N7y!uKaI@DLEu9Jcv(^DR4v>nSg}Q*8?O z!1+{Cj0OR9PkjV@e0tTnhNq_DVq%~eYqcVE1cOT`KsTO4mR-l!#muZyj_S@=z=g9g z$JoyDiC9?)2nblY8>8efDQIcQYR(I6ApV({wLRjdAU zy}{fHm~z|c=khXpYU=7ApfPG__+mBiWps!5cj!e0V%R%g-{LhFgu<1lx6qf-oyF6A zL2T>?-`tx-sOJRrKs4++QgF@0bFDAfJlxS?_*MPAnye+LM>!bHCp;gJYBZv3Ga3EC{i`kx@QBKT8Mq+dkM*8gXVq)tc6V%a(fQJ6x-1}sX%#ZwkL6uAS zB|(EHoQimP8*%FEbA-{OqhGkWX~2QpcE-82wRL`DY~RM_@4{0?lW{o&P`YaYCcZP< z1iZjS7S{V#R@1~dZG$5Tsv6g?$jEwTT+=Sh?E!<1hN?_WV19OB08@};{01e($xG1J zY^{$N<>t{Ys^onvF+AD%jChO(W%psOH*b&;5UwI31CNf6|D~^Lp{A$ehn`&x7sxlj z#MBZKvqUhkT#QamLWnMtSm&LNB0$|kJREGvZxz?fk>tDm@^)~jhBXO5(~_}mGljEa z7OKzvnw1OxVUmSp74LNnvYCtzCAijCXnNwf|LW_v?;RYx9A`Cjr6>rHS1$a-Z7>YP zFkp>xIYRa*Sxh&)h57Xw2+)0uSV^MP)7)+K6p&St9v)^BAnGqS;Y6(cJ#f9+x3skM zD?hqtaam?G+@Xh*8OH2V`w}4@cNWC^3IHGGKmjXZcPWCR(N1 zu5PYM)mB^pAWLE&W@Y(JMr^dape zK8#V~J|5NTG~t1{JCn!k1`eA`F>LJIW^)vn> zKJqXv5)7nFG7^f$l1c59Km_Ny>}#c#?Gf2yxBJ+Bq(R^1Tjut~IPlg|knX^!hC(ks zvo6b5tEH~zsCou3Ui7Am>nw(46jW6SQat4X(9TL<5@JYTP_6$=i4?GFxyVCLLy(cB zWcMBKe0>>hK{k|@9Vim9_+H`Z$dFYFh~kpb+~#hZYnX-q6jNYw|0Ts^m?ihyj@x@k zN!xZ;Uh1PB0&F$U-r9(RNC1`@$OC3#^rR?OW?UhE0RbU(?2979VaFezx0@z7QNuPu z80o*ozmAzXror|4-HijD1k|4Zl*_5_28+;7g6k2}238v@D>72&?s-xqsW?0i3ss7z zz5+yNvr34^sGgv_6Cnv+S_<##BBrk<%^Wz{bqEU^()bRb%7J10n}|m8-uT6daXP%$ z#?LPOKi*MO`(5WaxJZnKo6c%J=c?0I@20Avay+Id=5l$+=BaRglm@3wK)9r)r$@!a zP{x*(l#G?=xjH)5$We87ykRmNqS&)F2agH8`UR5qj10Hy)$fZ_%kw9G&`rlHsw9We z+HFGVEai_Qum1V0v`lDaU9zX0gD^~#fZHiDZOw7YwOn+3oS6Hp?d#L>k`kliEv}=Z z*Qi-nW1a#4tz7Glv4uUJ7)fw&aLLvd_krHyg%1VMC8g>@CR!ysqeYWvXXgkhHRt(` zuntM?C^5E(jN%@7`4K2H-E8;{$xUWHI6qg?8GrryLBPxII@@g=L}pf%JRGFp6n4CI z4Wd1$P%EgY2q_eQs}GH^Io-qB%ff^$WGZ4CHnCFMP`$#$3<26unhcPfh;VV&)IJ(^ z#d8e~4tBS;7L>@cYk5gSDGjl6tPvF$Xl#0Y`W=IKV>7QnHH(DHj6If+-;14t76a82 zR>lOEHQt}cf@VA8nVH>VW34R#BNNrun22Z3p9A(uT=Z
CXyQ%9N@R^kwbcN4Hi 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
4|y26+EysibULwr`k_X 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�{bi|{~VC5O!LGvigybhX4&tDJjCGi378 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⁢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

X8ekGg;1sQE49B)}C+7&25K144fwd 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

6tt~z$r?qir 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 Date: Sat, 19 Mar 2022 17:41:35 +0100 Subject: [PATCH 15/17] d08 ex00 ajout tests cha --- d08/ex00/easyfind | Bin 0 -> 123120 bytes d08/ex00/main.cpp | 22 +++++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) create mode 100755 d08/ex00/easyfind diff --git a/d08/ex00/easyfind b/d08/ex00/easyfind new file mode 100755 index 0000000000000000000000000000000000000000..1c3bb6e31d514741d6655946f4bc63fbc91851e5 GIT binary patch literal 123120 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

0e5_C64Di-Jz}V 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 literal 0 HcmV?d00001 diff --git a/d08/ex00/main.cpp b/d08/ex00/main.cpp index 1b0a966..4ae39e5 100644 --- a/d08/ex00/main.cpp +++ b/d08/ex00/main.cpp @@ -10,22 +10,20 @@ #define N_TEST "3" template < typename T > -void standardTest(T container) { +void standardTest(T container, int test) { typename T::const_iterator it; - int test; - for (int i = -9 ; i < 10 ; i++) + for (int i = 65 ; i < 91 ; i++) container.push_back(i); for (it = container.begin(); it != container.end(); it++) std::cout << *it << ": " << &*it << "\n"; std::cout << "\n"; - test = -3; try { it = easyfind(container, test); - std::cout << *it << ": " << &*it << "\n"; + std::cout << *it << ": " << &*it << "\n\n"; } catch (std::exception const & e) { - std::cout << test << ": " << e.what() << "\n"; + std::cout << test << ": " << e.what() << "\n\n"; } } @@ -36,21 +34,27 @@ int main() { << "tests list :" RESET "\n"; { std::list container; - standardTest(container); + standardTest(container, 70); + std::list container2; + standardTest(container2, 'T'); } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests vector :" RESET "\n"; { std::vector container; - standardTest(container); + standardTest(container, 70); + std::vector container2; + standardTest(container2, 'T'); } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests deque :" RESET "\n"; { std::deque container; - standardTest(container); + standardTest(container, 70); + std::deque container2; + standardTest(container2, 'T'); } return 0; From b3df6acd20c8ec893c4ca879cdf026971b38b095 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Sat, 19 Mar 2022 18:29:43 +0100 Subject: [PATCH 16/17] d08 ex00 ajout encore tests char --- d08/ex00/easyfind | Bin 123120 -> 127224 bytes d08/ex00/easyfind.hpp | 2 +- d08/ex00/main.cpp | 73 ++++++++++++++++++++++++++++++++++-------- 3 files changed, 60 insertions(+), 15 deletions(-) diff --git a/d08/ex00/easyfind b/d08/ex00/easyfind index 1c3bb6e31d514741d6655946f4bc63fbc91851e5..c5468ea5e65745193c14399b4267bfc7b7824295 100755 GIT binary patch literal 127224 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 literal 123120 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

0e5_C64Di-Jz}V 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 diff --git a/d08/ex00/easyfind.hpp b/d08/ex00/easyfind.hpp index 9496691..a6a5109 100644 --- a/d08/ex00/easyfind.hpp +++ b/d08/ex00/easyfind.hpp @@ -6,7 +6,7 @@ class easyfindException : public std::exception { virtual char const *what(void) const throw() { - return "not found"; + return B_RED "not found" RESET; } }; diff --git a/d08/ex00/main.cpp b/d08/ex00/main.cpp index 4ae39e5..2e0a24b 100644 --- a/d08/ex00/main.cpp +++ b/d08/ex00/main.cpp @@ -10,10 +10,10 @@ #define N_TEST "3" template < typename T > -void standardTest(T container, int test) { +void standardTest(T container, int start, int end, int test) { typename T::const_iterator it; - for (int i = 65 ; i < 91 ; i++) + for (int i = start ; i < end ; i++) container.push_back(i); for (it = container.begin(); it != container.end(); it++) std::cout << *it << ": " << &*it << "\n"; @@ -33,28 +33,73 @@ int main() { std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests list :" RESET "\n"; { - std::list container; - standardTest(container, 70); - std::list container2; - standardTest(container2, 'T'); + std::cout << B_BLUE "char A - L; find H :" RESET "\n"; + std::list container; + standardTest(container, 'A', 'L', 'H'); + + std::cout << B_BLUE "char A - L; find L :" RESET "\n"; + std::list container1; + standardTest(container1, 'A', 'L', 'L'); + + std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n"; + std::list container2; + standardTest(container2, -5, 5, 4); + + std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n"; + std::list container3; + standardTest(container3, -5, 5, 5); + + std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n"; + std::list container4; + standardTest(container4, -5, 5, 6); } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests vector :" RESET "\n"; { - std::vector container; - standardTest(container, 70); - std::vector container2; - standardTest(container2, 'T'); + std::cout << B_BLUE "char A - L; find H :" RESET "\n"; + std::vector container; + standardTest(container, 'A', 'L', 'H'); + + std::cout << B_BLUE "char A - L; find L :" RESET "\n"; + std::vector container1; + standardTest(container1, 'A', 'L', 'L'); + + std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n"; + std::vector container2; + standardTest(container2, -5, 5, 4); + + std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n"; + std::vector container3; + standardTest(container3, -5, 5, 5); + + std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n"; + std::vector container4; + standardTest(container4, -5, 5, 6); } std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests deque :" RESET "\n"; { - std::deque container; - standardTest(container, 70); - std::deque container2; - standardTest(container2, 'T'); + std::cout << B_BLUE "char A - L; find H :" RESET "\n"; + std::deque container; + standardTest(container, 'A', 'L', 'H'); + + std::cout << B_BLUE "char A - L; find L :" RESET "\n"; + std::deque container1; + standardTest(container1, 'A', 'L', 'L'); + + std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n"; + std::deque container2; + standardTest(container2, -5, 5, 4); + + std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n"; + std::deque container3; + standardTest(container3, -5, 5, 5); + + std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n"; + std::deque container4; + standardTest(container4, -5, 5, 6); } return 0; From 58a7fccc4958bed709cd723fbe091c7923aa11c6 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Sat, 19 Mar 2022 21:39:58 +0100 Subject: [PATCH 17/17] d08 ajouts de tests et reparation ex02 --- d08/ex00/easyfind | Bin 127224 -> 0 bytes d08/ex01/Span.cpp | 10 +--- d08/ex01/Span.hpp | 2 +- d08/ex01/main.cpp | 1 + d08/ex02/Makefile | 5 +- d08/ex02/MutantStack.hpp | 20 ++++---- d08/ex02/main.cpp | 98 ++++++++++++++++++++++++++++++++++++++- 7 files changed, 113 insertions(+), 23 deletions(-) delete mode 100755 d08/ex00/easyfind diff --git a/d08/ex00/easyfind b/d08/ex00/easyfind deleted file mode 100755 index c5468ea5e65745193c14399b4267bfc7b7824295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127224 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 diff --git a/d08/ex01/Span.cpp b/d08/ex01/Span.cpp index 28a564b..3f32821 100644 --- a/d08/ex01/Span.cpp +++ b/d08/ex01/Span.cpp @@ -68,7 +68,7 @@ bool Span::empty() const { * PUBLIC MEMBER FUNCTIONS *********************************************/ -void Span::addNumber(int nb) { +void Span::addNumber(int nb) { if (_container.size() >= _max) throw std::out_of_range(B_RED "out of range number" RESET); _container.push_back(nb); @@ -98,8 +98,6 @@ void Span::addNumber(InputIterator first, InputIterator last) { } template void Span::addNumber(int*, int*); - - unsigned int Span::shortestSpan() { int const size = _container.size(); unsigned int shortest = longestSpan(); @@ -123,9 +121,3 @@ unsigned int Span::longestSpan() { return (_sort.back() - _sort.front()); } -/********************************************* - * NESTED CLASS - *********************************************/ - -//void Span::Class::function() {} - diff --git a/d08/ex01/Span.hpp b/d08/ex01/Span.hpp index b6de956..0a090ac 100644 --- a/d08/ex01/Span.hpp +++ b/d08/ex01/Span.hpp @@ -17,9 +17,9 @@ public: Span & operator=( Span const & rhs ); void addNumber(int nb); -// void addNumber(int * arr, unsigned int size); template void addNumber(InputIterator first, InputIterator last); +// void addNumber(int * arr, unsigned int size); unsigned int shortestSpan(); unsigned int longestSpan(); diff --git a/d08/ex01/main.cpp b/d08/ex01/main.cpp index d3b6abd..47bb891 100644 --- a/d08/ex01/main.cpp +++ b/d08/ex01/main.cpp @@ -1,6 +1,7 @@ #include #include #include "colors.h" +#include // rand #include "Span.hpp" diff --git a/d08/ex02/Makefile b/d08/ex02/Makefile index 1715a65..32e28a8 100644 --- a/d08/ex02/Makefile +++ b/d08/ex02/Makefile @@ -32,9 +32,8 @@ D_SRCS = . SRCS = main.cpp D_HEADERS = . -HEADERS = -#HEADERS = colors.h \ -# MutantStack.hpp +HEADERS = colors.h \ + MutantStack.hpp D_OBJS = builds OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) diff --git a/d08/ex02/MutantStack.hpp b/d08/ex02/MutantStack.hpp index e0c2eaf..201dae8 100644 --- a/d08/ex02/MutantStack.hpp +++ b/d08/ex02/MutantStack.hpp @@ -7,22 +7,24 @@ template class MutantStack : public std::stack { public: + /* typedef T * iterator; typedef T const * const_iterator; iterator begin() {return (&this->top() - (this->size() - 1));} - iterator end() {return (&this->top()+ 1);} + iterator end() {return (&this->top() + 1);} + const_iterator begin() const {return (&this->top() - (this->size() - 1));} - const_iterator end() const {return (&this->top()+ 1);} + const_iterator end() const {return (&this->top() + 1);} + */ -// typedef typename std::stack::container_type::iterator iterator; -// typedef typename std::stack::container_type::const_iterator const_iterator; - -// iterator begin() {return this->c.begin();} -// iterator end() {return this->c.end();} -// const_iterator begin() const {return this->c.begin();} -// const_iterator end() const {return this->c.end();} + typedef typename std::stack::container_type::iterator iterator; + typedef typename std::stack::container_type::const_iterator const_iterator; + iterator begin() {return this->c.begin();} + iterator end() {return this->c.end();} + const_iterator begin() const {return this->c.begin();} + const_iterator end() const {return this->c.end();} }; #endif diff --git a/d08/ex02/main.cpp b/d08/ex02/main.cpp index fcaae06..e089785 100644 --- a/d08/ex02/main.cpp +++ b/d08/ex02/main.cpp @@ -1,11 +1,13 @@ #include #include "colors.h" #include "MutantStack.hpp" +#include // rand -#define N_TEST "2" +#define N_TEST "3" int main() { int i = 0; + srand(time(NULL)); std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "test simple iterator :" RESET "\n"; @@ -26,6 +28,100 @@ int main() { std::cout << *it << "\n"; } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test stack size 128:" RESET "\n"; + { + MutantStack mstack; + + mstack.push(-42); + for (unsigned int i = 0; i < 126; i++) + mstack.push(rand() % 10000000000000); + mstack.push(42); + + MutantStack::iterator it = mstack.begin(); + MutantStack::iterator ite = mstack.end(); + + std::cout << "[ "; + for (; it != ite; it++) + std::cout << *it << " "; + std::cout << "]\n"; + + it = mstack.begin(); + ite = mstack.end(); + + std::cout << B_BLUE "firtst and last :" RESET "\n"; + std::cout << *it << " | " << *(ite - 1) << "\n\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test stack size 129:" RESET "\n"; + { + MutantStack mstack; + + mstack.push(-42); + for (unsigned int i = 0; i < 127; i++) + mstack.push(rand() % 10000000000000); + mstack.push(42); + + MutantStack::iterator it = mstack.begin(); + MutantStack::iterator ite = mstack.end(); + + std::cout << "[ "; + for (; it != ite; it++) + std::cout << *it << " "; + std::cout << "]\n"; + + it = mstack.begin(); + ite = mstack.end(); + + std::cout << B_BLUE "firtst and last :" RESET "\n"; + std::cout << *it << " | " << *(ite - 1) << "\n\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test stack size 10000:" RESET "\n"; + { + MutantStack mstack; + + mstack.push(-42); + for (unsigned int i = 0; i < 10000; i++) + mstack.push(rand() % 10000000000000); + mstack.push(42); + + MutantStack::iterator it = mstack.begin(); + MutantStack::iterator ite = mstack.end(); + + std::cout << "[ "; + for (; it != ite; it++) + std::cout << *it << " "; + std::cout << "]\n"; + + it = mstack.begin(); + ite = mstack.end(); + + std::cout << B_BLUE "firtst and last :" RESET "\n"; + std::cout << *it << " | " << *(ite - 1) << "\n\n"; + } + + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " + << "test const iterator :" RESET "\n"; + { + MutantStack mstack; + + mstack.push(7); + mstack.push(987); + mstack.push(9); + mstack.push(8); + mstack.push(34); + mstack.push(1); + + MutantStack::const_iterator it = mstack.begin(); + MutantStack::const_iterator ite = mstack.end(); + + for (; it != ite; it++) + std::cout << *it << "\n"; + } + std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " << "tests subject :" RESET "\n"; {