From c740f6dcf34a9afd8e3bf7a9c857cfdbc27420c8 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Tue, 20 Aug 2019 14:21:46 -0700 Subject: [PATCH] Remove msqueue test case --- libcdsTest/ms-queue/.intrusive_msqueue_hp.cc | 125 --------------- libcdsTest/ms-queue/Makefile | 21 --- libcdsTest/ms-queue/intrusive_msqueue_hp.cc | 155 ------------------- libcdsTest/ms-queue/msqueue | Bin 107216 -> 0 bytes libcdsTest/ms-queue/msqueue2 | Bin 255040 -> 0 bytes libcdsTest/ms-queue/script.sh | 5 - libcdsTest/ms-queue/test_intrusive_msqueue.h | 60 ------- 7 files changed, 366 deletions(-) delete mode 100644 libcdsTest/ms-queue/.intrusive_msqueue_hp.cc delete mode 100644 libcdsTest/ms-queue/Makefile delete mode 100644 libcdsTest/ms-queue/intrusive_msqueue_hp.cc delete mode 100755 libcdsTest/ms-queue/msqueue delete mode 100755 libcdsTest/ms-queue/msqueue2 delete mode 100755 libcdsTest/ms-queue/script.sh delete mode 100644 libcdsTest/ms-queue/test_intrusive_msqueue.h diff --git a/libcdsTest/ms-queue/.intrusive_msqueue_hp.cc b/libcdsTest/ms-queue/.intrusive_msqueue_hp.cc deleted file mode 100644 index 877f5450..00000000 --- a/libcdsTest/ms-queue/.intrusive_msqueue_hp.cc +++ /dev/null @@ -1,125 +0,0 @@ -#include "test_intrusive_msqueue.h" - -#include -#include -#include -#include -#include - -namespace ci = cds::intrusive; -typedef cds::gc::HP gc_type; - -typedef cds_test::intrusive_msqueue base_class; -typedef typename base_class::base_hook_item< ci::msqueue::node> base_item_type; -typedef typename base_class::member_hook_item< ci::msqueue::node> member_item_type; - -typedef cds_test::intrusive_msqueue::mock_disposer mock_disposer; - -template -void test( Queue& q, Data& arr ) -{ - typedef typename Queue::value_type value_type; - size_t nSize = arr.size(); - - value_type * pv; - for ( size_t i = 0; i < nSize; ++i ) - arr[i].nVal = static_cast(i); - - assert(q.empty()); - assert(q.size() == 0); - - // pop from empty queue - pv = q.pop(); - assert( pv == nullptr ); - assert( q.empty()); - assert(q.size() == 0); - - pv =q.dequeue(); - assert( pv == nullptr ); - assert( q.empty()); - assert(q.size() == 0); - - // push/pop test - for ( size_t i = 0; i < nSize; ++i ) { - if ( i & 1 ) - q.push( arr[i] ); - else - q.enqueue( arr[i] ); - assert( !q.empty()); - assert(q.size() == i+1); - } - - for ( size_t i = 0; i < nSize; ++i ) { - assert( !q.empty()); - assert( q.size() == nSize - i ); - if ( i & 1 ) - pv = q.pop(); - else - pv = q.dequeue(); - assert( pv != nullptr ); - assert( pv->nVal == i); - } - assert( q.empty()); - assert( q.size() == 0 ); - - Queue::gc::scan(); - --nSize; // last element of array is in queue yet as a dummy item - for ( size_t i = 0; i < nSize; ++i ) { - assert( arr[i].nDisposeCount == 1 ); - } - assert( arr[nSize].nDisposeCount == 0 ); - - // clear test - for ( size_t i = 0; i < nSize; ++i ) - q.push( arr[i] ); - - assert( !q.empty()); - assert( q.size() == nSize ); - - q.clear(); - assert( q.empty()); - assert( q.size() == 0 ); - - Queue::gc::scan(); - for ( size_t i = 0; i < nSize - 1; ++i ) { - printf("nDisCount (2): %d, (i) %lu\n", arr[i].nDisposeCount, i ); - } - printf("nDisCount: (1) %d\n", arr[nSize - 1].nDisposeCount ); // this element is in the queue yet - assert( arr[nSize].nDisposeCount == 1 ); -} - -int main () { - cds::Initialize(); - - { - typedef ci::MSQueue< gc_type, base_item_type > queue_type; - cds::gc::hp::GarbageCollector::Construct( queue_type::c_nHazardPtrCount, 1, 16 ); - cds::threading::Manager::attachThread(); - - { - typedef cds::intrusive::MSQueue< gc_type, base_item_type, - typename ci::msqueue::make_traits< - ci::opt::disposer< mock_disposer > - , cds::opt::item_counter< cds::atomicity::item_counter > - , ci::opt::hook< ci::msqueue::base_hook< ci::opt::gc>> - >::type - > test_queue; - - std::vector arr; - arr.resize(5); - printf("test start\n"); - { - test_queue q; - test(q, arr); - } - printf("test end\n"); - -// gc_type::scan(); -// check_array( arr ); - - } - - } - - cds::Terminate(); -} diff --git a/libcdsTest/ms-queue/Makefile b/libcdsTest/ms-queue/Makefile deleted file mode 100644 index a2b45572..00000000 --- a/libcdsTest/ms-queue/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -all: intrusive_msqueue_hp.o - -CXX = clang++ - -#%.o : %.cc -# $(CXX) -c $@ - -INCLUDE = -I. -I /scratch/benchmarks/libcds - -INCLUDE += -Xclang -load -Xclang /scratch/llvm/build/lib/libCDSPass.so -I. -I /scratch/benchmarks/libcds - -CPPFLAGS = $(INCLUDE) -g -O1 -std=c++11 - -CDSDIR=/scratch/benchmarks/libcds/build-release/bin -CDSLIB=-lcds_d -lpthread - -intrusive_msqueue_hp.o: intrusive_msqueue_hp.cc - $(CXX) -o msqueue intrusive_msqueue_hp.cc $(CPPFLAGS) -L $(CDSDIR) $(CDSLIB) - -clean: - rm -f *.o diff --git a/libcdsTest/ms-queue/intrusive_msqueue_hp.cc b/libcdsTest/ms-queue/intrusive_msqueue_hp.cc deleted file mode 100644 index 88861fd7..00000000 --- a/libcdsTest/ms-queue/intrusive_msqueue_hp.cc +++ /dev/null @@ -1,155 +0,0 @@ -#include "test_intrusive_msqueue.h" - -#include -#include -#include -#include -#include - -#define NDEBUG // disable assert() -#include -#include - -namespace ci = cds::intrusive; -typedef cds::gc::HP gc_type; - -typedef cds_test::intrusive_msqueue base_class; -typedef typename base_class::base_hook_item< ci::msqueue::node> base_item_type; -typedef typename base_class::member_hook_item< ci::msqueue::node> member_item_type; - -typedef cds_test::intrusive_msqueue::mock_disposer mock_disposer; - -std::atomic_int x; - -template -void test_enqueue( Queue& q, Data& arr ) -{ - typedef typename Queue::value_type value_type; - size_t nSize = arr.size(); - - value_type * pv; -// for ( size_t i = 0; i < nSize; ++i ) -// arr[i].nVal = static_cast(i); - - base_item_type test; - test.nVal = static_cast(4); -// arr[0].nVal = static_cast(5); - x.load(); - q.enqueue( test ); -/* - assert(q.empty()); - assert(q.size() == 0); - - // pop from empty queue -// pv = q.pop(); - assert( pv == nullptr ); - assert( q.empty()); - assert(q.size() == 0); - -// pv = q.dequeue(); - assert( pv == nullptr ); - assert( q.empty()); - assert(q.size() == 0); -*/ -/* - for ( size_t i = 0; i < nSize; ++i ) { - if ( i & 1 ) - q.push( arr[i] ); - else - q.enqueue( arr[i] ); - assert( !q.empty()); - assert(q.size() == i+1); - } -*/ -} - - -template -void test_dequeue( Queue& q, Data& arr ) -{ - typedef typename Queue::value_type value_type; - size_t nSize = arr.size(); - - value_type * pv; - - for ( size_t i = 0; i < nSize; ++i ) { - assert( !q.empty()); - assert( q.size() == nSize - i ); - if ( i & 1 ) - pv = q.pop(); - else - pv = q.dequeue(); - assert( pv != nullptr ); - assert( pv->nVal == i); - } - assert( q.empty()); - assert( q.size() == 0 ); - -/* - Queue::gc::scan(); - --nSize; // last element of array is in queue yet as a dummy item - for ( size_t i = 0; i < nSize; ++i ) { - assert( arr[i].nDisposeCount == 1 ); - } - assert( arr[nSize].nDisposeCount == 0 ); - - // clear test - for ( size_t i = 0; i < nSize; ++i ) - q.push( arr[i] ); - - assert( !q.empty()); - assert( q.size() == nSize ); - - q.clear(); - assert( q.empty()); - assert( q.size() == 0 ); - - Queue::gc::scan(); - for ( size_t i = 0; i < nSize - 1; ++i ) { - printf("nDisCount (2): %d, (i) %lu\n", arr[i].nDisposeCount, i ); - } - printf("nDisCount: (1) %d\n", arr[nSize - 1].nDisposeCount ); // this element is in the queue yet - assert( arr[nSize].nDisposeCount == 1 ); -*/ - -} - -int main () { - cds::Initialize(); - - { - typedef ci::MSQueue< gc_type, base_item_type > queue_type; - cds::gc::hp::GarbageCollector::Construct( queue_type::c_nHazardPtrCount, 1, 16 ); - cds::threading::Manager::attachThread(); - - { - typedef cds::intrusive::MSQueue< gc_type, base_item_type, - typename ci::msqueue::make_traits< - ci::opt::disposer< mock_disposer > - , cds::opt::item_counter< cds::atomicity::item_counter > - , ci::opt::hook< ci::msqueue::base_hook< ci::opt::gc>> - >::type - > test_queue; - - std::vector arr; - arr.resize(5); - printf("test start\n"); - - atomic_store_explicit(&x, 0xaaa, std::memory_order_seq_cst); - test_queue q; - test_enqueue(q, arr); - atomic_store_explicit(&x, 0xccc, std::memory_order_seq_cst); -// test_dequeue(q, arr); - atomic_store_explicit(&x, 0xbbb, std::memory_order_seq_cst); - - printf("test end\n"); - -// gc_type::scan(); -// check_array( arr ); - - } - - } - - cds::Terminate(); -} diff --git a/libcdsTest/ms-queue/msqueue b/libcdsTest/ms-queue/msqueue deleted file mode 100755 index ebafe1e48d98381813fa1719aa82e7d694dc9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107216 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�ecHj#(GkftBY5odrWjIW$c3J+(bTE@&++xtw z!(QOgBEs%{`Ss;2P*^SW>kE;K2Q*(_Lk_I3?;OPfx`y8*iD3HsE$nQ+C_7RBEM51w-hWe z`;CMrBH9kyRi21zLw>YgKbOl^5oSmwo!F@_0ex2AbdGzTpNJRY?OW)vVQ$a!I^9_M zvNoBg$?x~_KIc=xPd6uSPDsa^is@yJ9l{)2WNA6|Ur<8(h$DQo0#3`R z4%gzl9N5u`9s`U|+B>BMI0zN5*XP&G)%FPJ5%}kPMkh9t8vgmU%c?Nyn-{8YsG*(Y zd3pYf@o5ypoN_VUbupQI%sqclRSPD2f(Nnf#3d(U?yNsm!`-jpf3r{KPKIN}c7K0K zotlIUN5o8wxsp$(N2q3=8K|xZyWOGcs+y|WK(s1ci)cC+j+CoNT%7BqAJ%V+#K+^) z3hEt$`fk5tU``jzDK_6MII%G@zIPMnMFkvn1dg^3;b5%8pT^<2g-MRNg~=pA0dm?m z4*$RIt|ml^BMO(3n3xE<9s-+0l3`s5f;KZ6VZ4>Hf>8*27(CiD&i3w1GJnkW2KD42 z7ZD^v4x2+DkW&O%z2z3Kx$SYqi#NR+!XCu+d-dL%si~P3B_28!RKKcv@2gi`HPut~ zx~l6`Jh5;%&RQNgGRrT-6*W{kGe$Y<@S$w`XSvZ%Fk_>mTUVzTZ2o79Q8DsPjaaZStXE)!4Tm(Z8o{7{b3l>>F>%r2cig2a_$;)3g(m zM4lE0eecP%u-$(Y{+v!k$2>06)W zL6U@%#*B5f3#D;EHPXpzpWJqf{H=p{BU6NL?wNcT;}Ms!m_GAq%MHcT&Ai%5(Pr<+ z*(dF@bn*#}uk-qK+x$J;!cPM8|9E-YVa#j(5ro5@aFSkT$IGq3e>}1o?YSoxkP}S4#U^U^D92|8E)%<$RN%ezDR-t5-W|{W54eVA|9W z8Yda_P1NnBNp$+mH^eS~1N(nB;&uHfosN0t^ptv*E_8SaJ`fiBE@Boy;>&1{f_Ubb?K?#=Ur@c z3GoYH{kyZ%Q~m1&>x9=OLFsOnYRn#?O1?#4FTCPQyRBoD1n?U%;XZ(;dsqA{CBj{V ze-B>qn==+MV>V|TG1m?-)oWOPm%!NZ%71>&I??lUj+kvGM$4~ylztEX3lD$pkadW2 z)G%6+i{ymhSEc}Gl93at7SulN5W#0YVxDq@79DmGW@-9Y_k2HfUzH5@mqr5y8C+gXAq+zD*mzH zAHOD^`ZxXd75`N5PX#|C4Xgb_>ra12>w*65jT%yn+1_v@^ZqrTT`0U?esizJz z`d6INj{|)FKI8lJ!-CUta%{5xXMm@?^!~34{<`27sc@bvdSMEFBKk`~y5dg;>6)F= z1K_J}Uv%RamiR&ig&9Q0e!D*YPbvS_SDgAK$OU+pF diff --git a/libcdsTest/ms-queue/msqueue2 b/libcdsTest/ms-queue/msqueue2 deleted file mode 100755 index c6121b20ab4a268f5fab52a8825412abfc2d43dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255040 zcmeEv34ByVw)gE$2RaR86J-^eJ)nW?OS70j0v!nuNLUoH6Ouq8*+@EUIvNZpF``i! z#|1U+jN34-z$gS!gUe{#agUBmw=f!)K}OVk|8uJ9_D!cF4sYgt@B4l4Lif3KwmMaH z>eQ*~?wd<8vuB!3CQV&tZJI`<{7Gqy67QPU@@^29=`Br5(L(S(RvV@DLOGamL?K#Q z7kEsnR?x~+O(Sg_{)w_f3rae=I_r+&$i_A5yJNY|vY(&b4Blgf&s z%StP1*F~>ONs3NNm{?OeF^=0!`iXbe+=axhseZI`Nz-NkCgMf?6~egKs7(!YduG>3C(}m5J9(yqtK^m4(-AzSFd93FiRL!z)LY3CzbU z*HETg(K>-#Bx#EQm*90SUdtrTB_V-)ybADIj#nXGbQR&X60Z`xO7Xe?uX4O9@v6eB z8m~2Yt;1_QUUXfA7rDvBcwK_mM!YuRHTS~&zdx6qzyHF26c#MnHs`&cpFID|g!~aJ z_fJ^S+u?X1^soD$`tZ$fC!c-C$l5o)OL*y>ts|+s3dTsmg^;xSPUvTbmZ$H|Cq^b8GuVEa#op zzn^l=Hxa*^I`Et&FCJRGWa!NksdOJ5BTOD?DY1~Kkgp- zC%OkaPsc(NsDCc+q29#af%&s~(7&;VcFpTyTxc!_vWM0=J6`@*{~qkwfuI>k&+#7Y zxuOSqihJN6-UEMr5B+~d5B5auRP=Cf? zK zR66uQAAzq+5qP!UZjg9;PFMU5Snx?t%c8D&_M!nJw87fIJMuNUqWE3Yu9oAN6P+e8 z0xX9Alb+_;0Dhas(32qf z@00bmBniCojRe`=_IUz7Rr248dLz)TW4Grs#wzj8VBE=`4q5LiiQk2JNBz()`3Fk; z^)Q|4s`BfHK~P9`9+P$|{%>VJw8(x?_&a9vnW6fv|Uq>*Ygm0Ja8Yl77F@Fi) zHaCqis-Giedt)U3rIP=)zM{SDavafozMjB)q!y}WEKU;$`95FyiC_Pxq5rAg9EnGF z@wFHVslCmzUBe`PIND46EpyTsGehDpk?rkp2>e8ezX>o>vuQie5O|5!QZc`%|2w4p zs^3P*{%MnbuKa%y<`LT|>xDb<^@8NDlKweF;{PuFutVxm{nIMvbTNmVYPdE?pI-|9u=Mj7IWOWRAw!O1nzU1mmkIVz|6Bd~{|l)n zN7{L&)N`qf8+B6u(-Qxt?9Vzs{aJFnnxoSsrvOc|f7;RnUisls*`IYe0#9wHYd$)b z>AAr9zpV;*4uQLAZlKfGUazy%Jv!DKtpr7ZRv>(mq>k~PTnx!5!j}oPS z+NFQal>F1B{Qw8mXr zJ)^9krlzjZxY|`-P+FlC7S*^4+?C~} zg{~FF?!ppRK~Ygsf>z}&sV*)ka;+*}5A9{eZfGm5D0O$|uc^iPfaY2Os*zaZuBk3N>DpnRJCAikao`@k%bDf*(jxR4*msOs*V0NA>H;(=r#keZi zU}#ENWkFHb%Js%|MH3@L(di^z#OE3l<0ruUkNJb5r3q z6}7Iyb?ai|D~i{;3d+hV3o*vkS%sM}al!1|SoqSf^Toy#6-&9|%$&k<;-5_&61TE2 zuB0k9S^7sw6}+>u8Xb~SSWs0^Sn6J%xrUg3z4MZsm1S_+M6SXoAeARpRJz&QN(;(L zHxw5MqcP~+^v1@BUZZ|YAQu$6a@|S7r?Ya{5a>-VDs~r?mes_@Ru{WVtBZ?VRqpD{ z%tUsc%-jT5t~)layturwdcCW%8n&s*lwe#;VM%e}DpyGrrlZ?cTtQQ;D04aSk!;O+ zOv`dtadmZNH95k9*+9p;7RALTFwTV`C|(KmnZiYK-Bo2-g^-NJY^Zj*s|!lqH5j4X z0=&T|+{rE;!r0ij#&yxf!%^b3rk5s~iHLl?8- z(3m9@l&!3cjV&%KEibJoAYV+XE-plmNHu-~Ya9UdfvX~?y0UOaWo?CQe$9 z)^g(6lOeiX`5sM}SUF*e$Wv?9R}?Bw?dCa{pZbW3(TcArua0+@)pVOE@yeGAs;dju zCsftelw_g{V_eEpaC-uNSD6M z%Q|6=9D3&ECT7zibc(yOsv#zX6b+sN8*68y-Cg8k> zwf^%Ns2Dkqu{!^@C?9Zz!0-wm?iwMxOr&H?q-UP;p|I(7A&+E8u zofk{Bkan6P)xJ5~)h^Wrwd~2rov@<1xLEb8v1fig^pOY7?%I`!YYNJ0rK;alb^OX= zG3H$+r{4@$LtRcQ9lru&lVC+UG;Q8JAjES%H{aTjZ9-MZDV3{jQ3PbQMDB2B99;*>tCV*O`YMvUISeoI6WQoqub z6`2bP7X->SjIQK2L;fY-kp|?t3o2+r7#GJ}cU-*7WyH9Uw3exHEHTY%GD&@ywn)03)N%CSw*?kV`o&(nDnNGD)XA zK1Scf)D*jGs)`HYo`pINL8KdwHamsb_F%IERWm9Qiw#Ra;?kQ6=F5a%c7PW(_o0?ad&h@vSzip@a>*tKLxPrWL!O?Ku$iLXr$}dX zdS90cPcgQE=3BX#YPefjh}{mAVl~&oinXN}ss+V0wdFi53k6$Mts93QE;gpQDati z*7O;!xQTHS6UF_KCBP?4j7`*LELoC1JgzuhEDM;%rIp`Y`7RIpvDB>TT@8hV6xq7i2(QS|;oI0(e?_`L77JQ3F z-3v&xV0;(Di1qO+DMht_kEjH@{v#^{MnS@UZP8NG>m+JIj?Q%)a2T$>_KcI_4w5z1f*Z;H%CwaZJTV%O_ z>A~6#S$2=V7AJ!i?Fm_4&GaDc0LpZk(5u5Fjmq1uxgMrlwbvw0*kji1Id)qQd*ygs)aeK=t_>;ZqHGb?!*` z%?7+W-zEH7174jU6W(pWx6AWO!e<-s>hl)D=Na$=oAbFu{z{&uF1rCQ=7^v~8Sp;u z*0dM{UY!+_M2Z1Vb*n4QfLFdpG^YViHmNJefQN(V*AfF>eU?GQd;?y6W<>ZB174ju z6TZrT$I-Wbtux?P>R3&yGvMLw`nAP?S7+BmY%<{S(Sv^7V8GLyQdhG9FI}HWI}CVr zmQIA72K*^X3E(aRzP|zAV!)qjz#lZ=)n~XwZZqH=2L3|^ygFkia=QVaY2f!5@ai)Q zB6k?@gADw~4ERa|Ub{V?OXMR%40x*nPv7lOSGWOxxl&@(|{jkz~>n7=NRxy4EWIoe7*rc#(*y|;Kv&9RR;Vx z1Ad(Wzruj8GvK2P_$>zfcmux4fS+K%-(bL>X}~ud@X-eR4g-Fo0l(9LpJc%AGT>tj z_!a|ReHKaNg9bb&2vWvbf5hr+44&$?YtGFr?qE-25Q0_xGu8uwp))ZKq|Px3cn=$% zhC3>k5YgM-iEGRRDpQE{wsCnRmCaOc;qqWAL#gK7$>m5YQz-Q|bJ<2^3ZdR6E}N-L zq0?K(gQXbNOj1Q;73wT;4-v3T@twUw|0%FqJ8!dE2>sAC)PTdE2;r2bCkK+`{FX zs7#^DyOYb;Qkg=Qx0%aVQ2A6UH*xt=DpQE^)^T|Ql_>;ytGHZEWePFgd@f%=WeP3c z94;@X@?a{bars;-Qz-GqaCrfhDTH|KTt1u16gs@&T%Jy43K?FF%ML12sPK0DOzn@O zvYpE9T%JH>3IX0WE{~-0NGi8*c`%h}%6oTmIg-jWrM=Buwo#d;vbTxLW-8MZ_SSLv z$7+;m>UyiV{4JGfYI^gz{3VrXN_um+{0Wt5Dtgnn{4SNxpmGeCU!yWjNw1yDFHo7L zqBoq&Pg9wupjYGa9xBt+^LG5i<4-$!Li!Mtr;zJtnfRBqw&O;nDj@=h*a zOJ$mZ-exXeLFGg$H*xt=Dko97j>~sc*|il-DDxHj_pF9j&v!O_;;jF)BPTDbwIywF zn&xcX-?oTAD}8Ulb2;q%enr^u46Ku1VB#-yMz;ev>yL#x8$MezWEZKT=^n9c9}zm+ z!Mus}FFQc9e8ogn-b?g_&W&HOg8jb)L4mWO!@1vcmecf{^VMJ6r|R1JC~aZGwPgoH z{dH5nL3^~?h=maJRKT!h&jo)7l<7OJXmU%Zo#%E8i zbK{W?Sn3Hv$k}Jc-Cl}4duT%LraO-fNYANwb8bCvwAI=0k;jR`UWzbOn2o}|MXS(D z`!T%x`retZ?Y;oTz4swz>>)1CmgAkB&aD@XwtGHgHMnzbb&s}s!Vt!U#1@ix2~k8y zEP{j}+(U%FAlwMTR3a1r=gCEFLg{#Dp*ySRBiwm5pvu@5=f-EKSxXN%8x9CIGl++S z55s6iSUrCxIkaFsH0k4&6Wi(81wZjT0_>(1_Xy7fD!mEb%`My^VVMV=4gJo87cKF= z4D^x%zTRBXl;ha|6Cv2gvp)nx?{O5tqQ*acQEpCF!!P^n)G@F8h&I5ShSuzcqn=k0 z#P`zo$M(>d?8vfxsM@ET{ZGl$_;{}FBEKI&aBu!akf$%Fk^Chmke}B@J_12%FMUsK z4}IB%}IUf3k#}euTPY1jueKA_-Z1@g+Me#;Q5ShQ$MOX#X0@}%Fc!lm!_Ye z?(%*ByfgLCngP!Jf3su-4Kvb4z-ySxFhETUp}yhG^oFC(hT{!y@9pe_RkT{w{~Y8V zQ2%pq?daW~tm4*ZG#q80J3QQo!GLRr`x!8?uX%PH>+D2DG}Sd4AE<`;S@mDl(Xj5p z+UMMQVH({(gnMevJ!h4p$9cxhJ`+9|mFZBG)hPw9)#ib#7WZGLTagZH4sY;zRLXMuUQRmHT;7_UOCEL-0&6Jn%(e?Ck&nD zYz?ww&Z5cee>oic2RQ5Th0EIU0O4BgWPpKM?VKeC_FW8P_g+Vn@@2g3xfXSMZiLo- z$GQ@(BSIY!`q4D@No*s+N+OKxO1Pc~b3yQR9?fse<>Ma8wv?S+8kolOC5vaH$3z{{ z8gvkSogNlGGdwI}M!1|BzVTsw$*6{g**mRUeRBR}HM~qyh*yR2sJ#($$k~`TIviru zb7RONIV+3?YYoZHhQ(H2eZt@Bk5mbb4GE*24SAT4(2RNhIcA9G9nytz_}*l6Np{1J zo2!D;LNe(dNw=GoROT0@lFrGy;I*86;OT4qG z{1)C~Th2M)nS+}p-ekP*dx7R7ueWWu+p~`N_I`_r>PJ{Zgu6jtdmE>2D6wna$5j7| z`4hD-g}6GwCGryw&HKiwbHR(Xm;DP-(26M(g&{{mh177*0z`Ot23%++k_7URP)unG z!8{K)LL04PAs9s&moJv6qo`iwx4E7Rke{N`#;G5#v}^FtFF|u|e$O323Qre`mwGcG z2|qx5Za5ycxFsxN7UD(keHwxXC$PKsV`;*wlnuVv*PK5j-oJuO&$T;SXV7K`v;P21 z#-(1`+WH2}*@~q?)8PAJJp9Lt*Mr8XnXt`M_l^HrutM*F46y=x`f{kkLh*%XBiN}8 zA)>K8>6h`68x;g=Dbqt98#cU-Zv5>r_?qx%@)uuoy3Id~Zw^hV#$;#X;&A8qZ=L&p zw0LGh2&Tzs>z#$79HA+=r9sQXnnv;bMD;s2A9V+NPlFUJ#(Le&KEL%9LB+eSgLI4j zaAN*A&*<&kf6T)1XCVck^o8kpFnjaSuuVtUwC~Y`?8dbS>9fMK$7A<&%;HS#2&;b- z)IICPAY?au?y2B##VNp@>{gtf&~KeNh*?HE8_&pYT*blVHSErv4PR$Be1#D1Y}oJl z7;MglXKBbDXWE&F{h)tNnTCaRJY$f*R+lHbn@WxG&c( znPWoYa$)%4!9-iYG$2_2U1*83VFt}GehO*Oi7gwGQ zQJ;Guo*##yK134_S03lESq*PzHGGdu*xBG79qx&wyCBJfm9sI-IXToBHvKuo z_Y<|pxeN1}t}qdAVqf!yK##uPMti^WybU^biPimRmk86BddHw^J?&q1cAiMTf4r0a z4S#vdnfik}4nvF{ozw8WoKNI7TiBhEBz@>vMvdbkekL6I*V^{OLEz19Xg9bL&#O(a z1#V11>qbm5PX-L6se2{Ek34TMZ1udR_ANIn(wZp^ej|bQKaI`T#Y*Q>qEN+Ke>Md6Nh5gglbu_X_H-7M3Y?Z!A=MPIb zUhw`riq;>sFF%LO6C2<2af`E`p?thWrawp#q>+xkWPCboj(tz0Ll1Lsp=c#iD4YXv znsk#0I-XD95$La*QS@~P&M(w@NXG=i`?9yLOv~Q-#6hxSYuRY);lVxu3XN9Y6@TFg z2jnfiv*BIOcN~rpXgOU1n%0nuF@3Wdp50gON<))AjBW9p_XRS@KcEQDL~#y^d(NsM z>POtmo~1C;IT?Ct@0zpu@9xSy>p{gV5Y(weMK}+4rh>&iHhuTsg|L&B*)Mm~KxIO2 zF!b&)g>9OHnR+-mefJ|m3CDlpqp(7JAAHW!#4`q?$)7(^`{>h<*p|a%eJ3iOM9_&e z70}s;sAUXhW6>n?X--+t<_Rn(Jj;%?7= zX!7*`j5@4G`!+-WiR^ooTdnMSy^DPdyV-Xqai7S(S<97u?oWk%hN0r|^~Ix{jD}|$ zUgRVSUHVf-L#qhTHe@FV796a9!G5s*Kxh4N%i6-u(I0HV4!8c<&N+<}>wh+f)&CKm zlfHXQEp_-8A`j;PkS;Tg)i_M&#;ik%wwq$SwL4@D zs1#}U(BOF9Zl_F#{e2H?)Vx>&D8knX&K5njkeNMwfU)U7=P5GbvcxXS))M@PdW;I$q6z+e%ahXak zL?@I{8=m-xY^%eqw%2d`8oouwnv8^9(%HZ0%pc?FnFoi+-dZ(Ko?k(n&V6y93t#?_ z^Cd#@rw^V}aJ#9cHkdzugf(`tkCXmNi_D%k)>7u|84ssz4t;=#e#e`UTLdfzx-e(@q{*W(48 zB;#^CllecIUfrzq7;8A^*{M9K|XV!^Gzz$KNG(6z`ka9k@x`XLGq`^(UYE) z2y@b3a(3UiPVR^1!wlnx!5km_=WqSYz9vIV<YyVJJj?=INTB@qDND`bfGkjVIH8K+93ZQtv~!@hKPMZP>41+w?P;xfY$s z=ZmeLi*TEbO$+@0YtJPpIJYiKb0QK9%-;GG?P&ZGGO%Ipd1{H1j*0fofbGCwQT+3} z)Oeg4?RgzTBC@cj$a2J)6z%~!S<|-?PgBiE{oX}>@)X5NxL|Gb;gwzOcj6OQJBYlC zvpz-9BYpR*^{5luKRebpUEg$6zr$2JjCA$_9}U*6&>j1CpT-qUs3dH2GOd!Zbf9x% zYYQ}bK1cl|_Z1-T9n*Jjq&jHWd^NPc!!_W;;7-pQ%!y#+c^7xQtHCx>-___}a|rj) zIsiqUYiVrge8u2?-Pd;>&&52Rt)8n{G{|^HMDdIdWAPOe_xU1w-t!l>^#{bZIV^b~ zs{xytIHl(2}HtL>%B$Nv8K2X~xd{i9X?YjVDD-z|4 zaJMHMz3MrPPVjZ8VL#kc{&@wC|5W~YG42id=b=FPXC|BWTk}uJjW+g_e|F(8=AT^% zJ>;KVjiD9Vmw$Gpp;x=)pIx=nQl7qx-YNg=DoI)?soalavTpfjcQwR%y<+{B^H0hz zJ*W`*r72K;X>d-CpEw`HJQd#$Y5QAer-i4?RNhj`A}n#FRc`ex}i9>}ZX)dpv#1heu52XN2(OXH14xP332dFy?2B zpyBkaLd9M3Gn$yN{Np;>$|kogvMK?c;|6B@&q ziq8icI_VRg?5$&7o@vLI;kHH-M8=3L>CNo%NC5F2+WkKVdH(bUT7W|(d+d9vKXDj@ zl`I1qI{UxRnPTeU+Ale3EK}j{K$9;(e0KmgkUp$^xaHr4P&ag@rV-GB9Ri*zp~8=s zWd%QW3O)rFWr=dNgkciKWDC54^JF<+!qpNMJ!Vv>Bs#w4Yq zTs$ddVu@Dns+yIPwP40V`_!rSirTU=JbXj@m-V{D54WKY^*S7S#STXv+dxkNaX2pa z6{5zAny35K%;w~EN9H>HIURP*`1B2jqq?}Nte~)18&l)3yIfV3HTI~rC8dQW_R<>r zm<_e#?bGb;lG2*!X*GCqNz`~hs#Zld;wNea?$Sd0n#$55yMI$;=Q$kmIWrDNf!keB zSRz`57Of~Kt0`70{H1+uw@>h=b=Pco3Qg3Bxw|}}X1xAO+CaaqH9R(GO>rR}5aV#T z=rKhr3Tn&Tu7av6`oUe56MkbK@tYk2zwWE9ttnkoJgK~9b!~BNv2p~RfKJPuPn0R# znw5nPhco9)>SC9>xW?^p=$tO8!r`D_H@iwID_6Nn@%$DcsIxg7HE`^*V*H4(VwJ;D zfk!`dQ|)k6RzYZR6L(FvCFXB5G(MYbh$NfiDXUJ@-|4B_4pISbNf^_pErN4O>liUo6K4 zlVa(t8TP5d^VJyT2}I9z>;3cZ8mByd;*PSzzeD~%AFyR|b|PFOSmxp9wG-*L`BCzb z5B!8Ohoj2_AgYVY3f2`DjXzObUs*V*qzY5Fv}m1uioH-iH41_41nU9h)B=O2PU%a5 zFNl&Wl~g$#g5+@U^F3VrXq+i=a6mi@sMsAvaoOdT(=?!neF8jmhO`U*5w}c(64z1~ zyv(?M&8>9Xiz_N?SC-hF1sm`z5qpk!s*rq~m_6EFREeO+vC3Y8*g<{CK@Sh)a@faI z*?yIidfl#bR%BHa75nvAo^cL29JAGixgfsnrxmsL5yA<%H}K%KpV*I6>%zzNoT-^5sPZsN8;nQP$_7FUULMlT#dt z@#B|id2&$`L8DuP#bZ(Q_JTWLlm6Rc%rfn_JEze#rQrq-)Q980(RQED8RN7F@#6z0EsQ@2c8X`eRL&MCjk zK6b2qC3YCHbcS)O;agzU4!|v*ckFwft;0c&I21EqF?HElAZBQEs$dt-5aL@p*3d)0 zI%B{iV<#3CI%4Bf90@&B6Jmdr8vkq5#281sHmSCzn$G1W;qgh6@MoG_NeS|AHsNW& zlM?X+qnJq(C;I-ERuq=i78OszL(U|1Ii5f}NjRd5w%Zd+ka{OL;_PWl?f-S{La`$? zG0qViXJ2-r?VjF^hK)c1$tIqhWc*1>#yV2}L!FzN)m+F_Jose5Yp@u2UFE~u?ewpj^q<2Q;Iz<5gU&auBbY967r1`20X>h zrlg#3o&{V$;!`=V`*j}fh_k_$*eD)vz)we%#MbYxA8iF3rCFvhBDyzsIQl&XzVYjadwTnIkTi{w|OB#M4#6pLp^g z(P2JSPYS;FOP6|%EEn)b&y%7{{k_AOS)#1|KAxeTZhr|O6LLy_v((ce+eJF*qUTM~ zrT)H}`nzVT9i|~clj(11?*UKSL!F&b_~}Ld!=0VSfXjcRv$G22sz*CJn*nzMI<4RX zYzGW~46r|J01O|39~T3*fUg4}L|fOUX%fHwfP0k!~YyYXWu{9rT&Fb1#%FbA+5unI7I5BP}=xC^ifupO`t z@EBmuUphNe@K}mEz$Jh!fLj3D0Gk2Z0e1m*0JZ^YPvUEefObG@ALs?N1Ev9{0OkPZ z0OkYIlN+l5>j3KjZvbop+zHqWco1+WU^`$7;4#29!0^7P7cdI2127FR|0%QwunKSs z;Q@C6+VNwrLxcxB23Q9e-VgNvMgg`1<^Xm8(zCb1_dy=e4%iGB1Goz?4X_O`2hao9 z1UN7hb^^u#?gVrKwgBb>wgIjKYzJ%t>;T*WsI_2R0Q2|5jxfjrrUC8*TmqQ$H2MKB zA8;qp0X;+qqz72X96)`5X@E|^9Kd|QD!@9xHo%>L?SKaXI{@1OwP(aZ=;1a-mz;%FCfK7mPfb^W}CcqXz`?Ihk68wO6z#PC7z&gNuz$U_SXTT`HCcrenoq+j(;ce&-z#PCfzo2Lz;?hE zK>O>cA21&<263$pFbA+1unMpRun92dP4p{ZKHxFHD!}leXdhq~7^A6~y zFFJ>Y&kP-Sc37Xa);jI1!ILM%j~+=1NGDyU4LR9dWAC8miD_Dps8`d@1dVigP%r(h zRm=99)3o%^@L8dC=6bXF?a=V_P-{90qy!h~+lJS{2Rl0x2m#)*P-`ahp-A>Vir2x1 zIy(2YD;^;RE1{0UzrXd>NrJ#AjZh7^%;;fv*I7f5yF~4ej)6 zi?1=L20V0;-7i6|19H=GZ#mLku0XXFeL(#^1%pQZL{p#IInQsL&I6tFVX4zh9u+N4RXz?Vu+T-OuM%Dc>O) zF0%6?@W+53K)(pT4Tvba+Ceh2WY2&2#Y z**piGJU0+k5wVF(`isC%?d5SJBrei31$b)j2Habsgg?UfGD6cRrom%)ZX!OX$@mR^ z@|TI=7yh@R%e;RH^fb_C>U49O8gR1X2`166Eg?mdH z?1McVk8*wSh~zUMzr|0U{O>&A>wq7GdtvWlWsdNFNjKI@`nCbT4s!nE`T+1`zd!#o zz?1z(zoGu!4m{aUbKjDq_pe-AmZ|s;Qj621iTY?0R198+kr>}zORl&jKRGd_!QvJfkBphF)mnRr-$07hek~gjY$tp zfzQw)W_Mh*986#WUq*Suqiz>iaa{_O3ow97llSajj#a=J3BYnN$-`A-wAna z&Gah)cXt851NfQr25^G{#)`Rs^>274}7F+e-r*m;KPB(){^H}7G@XW-vHhU zJZ)9gMffAYYXS6F;K0;AV>^g{DDc!ifB#MZg4&1arC-$UY~b60w-Xkzq8`bfF%FhV zx^X7cwX;mhV++ppB41?wO_JZ( zpTxgi@*C|S{G-6r`1 zNqWu%Ukvo0PJ9?&F}fmGJQJwCl3sy(%ll$neCwHcuF^$wp4xE{_^bTdkq!Jd;7fp? zPXU+Lz%H>ZBQ(bt+k#R|fr1-E>7sf*g}!w-!^5=KFT(#s^#gD0FT(f7#3=#Z*uUI< z;PZjUR$2CA*L*5l(v9Ot{yG}?C6K!c_m(4m{%VYk^Zor*#OJ#pzXS41sa_HP$nQ9w zB7W!oA9{@IKKW+?@JoQdA+Ue?t-V2)p2$BpLEjFX4IAsB`nLn$9030)@HYg&zXW^} z@EBh9PwHLL^C|FK0`UI?d>!z{ai)3P9|39|@PW<&s{Q^J5wq~|=~$^LxY z`}=La(!<%8@VhI)-v)jhEwTOB)w2C}0e=X1TE5gp`k$2izjYlw0)Fj@?(^LOhd$6baqsWP1}AoQ^7{eki=vM&SpW6+-^ z@firt=2Dqr+X*T9r3`#_$denA&*ii;(oS4{wf4O%TUoC4(xV)Ka&xf-(}4|KVVEv56!23djs{A?C##5M}W@<-WX@e zJ_`;=mH;2?-)MYGq!`; z{SxpUz;}!Pz_^DcvQ0pA3CF)2peyxI&ey($PR*j5WX^~zvpXv}53 zoS`Z8z2}6cRdZJAm!@!hbVJWB=)o~;mkT3$x|V{u*za4DmWkGs*g8yFbr>ETztMD= z812rWekO}4*lLo4-x)N>6lx9rqsi27zNVeu=XR5#;F%=E+dp)Y!a#pt4Q?4@P0{Fc zI+O=!<1}qtBpxfA8hNWpo89kfleXjnSOr>tGPb{Ur8ab;rk!nFpe=}Ed|&F+Gpz|) z0_mVSP7NNf*AX<{WY;P*tzzQUX47_4J?y;AJaWHTd&V66s@e3s8D6E^&i0+@lRe$k zKg#Mf#n^F>5T36U23MKrPx3NO|Q zw%WR0TaUTVwpxNu)$1evk(xHrIzgKt`eTrmgR1-d)2uCh0kz(34*tQc-DfW1aq8Ch zByZ>oX8Je3#l)ns#&8Lhdf6qaYjn6q5)_^OW-?u>e7Rrw2Xvp2ZsNts$4`Irn6AD8 zXgkkH<2$KF%UCSRe8vaL&Rg=C&N&?J)Ewru9pzn;PH~1VMgPYyot0ExXHFxaskyf! zLX=f5F)&z^Rj%`aw2#+h$YE;nh2idU>1V#p`HWX{FG^NK^PaBW0+1W=wPkD?LxnFH zBg)EdyX@Ey=JM75OQ&eh4Wk8rrz~3}UxzGTHcHSX`acd1%KrDS=yN%)MT9%L*!1+Se3U*OXRP*i$CPOpLKd;ddAntL*U!NvWx+cz#h? z*_!f623*Q`t>6u;|6IS7XMsgame$NOSk;Vs^PzGRf5aSgT1ZgeJM)3UAGu$PHw)se z_626Md2mp$w}))l~L;Wtp>M_FLXaV~_cB67sNcxxq=pK4Jy zQeIV*pP8}&WFga=wP+^6OcrRiZ}ApRwwO(Xuxg)bMUn?TR$2o7B%r;W(d^ zW*daa%@&;D6VPl)z;X?fjJyjJHr~iv32Y-?req(lZ29$yG}$L0NsoZ^3Q3*SO^TkF z$)p+Gq>w#mr(o?d&FUsK3}`0J?j|)Eq{SpPubb3zMau0abqPo}lhopFQuip*(r!`* zKsrKFF4J`wN9i;FRM?dQ%RUo13bQ>IFH@z#?LtQP#_&hJt!NueR^4F)&1S_Sn~WEd zSlurrX^J8>2@+K#No642Mp8HVwMWu-DEb|Kjgs{DK_7{{!SqMb2KMmVNk19EOp-GN zT+I2n;AHy)a$cf1pXpJjW_wyOz0{*R%|?GhaxPw`H+s}0ty`fuKkiYTOi_X5(-l2BpggY{Yrvz0O+t6SyAGPp zI_0L7;?`nH?tcy~oc$|kGWD;=ySe`jcn|9TAl@zgpT>Kz7Hs(^cG?zmmATh1&?48v zTC?@JtEt56;Tl!q^>D2yg}g`%wu6vv#f^EL`Ar~LOp@9aX}uu53%VeQ_3%Qeh#z%r zA;Wn+tTy+dd$}GyK-L9X4@c6-^Lj|!UDv~HWSUwJMM18IR0z3|$Pwd1)p~d*%2op< zOHqDi$_`ydUk{m?EYNHhfO!jESPuzdeVCNnZdKS|fqjCpPbtMA0&7t7jv|E%5?3l} zI0}+n54i@G5{q7Bm?RA`ND0y;kmP#kFEv|{Ms<^-KXT7?jq_Qk*)}Qc89o8ccDqtD z$;kVZ!p0kU-vw5#hdyg$^Au^aPas5)PQk`eu800olN4!2H>qrp!H8Y?TVD!t**Tw$@S1*>Rm-z+D(c!#K!ed_>3LfOvcLfkbNfdY+%)TsQZhE zkdYe{4eO!a6d6752TiVrY#G%dN$)CBldy~`k|Z0>SLJ%xwLOwPRnhP8Ym}s~2Hm(G zvc>yJKdECT$@zrhlW!V z>tO(OlJhj|>RG2;4+H4bY)ciBTn_`N!+ZjhTn_{G{hNv&Y-Tzu(YsZ%*>D~q*TaDF z(-b`{uzU^Zay<+vf3Kns3M~IV=yE*_C?AGU&h$}%!U6u$Ux$q)4|3 z(ge^2NvvtNOGQsoy_Usrd|uOTF!!N*xu)Gm)^%Oeth~pgNN+l7#U78iyRK=U0;8{K zq9E5aDuj5695EJ0N@Tg|r|(d<8YnXr;&9)NEoAJV$MhL5!yJfq= z1`BL&#{NYq4iQ*`nzt1xT#&d@QN#Bj$u*5@U@5V1(XSeqG{hh!NYNn4HO*ftOOZx( zlUkt^j`LZl*)CPsGkgM??KY)ml9Bf>3L9_aJp`;=(|p#*<|)!-pFoHpMGVr{G=HgR zMViq~>THnYn&vOHLXl>7ld1Kw<%I?H>oEN*k>Z0z^XM(_ZJaQBk4yZOv9R{JB*CAe*{ggX>1wQAxVc6sYzHy6-km6=frYN z>)IYkpRDM2_%%w>D?vA|X>4%>=_hr}Bsm{boN`TL`vY?Rq&Vf87C@(FI|~Qc#x*T~ zI?YxOCgYkGK$EoYMa3!Cv;gWPXMcR_z__Lb(5czZQA~183!o132~2WL3)uIsD|)b* z>8wQWR?TJ|rmtxM<)#PB!wI8Nh9x;p3??fr&93Sdpi8|khs*|V^M&*#2ZBosk zB`DD{)bA$JVU!(IrbycjB-Szb5|CaQ38}lK1RF5u_dq{{SHC~f*^$XwP8AM*0+<&G z`=G3Ja2raW6K1C}_tJLKG;}rYAEWZq z+%+NBBKZgjzD7gu?Z)l#@gSw2{t`HbhE9;I&-z$3?NrO#;0cdhHf$BvI?Xh|JO(FN zB_``9++kc=B}yS*_)woo)Hj40&RqRW5?78Gr`dC$mO3{w%ybk?MiusYMH_9Tv98{% zYnEg`4#^M~>FaX~n!}072upvmIJ7Wm$6AEr2_>t6a*qOfLKpP2K#w8xM9WP+-J^y^37-y)v&ep+F406cZm^iS8$%8O zCq~0|9|YP+&n8O+rEpYf$UP*Z57e0FSK|9j=t#3R!m8X9LF`8SNxTJVLonYH25 zFpWYJ%_i$bBsrFgjj|ZB(TBUrh!YkJpGvY#N>-@4Uhy@OtbGnxT5%J4tNHgph-yNZ zHtGt{ULq9_Dj8zY>~8=!j2iZsS#;3tjGhG4YC`Wei(VG!3xVQpc*;!OV6qZg^n?8) z&_+s1j(S>wWCQB-g|-c4Z(#@XQeVb7zM;c%YtgTcXP zz%5J>$-VS`AI}C_UIx!uBTZTaPISjrVYtRU2GPEjf2M%n?3l3cOijBL%bIzr78K6A zi!|%i6ga|p0#HfNVY<}&hOM!o_h<#Xo62F?zJJlDrLG%`u#apq+{ z8$^0B)S*ZPR^13eiYNq$GCXs!u3u8FP?S==5=nU&6w2?+peGugk! zkYtf$nb-KFpX{PS>Y1e&FZAgN$atAztm{dm7O`LPZ0<>!7V$H9C<`-R(UTr&*;IHQ zGhW@3GRb(cV%*k~MlIqmis#0jlxcm4BKNX**pFuFx|cQaUiN8B0nvDXVoEeJ{&u$O2@L(ZaW}mnDSt zLQ-xUtFXZWTgTW;V7bZ=fiDcCjK& z_6bPR%^=D1S%0Y~6lq2`sW(89ds%;}4n>;XO{(7{eJ|@THC~Z&yGhLiN$zF+rIstw z(r!|hfMndu3ZL1bu=0GCeJ1iXVAWn$_ZKnWBF!sKb1U z*Y~mk`+k|C2b-DBO7w2kY}bM=&u0V5Kd0znf#r{bF88tlL#X+U@ub)R1pOra^1S3{o9704AM1 zL(_&Fj`#r#1E%BlC@r{57fca@fgOM^M-BPWk79Fxl20;b6Rk=ib4WA4kUNG;G`p*rwv8%K2$N{E+A`H6LMa!G2_5< zS`JDvxErxRJMA2GpKCp>P~GQ+hm*vJMb=%{K|mDFL#S9_ zUm~m)mR5={rIW7NVcEDPw;nMk!U4wjh;v2djnIcDlABIC!mpsV=7 z>X=K!kLwWsWc&!irZVJ@)FWNuM>H&x@#AhXh&goAEo8{PDukC0OcrX`kPC6Y&xEge zJYRs0GN+kF{vAy^AIi-ch^KZWTw`-lm|+qhV9hjH$5N%@Q!*SEi4yNtouU+S1~J&; zAl8Z-bCxL)2xgR|%N6NtL2`gDNTL!PN0Qo*Phf^-`5Jcq0He&)O|}mpX`Y4GToVzk z8DK+Ic@jHcV6zyz1z0vJy-B1u}bRPOulHMEBYS<+h+ z{Q*Ox4D>V3lRN)Ei#D+TiUX|_@4 z%T2vZn0vPFF2(t(s55{%*^aR;sq^h$vF0otGx!7|*z(o_#0gWPdD6FtAt{JwCWl!I(xZwg#cc1D zi64gIWtwIt8-lFgLtM-Xd%dEiOWH3wO&lj=n63RN-t@i!Z>CID;scABq7)KI47M+! ziUN{pmU#dWEG9{_W=fJ%kcN_*v6QG}wp2v+Yqq<=O;OM^$4m$|SF>ePTqJCcz>=Yw z?LJ^ysnR@wC0j#;nqa3SEfplLRFDcl;xmio1}PEh_9)T{gOnik&k`}pbU`<%az(1> zCe;cO*H!J4(ros#C3dY(K(lQCmd`9MGV;Ezup5oM(X-{5#brKT8R{-mq(+~BB(;OY zXBJJ}q*Ajb>G$2Ft^?B@-;HjbvtfX}M&sl;lN^(M4c6Qvqa3b~C@ zXRidqddZ-tiCWnDQcZgSx`xMC5<>CE>9J8WR|EwI7i@ysh?&+H+GR~aLF2C^O~+lI z-)+OsM{#4J8~*fQmQ};%4i%XqGGjj-ZqmL4C1REq(T-_Nhw%|-_lif~eGRn6XQ-6R zML6}tSFWZPS&HoL=3BvPP7~SP6v%OQ_e*m3>@NNH5YV$bQBv6*l|p6`gY5{S9fcKS zcR4^<4WwX%J|>+lNDFl-J-cJ>7MP*&r&ubx8xBb;+Jo$lh*lR@m7=io1-6K>3sfx& z1=gq1R;ozn2of8>wb?d;#2MEzgOmtf*DF$iK}wJw07+(dY!}xhNc$D3w42o1N@2OL zE_9s2uJ#FNHuFughFT-<0EJy|58<`Cm`e65|Cte=Py;RNDbYj z>Otbqb7XcWM&xdVmDwGSNaR6aRd%P3hKLQ3-zgfhJAF80+!%hdp53u!REH$ZQlvYD zWmJ(QRe{8x>f9?xel^-|RrCi8jUxS0{;#0ZNvBz6cPw8)`gJDB8NOX|%IuEq56GFP zIAwMhK&NKgrkG@Q7eJk6dlO9jk&Vpm0%(%f4ZcNk%Iq$HI?0)@IAwMhK&NKALovzh zE`U1C_8FMyTRX_^y84o=DH73!=|>EGZ;0P%pv&wopnSQa9}Otqhd%OE*&X7Lp52|6 zf^f;%9dS@pq3mwnb$;1h7>zPd82frfQ`y}hou+4ZQ9${!J5jq-Pb$DM-n>l%CzOBC=nzeF1KYg2?U&VI_01{{x1xIRZQkNO55mE3`MQZd3$SBwhlFaV(8YJl{Mf!a= zsrNuKW_Mylg0GiYnceY-M8*KipZ6fU(?>(hi^xJnLw2VRhnzEi0FA%9ctBLoPAXEk zRz>=&AhC}M(lLHKw#o+7%46}!EB>j09Xt)^`ZLrf1dw3*&yIM77)Bt;J~QRgH@4>M7>Bt?%f zQHLZ&kCAd?rQA4{i;GP>2JyJqq@Nii_isiiA#DtU^kfFpvlz@+${?ehLFOe4W?sW! z)}0KTk1@z z4C?nV*z^*E&8OT!$}XG0;PP|^TXGmQoX_BjDh7?0GPv?a23OtB;OeItG=0e6+8-JG ze!!ii^MO%%*6D zL8jL)pt8ku7MFXO7BTE?YG!CPl`sr3ZDMFMJpmY(y8LAZh3_yZ{)WK{3#M^g>dMm? zlteKobuhSq0!Lixs`D9?ZDLT~%%I{429>WcsQR42>Yo`@Q&@;gtvQQP}~{F@eFQGa1w`VX)}}2AelBxa?{Mm*2r) z%VP{0-ePdYR}30^?I4|7BN<#hnnBZK2G=ZRaBT&H-B&Q!b1#Fx9ANO|y9}N>P9StX zebX~8bV2wkfN4{r{zzczGzQZmXkt%G%i~gdK7;9N8O*qfLB`z-GM`{D^K}NZK4akg z0U+2ie?L|UbDB6eaL+)>PoD}UIlG@5Ja(UEI5!X_b#6eVkUhj;oA`u09LO>~1BBH; zDpsVk1?hQRNCd-QVypEV+5o~cM1eF8Eq-T;z3H}IEwP>~wCNqr2G z@!UX+$cVp4tUNd15s6$5tU5Q)M?>U_k@qVa&JFb8ka^@kK$D*ev1L?;Bu#!&lI|3i zQALt;DM<3%z}FtSlk}Gr{Q*Ox4D=ySbv-v=i$5X#I+N6Nk>Zr+25f&o&JPu*JU0lS zQ?pIkD=U`g1_9J*wwu9ZJU0lSNm}=d;*{qG0n|y(<@=;gd2SFuC!RNJ`^+LxxvqmBTlGKh2|ojiE{%L zRp{Kn^`PImK|PH!PZ;~Xil)vDw(2zf++aIUzHpqG|FHHR@KF`(`}mnXIh)-CNCF`c2w{@|k(LCc1PHJJ zq=wya1wxS;0z|1H6ayjw6zM1`R>a;wv3EhRfW3FU*uZ+ldawQeJnzie-2|@p_xXJP z=$_2m-+AYqa?YNaof#vgNr`(S&ke*cv873aUDCW0q*j9@wyL7Gtc1s0?9!-!mGFzJ zW<@M-x4Vqp+F0HNz?$a@Y#B_~Kt1}XNrfo_qT zT&#I+AT84PTVUPi29eg#J+N``9z(-(gGh6j-gyyd=DC4*CP}Iv4jgewFKEvsM>Q$` z-pF%}D_3zAv(M5M4m)Wt503RnrRx@s0{Ed8<);$Aj(&yMBo z39R|LB%;^!>PnYX8x=65t3Wc#p88TRx}^0dNU2xqE_-x~1YN9I_DG8~UInbX?1{97 z>F|eK8kRkg<}e*9<<-ctM?9kqLmKOnuGgN?kRe?Kl3Dgd>%)?vA9LxuV=5IxKlQb` z%O3G~JM~AHjHc}_r&;!h|0m`A(d9JDo|EXb5=OmVciD3ibymWiV2WM#oJ5oHF69lw zX_h@FQD-=-T~4#?If+gy;Wd}ZEPGC(&Pq7-&B(GR8vB@m>l~Nk@ZV;j-s}gY}j@-Pp=hX9fOrY3{P8 zUxXG}_KXB7y6n-AyX+z4{|6Zo20v+5AVWN5K=@)vYhBV%O*$hY6AA@9;Jz_zm^iY@av?0xm zk0e-)bUVc*;8Mt!X;gDg48aMVwXL-MUJ^xv+R);X`FvJy6lOxhVFrl z&vj{7_C%V)^v;(-Gs_eSU=()Zfg!q#Zhor&-=V@iO!u_`-fSz;*)R%x?kx6Nrnx0{$;e z#z3bF5^5J(73RRTNcHg?&8Q7Yv~M^K;~G& zVwZ6984*Hf*6?OSumaryqBB@o_o{OsZR#SP1opeM{joIhC@}npk$W?iMmtu{7oc&o zLe}T5eTfZ2VCB?&WQa|%8Jc1Ci%=l*W6L`88#t2V`FgDDh?Ug(EX#WQE1-`Baz8a3 zoji@o$g!FVliGlz=TUHc5g3d=yKX|Ud#sMYOD?)!tYBdLG3<``7r2LbCW}64^rYRW z!~L}QRiO3@!%^y46=U%(aO@?=mw{*SC+Axf$H(djjQZN3r^gBg-Uqspb(~Yjkp)2g zM)cx3XbZk=p?@puD7h4_4K=bwatnIProB_x2^UC;S zUF)_2g{+)6T>O2pc)xDCncv~;L>I3V)#~|7boX6z7IO9xC z(;qDBI()KzkJWAkZUgSqYk*I*zZvJYy^Dyy`tMKeJAEYRgg!`8x19q(4ru+0VA zT(TX_c?fLbpHK|g9?22S5||9!zwlOBR*w^`1dh72p(m&g%>UW4e#Iy2^cXoSVEx;m zC&q|aflWY%eg$`V9qzRM81z|nxUU8Jj1R$GV{`L_?h#g?<1Yri+TMV6apQMC(8H+v zLY(U$eMdLU>A(s8dKZ5wyGG7uz%Tj@{P!8W6<7iAu#F(RZAZJApZ!TUa-iGqhT-QE z7({8{YnLHDuD%A{lOOuSXlQu?Lv$PnRQ-vqUHEC{teW~7T;viN2T3x+fulOC*>T`l=5k0b2Wo&zVFz07@P$b2j}^!U>LH@H zINwbqngg5Gmye{dl74K1)hv72*EvsvZ;BVZSGlTFF&bG(1-WLA(D6e0HeP* zZB*dnlSeCMB9Lzrxrfy-$g_dG8J~fB-R(zIgd+V*II8T2 zVr3N%z*5uK{?lh!SD>8$GXn~n`mu5$>~FFIIU3nlnaI|JR)f6A>L&Flc0St=|U!kCe%$Oz{es5vlyT zQVpD&a8nmsBy1+1H-GI-K8dqIStU3WATF|fu z8JHn++Ox~5jAMXSw}JG62#=rQa={z@yZQy`xp95ZaAlo7LRrI>d&o3c`yYWuKZptd z;vt_y)Tm)AJawx;e3!Pdb?HB~zt-OuHdNW{5@od*2_5Yf^%wF-85toL{uVHUG^~TB z7p9<>V*~iGjvB57+=6f?6|sCzI~b%ki6ZxrPJ$KG%vjcqa&<^qJ;IReQKx1uq-)kg zYBto$rinftZfuBZb}NTn`i)RWHS7;1I~jgQbghJ*K>Z7!VM_F$D5j%MB}n0dppJ_6 z?H%}4QHnMijuu{p>I@mq`bb8+M4w;71%1m1>Av+L1ZIw6Zj!h7yT)$cI*(b!yH`D; zyj;iBXq-iGK0d0HlV~wd?&YMaL1bum)LfN17|yKVaU(UVKM094!$^pyGc6?1L5^GCYzL%%>5|rvXGUs|E!5*U~{-iJwhx zJpox&LUJ+Bt(AGIc=D188vkn*lQ*%9v2trD&PMjpGBuK|T{n{9;`08t_(UP9*r zER_-op)I5mH*!uc)`@E5hY*dA3pYmaL#348OAaaV650o_lqLInjQDbfM|vV66xSv7 zcOa}(FCdkggsTTFdPgy!7E`?4*lSV>`s1k>J}ox#Yz%)In$*fz1;j%{Zt=6uanO)ey>%=ja8|@o4zPY+tWi$^8{_EWIdvRuJGYLb zF9M8lv}#@*N7LX#jH5KoqYJQvSwQD*iHuxHdF_$B3*q{$RuWGd;1Zz4?4)(L z4d_u~#y?*P1-?}bz*{Ic&IZ6AO#pzGF0+arT3iuFKD~ZnorjRR`G#y2{ zmN_8(9Q@&-44LKH0v+>j<;4pFR*Pm8`hA833;l(~=s+Pj!>zH8_I z=oeR&c>&dWn_PiOd!hmliU8MlroFhfGwt;d1ay083*t&l zdmRIP+hVi{+Dm9;Gwsz3m5OaIdKa@&w(NF^7+^Z!k`>nvSLLkov}VEi9ZyAuV4dJE zse37#0}ZEh@LT;J!svV%H@Y+UtD7_She8e^ficy0G1K4-l1P=%vu0f60udD zny9hY0T}xM5SKY>>;nMaBz32way~_2Ktlkx!HwngAdVe<=mwy+d&VS#)RW|QomKQE zZb*CF)=vjwohK{q5@cSov)nG@X#vYF2KGE#d9ttCg~!fN;-tn|t$zgItjE)|3on6k z4Q@4{|5D-tH-P0C6r79fD}m6gnx^?LarwD3#|k{>@?RFqFSOP_fadTlSuvOM7eJm8 zJZ6+NAe)@uGjf4mS_c1P-nhw?fhlOp^nP;0(9v%4Fo~^ zCpxF&jZ27DMD&e06Er^ebsEM=yB2WyS=JlVR^WHc-P<}~w%%udi`-YT_1HHEDf;in z@gfJPQX8FvJU7KpycNjmsI2=tolLIzzLU!lZv}RCR#ulh$i1u|p~^T%Cb9r zg8AR)+~~S?+gn50Nj>8#<(+_j?|f z_)y$0G|m5v%P$QS7~}Fk8_O@W)(b&%UT|FqECYBsQLmZj=Lcyq=X#)ypk~hdE@#f; zK)pxKPh3>sV}N}4;pE$NURO)kBgb-+q!;o){1y8-t=;?>Y4BE{4^WaC6HRJ}4}r6R zmaLd=Gk_*&fgM0UfR9sYABsV@?~X@?J>W~D6O!RY)2QNw&I6#VK!={DJ=@lAPvO)} z88-#lT1k6rJvn;|l$F*MMpip2@#tfgbu$o=G%!nByCFJ$D~<%?c*2?<=xS7|40Ne_ zptB2VFvN44&__tqoV2FS=3N*Qawd*1KYlg*Ou*B5SiTHK7TFd!e^FI15bL=Bi=G>yA$Co9$}Z3Kkco(iR>TOFEWQBQR_ zV|}U_8FB*3w}|@F_X1+B=XBC3MXXM#^p`BrB8Qxlxx2{4@%_rd$P8*^&a#NK;w z#=&jKj>(?vK`2iei1JjA)oK)g?B!3G@g2W$nZ4Ns%00>1*SNq8PxI{i0UV=}3Qr*W z2>@RcnCUrX%*1z~03T!2q9wUX$s6|14NlAKLIJxKIVrZU!;mjE6kN_pZLlCfU_ zXoU7~Y>yh7fkJ-*aUPX35(Sy0<1u7;!0i8!uH`HRUZ!<^Gc0&&vU08i{#6RMse_Ma zYdg6f%_^aeUL@%8?~@}>b6AZ(0_5Yep}@to02Cr-xX~g88&3pkE77B3(Fs=p^(4`w zJ$z?c?BWL)fl2)k*fAbI(N@AKfWpL#i{+aJ%vHorG)l>=+ZkaQ1ImNWKUDVf$g}g8 zfDKPGvTrmZ|Xo%G84F+t(V(I8_}_O-{M;J;K1U zH|td7>rQ%z(H!$MhovF>u%z(sXTUXTfk8b>RO4>2Hi}z7)C<@ygP8_(Hsa;EQmjMN#lYPywRS?E_}* zQKb{RtzZj)9gmN*lzm6}G1S?Y#Tn#Zgo-yw8O@?*bYat?|_xjC9ndW+2;Xy8GOc1#QP+V1n8iW zn~~l5Liw%+)gMg@jsITbEe-u(xUOS_HR?x$+D%mY<ONDS<%WE)r$WFS{g4~4|lrttTVozggb^e5x-<-Q051?*|$_Pf)1vt z$Myp(BBaZHg`Bn~y+MR0*-{hE#+V>XMo$=ztdgB@=8swrLG)_h-WRBckS_a=5HTr4 z1od1;J;H>$xa3BBg5g_(si9r7$*Kk+Y-vq#eC=AM-Mkt%AVg$XX}6=yt<&vVne_`F zDYQ#ZdkFZWwupHIHCw^`si$7tsApehe>a61XB|eE;hmWAN zfzv*bn4ow0xnM}-_3`N_fpTpNQgRYKEAWuCmYA;u)7HBRwyi{7HLqpAgY|oZxEe_M zTD4634A5J!+UgW5Y4}_$xPfmKNba#2e>(WaVR2?9c9?_5X}~A0Mx~a}WCLdctf*GQ zy{%x;8u7;}%&6-?C8?>9dL?E+?T;YDP$PA1)enphVcJlwqKw0+CYA*}=TTXkJ}Ets z1P&Co3Ffk$IGf(hh%wb&#-TlQrc>7df;G<@*ToAeZnkwJaLmyZ)RNX5S9NiC>GKqcc!|)li%w+%le#r zv($c1+%{D3r*(ivs(jA{NN+?TceZ-M6L%#jyp_ofslZ75wKt-?NQO9%?=eQ>04v^V z8V0AFMj+lphF!|ze}?#+eE`qi1k{ZxmOtkL;PQ}rxwpA^;cs0;+(C@0)NQryL+}L` z3=9JJDN#qvAS)g`Pu9qZtGNSJ;A`-B=}3l$r>7Wgf%RL^$xdizitm@@b~hq#O0{Ne(}PUz0IU?n)xcjsaW2XYd-P-^oPjH_km4FNcZ}zVxFYCi zS7ScQGYfX}uZtBz{K_EquF+^Am3z_DA^5uulDT)Pq`8QiwA0R{yWNJlG08!-Ucg|I zdkMq_ppjJW$_zi6u?U~sTHg(HIb$$@vx!)35NiNDLc|(_I1E5B%hno15`d9JoM#Zz z09;JO`3A8Qz*|JDGl-)AIAi9n_uWCWDXH*>??&ftxCgKx{ST7D+o)YFmG$z;JHmOZ zAoKsw5rpr*bcDmyAswOj-*$xW$R{1)a(Elt5fW=bnXL}h?Fi3ce6G_GhV4N|2;qVS zHhV%KcaF+FI}t0{xsXTGWIu%-d^#9%=d0xGV`yLj7O3Xa$nWd>IAo_yjTEh%W(`%e zFOeBH%Z>0Vh1-{+CUb5}QqjI7c;S!sCE{ZGl7N9PlkqmnW_aZGC6OFQ);fKu4ZdSC zeQ6Si%BRIAHo>eK+n1u^fs0a=+m~WRo@%P<_ND1Gmh)SheosdFl2%^OT-EJM!WpPY z$8CB;xID%)M_du~N&3=t81vYd;%-7Ok*-mq(6O$8Y{y%1Y3jUG#HysH+y&?-e0(!D zpfdh{uZBl5^OyBO9DL(b_=e6{iXxX&zOY$FJ_ z;DYiCB)PC-%H}ivG7N{l46Z^ZqcVj}&rDNTWp0HZP3Kx^7g)l{gFX!k@I(re|o zp74L1KO?Opk2dV(NF_xSOd~!kymCXlcj9UT*%VFOM#Ge`UKU4ev7yZwS@juh}pXob2>c0kJ{Ws*qMN$8g zU?So_^Yg#^AFAU&p?dxcL*i9%&cuHWa(G-?R>c3bEGz9U7`&wge!w6rPIBovEXvZd zqIF5j(scpu=}27+5K|YIoX9!e}oCk&TlZa#mLZA}9h`{sVw@Ucd zyWMD>DDWFm&2QDy{I=F?*^L4i?o)6{;*U*^gykkFR>$706s(3ZLaO47nL$8&N?+XC z9`z5D&&8*>4Kbs(qWBZKN^utf9|!m&sUdlSsg+Dzv*x~+8RC=#sPBPKvsNNl`M2X8`KEyNu_1INKK zM74b{GSlfH$Z_7sfUDZRq-MQ>0&gVRzM+DN{H~Ep$^tt2I$7dg>S|e+;s&7Y=Xf;W ze2&tIV!S8)8!>&C>p1OktEk%M+Ox;US=KMK+1|Eh&vStewwk@h1v=WE*_XLMC)=LA z#|1juakCG&K%VVbaO)A?2)Avg68CJ-cfyVn=ACfcQf($%PVCE)CPn~|LTxbnqu^_jjHNWP4leeh?nDxV)% z{k1_72mC#hxi9@;{NayrXCIDoS?NcBZLkd3mzqGz)tCm1VBcsiSZcJ=2Lii{yzglZ zw65)>uW(5p#gJGu^t(YnM$uz2bomM+{VSLBO$;eUH0x}=r!o77DBVgw&BgvFij|q& zO0NWo+a0t2jFPOtW*2L#C|XMd?gEVq`)vI7xI|ED#-bH?12k^%&c@HA)}!V80vhiS zvbmov8VxJU`4$bNvaeQwi5TRiZLU*WHUX#OA>aQ>yIi9Jmw`nZ<`&K3yM)mWJPEW! z`;J)2z+W!?!Tn!xF|EiHi85NzC^)+r$M)vdde-cbH zRslgvBZr`qE$9*i4l5IURM~y_ZuNP5g6+<+rmM(${l6>X!&R-Qw2q?HmC8DR4-~yq;3^vNH;VXl zRTNnvK39wUu9Uam$aikVLqK1s9OKM6YN-A;TY#%@_PQxz~Cna7&{{&bnrB|_%4F8K%De)5e zgH$Pz5NfauRN}(?9qka;p5Xv-QsO0)53p29T>d5v0@x*h@i1TNor_{(QK%KB;gAoP zuw2Tif~6{6LIgwnLFCXFtbjuN)#LE_WSIakyp1Kn@iOuNLg@HH#D;GtX*Ol}YtP|_ z2}+5VDqa>fM3#m{H>u$d$g-0X{5|RL*92Lr5>PG{=Him;$&!Fl^DF< z8pErWKG^~DO}w;93C|`?Vv7F&Wa_CQu2Vx?N$V1qeIYJPLsH_(DYUZ{OwWQ`iIjK= zEdf|6B@#mCkxE?n0I6IVhA$^hO1y+_0az*}5<(9M6_+qq6d|r3LtBn zAf-&kTP{P1V=2T^xQrlw7cA5^7Z*PLvL7FW+1q&rSCx_2AnqV0_~eWvFV`bh+Eswq z!!uHRY1g{t#toA1L^&hXH)%VVG|*fCKi^ffku`BxYPp_(s zS7?nKz7}0gmHbfy-YY1@C!ry^+)9v7LqoiT^T5CtVD?q#KXH;lFNIP5b9?v z@nLs~^p+n9a;INOn|L_DuTaGSj};nN1?f~EO8C1Dp-h%?a48j#moTYe0Z9n+c;ygZ zcnOanvy^xVO`w>RNC;JuN?dq9sbc6H;-tj)0YjSzN{P=Ct9S{^ubSF!_=7X7+ zDqg|@k`QK1LS#<*0GAuCx2#hRj4VM+y(;NjU>+gn;K+ON$MMLcn;$y>^JEf#!sAI2 zpAyLzP)wa5*mqexLyDiXI7x~>vp89J<8DB)SkyOWae(N}VsW7G7O;4l6#4RQ>iJUK z%hXt!#Kym#$_kRUU20hmv)ELCcTQwdpF~T zFxbF(6@TB(`z~z_Sm{dM_g2~ll)1Yt@87<(9d7wQ$!RyZUUI{yr2|Lm46H8eX84hTW1((F_h@ThUwSpZ5dhZ}KfYIb)3 zV+nZG?Cc@{;;auZp$u|?2C6!{1i(bHHB!s6rvhNMA}XUVC*}_RTKPLG8-E!v#93Te9zSflg{~_M-qe zUghPf2eS_X5J&UX{_Mj5)>CyC^`sRVg;J{yK!w;GlIuL?Hh)dDd6gAf3a;fFfzP{C zSS}^Y+9*q^Rr4`Wo&5G);PgMn3k~`Ypk#&a$93cvU~uAAkYNS0pyoSD{HoJ}9Dd1- zn*R`;Y>W6$g2u&K@hh&Ozi=rbZ_Qui3VE~tiXYB#x{~Vu+`W*EA*T0?jJbug720 ziVSn~Z>l~+4WZ|8EfL|iq+J;!{5?pq#{Nw^v{>^!>;2maLCdEGWlI-he5{&FiJ78n zEDnk9CLFs+yg(Br#s*(Vd~>ZP+FfgcM9-=hJ^$t_S&NHsJ=a+Yj^?Y>aQxw5VXac5 zO)+kjnv5dz*SAV7FvVo6W)q5??mel}noCHlKAH2{YRxrd*k7*#hIR{S^J8e@Xw6+j zKY9ZCA)*)S*jHYKuuCfHHs*j(tDYdo)zQRetbjg5^i7h0%uPQpK)*!v!4uGL5xxBc zB_9&~mo!aONzGAWC)k3n+jf4>)v&T69@kIDriZT@43fQ&oOVhIOfFNmg64##Anw=%>^hl#|?h zA0=z#9YDwVR(u2?M9Vep$@jeaqaI%Y`QmDNklISs^HEgQ^d;>r#Z^Mof*BwNk@mjg z>-zO+wW@@~XQE*j_Xt`wJX5>VX5D?+Gpw2k#0=G#NcD6CYo?P{Qr|nR=}gi_X_~k% z!kV^-v@tO>Nk&Z@z{Wfyn!gy;wh(n*EUH#5r;4Ld#d9H0IN~g_bp!Fo>vLa3 zZ1eiuHJ1}TFa{mt-L<5>sBXU|Hm=slTY-*CuDOrYqe`|lMcQ1q$jHY)b9^<=k>wlp zT^$96<#o{FeXYL2pIY@Du3cBKYYJ5#6tPV&)TbK@^kJ=~~Rxx8s3Y#Tu2=3qWTAbI*2?yH}fQs z&swWi0qSmhYKqA1)iW@)S~cgB60Z}@LF6%^64M|CQ>(57s%H!7*YcHY%`Wn!=^mmn zHxkoQ_e{ams@s4nOy%?-TlMsX8LtPG@8P`__b0A*Q}#1Y$i5EGr=+rc8ld<0)$Awn zbtP&d!dA@y)+E)=g1Al=sm^)oQnI)9==6%`*UjBOQTh>A%`>ER^GJeeulrC-ye;Di zFIG)4F==)l^~RuIr0A01fpL}L~^ME1Vgg&5CXB>FCmmT+n1uM_>0yv*j$ z#Ogh!8wkS+=6B7zq#w7Q=*P#D`6e0)-LvVDRr5J%Inhx1d2?!ow&GeM z@i*8tbR2&s<~i-?GbeMD!&l9nr7=;DW{qCoOeKT4K@ys&5Dx<@xGSn&QtBMU zsgQ(&40f#wviyn+7ZRtMAw)c0KMXY?q8G(@A(01Ui9Y{i`i#L^GJFyv7ZonyFTfHv1%F<${@!mEG`%8q3;;@59!qsRcn8MUPSZ!fh|U^s{9- zc7fVvDCmCHdQfpN4!#Ps&mS>{FrJTE%?IG=*~Yn;4)Mm=D$Dwi^tD!~`65)h4=)#h zR>I%J30=g}4qQqF8xATME3 z!vc~J=Ap46Zlwt?AhVQs37tzZDUlG`LMm}#9ztEhtt%n!*9vo*DPgIKmk_}!af3dG zpCXl|Dgh;`?-0jQm>bqNs%>3^h(7KN@KI&=f`CJ9?pXuGt#U^>SdIQSTE)4|K%?UE zt*djpf&S5w&~DkZ2W7jAvaX`66k67+1t_=Wn}FBw4MZ!%)(^9@}$2_>WDF#EJmLI;VmTLL~w0ZoIGyB7eG^9Lt%?L zZdgG>Wj_b&z;R?d9K%+KBap0)a2Q9H%4v#Q)o~l_>{Z(om2sozg^DNpsriaWuw1C* z1fuzh-y2+{c#e=-D1arWyM&nA;Ztkj_hFX)!;)NPK~;%R7qZ0njW?;irv~8m`bnbxt6n&^ zrw_Vadhu`2Ej==Q9<&z^Lan94rt{3p?W#9oVrOtHSg&e8J1_{HH+vCSx2rH|nJZDg zSX~PznsuY|c)J%LyX_^)xgW?r2XVm(hO6-M=4KSw!ZUiK>oXMG)M2+o?Msd5UEsx; zO?OzX6cPIrk@pj*Brn2h(l5^vb3RvGdL5!nOsdNmVT z|G^~h*=H@#8`aB(DNC5H0#osN@SNWUPv<&wLa z4_XPWU#|8Wp~fQg7YM%AFF>rRi1qhI?O&nPXnEf^#P@^4fxXbd(v|9n(UB`U27xee zq)I4O*7YE7R*Q|2&8Wmx>UKaa!2;XKJ%jj*@0syYWy^u|wQdWsc4GUZ7~58OE6x23 zeW<4qJ5|K?f-o6E_lm7%XhsH%whH-r1An6(r(rT;g=+xUB4U7f)?(pJfG^OngfK)S zq2Hk>^e4?piRVj(8X^}bt}V4kK2I$s^I!uL(3rhw6;ja37ObH{jQ;^154Fvn2)v%ov` zZiJMj5KCcs3!xjdqW>Ftc5n25P`!ijiV#@c2w#g@ou)=-j*=sF!i%TT?9@7Dy8#z5 zD`zlbrmMr@LlwcXpB4DNA1tHIo)Tan0Qj-1jvvkM!7UX0IK7@9m{j)G(c2e{Yh%(u znqZ6CZbs-x*b1Ql~JkElzJ^L%k3q0u}V4bXU@jbiu#{R=cWa>R%u zO%S=KVdE2cyIFmXhGJ4NZpDd-_|gDMGUxK79~|PCIhV%)A%e$^IM5LP7~@DW58!zg zHheQ=X9R}J-a$|?cH^VUxMOXjT3~Qk5d!xraO>68V30|F1c#jU>L_3tABUUq@wgGf z3ltFgK!p4a%m6t`#;L99@g^W{xYwQC?nKGVyOxKqBAKa9c{uOli#4D&sX(6~00avk zRrWGuu0^{&B7;hQSYRZm|6+A6XnBU4dEa!?PNgme@)E=ff2eJNq3f7t-iOZ0ELb1S z#+wjTOd6{UqfYy75}9oVHv}B$o>Ixha6ux`Pa=WkOC7;gu<$u7oR=H5a62t*QpXKr zx@fx?2C2B^-5TGve~MGt0XXWdZ%*D&g`cVyimW78(J zzmBod8FH5Z6>A@8gZXQV8jD>VtgiR&yB@Q zJ;t+m0RY_zc|2OQ6JmvG#1U4+c>~0oVuk9~avvMx8Z2dk_=^qa2#hMb8%#r6d9IyE zGdCGCT<{it3qXRf%;8G*Qbn;HY6SYpM~KbP4xT5$c9A+pppyVQR4u6A6OrfPiQhZa z_dxtbL}x*;EvELPCii8}f(I?@cd>p-lCGp!UkD%(dyQ~{xEvjhCNyF@Agan{LF{D_ zd)SDvdWCkfae9k5T{smm=PDdp&RK7Vx)lhzpS9hg`*5eUe-M8y3)O|*ebC$V#MF>L z+$`C!QSCJn%S7T|<*@r~iaE$t$?>O!O&V)Ia2zThw(d~#fyhUFhS~q+d{p$&(qIr8 z-8Id~hu|p=IK2{nZ&tZYba3Q-v#sjx0ysMh9D3<~IZ78QCWX4q!}rR};C8zVZsw+9 zj~VIs2HF<2z!<~Y0M))93U+s-p-INjVTN-%0BZGIqWJDv;bFjX2>GRQPtfZOh^;V+ zN}$NIL-qa(JoK!0_f*^uvv3v)D^cjP5f|D%Vnon#u-)}xJTo3g+i!u9X)c+HWkqq2 z{O0cRo0!hj&U5Q_5Vojf!=gu)70^^FBTGS3t?9+rge_p$boaj=Y+>{(w`06Urj4q= zFvSB>Wh-OMeW^^}l_~Q}Wv0xa5eSIDFVNaVdh1MMTzczz02IqC=S;avy$U$9oKF>D za+}eB`2{B1&qVL;m}W9bPD3qT2T)D~*5D@q{MpefFQJE zM#V>!UH=HOaRPS#fqk!W-hNl_LkAvA z7CvCxU;rKv#9w^Jgb$8U2IJFU{0N!sy237CTu~#W4?yhY0YM13HMj<1S!XEgR*Xrm z*vGmCa?<{_o<~7}*pUH2{B^Cp39;@Fn}&3C#kiV)HMxzq6qgf7#^VEm_>0}L_^2}f zW7w0nnw9?ERNCBjf62a^1FG)3Ls2r_^QOiufOOAmboXoywsa%N6^&U}YIXuS8cD0D`lPj6gkVu9goB_<95ds8jl zw_0cubiXhM0PjPw_ntS*j&m7~eNnmhsCd5JpL?(JO+1XJgWS3+O1BxM^F(Q@#}QPC z$@mzhJJfxE4q|l7&Ghg=hZW-WN<1tH0&tse8iaG_s8MK&86dk&@ij990W!Q8F%h8i z!P^W>o7Fclh6;098as;=cU@f3*C`1{jnaFV?|K3;(GM7eVY$n&+%R-M5Mf|T zoEC&~VDM38|JaB6#Z*|@;SAW7h}|eP!C11&2ZzKkKSomsIUA_2_$Gi< zm$QND@Sg42QZJ(kgDfg)+=Bz>_wxOP|@Y; zxS=){YI_izK~F=~3Q;vLMirlw$dNrE9_$kyP8}@aiN}y2q}|oQToP{l0XjYgb+fv` z=tzJ&)NvZ<5Gtr6be$M(G!@S{#PGW@hVlL%Rq~Wetci@+RZxN(dJuM^18-KzfoQuI zjtB5ALWmrmBwHnr|h>}X$*;h-F|c;b*ikJasaVDJPA0~hl1>g57fFtH3Z_MKDfts!t%DEL5u$sKV`4L za@MM7DkrhQx2maKK>Px<*cI52&KL}jda_Xc3ss2*^m1$zfnzeHU#P|s_}mQk6A652 zfT;w&(j)&CwaYki89Y&C6AoI|e>$-lMxzo8!C_=_;RXP->v>+C&am$XOw)j6&Gs{3 zTKBvllR{yq9K0MGg?oK?07qUMLknQY^P=i~C3sl3-mjqW0}JtOP-{5QyDth2Sy+TZ z3l#d~^3n|#wpws_kOdRFhEHOH#j1L-LweO=>I$ZRom-D7Gzi!d2V(>}bRG6-AT$Er z9sg6=9vCwXQzIHLJ0DD6Ze*-JZlhx*3kf{*s-tTU*q*O%`ZBf6FzL>`25E=3Ft{ch7+Ajw z+j_%`#gNcdxEZC$-4M4@{N3FUH(j80jqyoh{7ER-(4F;}Wa^X2me>x!+zoNNMd4w< zv3EmfLTtBD6uBD$4?XMM{S>@`%feYGY(k;W<+$)B0N)|9VAi(ZufTM4EqG+&9xaDR z;Y$g_gZ4nYXFr2Mej1Lv#*l`)CNQ(vbLiu*0Azi(TxZKx^=A`^Tm%UnoS5fe39-+? z65T;3U`)*tQ!hbqrF5i%_Sy_PQt{~kK3axdtjGBD>|(VJY*|Kd1_ZOe=)D9iG>ewL z3V(WE4)|6SII(UsteC`6ot}qqQtfnQeJN{;M~xj>Ti~|euuc%x$zc6jRtruC?T)M# z`T&sC!tN&fxms8V_+N7|)7-(lxm3PJT(2GmR@M-AvP)c`o;0d4rb6aBP-R82SC#;E z*A&SkgJ42VdtkxCG$7KcHum(pOGYMA`O z)E`Xy>M<4H1jUSY&QSfVaw?cgjy}fZSzx3~MLHQy6}}H{8FW@V>?mAtI%}QQT#(|g z@?|`Wm8E=(biKN&E7pE+R%5McU9iVZ)2tKED2B89jk$qh?rZpQKm6LP+9HOGLucmT zL;&J|rFd}S4s`<%UDzBRIU&&sWx<7#^^m?&C5M90h3EA6sIt>QfRowf_{|@X-QM37 zYLPYp!|M~?dEnhSLs?JNL>c+zHiijWZ`Yl*$CJD_RukZPebMpvGF4!7wGdqvQg5sJ z_v!HAF{ssDwu`>#`oK zx-O5P6d4ow=D^>LiG0TZ>vUsPkBM(X!9!B9H;mOHRxB|uGA8ovg2H0Jv18&&h`nzV zfi6#omV$?#_1=TRb{0NCVHXO0_TYj|W~v|@WWmgi$cR%blyx66;zpI8ud_=sc#{em z&O~slvenPyh~t?!j1;V!RT!*{57Vcx%E&>P5iK>M!$kBkh~l^|>p1$=W_5`XEvD#m zMijTVa$}3<&qg#wM3>isDHXT%KO)I-fSugwZB+XWQ=BmE?yYLpX)cU2 z96WQn@Ol8hvQIXZqmZr8b+{$iq^25KearI-WRF+k#Cy42$nK)$OW}|e{tUDd3SF*N z8KK6&t1{n<=)>VAsO6I)HZDetw2g!jpRj84y_CgfIvxTIY;=Zh8s0UaQgy>uR7xA%dw#NipfyZ zgjx%+Nr+)7Du)|tC}n$(VS9xxp~`&FgH&R!YJ>US)0x;WA9@p znl6BL`YN|HGXcmg&0YGI<|@E)OLLdLrFj*w+|t~wZ)toz%q@+E<(8(GF(kJ%_o&`W z!6Uacdr**Dnom%WTbgt%0p*q^jKYbxH2X&f>9M(`IRckIsDI0VE^L?@k+IBq1%u^A z*6VSoWWCJo$B{a^I)Uwx6LlT0!!!y^f7NHg{ll0bowAbgQDrq?T8xH&O&b0qV^kU* z_X~z~h_GG@){aZ*TO5|g^o>iX^=c#_S^un+^$!*%MoiDPZ$qpp#N1J7!t2n68v(;q zB)b0q(}$8u3yf~MP`Dj{EC}?EB}AuTJOQp_r1(|%g=+kXgxRd#H#(+J$6rQA?w7iw zVN5Whv&8f=hz^vHckdMqdGR;^vQT|bFI4%p?Gr{&7OEfgUJe$1Pi(%w?Y$GQ{swo8 zDi|AtcC5VcQDyJLMgytd6UK&#@KnR5A352GXYo?jfQL7^5iaiB+XPrYV?qUtlpgkb zLF%t1^#UB`FNak%KozSx;S!zzrV@UmByYmWuXpM9!=|jli$=Vw3t|yqr-WwT0TI5Y zBX0`HYd7+CN);8#D=P9Tg+A3mHuZClzZ?x92MNf_b0t4+2To2RIKq+~DNq7G^u~TU zvO|t2;N#j5_mYQXr@6e}$R}U&98I2Ng=AYjZ|dbalWcC6r#-SkUEW8ORbfb8S(KL- zxyqFZvWl~e%uljGU0#}$;S9f$rrI`Y;@FLno3(6|qQ*4C0;3xa?;6&me|qo4K8c>@ zm;iby8@)0v%^KFkZUijCjWfA>B-)J<6E*0~0Id)!i1KH_8Lb}#>XaciuIDJKtt*&u$z&DzUqlq5%{#IX;!pZtRcG5ye^^~l}?YC zGSU0ud=kSD47Gn3|yNvLiKd zSd*Nni0e?BD9Y8s`m`;OreZ_1t819lT#xbZlqOarH=w^gr5Ml-5xa@HVC0s*C7=@2p#a@d^67L}-#RG}+Z>F@c&R^-hg#ANt!ZQprfv ziN@f^Z0{kG4kdf$p_erF2AjL7%gioxEKf5xlW|+yN_A;Mu5pRu5#rvYc7bf4ZWjL( z(RfjMH`CyK>zk(Gei5XpEs_1}+h)ha7*!9A8W3F^aS8~$fXS|fK^@rU;;LW=)t9B@ zY2;z3C@?r808g-xFf;*%cC#{)qV*oOZZ$?r#A|p2FDga=k1AuVZ6`jAYy+--iG2Mj zlq8sNvivFSE`LTvni}G|@BTxNLv*SreI8Vu&fJ)r9vyW?OIJlUj)_Q{&@nT{Mv-n_ zmqjwfF=GmHWL!-DN7Idu@VMg+cqa6Y|H{+7%z;B3qRI4Vj2|tOAU6MGmx!d6A zxz^-{s3+^fE;pqah88!=r$!X&v_*ZUMbpKyrbp@_gBq(=URMO~@z&+R_ogP>WsGAY z&8#azEwdshsR{eb?0P8pQdvJ;@XHsDn*-9;XXROS`Uh0csV}sSy?m~N(78!A4@w$F z!TC+mxR$j5PFM?@Vr^SBKoVn7A4#w3rob;&!m}g`l%BA%lu4DC*bl{Jn0u|WIfJ-i zt#KpZ=F{>tV;yf?^c3CaU~;oo=4rIa96V!m=ONseD;*EES*YnM^IY*L>U`ynPV6Y_z@WqE28I3d0+lFOt}nZ}BaTFUgKCXRFts*DB!>Xn z6oFZFx~}x#@)(bp9op+F=yh}E#FcgFj;3EldNb0m z7EagiowS}r>(|tiqpe*c<>uhEiZi2R40`@`;CJijju_Vqjw$4h-8V$EGB({qq8_`9Txpcso$_-!5`!^?|xMN;zd>Yb1J9j&nhp^Usl*-N{?=x=Ty#HysY!A zd5iPA=XJ{~$j{4*{$Dw-e9qz-75U{II~wZr%IZbd|5?rdT|<7wvT7@TQF+z0>hjt7 z(<|nc&z?K2>a0bqUHObf`TWc(H+JTiPn#pvE}t`P-mLt>yaLqI)a`#Mshn3`wRlnG zl8XPuSUtO{V%m&K=$}zhJ*{#M!u0p|yG9AnR$EZ!4Gi$z;_rD?#iET6tfA7nz^8Z)P`3sO9e;d<9XaE0@$Z%)+;#vQz zp5^oBE~uPSQ6=4O+T0mEy8RD{|3S`2n@G3)Uwm#RTGOiM&#f$jioDqz3N*s< zV1jiMe9GKK3l~=`u9z}=L0)+|MhvTb{=D+VRaNL*l(I2DFTh_s4P8_{V@AbHlrd}} z(v|b)EdqdV02b(8FlFwvdDCW9Q~?=}iGIP985QMo0ANruE}&$1tIu9gL1{l2A>A2@ zr!AgS4NL+alS`+fn~P>otE!kWWkGdSOfBYBEF}#I4OeGY&N4#KIHkI38i%Snk|3k% zS|`ewD^L;CALRyE6``5t&YuSWJ};Ub<8#HF%DI*Erm>z=s^`#IEKE=lM08Pg6}mhy zjOm;?^UICllVT9Ta#W)ZOLfJf>M19*0mLyUFM{eh6;sgEXVK8&a(apt3aULtjG+}7 zW9seLF&2Z+#e#5dQT3cDODf8>KqLVmjH=9D5Uo2NN6ni*!;PP|7j5DcEQ~6uD@{v) z3U-q=0FVG~Yc_^UI=F0tie=>$k|u0FFv7lc927BSEoD$pL>rV#nIag+E9YyZs}mVQ zl?GdmU{9MocXiP z29zdgIe+PtNTh(o$_0Z|b;aB%6;)O9tF*^Vx0y?4fQ%r{oxjBNXZ8!7@|wcthOd#V z0kdiSYV>VDWLP|p&QwmDQ(04CG!o6hJ33MjQ(0YsiB@t=L}zF>W9r8IoK{^Sl|e=o zN!$11AY#SYmfz#<6SjY}l;cTQaVLIu%!xa^%SrMb_S!$K9OuM&?M-Uu zc;8yzTF3sv@qF&6@m~A0mAf6=YhS8Xd+je*R->>pF6dZZd;7V*agIMB$7!^}JI-n7 zEpZCRJAKAGjlI=aO%5#r%I;I`II{sIyy-Mb$P%^@6M%{v0OW+-5MSmbc@H`M-O%X! z*WbXN##m3qIjE7lb=KZvD<>tPi3h(pr{a8|xcgvjJZg2?C1g1%*Eksyos`XSlpnt#=`y%`Rqbo>mHLINz`+EHTthdO?^5!E_MNXRc z2PYAKI|^Lw#Cw16c&Wt$Go_~nr3vf@;#Hh-0txm*%O7?;`{F!KEBip4C#ba7x!`s8 zo!U>KKIsWn2uQVejpKjNlSy@KM0f9~ovxhb3A?=ZjMYx6*Uld2B&~t^*7j$f)sFx3 zINQN7F6a1)9A&rIt?NV!?%q!O1z2c^9B4nmX?T=1+p~f#XTNS2IZb^_d`+B&zEsD* z$7yJvJrn8S_g#SE;?>dcxO+V9o1v<0!fK~4Lg4p~D08yj^4f2$IAq^y7kTijBr2{L zmfd}xb{jh0#7Xha^x!=$-CXX5PaBU6>Ncdi*VFEOBs}Ca zLl&fWdV(1pErLlbYZQAhpIhJ$*&G6{vNA%d!=o#V05vW1f>c zT!)qn?q)~(9q8zo;Cs_)<2_{Gbj~3s!+zJZ6Q$Kim3KYkSmIx2uy3_fSnUj54a`oV zu~ZFOm$FVAjxiZ@Df#rWul6z%%1T|r%kY07yp+tQnW--21Tza<$_Zvxxs+Hl z48}H>@V)jK!OnBi@}hq1av9!$9|f)-Y=ylpWj93IBTurtF-fxDrQQl^TTnB-Mr%4` zUv{Z$F~T%-+ko{x;!?hWJwMtlG5{ZUDW8Ipf-Y!Zaqc*%wZFDLbvhx7GmD&nx4=oC zjbSBW9LB;$!<_*7rk#LZ?OPS?Q0|UL`ye!p!pKpCkt1Tq-TP=C0<}ZJ5+@IHNFfHz z9Pdn|aAd5w``pzWEMBn2dF^}7#c=V0wHk#(P6x03oMpx-_Fs2jr2P^Ua^~o;#%b!E z>0OLrW4sk=Th&4&D&mNB0B-_7vcE&ZuFQacb2Qy+5?>6rURBzd8-CvqP z&fU()@jEFY#YtGKTaTt!xjHvOXPxQH-N$GbDW@k!K~^p}E>gLD=gLU9-@*_VMBVmV zW-OF>&ei%mD&%)tj}&)5qx}{raS6kmY_v<9_bpw^063D1Of8Rt1EY(MJ6k^BQeFfl z-_5ikpcJ^2OHhk=cT%RkpiB8qJTbkTlv0;+jpSdoJC`hS+F;%B&y}Cr*DBLSG_lQP z|5e;-s@)=GmrMB;lwPh|G_lvE+yN8bgj5U(ahR{;$47h5ewU?A?~xwhQcmmvE~QQn zkm$OUEm%IBf4k-Le|z8a~Mg!Kj15cWsQXL3HjE^ek180N%{a9U#x z<@5G&Y<7%}zI-Qpjn{r{`I{K%?R(;eBi}J$BhCD)IE%ly+}GG?;I$u!Ln<6zj#1WY z-w!U3o`p;suf0F62tB9>I!DwxZQgd$`Z~T5RZi>koIqcv#|Y;X*uy$t%1pMhoOSG>_rx!VG@|d=EXy1(XZGG(?xC_BSr= z#>8PK_)^z6jaGRwT=FiLe7|_yT&Eoc-QA3KEhtSA&PQ~M>|dAX!Et+CoG%XnTaA{i z1w7pGp*cWA!E0ZD*6?2F_|DtowSPchy!QBdJH)Vx~I!(qqjTY;^&4sDEdC|VqHVe~BJy@9T$HLTae|nC)Fa_t!t_99+ ztrGGb$DJM6T1Q;!cFFSq8e^QE*@uIA+@-#UuqP%2v7{}6{8HTw*tgsriuO&2U8-9% zYIZj!+CRZAXBU}OW%MaF(a<9a=6SXewYeJ*?Juz^rM7rdDC6!lv_FBi##j|3V6=lX zc}S<0XqGtdmS}@cbq!pGOo$}s2&h@$QnvVGmMTnwRW9Xg7-*DWH!{N|Y1>@dQ=m0V z*eeNg|GAPN&spC~eq?)ZcRIt7X2^^pq{#i}N{T#hAw@pZDRL*~P^8GK9O&;jcN_|) z?=eLJ17cF7L&9*Uop-gT0jn=*;!>Z72azR~e0{ng#|16rmABM;gUen05 z^|DLdg~Tc}wtzq4;{SrS-jEvNO67uj+@&6X&ZY@JU@*hYr8hsC`0h49`x-a#Z}e<) z{Ex?Z?6=PG^j5mI)aCBxvu{H(HBYcp0vMZzJB^E+9+)~((5L<03$??t|E^V;t&{~iUiK%f$Lzn=XSA{<%p zlH%^pvwr{u-UK`aSSIiezG5|6>JUcv@s91w|IEoeikRSTA#I$Kf$UC0mbdqw>a-%R zxpyKET#9waU*B$EFLyG0hwUYYoFu#H!-!WkYPrTqU(0(T&MdP%Nz5XN$Z0`~|LhwP zk=9s@HN-Mf7GrJT;VPHPfufalzv|O?Uk58n|kdV6jqAwulybb(>ip<-4|zXkXhudYn*0F96uI$ z(|v37l9gWVA8ev@SX>_FG`t4gs9I+V)f{mdK9fK-(T@u#>h5xr)ozk||5yS_@(`o+ z2AKA{6v`C16t0jXGNhEclzj+pN`eoIseQ|KIz7GiQ}N$BZJ7^E5i(590hUvWyao2z zzQ)m-9RI&4kcJ;>ygnaZcS9$Zk(%Ax-I!(LQ3U!+c7lDC$G7^hfDp#^LRwqO2?r*X;`}AU6p7@Zm%awUqg8r71zRO8@3pZSRu&`#64lW(GMwqJn zf(||1y?bJQxVw{V&TkD9kY>#6rkFkoX_p6=;6k;Uj}Nn>5@=^kMW)=xb>znN*PFL(EhBryIP zbA(L@QO+fS#NtRcd=e7nCgf5A+0C)}N6Q8X8?vix0!tG9i4sTxOG5tNSM^@~uKM*c z8jS{`wl!71SMR-gbyvN5RrMIO1WL(4{N!Aas#UbIxRDyPDg}|D^DN+cYTnL4miLd9 zRJ{JBl*rMVf&Yt?lqDsU!-GQee-I&cXagU-Zg9)Mm*4orz&o#RU;h&78vpD~*UfIy z!m6AVlJ}_mJ3!sR=9@lxol?vZf*fZVptbDaji1AS_!tJnbDKW3`S~A4U*`<`5t{xB zw+#FodV-g{g_`~!La8~tW#DH3cm*2!P1N28p1N)GGw#({p)&mtC-1LS@}AuMoF}P! z+wx{zVuT`xQLuWXa^ZZW5IKRO)}c4uc#j(5l#)_Tmkd0C+3d4#{8cR89@xC^%;xlu zZocbNo4@6!kOSyrU#sPyXXNUgc$3Ccb!=SzMYJS!AuLGeQ5#8Y|RLKXhJ1b#eN;c3n!rwsd;t{w14@%Yn*Y~se%a@-prc8}=a8uFm^ut$>hRjlFS_m}H*dcA zd$tUG2Xgz?fqxo!VDrs4{3wRjL&)we18;v6ES|Mx;9mwl#j}goZhpb4&zU7{QlONTUiK@65<`4Xw3~9e?8`3@&8Pdc!UTMG0 z82J(~6pQ$QFC~mmVhca;cyN58f)xY!fwu-jDA{85KJbUg8>r?sKLcvFyZ!D}Ox*`a zVRZA2Z&w9=X!EVorZGwS>SL-RKd}iF`RkY?J+UcJk;UeH;GaSNQl;u=t%oX^SuV35 zQ<)CM;Ac)N)!c_rp>BGu43h=FiHdpqz+a(?J{TNa#Cm-Ii%UJY{5TCRU&r9`gbXf! z8XjE47=7R`kocRSm%MM_J#W}Xt@87mx2syRZ9D4sTcFsz(j?u2<-p)uFngfB53|8nqk5cL&`F>~i|VB>cr8Vne77i>@8y|Da-H^ATlo2jtGDPWKL zo@(oEWnMtrrjDD(E@OGIR`qIa$35hh9hWx2UA1BRnCk}Y6&&}$!})ekIVi*lV62+?nZn98FO0pO#&?Z5nku4hm?z}UR zhr&yUyjl(Lxclxz9ttmk2l%ff5=x*g0brU;D1kP@#=(HpcP1C2!b_04IvwC~cQOx! zm%yWVIKboO$vhNZ0+0GkfXAcBJQQ965AR5T$FXD{3J*N2l{A$uw_F%VoNyPKo`;eN zeyZ~AjVwXNkrs>rylffenXY=(dh@hfZ_ay7v~9qhAjoZcmEtLHJ`5z&gk=~b1q5^Gc&9%h+!OYa!^`NRyOj6AK=!aoytlyrpX}VTm$yBu_{^)3lc7 z5~D;|wP@{h=zqO zmQ}7UcQW7A=B`0Nv2wC_x)p>dGha=jmO;8iVD2fF(jwr52^nJ>>aj!G-a3_Xb=aO_ zyO=$UI+GgC7L*P3&Jvj~XPp3oQ*|5ra?>-rXB|3=02%eUg{oWISt@z0*6uoN!|N4_ zH{O#y?61HOZs~c#2$uQg!`afx!zeLXzzr_fT38c$^PLu8LX<4i!z6E#JSxzZ7+F|Z z2_?`*D61(ep#<6pWi@3blt3Gytfs7l5@;jD5-K@!B+y2PbyG5-1lkC(SV|_8KpP=e zNXdi}Xd}e3D49?Kt(7shW}<4;Gp0=zUU58(u<$Y|se*PQuu77=+OSKWjBk_QUtsi} zgf29;XcE^A567aVMM+ZT_0Q%qg;@(plKR#T%a1;DC3%^V$jF*6{qRZ7nSQz0M3EUZ zmKm`Mk{EM0q7D(!>Y(q45{WuQL`#akBT6K)MdYsqdXJ|IjV+qM0-*PJIunH!48e)Q z4&8)gVGy2mV2HE?@aiDUrHXS_&>q!ru+-%g^C~ibVV5VrR{z6Z*L20)9FUzk<60PykSM>V111s2laD{?NPhJd5&SNAh7% zrggH|$j)de`g+D3f4Giw_t2$cq9ooB`wT%jFcdIK%B<27g0zPMeZHemK_Za|)t(S( zYB-cOAcej|xalDrU7tTm8*13nD(b?6EGdCkpuY=K(KpV1J3b;on%;s^5E9OUVMKXk#kK!FZ+Z%09DJ^17# zSz@TmAyARjUZBQIK&jOsERLzS9T;h_upE<`k!Hfs>4S$SOkAn78_=s~(^;NF>m@x> z-yiW9<%F&^#6f>>G55(TH41X73Ck@iN3ArEf>y_R0&H;19+oet6vn?gUPzS|a~^x* zIFV2GFYO6xde{M3s1tii1c$CJ4$9RERKLVqXDfYOJ}=AxgVk&LU_Rxd1~~3P+6)TT zq=cHMS3F=6Y9i86gjz~3l`i83YA`h*x}k)!^7h(tr2@bm4tuEIQ+0c7;y#i`)N96Y zr0HQ#2vtkDQcP7-O5U_g8O06yLjqS7h~#Y zChTt=Q;GAutN+P~Q&5wb>3Qcd-4Q5l8oG)S48ug7MhZ3t zZO6X(0qN2QA=Waky7ul?xG#mc&-GK*lQNdEiX{tiwU^S0}(R_m#C5i4C3z45*F4@ zLY>aIgh6;W34^#w!u)=fhgEm(u;# ztcguzbD6>%^y7gY(!i)@7 zu`~^>sjxO>u-YAg1+Q9CT2PY~LKak72i5i#Pk6azoosXK&BM#pIUKnnYuz^Ob?hd^ zH9oWcZN)QQ3HJcwD(=7y#!ll%gLP`}dfAH(@E|0Egt zoR(WVSZuY)PMbtJTqg+mv>cBWltN$+t--;bxchd?sUbf!LwC^Xg;WQm1z-V*oX+gh z=>=qxtG8m>ZbNd5h^+z6e4W(hN>F%cd1^Xb8jS<_(KNQ zabcr2+llFqA#xtXax;pUf*rjUSXT_Ts1Jj>3zkX;^TJj_v53>b-0F!U)z%w|q^#(L zphNMp4LnprIN*^=g)ZpcPFGCdHK-KTZ1T^g^|rY7_K z>hNH2Hxs*+3ME`NsWCcP6p*xWnnX%LQyGO*f&;sw3H*jYha~e(XUfeFD^?8ZiAS1b zLPyvrF5-%Aoq@5ZW7m%7c*nDmS2evw(Zz2>mu)K%h?G zc#kX>E7bLbA-(gFJ#k8w<`abU&&N-k@F57gnP7G6P)E`BQh`1WJ;o>(^-O8zfEw)M zC~5Bz)YB5p?7T-vW(!KCEhyITF+MPx%_%-O_NGq{+qsQayc(=Y2-(qIJ6;B(-aKJd zXQ&m?R|2BS|6GYs6ELW^$acbzj6yG#kWZ;}yN*L!G=k7!wwVKET;uNp>=CC@z(IE^ zG$o>u?<5kOW)~ESMwg5M*{O!T`hp%sC=$;^Jo-HoIag0E8O-j0;(Wtg6D zG}e*m@HpmlF1=ro8iS<;4`9Rg}zR{w&d-X4s461ji!PT~%}n?d^hdm^v(&Xg+++7+S^^?MC z-i|>SNZ5CYE;AQIPTk+GdHEp|u2|_Y?=^2(9rnjAGqZ*Bnu{!(Zx+4yWr{4E*IZ=T z_FH?Ah4Y$=EE|q%FS2l6bCI#tsYckf7g;#3xyaaLy+R@j=e6(cZEEf-GU^5|Su)eG zwe7W8(~jO1Mcd0}?q&8co#R{kvPxF`Ux5-!j%>}_jlcb{ZbjEM$~8}9hdo|Ob-d2z zcVD3i$Z927^DGH$_g2=Y#deGFN+pptn%6gp2{DFtXfJnS4<)d&GBayMf6wYNd)CPM zNw(tFkSluUHR2jrhXnU&FH_b4*EN$Axr%;33!Na46<3}tPx zb|MPLH4{DcYt+7N z?AI)RJJ0ghF4sH9vvy^XJh5NH;VU_kH7l2{Q~0$jnyyi;S)vl{qq?mT)~F?|F8-^P z{I#9R^qF>weC-mRY@@YaCBI4uu3i?baq0J){xvQCZVS`3>&v>uv}WbW5hW}{)xOvo zby^)`VtdBRU+Zc{bih~dcddR$YzJS#>(b_#x}jj-ZtObOJg0yobX|AUoZ8W1#i{Ml zx4LSJ!tjQ&vx{zp55q2B=*RGOg|@RmRw(1A0|67A;ZW%G+HZho{0-$yctbgx9m5H1 zobtxW{QMr*;SXw{8&JXnB%(GZ6FV~fWsZ)M;2R}peanI>8NqEJ$wKCJIb^D`Y}qgc z?wj)Aj+9`-p@yg|Ljs%XVx2KLxyFr_3^n~Wt1mcN=lCBp#)5jpwA);+eSgu9!31~V~vRyNQEy3Q?? z+G?odw^+TdeKYAatY#A|cC)I;14GmXkTh%yoOSd2HlC1Ojg2>0@yF#2m?!H^{0&tJ z(uu~<8!Th3Hr5+aMzOLM`|XV^qu7Rbwgq3;$rrlxrZ)$(>~$VWI98n#>m4_)!K1S= zg@zOaOnu45S6%2w9y+VlS|XoUn|JFA2&p%Vi$FSxLo67L1J>1PfzibH3alzS%o1^+ z2=lHi?(`KING@f)OjS)?#e)UsUW_yPf;|P{$&jJBigMHadUWZXlmyLmsMn4|NocZH z+Q?FG90}<@G=EWr91VTr?mVu>RP-CDI;2qWJh%1eCT#y}0|_|{u>!~Dc;yp>Z6IOk zLdX*Ce8s^r?!t7whGC{#qx!I}opJo|=6a8QT4{>suyEEyX(}-?XqYn8#3(d(i>AHbwO)$WQFcnjK4a`!Nv|ro!6d7V4|NEK!?{UrU^9Zo$BgW-MqEG ztAHW0E>R4ZYo&Nn0Hjzt$)*UcmnV0m!X=*Z=m6{*9TD~&ofwOB5=qQ*I^l>#M;9Fb z;Cn);!|Xz7P&)GAw+uSr@THH7|2{}3m!rt{;N%HSu*u~NeZi7w2;G=~o2$&Li(H84L7 z0MxdGZeXernzp7g>l;3~G|qez72bhws^sLp;gdrLV|BB^@kX?*U8-#v$TxJ&3#Tnd zX_Eo$8?jpmCkOiNZ>sd5DIq2{*%}J5Ru}BskbM(Cv>$z*i2?!*zzca60=zGe6IFEQn ztNUN+k|T9@FS-`Yr>pM5a;>zNZXu$ph+wbK#=G&jvjm|OB8?Msf-$~XHQjuA=9hwp5ZF7)JbbROGNf%n2cclY9fiWmz9x?*18<)E!xBdS#;fNiC5NTy`idQ zRS&4LO6v{Pwpg=?YG1NhFk!H6TijVNla_Ds3W$oF$K%&jTXm{Tvly$k@MOudmm1Pk z&}+9RaJy1XLD3Z%fA7S5aMKQ0Dq{BcNSqor(aqrP^W-4Lq?~yo_LDo>u63pEofcS*hueP!^?}+q-4Ml?< z1^voliRMuLekyNz$Ot1_dVen4=gz)eHGr#Oz%hI~3@!L2S);lO#$ta+UEilG9bS9i z>!vdEx(;H-&|1cIM*4z3g|QJ6kWvFbUQ(!?Xl2!^BLLWl0%zv6!KUPIQm%)vHey23 zk`PiB>8uYzoX5CwZ$R0{Jnp2GdW%0cqMY0o(dorIovYn+qL^iw@scJO4)1$gm-c)~u#BV76t{ZDFcGY_t-^+k}_{;sKv>sfBXo3KrCzsMY+s zS^dU!2RvoPGeSz6qAU$*!=Emv^A_m=A!UP(7lfwg4$ci_Id8p9qL&fgD(Zb74qUpw4owt^hf6o@oQDj;-}iNmervRQ_cK$dKj zP-`GoXKKl1CzVhusVo=mq!MZ+l{KNAR6?z!az@%tDxp?VIlF8pl~8+`+l~=iZ`Pq| z+tYnUEAms>dhPEmC_KxgR*Iv$3@SrDb@)CWOym!`&oz^T7*?}+r6Q+nYL)WbkX zp!W+MBaifp0Sffeet&3%ha!+3E-a8hL#WcDg;50>LX{pYj4IF&s`OZ4RDp(2rH2Zm z3N(Z&JyIA|py52WbvlvEwxNXLlUoMjZHPyvKuL7Q4a=6?okS!|MhwZ>wc`k9SXcBA z^W>A>U3!;5=B$p#<%kh4pgv_F24Mj@oO$jeCsxVj@7~Y~wniFJLFi}qD8nSRY9ei81R?OeZvqR2 zfiWsJe@VdSWn}*pFr}r`xL7w7Pg~QJN(C^c4_5I`_IQbx8+u6{Po{;YdMcK z9_lqJPMFzj2<4_FnlXN~!rz|gM#0MFYVI(0Qgs1lgPF2Dy+ePtg8QscAg6}*QP%CG zoYVP&f-OSjn&zMr9o^zK zDT(P$g0ZKD$VR*dC4qVe!T->ON&EBun{s(Xt`-ci?a^^hQATG9h94i)0jq++1h$X1>5!U6_xv9^p8 z40Fqi@QbSq)bXt>{@|W0L2XWd@$73oVb@13c6&@CX@nj+Nyq@K@T! zIlS;BD5@PpB!^y@!W&XZ33*g&0*-27c&GwqJzz)HFWMQ_PDVQ;j$6h4l;bYfmhlW5 zaKL8o^ua8Gm7{XG<)9Gg!4hYou}qn+oR+h2vJ6^P4rH}coogaRXXGkC z%TdIHxm?qQx3X}u0d;75!C7ob!WN7Vui-QoDs^0^(pkSG&I8AT>I+HthBkOhwkNFDv)dLX%=>*C7~Q2~&*8 zCB|^+c&YMG6#;c=sYy;_uBn(c`MZS{pvZM_8}-Vm)N6}_^Yvv^Ada`9VJZM6prOl1 zyn?7dX2_uM3RK@K4q~Ru0Ki2%3RrFxE4AgSLvCZK2)BgCTqQBX}>7BGovpCLXJGkkeGS%Bg4v1=%{?f^C=1P;h}qRkccGzPv)MGfTo&Dn$e- zm=ci5k^hPt6@>CEFn6_f@sE)YgID&{DaYOCE;Q=6DaBFy`d$+c36?5#baV@Ns0V+V zOuu!2bNNUSyyZ8$d<>D`<_chg?b*l!1x>5S8Lt379!l6z{(X>4XwxIe*$~9%I zha#g$(74qn%7yA_)2kKHWSSnjYh;nvrmhOk3c2lSgL*%5fu*~H5?U~K1}oy~ih?G+ zAWfTFc+Ftw02)LViZIB~ePE+rDVNmJ$j`Ea>68^KOZi{Lo|H3JZeuUBQ7N_;>S&0I zB|Pj_ogbyH5_!s9D|G}ayQ$NqH+WRfP(7iXVymRw#j0{t8&N)#rADNY0=+Z#i!hwQ z0thDV`uV~NHpa|{elnAWbsBo3`$2&<>~O2vObs&&O{I?F_O@HJ8b+&-r>LelqlvpZ z-NXpeuO>gBbsY)qQWkf%DH5AtH{5=uEpAA zVOOTB5VX@4DkP5!kJF~B?d(?@*D8|LO@qIh8r+TN>c#A9Be+`+&~b+$yiMG7P7&Qf z?iP1&)`KiIn`-^gp)2T_E--ZoZANyBFF@BvZ2n}W&$RIbsgI~+deTosLeobyG9BqB z8lmYU8kv6d6OGXH5sgeY`iVwp`iMrR7yU#dG<`%P(}{kf5t@G5kZs1$S7Wj<=p&t- zCkFkbzB8wO@+5gK&{xhRv*{y$x{mt&WKmaUeF&CpqtIpI&~x{`x)`op5_sZsrQ|2} z{RrQ|Dq_t_V3l!P$z=3h3jL;`&vNKCFYKp%cH`AYzIL7mhV4?i&6hgzVyl%NCX-9* z7`HmGuJ+Avwwbn4wH_+~2^>w=r-ogJRHo{1G<)g5I}FejLl{h`1My3=mqwQ9#nU(y z&ZZ+qKM7-XzRHWr*X(#NHBw_NfsYZ~n(m66S%BsnyN2WtYuV(tavo8-c-mv^f|yZf z>0vCAazjQx*yZX%88lbuD2pBcQJf(?g~w%gIqx>sonA_(c8pCfbLV!5VM-8tun zu>%P_sR0f)6QPxdmKkz(QW9A2BUpu6xeq=a)_VzD^zx{?wzLQGRpbR0JsG=7nQx1j zoRnS-0x3Tgk5%35j_kqT-5 zk;=+y6_E;Q|B=c%YZZ|SY5$SRs%sUI3Tgk5${K7HkqYT58n?b(1dJ!`p*Md ziDmj$A18>_nc*t(D|ujwmS}61eO-C>FJ>oYF654jo*!Fnx4zn_`cG81 z>GvwybT^i(7IIZeWt0l-ppgwD1}>8cC_f`O z>Yk$`>i#s_O{q%9nk>u6Lb=&eXJ*2B3$*>YwTMx&vCe#fz z&E--%Tdh_}<2_;2{aO8>Dg{~ycjGQ&T*Yc9G=Xu#@p+Hw<{a@_u=e;^;*DdCmRqwp zh7v7lN`86>#^WwdLDZY4<$)GF)RWtrTdCsj3eILmtC}W*nYtU@EI|Y|FbNbWcAq}F zwZimKu#J9%A|ga-g3t%+jhFzFSeS)VN-aOX$Q}QErp!EW$5ttry)lU{vMj^sCrB+ws@Mr(ERqcUP?1v zr@p=UsFEuzCAPz4oH7 zNH%CVvWy#qaT5sL)HFFs_seSx{QwnTYpmWus?}>AR~4!-TK@x0M7Tk3fDSkV!$em5 zTSHKsiK(wNXUcC~N)HaBB%y_TX}gvSGi@4EHvvi>i?9x5yo{R(bXTeGIY5W@@4}pN&})? z(Fm@~M0L?q9P_;aI=z5!M>fV*%Q)WX(z&Ic>r&ngkWttx!!)CvJ?vkyml}&{1gF)* z^w{Ie;x)AW%Kqgl*S@~x-XPVWZ@D+})?D9-scw+kGlC7ome+fw-vAA@Uy<|oZG>hj z_f>BQ>ww@v@T=T?rN*&N!1bxv%r+J+SuqQUg=~Q8hl^JanfqCTGSh-b?rrtq8$e>U zHd9$lCR>YmADJ~VoV^;lp#<%5EXIUJ4aJcJY3hxTps_%mDB{**7ON>EO~;*H?e#h^H0s;scGVczTWQ*vEs( zyDUw({|D~asM0`U^pP$|cGXd2d)2-qzcgJKhh{>(}UDi|Exu9Uo=*2pBFYP9$V+vzlV{?%u>C6V)`(yHkdHx57YM@ z&QG{_$7!05cc@>65(Tsg7pGwZ#RQN$VTv#umdy&)9(P=_5(Fc#UJn(Nk2vIxaYl{m z($TTw7Nnv1Iwq};EPKmd7KaiZbW<7rgkePsPY{?x2fm^9wfs!Z&y;$(LK(BPFzoMA z1J1STNL@@X)iJ~MSt{SPDtY-$JS}-jwpG{aWWQbHm{;TOk=5tdT62%B8HdYs&Y3$6 zuZ#?e(f@j8899mPx*4-iVd9&8kXlk{+SPB}{>ysA#T3Vq5m!2BgtUV*@gM?-Hm0#9l zVb9C>U~1IyfMmUe$&R%-dBBGe0%sRgy4S2&f|>h`Q!Xf(gXP-tDW~Pua?N_lYvFOp z-SuU>i3wdiwe|Fo{D?vs$CHG31#|IqYNR2U=K6>TqyzDo-2H4wbZ=~rE1l7AaMSa% z>c;3GRZ>uL>>1kI>l9yR0T@7#v^rJygm>C$@acW{>D^47GZPw!6EI^OK6a>BD=vD? z(fxSo)N7_PgfBOd)Nw_~iW7$P%qk*y*Qg~Oy^2aVdieR$m3{QS^R5K?-t!elXAD0~ ziv0_EuJbX;UGtK(;~q^rD$vD=Hg6FZt&kp_Ut`9G5uUD9TSciM#=`1YPJx%{mHYNE zSfnyx9!ebsWqp7sxS5XKu~3kTPG?Fa2=?AuDr;zZSat|SxY|7Kd#KY*=?Nj68dygl zL(r(0p!Xz2DWmC%g+~$>4Y#B)iZWJ3XMx(jYXs*nQz;~l0rXBR8U>|^@-0diddoXd z6mfpcAb?|N!8g;W(>4j-f^HVe?bdXz1dXVH)w44t$Nz$&9k<=!zMERT?XJ|z^V{i# zSd0nyi_1-UHzkMniVcn8s?Y{ssqQ~L5HKzqu6cM2nl1^U6PMGa?3jA%z15;I*S3;NsvwHEKh87g7@EHLV4HdoRH)13%{2Vg=;QVHj4U*lPQAez_e z+4xu%>vNTXjE-imK~Pz&ZezlIEyd+i+x1SDySLsvS!~Wv^IZwtPSS1wb^72O_Suj~ zz8GdYcX(Wm(5rnmeM5;HX-vT&7n{2@?yHH#v>N4n<%abplM&MVr}yWwq^Vb11azK} z74a(tH@^?MViADmIO{g8Q5jcgmRE3}%+X?H*(>0&d&sg}^UYZ1A(?)XxaOv|tNk~W zY~GwOO2bq#5g*x$T{~F%FpAG>oinHV+g`|fl)-+k?*U=fJ^ROnqTNtDsBt zOcwWt;SjzE)r9IvRJ@1cbxyxm(DmJ$QTLKVi>2wBw%=OcaVyjcmm1aqL5�xM6gS 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

S8_{dKj!cjjjeQ6qOmH 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 TwZ)%1t)Vv_2SVT%jsO1#wCo1M diff --git a/libcdsTest/ms-queue/script.sh b/libcdsTest/ms-queue/script.sh deleted file mode 100755 index 6080cb79..00000000 --- a/libcdsTest/ms-queue/script.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -clang++ -o msqueue2 -Xclang -load -Xclang /scratch/llvm/build/lib/libCDSPass.so intrusive_msqueue_hp.cc -I. -I /scratch/benchmarks/libcds -g -O1 -std=c++11 -L /scratch/new-fuzzer -lmodel -L /scratch/benchmarks/libcds/libcds-llvm/bin -lcds_d -lpthread - -export LD_LIBRARY_PATH=/scratch/benchmarks/libcds/libcds-llvm/bin:/scratch/new-fuzzer/ diff --git a/libcdsTest/ms-queue/test_intrusive_msqueue.h b/libcdsTest/ms-queue/test_intrusive_msqueue.h deleted file mode 100644 index 8890cd36..00000000 --- a/libcdsTest/ms-queue/test_intrusive_msqueue.h +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) 2006-2018 Maxim Khizhinsky -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef CDSUNIT_QUEUE_TEST_INTRUSIVE_MSQUEUE_H -#define CDSUNIT_QUEUE_TEST_INTRUSIVE_MSQUEUE_H - -namespace cds_test { - - class intrusive_msqueue - { - public: - template - struct base_hook_item : public Base - { - int nVal; - int nDisposeCount; - - base_hook_item() - : nDisposeCount( 0 ) - {} - - base_hook_item( base_hook_item const& s) - : nVal( s.nVal ) - , nDisposeCount( s.nDisposeCount ) - {} - }; - - template - struct member_hook_item - { - int nVal; - int nDisposeCount; - Member hMember; - - member_hook_item() - : nDisposeCount( 0 ) - {} - - member_hook_item( member_hook_item const& s ) - : nVal( s.nVal ) - , nDisposeCount( s.nDisposeCount ) - {} - }; - - struct mock_disposer - { - template - void operator ()( T * p ) - { - ++p->nDisposeCount; - } - }; - - }; - -} // namespace cds_test - -#endif // CDSUNIT_QUEUE_TEST_INTRUSIVE_MSQUEUE_H -- 2.34.1