From a9c295655cc5761bfc2cb69dcb5a9ff828de78be Mon Sep 17 00:00:00 2001 From: noah Date: Mon, 21 Mar 2022 12:03:26 -0500 Subject: [PATCH] Subgraphing Performance Expectations --- Appendices.aux | 16 +++++------ Chapter5.aux | 7 ++--- Chapter5.tex | 4 +++ Chapter6.aux | 36 ++++++++++++------------- Chapter7.aux | 8 +++--- Schrick-Noah_MS-Thesis.aux | 6 ++--- Schrick-Noah_MS-Thesis.log | 26 +++++++++--------- Schrick-Noah_MS-Thesis.pdf | Bin 1184836 -> 1185960 bytes Schrick-Noah_MS-Thesis.toc | 53 +++++++++++++++++++------------------ 9 files changed, 81 insertions(+), 75 deletions(-) diff --git a/Appendices.aux b/Appendices.aux index 4f08963..892a4c3 100644 --- a/Appendices.aux +++ b/Appendices.aux @@ -1,13 +1,13 @@ \relax -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{50}{}\protected@file@percent } -\newlabel{App:A}{{A}{50}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{51}{}\protected@file@percent } -\newlabel{App:B}{{B}{51}} -\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{51}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{51}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{51}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{51}{}\protected@file@percent } +\newlabel{App:A}{{A}{51}} +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{52}{}\protected@file@percent } +\newlabel{App:B}{{B}{52}} +\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{52}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{52}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{52}{}\protected@file@percent } \@setckpt{Appendices}{ -\setcounter{page}{52} +\setcounter{page}{53} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter5.aux b/Chapter5.aux index bc14202..0d5580e 100644 --- a/Chapter5.aux +++ b/Chapter5.aux @@ -47,11 +47,12 @@ \@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{41}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{Root Node}{42}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Frontier Merging and Data Distribution Process\relax }}{43}{}\protected@file@percent } -\newlabel{fig:Task1-Case1}{{5.9}{43}} +\newlabel{fig:front-merg}{{5.9}{43}} \@writefile{toc}{\contentsline {subsubsection}{Database Node}{43}{}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{43}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}\protected@file@percent } \@setckpt{Chapter5}{ -\setcounter{page}{44} +\setcounter{page}{45} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} @@ -62,7 +63,7 @@ \setcounter{part}{0} \setcounter{chapter}{5} \setcounter{section}{4} -\setcounter{subsection}{3} +\setcounter{subsection}{4} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} diff --git a/Chapter5.tex b/Chapter5.tex index 78885ca..b49da59 100644 --- a/Chapter5.tex +++ b/Chapter5.tex @@ -187,4 +187,8 @@ The root node is also responsible for merging the subgraphs. The root node will A node dedicated to database operations is also present in this approach. The work performed for the subgraphing approach is identical to the work performed by Tasks 4 and 5 in the tasking approach, which is discussed in Section \ref{sec:T4T5}. \TUsubsection{Performance Expectations} +This approach is intended to reduce runtime when the frontier grows at a rate faster than can be explored. However, since this approach is designed for distributed systems, there is no guarantee that speedup can be achieved when duplicate work is performed. Not only is there wasted time by the worker nodes when duplicate work occurs, but duplicate work also contributes to a longer runtime due to increased communication between nodes to adequately explore the graph, and also leads to increased numbers of merging calls by the root node. The ideal scenario for the subgraphing approach is when the graph is sparse, and the graph more aligns with a tree structure where each node only has one parent. When the graph is sparse, there is a lower likelihood of duplicate work occurring, since worker nodes have a lower probability of exploring a graph node that connects to a different graph node that has been (or will be) explored by another worker node. If each graph node were only able to have one parent, there is a lower likelihood that worker nodes would explore the same graph cluster. + +\TUsubsection{Results} + diff --git a/Chapter6.aux b/Chapter6.aux index f29bb92..21c1ffb 100644 --- a/Chapter6.aux +++ b/Chapter6.aux @@ -1,23 +1,23 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{44}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{45}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{45}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{45}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{46}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{46}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{46}{}\protected@file@percent } \@setckpt{Chapter6}{ -\setcounter{page}{46} +\setcounter{page}{47} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter7.aux b/Chapter7.aux index 09bdb82..bd2f212 100644 --- a/Chapter7.aux +++ b/Chapter7.aux @@ -1,9 +1,9 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{46}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{46}{}\protected@file@percent } -\newlabel{sec:FW}{{7.1}{46}} +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{47}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{47}{}\protected@file@percent } +\newlabel{sec:FW}{{7.1}{47}} \@setckpt{Chapter7}{ -\setcounter{page}{47} +\setcounter{page}{48} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Schrick-Noah_MS-Thesis.aux b/Schrick-Noah_MS-Thesis.aux index d121652..b1c2a2f 100644 --- a/Schrick-Noah_MS-Thesis.aux +++ b/Schrick-Noah_MS-Thesis.aux @@ -32,9 +32,9 @@ \bibcite{cook_rage_2018}{9} \bibcite{berry_graph_2007}{10} \@writefile{toc}{{\hfill \ }} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{47}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{48}{}\protected@file@percent } \@writefile{toc}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{47}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{48}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} \bibcite{ainsworth_graph_2016}{11} \bibcite{yao_efficient_2018}{12} @@ -54,4 +54,4 @@ \bibcite{louthan_hybrid_2011}{26} \bibstyle{ieeetr} \@input{Appendices.aux} -\gdef \@abspage@last{61} +\gdef \@abspage@last{62} diff --git a/Schrick-Noah_MS-Thesis.log b/Schrick-Noah_MS-Thesis.log index 1f7055c..e9eb0a2 100644 --- a/Schrick-Noah_MS-Thesis.log +++ b/Schrick-Noah_MS-Thesis.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 21 MAR 2022 11:11 +This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.3.21) 21 MAR 2022 12:03 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -424,39 +424,39 @@ File: ./Chapter5_img/front_merge.drawio.png Graphic file (type png) Package pdftex.def Info: ./Chapter5_img/front_merge.drawio.png used on input l ine 178. (pdftex.def) Requested size: 469.75499pt x 206.4044pt. - [42]) [43 <./Chapter5_img/front_merge.drawio.png>] + [42] [43 <./Chapter5_img/front_merge.drawio.png>]) [44] \openout2 = `Chapter6.aux'. (./Chapter6.tex CHAPTER 6. -[44 +[45 -]) [45] +]) [46] \openout2 = `Chapter7.aux'. (./Chapter7.tex CHAPTER 7. -) [46 +) [47 -] (./Schrick-Noah_MS-Thesis.bbl [47 +] (./Schrick-Noah_MS-Thesis.bbl [48 -] [48]) +] [49]) \c@appendixno=\count275 - [49] + [50] \openout2 = `Appendices.aux'. - (./Appendices.tex [50 + (./Appendices.tex [51 ]) -[51] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) +[52] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) (./Chapter3.aux) (./Chapter4.aux) (./Chapter5.aux) (./Chapter6.aux) (./Chapter7.aux) (./Appendices.aux)) @@ -491,10 +491,10 @@ ts/type1/public/amsfonts/cm/cmr12.pfb> -Output written on Schrick-Noah_MS-Thesis.pdf (61 pages, 1184836 bytes). +Output written on Schrick-Noah_MS-Thesis.pdf (62 pages, 1185960 bytes). PDF statistics: - 278 PDF objects out of 1000 (max. 8388607) - 163 compressed objects within 2 object streams + 281 PDF objects out of 1000 (max. 8388607) + 165 compressed objects within 2 object streams 0 named destinations out of 1000 (max. 500000) 96 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Schrick-Noah_MS-Thesis.pdf b/Schrick-Noah_MS-Thesis.pdf index 407af0f9a19b87a3f7cbd33f261cc5b6380dfc39..75354b20b983f89c86655b76793a95a6c730937a 100644 GIT binary patch delta 6674 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 delta 5651 zcmai2Wmpuz)|N&>cImE_kX~v*>0Cs*OF~4Dg_Vv)mRLfh!xa#40V(Nl=?;-@X;DB* zYU%vE*ZcqbHSc@gGiT13dFFZMOi>lIy9gSB!b9Ps2vCG5A`~%-1VxIviy}jjqbN|6 zsCy`?T7V-yffQIO#UB3w(#A+9AyW*{f)fmqH1xRY*Myfks%C#aHieY@Ze3o|3~&R3tW~~#IP@7&Do*TQ0iS=F*}5= zasKK%7~Bpr9l}?8`)F$95>}H!2@I3!g;pbZJD~*>V|8|hN(CUKp7-wr^p8W8{$%Fq zph5C7ip90MkM^vd7Gtx&!x|I$>8{s1$EY+{=P_M&t}ou6P4~&3bv-}PZ?;RYA0$_@ zWO#PtdYeXT$;S{O&=H}*p!LHJbe5>2)m9jj;VY7kvD12m*(fA5^;T+dU-K=;m1WsP zZOD~xKI({xpD_G|4AW`lHVjf5ZSAgeCKGwM!^EY?DRv59EpF#E)*>r5?{eL-Bg=C$ zav5ots@QDR>mxRq8=WDHT}d^~cseAPu+n@+Ox#U6+|qSNn)V2vIqF%ZQ5$QZ!<@@v zNrAi*JzRgKX-bau>p+P#_nOY}(wp;Tt(UQF@a@DiVdaEbgVgA=KS3~2aHCK7=R>`jCE_8mp8MK5FyD;j z5&5HhSwWKsc_w0l_mMGP7turWm?28NnNL4(`!71_n&$$t($!C|Z|^@JLY3Pws`Y>K zOq&t#sEK-gLPQngdo70!l?TvZ0i=K)Npz7sKm@4_4-;dI+`EZk-wd4#78Yhr@7nnJ zq2uYh=OnT9Nf;s8nm@}Gq+=MXu%^W1puLGxmpK-B#&|BJ*raycolQ#oo@m0z`(`K) zj!mgRPmPpUm^{WN)_l-GO)E=$0N;8b``va;5z@}0mkw|F*`E!6h&ogFkigAimQ6F< z#dHse!qtBeaizx3ffgqU3Q?-1q@wK6;QbG4()~DIS-sC0CkDuv!y!p|!aqlLWTfbK z8gEQw#_!2JF3zjs`BYF1O?Wu5Siq0fN~3F1WtbygdqC_QWapQE4Mc?ADsea?Qf9HQ!7CQm-rFQ$KEz71ol4X{#aRrhVkMjvgNSjd<#4 zf|D3{avXIG{9d(wTep5)7Jzi+dSl3dwyH&wC;~VDBx=f5+R=fp0Gk~Ul-jn#e|DCS z04yc(-^*q)+(OnVMoaXgMbD$p5gO=~l3AMVL83uO2*b{aztZ*N)Om zccBWa?Vh}@ED(u*jdk4;$sMk2UK+$~sV=|sQt*l>b)i~ZB`S1$DIrA4wwV7y57tS< ztsajU>OGZNxP^VN?eZ$Gy;6HrEG8{Z#?v!p_UVszMk?3&9U3=T$A3kLD*@=R+RA_z z#1w!4_%IrNgU4~Va{iwvtqhx?X7FSW>Yuk>;`rG54t=ASy!WYXhv`9Ln&2m>!be8-+}+X3+w-}-+kX%oohT0=L`RzdXt8dl zfctpl^nC-R@w1{as;&qBO%-2K7F%TosM5d#qyLUHSl?`bttg(ve+VshYX~r7jwkg` znc@Y?vEfTW{xM!Ppc^~BlQy>Qcn)v`oi_N(Jb`qfPAN_?s zH$XuGwD~EJ23vziy@ZdBz4#0B38^Uw@F5U%4GFa_5f}^>lR*=cQnUXLJ|LyWGD?t% zYPfiMd2>oh{)JDTyT9;u<`kEaNYSSfKw4UP(KJv8pH__ilC6u7YScEFG*wnHf45f6 zCA6Y1Co`Pr@3B+*r?Rr`CTMZ|`!hWXj}QU&FW>UUpk>oDwpe!w(+4q+H@=bXy_!%V zdW)c)n~*2{l|1_R?&pJ2ftA>f#k+9Mic(VIArsmvGWoJF=qRR+zMo_vO+T#=pAVTj zZtM_|`?3rqp7c0OpEtK#>APjBQl96#$DBJ_q8G-Yv@E0~&3WVy6ck6^ULqhtIV5B!wY(#z43CiZcN4xx>eW{By>KYFi7$49Guvd z-^}E76k7@A4~%2p`dMP+$IDtcPaHjS$}7`jDc?#N5&s11YK$I>&AiztZPIC?s)Ec0 z`Lu!7C$3HW<6j=%USYy^QNd6wucSh5oMr<(uc6x`9WDdC50)lCGNDs?`a5Z+qd!YX zWw%Ld;_}B-K&#E0$X|p6f^KW0;h(AJHuCkEvq)4(R&~vfVhNPFZKe~2r>lpuOQlB1 zW8;PDDm$qwxQ<*H*xvIzwlVSXglJWfSJd~r54nF#P1)AYyfNhwUYU}(r?JYQTR}IZ zNt~=EiAw%?hQI6eSR&6W{ya}oyRtYVH#c86u>qUNeHGS4k31;uH{z-+l+rGNS|)!A z777^k*s5XIOWFedmJ!;D!RLKRwwD-WJN61w!=Cu-3aXs&0gp3WqQuo>!rH*%p2$Ov zhs^vz9+aKrnnJn+TbmRv84r`g`x{q1e z^1s7De2%g-a!9Ho7y(V+`PVgz$l8lfX`$P1RHw_$Jc}23^NLKrq*Lys@|l)dt?ASS zy060Q-}!qBTQ!t%Q_b}v>Wd~B%A{Yh$?Y1bnu%kU^CRb(wT)1}px@tVWM1${W2GwL z4-PMW3J>tCk8URq6(g`E&Esex(_YLik(TpQAm{O)jp^4-HHt<95ydV!@L17Aw;k3$Ov z+PNHrZI9;O+P)?lTHmP7`~Gg6J$zEyQx-LcNJ28+ReBuQplQE|aZzq5^Avn@!j5U_ zT6y?H@yn-QuH(d%HbmH&9>p)IiD|1bPSJz|u1tGL&HV>(^O%J@(t=&WQWbuTFW*?D zYuLJ5c!QYbyllN$eAyxrZ58xW>nNX&lx0J8eES4ud_igD*4p#kUq{sBvF4B08hh^s zH~1i}rk>Z!=1iD!HoLJkZoq17N1|%R)*K!Vy!ccYPCnTj6nJ!Yvz>F2y`X5yO!uo} z*801UN6yGozYjpa+B^s*5-sqdeRn9z8y|N!84*5UyEQf|%bvHVwH3Lw%U=>y%NVQK zg-EIK5H86Mswxt_xl>Whm!J)D)#^L9(}+S=-F`(Jwl1Vx9)`*#Qmu&|CIty0Q}kAi z&YvitqYfkFl10}91B7e`Zu>*!l2ii(T+ek|SyoQ*WLZIL>2he$d0~)f-=T``s7$zy7hP0W&^*BFFl8{B?E>z`{aATSciEnWhHUmA&MgcsEU)$C+&$VuF%g85v z9i$r0O}-mf)GckT3TMYZ{6;TV$D{+}xB~@)C9a49hkkFgj;e^(6F;qt9d!_Nc>^_)pj z7(*)CSZv$M)xYlzFka@-Jr7@*%0+6FW(^W|ogO<_w^>P^GaciLM@@i#y2!NDGrm&t z+^f$1Kpk;xYZeaf;lBnH?)83t#a6+6ay79gt5U^Qp91{p%hYo8GyKtS>s@9poghif zYuVO}fi}R(g!=11ai`67F369<4?`ZvUsskQJvY!3jCZo|keZHqUyd@mbM`b_zcBZ6pNjj@LYt=q8_mgye znw!{>Z{DJ*RT+Yp#Ov_*>bl3yV~OH~HBNHQYu7=tA)_Lb%@>TgJ=^bC;Tlw!Q|Lc; zqQv-|&p+{Wic$`~1|WNAR*?NCV@<4I@^%laSxX;Lnmm2osJj1!0AAR$anSXfD*m)z zPjmiC%@ye8EBWV(Wyc$x$qe*{$0kqN@h;5)dozxuxiaE5G9dQ~*6`S^a>=q%p({}0 z5^=3D zaoiL5v`rzMyCKsv8#;2qGzmJwa^-)(QxPF@D;?_sODQnmxyrtkgH`edC(X^N|AB!@I$x0GJI{#IzBYBYtRRpQPAI zW<(}?rk1VY{z-o14L66jdUliA(wCTK)Eha?rN;>NQf>wZjx2aXg*mjT<>Y-`VQJBo zE!4!MVcs(Vi`-ROQ~cfjNgXTFI1pv`JfsNiJ(P=20KQ&nRXxOWVv=}^fA}sRs!|tj=^0c-+{nnm-d#iYazQ%kxvF}9B zWk@Sw>Gv8gV|hnpx%K*vqS{#>+oB2_VPCp9Go|(1 z#AzT1U@V0%S{4HD5{loFAZFdN|1}B_8MG5EH5U>hYeOb#d+@Eh`@KesK{WUq(VLatXkO|MZC*YdN?)u&3=ZDl27>_M7S8TzLMms6R+hrgK*tU_j^H01q;(}(%g^uC|RdKr^9E4RqxSyD(%C9FJ% zi^Ha-1x-`ZD;pSSU!+)6u8+{UYEi-tDBapVc-$)v_xUjW)!Hz`r={3jZ@uHf>ZqIA zQ_*6uH)#Bh6?Pg3SOjXSOqN!dqh1(krUHcLB4U1yv9QmDRjqNA0Rc|mSJQ$kmF z&27G^r_MG^{bL7}8(&X%=BaPcS4&avt+uye2jd$Eg;O!>H|90aYWgFI)0SmIOIA*~(%CwK$qV97U!mi0sD|ym2bz-i%kw=Y9cy z>_TvH_?nl6DsfVvOZ!xOurn035s0{-x`&dUe5dtE61FlTbQI@Pf3_5~vz2#^1Nm?D_Hu8p(_58Arc26J=ecFfRyhQ>M<1=%