From 252253b13bcc30c6f6e042b9f0bcfbb1e3eb9373 Mon Sep 17 00:00:00 2001 From: Grayson White Date: Mon, 15 Jan 2024 22:00:03 -0500 Subject: [PATCH] update and edit paper --- paper/paper.Rmd | 64 ++++++++++++++++------------- paper/paper.log | 24 +++++------ paper/paper.md | 64 ++++++++++++++++------------- paper/paper.pdf | Bin 134306 -> 134931 bytes paper/paper.tex | 105 ++++++++++++++++++++++++++---------------------- 5 files changed, 140 insertions(+), 117 deletions(-) diff --git a/paper/paper.Rmd b/paper/paper.Rmd index 8ef7eaa..38d8f60 100644 --- a/paper/paper.Rmd +++ b/paper/paper.Rmd @@ -33,10 +33,11 @@ plots that complies with the grammar of graphics [@wickham2010]. Further, `gglm` utilizes the `broom` and `broom.mixed` R packages to provide support for diagnostic plots produced from a variety of model object classes across a wide variety of R packages [@broom; @broom.mixed]. A quartet of diagnostic plots can -be quickly created using `gglm`'s homonymous function, or through instructive -and intuitive layer functions added to a `ggplot2` object [@ggplot2]. +be quickly created using `gglm`'s homonymous function, or plots can be created +individually through instructive and intuitive layer functions added to a +`ggplot2` object [@ggplot2]. -# Statement of need +# Statement of Need When scientists, statistical practitioners, students, and others implement statistical models, it is of the utmost importance that the modeling assumptions @@ -44,46 +45,48 @@ are verified through visual diagnostics in order to ensure valid statistical inference. The R statistical software language provides a method for producing diagnostic plots for linear model objects created with `stats::lm`, however these plots are visually unappealing, inconsistent with diagnostic plots -produced for other R packages and model types, and out of place in modern -statistics and data science courses focused on learning R with the `tidyverse` +across other R packages and model types, and out of place in modern statistics +and data science courses focused on learning R with the `tidyverse` [@tidyverse]. `gglm` addresses the described issues with current diagnostic plots in R by providing a consistent interface for producing beautiful and publication-ready -diagnostic plots for a large variety of R packages and model types (linear +diagnostic plots across a large variety of R packages and model types (linear models, linear mixed models, generalized linear mixed models, etc.). `gglm` provides functionality to quickly produce four common diagnostic plots, similar to `stats::plot.lm`, but produced by `ggplot2`. Further, `gglm` provides a suite of layer functions adhering to the grammar of graphics which allow the user to create and fine-tune their diagnostic plots through `ggplot2`'s intuitive interface. The layer functions are particularly applicable in modern courses -teaching linear regression where students have already learned `ggplot2`, and in -particular they are used in Harvard University's introductory statistics course -[@mcconville2023]. Outside of educational benefits, `gglm` has potential to -allow researchers to more easily publish elegant diagnostic plots. `gglm` has -been downloaded from CRAN over 23,000 times as of January 2024. +teaching linear regression where students have already learned `ggplot2`. For +example, `gglm` and its layer functions are used in Harvard University's +introductory statistics course [@mcconville2023]. Outside of educational +benefits, `gglm` has potential to allow researchers to more easily publish +elegant diagnostic plots. `gglm` has been downloaded from CRAN over 23,000 times +as of January 2024. -# Usage and Philosophy +# Usage and Features -`gglm` has a simple philosophy for usage of the package: "be easy, intuitive, -and customizable". This philosophy comes about from the understanding that an -individual producing a diagnostic plot will be in one of two camps: 1) the -individual who wants an *easy* to use tool that allows them to quickly check -their model diagnostics, or 2) the individual who wants an *intuitive and -customizable* tool that allows them to look closely at their diagnostics for the -purposes of education, fine-tuning for publication, or other reasons. `gglm` -satisfies the individuals in both camps. +`gglm` achieves a balance in functionality by being both as easy to use as the +built-in `stats::plot.lm` method, yet still highly intuitive and customizable +for the curious user. `gglm` is designed with these traits in mind due to the +understanding that an individual producing a diagnostic plot will most likely be +in one of two camps: 1) the individual who wants an *easy* to use tool that +allows them to quickly check their model diagnostics, or 2) the individual who +wants an *intuitive and customizable* tool that allows them to look closely at +their diagnostics for the purposes of education, fine-tuning graphics for +publication, or other reasons. `gglm` satisfies the members of both camps. -The `gglm::gglm` function is made for folks in the first camp who are looking -a more aesthetically pleasing alternative to `stats::plot.lm`. In practice, the -process of using `gglm::gglm` is as simple as and more general than using +The `gglm::gglm` function is made for folks in the first camp who are looking +for a more aesthetically pleasing alternative to `stats::plot.lm`. In practice, +the process of using `gglm::gglm` is as simple as and more general than using `stats::plot.lm`, with steps as follows: + fit a model of any class listed in `gglm::list_model_classes`, + call `gglm::gglm` on the saved model object. -The `gglm::stat_*` functions are thus for the individual in the second camp. -`gglm` provides seven functions of this sort, including those that produce the +The `gglm::stat_*` functions are thus for those in the second camp. `gglm` +provides seven functions of this sort, including those that produce the following plots: Cook's distance by leverage, Cook's distance by observation number, fitted values by residual values, normal QQ, residual histogram, residual values by leverage, and scale by location. The steps to produce a @@ -103,9 +106,12 @@ Functionality similar to that of `gglm`'s is provided by a variety of R packages. As mentioned throughout, `stats` provides a `plot` method for producing diagnostic plots for `lm` objects with base R graphics [@R]. Further, `lindia` produces diagnostic plots for `lm` objects with `ggplot2` graphics, but -does not include functions that adhere with the grammar of graphics. Finally, -many packages provide methods for plotting diagnostics based on their own model -classes (see, e.g. `lme4::plot.merMod`), however these methods are do not have -consistent usage across packages [@lme4]. +does not include functions that adhere with the grammar of graphics [@lindia]. +Finally, many packages provide methods for plotting diagnostics based on their +own model classes (see, e.g. `lme4::plot.merMod`), however these methods are do +not have consistent usage across packages [@lme4]. `gglm` hence addresses a +significant gap in functionality by creating a consistent framework for +producing diagnostic plots across R packages and model types while adhering to +the grammar of graphics. # References diff --git a/paper/paper.log b/paper/paper.log index 1219709..688e010 100644 --- a/paper/paper.log +++ b/paper/paper.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex 2024.1.15) 15 JAN 2024 17:30 +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex 2024.1.15) 15 JAN 2024 21:40 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -924,8 +924,8 @@ Package hyperref Warning: Suppressing link with empty target on input line 271. Package hyperref Warning: Suppressing link with empty target on input line 271. -File: /home/grayson/R/x86_64-pc-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) - +File: /home/grayson/R/aarch64-unknown-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) + Package fancyhdr Warning: \headheight is too small (62.59596pt): (fancyhdr) Make it at least 63.55022pt, for example: @@ -934,12 +934,12 @@ Package fancyhdr Warning: \headheight is too small (62.59596pt): (fancyhdr) \addtolength{\topmargin}{-0.95425pt}. LaTeX Font Info: Font shape `TU/lmss/m/it' in size <8> not available -(Font) Font shape `TU/lmss/m/sl' tried instead on input line 331. +(Font) Font shape `TU/lmss/m/sl' tried instead on input line 334. [1 ] -File: /home/grayson/R/x86_64-pc-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) - +File: /home/grayson/R/aarch64-unknown-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) + Package fancyhdr Warning: \headheight is too small (62.59596pt): (fancyhdr) Make it at least 63.55022pt, for example: @@ -948,8 +948,8 @@ Package fancyhdr Warning: \headheight is too small (62.59596pt): (fancyhdr) \addtolength{\topmargin}{-0.95425pt}. [2] -File: /home/grayson/R/x86_64-pc-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) - +File: /home/grayson/R/aarch64-unknown-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png Graphic file (type bmp) + Package fancyhdr Warning: \headheight is too small (62.59596pt): (fancyhdr) Make it at least 63.55022pt, for example: @@ -963,18 +963,18 @@ LaTeX2e <2023-11-01> L3 programming layer <2024-01-04> *********** Package rerunfilecheck Info: File `paper.out' has not changed. -(rerunfilecheck) Checksum: 0B3BF1C9D2BC7F6B8E6DB44814E9B8B7;651. +(rerunfilecheck) Checksum: 36E8A3BFD73D3865102046825CE75FCD;641. Package logreq Info: Writing requests to 'paper.run.xml'. \openout1 = `paper.run.xml'. ) Here is how much of TeX's memory you used: 34349 strings out of 476822 - 703677 string characters out of 5804165 - 1944174 words of memory out of 5000000 + 703729 string characters out of 5804165 + 1943174 words of memory out of 5000000 55827 multiletter control sequences out of 15000+600000 564925 words of font info for 82 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 84i,12n,87p,678b,850s stack positions out of 10000i,1000n,20000p,200000b,200000s + 84i,13n,87p,678b,850s stack positions out of 10000i,1000n,20000p,200000b,200000s Output written on paper.pdf (3 pages). diff --git a/paper/paper.md b/paper/paper.md index 8ef7eaa..38d8f60 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -33,10 +33,11 @@ plots that complies with the grammar of graphics [@wickham2010]. Further, `gglm` utilizes the `broom` and `broom.mixed` R packages to provide support for diagnostic plots produced from a variety of model object classes across a wide variety of R packages [@broom; @broom.mixed]. A quartet of diagnostic plots can -be quickly created using `gglm`'s homonymous function, or through instructive -and intuitive layer functions added to a `ggplot2` object [@ggplot2]. +be quickly created using `gglm`'s homonymous function, or plots can be created +individually through instructive and intuitive layer functions added to a +`ggplot2` object [@ggplot2]. -# Statement of need +# Statement of Need When scientists, statistical practitioners, students, and others implement statistical models, it is of the utmost importance that the modeling assumptions @@ -44,46 +45,48 @@ are verified through visual diagnostics in order to ensure valid statistical inference. The R statistical software language provides a method for producing diagnostic plots for linear model objects created with `stats::lm`, however these plots are visually unappealing, inconsistent with diagnostic plots -produced for other R packages and model types, and out of place in modern -statistics and data science courses focused on learning R with the `tidyverse` +across other R packages and model types, and out of place in modern statistics +and data science courses focused on learning R with the `tidyverse` [@tidyverse]. `gglm` addresses the described issues with current diagnostic plots in R by providing a consistent interface for producing beautiful and publication-ready -diagnostic plots for a large variety of R packages and model types (linear +diagnostic plots across a large variety of R packages and model types (linear models, linear mixed models, generalized linear mixed models, etc.). `gglm` provides functionality to quickly produce four common diagnostic plots, similar to `stats::plot.lm`, but produced by `ggplot2`. Further, `gglm` provides a suite of layer functions adhering to the grammar of graphics which allow the user to create and fine-tune their diagnostic plots through `ggplot2`'s intuitive interface. The layer functions are particularly applicable in modern courses -teaching linear regression where students have already learned `ggplot2`, and in -particular they are used in Harvard University's introductory statistics course -[@mcconville2023]. Outside of educational benefits, `gglm` has potential to -allow researchers to more easily publish elegant diagnostic plots. `gglm` has -been downloaded from CRAN over 23,000 times as of January 2024. +teaching linear regression where students have already learned `ggplot2`. For +example, `gglm` and its layer functions are used in Harvard University's +introductory statistics course [@mcconville2023]. Outside of educational +benefits, `gglm` has potential to allow researchers to more easily publish +elegant diagnostic plots. `gglm` has been downloaded from CRAN over 23,000 times +as of January 2024. -# Usage and Philosophy +# Usage and Features -`gglm` has a simple philosophy for usage of the package: "be easy, intuitive, -and customizable". This philosophy comes about from the understanding that an -individual producing a diagnostic plot will be in one of two camps: 1) the -individual who wants an *easy* to use tool that allows them to quickly check -their model diagnostics, or 2) the individual who wants an *intuitive and -customizable* tool that allows them to look closely at their diagnostics for the -purposes of education, fine-tuning for publication, or other reasons. `gglm` -satisfies the individuals in both camps. +`gglm` achieves a balance in functionality by being both as easy to use as the +built-in `stats::plot.lm` method, yet still highly intuitive and customizable +for the curious user. `gglm` is designed with these traits in mind due to the +understanding that an individual producing a diagnostic plot will most likely be +in one of two camps: 1) the individual who wants an *easy* to use tool that +allows them to quickly check their model diagnostics, or 2) the individual who +wants an *intuitive and customizable* tool that allows them to look closely at +their diagnostics for the purposes of education, fine-tuning graphics for +publication, or other reasons. `gglm` satisfies the members of both camps. -The `gglm::gglm` function is made for folks in the first camp who are looking -a more aesthetically pleasing alternative to `stats::plot.lm`. In practice, the -process of using `gglm::gglm` is as simple as and more general than using +The `gglm::gglm` function is made for folks in the first camp who are looking +for a more aesthetically pleasing alternative to `stats::plot.lm`. In practice, +the process of using `gglm::gglm` is as simple as and more general than using `stats::plot.lm`, with steps as follows: + fit a model of any class listed in `gglm::list_model_classes`, + call `gglm::gglm` on the saved model object. -The `gglm::stat_*` functions are thus for the individual in the second camp. -`gglm` provides seven functions of this sort, including those that produce the +The `gglm::stat_*` functions are thus for those in the second camp. `gglm` +provides seven functions of this sort, including those that produce the following plots: Cook's distance by leverage, Cook's distance by observation number, fitted values by residual values, normal QQ, residual histogram, residual values by leverage, and scale by location. The steps to produce a @@ -103,9 +106,12 @@ Functionality similar to that of `gglm`'s is provided by a variety of R packages. As mentioned throughout, `stats` provides a `plot` method for producing diagnostic plots for `lm` objects with base R graphics [@R]. Further, `lindia` produces diagnostic plots for `lm` objects with `ggplot2` graphics, but -does not include functions that adhere with the grammar of graphics. Finally, -many packages provide methods for plotting diagnostics based on their own model -classes (see, e.g. `lme4::plot.merMod`), however these methods are do not have -consistent usage across packages [@lme4]. +does not include functions that adhere with the grammar of graphics [@lindia]. +Finally, many packages provide methods for plotting diagnostics based on their +own model classes (see, e.g. `lme4::plot.merMod`), however these methods are do +not have consistent usage across packages [@lme4]. `gglm` hence addresses a +significant gap in functionality by creating a consistent framework for +producing diagnostic plots across R packages and model types while adhering to +the grammar of graphics. # References diff --git a/paper/paper.pdf b/paper/paper.pdf index bc8d8791b9645497a67902498c254ef2c9c30c37..58826298dd310dea82db2c55820a76cd36a5b8a4 100644 GIT binary patch delta 36151 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≪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 R0v-!AGcqv>B_%~qMhYar*D?SA delta 35539 zcmZU2QuF=ngA6=41Q+@RS-X_i4zy9uSzHmc7oD%Tc?D|x) zqXnzA|Ac*{R)z1_rNsxUIDR;Mj7BA&L;~1PdOyo|^%&GbK1EVGTUVnL$@Sa4Kg=E) zTeli`US9FaEUXOK7O3f9bd_uOAIOX4o2RQEi}a3b+MT&Vtnhz{QGQM4d3i6_G^G}& z(0`TzwwSxV9|rXwx)`)fsqV*-0tRG=^ug(?KKNuPMa&uq5sj2;!9%GkR->NZgmy1J zi4&Gx858A+R6L$Kqy_ZbRVL%-h=IIK#Q@)RdK!)8Jc_5R`WnUEjG6)GNBj#%`Y}_h z{fBF&pc?A>ukddZXt};+>ZGI^2uBB5_S@(H5oo29{bZE^sm}GPBvMOpxM_6JdwkSu zAv%T)sH@YG0JiBRS0+>&BmQSsVz;SgY9YgI^tTV{3a3`)tUQ0}?t(Vy-mbPfMp0DL zcaCOtJVDZ0B=p+(C4M7om3wtOhhf#_S;Z*Jwu*qK2@g^|73%K2zCM8z%k~+N+96Xw zcOCgLgP4Zsg@%Sxdz`94jx0@)!+PcCRp;{)KR>Uh`y9nc7~4Q+p*#_HoCOVm=oW`^ zI`?_9ADbw<=%`B8g*Q)wBMQOl*d?AT{%^|yw(=Ei4;h5BV8K{LP#iO^8Z8S&NCir` zPkFVKFIRR(dt9Xi?5<}9oTi}A44@=H;iljA#MS2y@bCMEW`?}=X&YLi*{j7C(@xoi z_F=qFm1A_irb=y$w$sV#Ui-~i#uileI3pMqC5hJ$8T~uS?x{#LSLk9EJ#Y-uiQQ&) zrPGTojq;VKn%$O_Bs<>?E&GmT{?m^&w6bUrpM%zLh=cM*?VjEz%T(!fpyzx5Rov&yFU%ORumVHh36{5=3Q51ky{Tq-XwYEKwata(;`$@3bk5%}5cBKI*x3t*J}snhEc z_hb6}rx=C0sJ1090e(HMk@KiH4S$MK12qgo9~`2UwF()wLDlS@oniFG?Wt4ut9MP6 z9X4h3)v6QwtSqzW-h@KN(FFsLbq|c4pNvBB2hduuYkLN;5gyh2!!A1QxpL;*l1&kZ z8QZWIJYSSwl({?sjLBSP2{c+)gBFwGVSGJVqxYJ6vEKI!^!OrkAImQ7q3vAjaIHE> zDR&Cv=q$!OqW5=b@_hmjg9E{3Z;IE|IbDG2{P->oW`C}z^JvSAA$}5e*ko1cX zX1PS^)}4();DLXd0_IYnpnXvy${}8OeQqxL_^%!<7IBR>0aFZ~gP_l9f2yx~7LmRf z&#sN0Cg5x@vUFK%36~Ax;@Ap-ObFVHp4`*`gVPBgnQ^@a7okFKwI?MoI^*^eS`=l% zI}NY*7ghVxqibozZN3)3+NFk1ETkAs0rm>L6D^=+D2>?k1(Y4fSltbpYWguJ>|C%| zG9>~Ru8M#LWjrdnSS+niit86Sgh4i*;l!V`ggzlxRJlyk`A9F!6=8FIbY%ugo+=5| z^gJs?%1{h7tMI$xbxUh;YQ;Lnj&KhhM#b6|QEpq}IjN=8=@+ zBQX_9vvE_Yh}Gf)owUfij1CoJ>k8>*iX+x|L5*N(v=6XIWm%}&?eqv-pj)9C@JEiS zOPA8lEf!4&xQjwUE}TnYJ|H6`2qBmTCRiV4~-?njPH7ZqYoKPiK{dv8b z8l(E$44WHuS@d_safu{yAsWVXoR-jZ0w`2z*s(R($w^g!;Qovz%;nS+y2TaL>_Slr z#v)|#WmAR1Sdy(M!%7Br#hrG1Z7ehNY@}J0mzFkrR8Xbx&mxYsGJ&?%sx?|h=RAp0&w~?7wdIs6F(@B*X5m;COMiDMiR3Lsbp&^Z{^*WF~ zu{(w5(=;St78nSia|^HI!Pt)Rq6} z+}J&toqB4Yn#^64x`~i(q-3RVdF_jZ3HGDL2y@0@O~s$PD1%lXN3F<-3nEg8K&TFe zL6^-lRU3}ERpO}nsScs#Hj&dd@j4@(@Qp9Biy z71?7}@MjlQ-t#^U8t;b;OOFp;IYVWRrA#Jt2)vTk|kLeL+*&-*Ox*`%~$ApqY%C zmpdpd>bih2?VAS7sKHl6$fjPruCXRvtK9^^T1<=(=17TvFu^kSAoQFs;cUXA%YLEP zH5TfE2Nh3u=C~DHVaavrE8(doB81&&aGG(7OOKCkv3Zu5x!xx&EW;yVL#mBMpJ$Ow%wS%J=+(&&Xs&K-eAN;LR+fEKx zN*?wXIP{SyCW!X5v-w(Btm`O_y(?AQSxc-fik~^@V*#%=>CP`OOHoFw| z^H1TEESE-M6U^Ke@TMG~`<0b9y~}mS2^gdxA+hqb32XF(lsy+1MM{c$C+yVLTGm+C z2r#6JhQ=G0j|APhgZqhf=Eo5U9mfMGVss|G7q8Z~yJZmlt{|3rHigD+ma1A*#Ey|~ z^B&-~mS0#j$>FIaQMN5V!AhxpSdPhZpVO3!V z=dXJ~(zlb_1+iwmSYVa^#9Y`);m+6BS*KD-W!%>@TBrLb?%D!qg-YgZPOB48v}quE z;7%BdaB$$dG@%Gbfbcrl@wsq0(`GCZ=oE^+C;8a@Lbro-bKNMeHa6^sD>Yv4VVJ&J zn4!asY2yI|*&O6GUGEyUGTYiLoP5@=b)z{=^MNo4;Pjk~Eh7mhui&ov@JX#v-j5xV zH1w?n>4{^S>$nFM3Aaiha_a&J@f9S4Bc-K7rL7S_=rrs~CoDwwGE{8fCxbPy$H_{_bC`;M^1wc#bjVB!I!91A=c8ur_1 zM)atn60;Eq=n&k{yaZFzl&10E(tB!5fMU?pC8M^r;hWW%N7k}@#~p3>@L(Os59}@b z`m}ML93E1xin)(!o(wW+5U~ZPv51u9#C?+HkjUfci^Z{l=PJ+d%n7b|jp3mNq;0J` zCxun862a>J_KNjwS&#yZo#mAWY8e{M2G9Bv($e&*A0HlEWC}4`Qlhuo?$DraI#@Y- zYzcSF6AxJ$r=Ypk&spZw8Sad7YqN)4`rLq76|T0*{CZWMq#DPuz}9qZu6sQZgJ@7 z)lRIg4=to7=uG~CZKlF8ASRGgRbb`Jo*;Hu1{d;C%bF-u9S2@UAtBF;o*k){ET_Y- zHuMelcja1cPiH_A*{a!Hz6mD@dRnmBiFLI6P3vTrpPlvJ{86rM8^;QV7i4%|ZT^@8d=_$@+xI=@i8)3T@@_C}KA&1ZQ7 zA&@?DUxZd7UEMRkaNyVjeh^BZbF}IfyfrfJONx@G5vNn$dkegUKQ4qrf6!E#ErttIrWUfb(7`Tn+8dl(qq21>vmvk-|mXeMHt}m<Xcl1|O}G@9gYtYSYaJ>(u@L%IfwvTcp=F8q%1)h3&znJr7@>Dz3q01O zWF5))!!T zHn%V7xsl>($o}j3%v?Tyc#+@x;L@hj;q>1Q`Rjem;lyj#Tr<%j^=n~V!tzO)LOBY0 zEjl~u#6#!9hQmIP2mUmmx?2)D@%b4&4y$pKh)853NI^Ndz$cP~B!yG~`r&S753LtjVg-Wx(HYWI5gV4QI2{#*nK(dE?Q)sF7>H^L8? zRA9I|w5grR|FQJ{R`y0#(5x(J{mMXO0FK|R|DWCGMCy54E4R8;Ng%2}wKSIBHyjy^<*&pg-4+A{wrYtL!lN)9#oe&sTJ zrt<^r0S}C)B1&4;nAeGr8(DR_*+}E-vY5&zU$>(-P9K16{?@#Wsa?NyztU#~UHUHVwybc$f~zg*1EWtL$B|G?0)GDRb)TIhowk4Re%rWj zDXmw{h&utslO5mE9-7QJgWK`k=i~5Ac+I}AYF&@V5Y$gzO4GiATe+?yy=mm{GR2m- z0U!6JQ*hOozoQ!miU(9pM0Qe=T*Wv=Z(UdVgsVfEOJu1LCO4@-ShR!UM{F^Q8%z)Z zlS~s%$8+Sbe5Zvt$Hwhwm>~uT5jDhU;oCz{JjDPgyL_8{Q2lBiNI*N@Z{=Y~wR(K@ zY4hr=Kio}PZ*bZ7ljbS95?;V#zwl%hzQkjwZ7ZYUK<+PQ4yp;h+N zs-o{x6#uvsmoB8>OQpFFm}wGn7Wno*PJnVbualGor`V1+7D?-dl>#fTtkf3xNB|sgGOsd1c`Xn54bED(sYZutb8ak54oA6uW zm_$SYYv?}G>5Q|V_9jNmHAkha|CKx(d1D7iik#KO<#FNT=g3fa>TgST38^Ki1>PhC zCs>DOrz>L`QGYZZRoT>_ZMf|(AMW(4>2nXq%r{yxo-|qJv%x+jyjF6~%SF3c?}J|K zGqk-$K@*!6Da0Xeo}hy+NG01lN#-5s-aTa7%|sz`?MGU~@A)?&Ofjs4>M%pr$Swnl zf_#a_!V>B^ld`P1ckB;?+^+3J|rmrv{z%v(&TN< z56zVIGFAo<(TQz>>C$gtBKi1Ogy=0WQ}{#&m5QS*95sFd%kQ|gI+tt29drDul?l`` z&yd1$LK1Q6({*$EYcO+rPGwb&+js=#=Sv0LXO0GA*byOn*?$~vVZ>SBv#bqB+V_m~ zI-&b52LTFlCzbK_!GK`&n+&E+-qZ9(lpM0=lPxd+Gr)8`+xvoVxY6+3;xG-694X}eCH;DBquO*XriO&78I(0(91w z8eCbBjqAPiE4~R!l~xpqS=JSisa@HFd~u=TbikRBPE_J3lAW_9ams~fgiQjc`YRZ{ z>ADQx@+7Pt_wcsf=Xw1Rj6n8+K%E3`jvM6YcL%re6kFShrgF23dw4ehbXBZu47A#N zhg#xGLWZ~TN|yMXk%IdiiA$k8yst7TxF!v=C0;n79vR+_7aT$a|y^ zyn{!*2)}uH*2a+H`odpY1Jga*X2Xo2J^!%9OkPT|nXtbHfQwYq@iv0vN%4LRZT6Py zI&fR^h7^TPh@T;OHsAn2Jk7m2H;Vbh!V&Bo(g_Zh<$P(0G}?Tw)vdOjHVSY(H1Ge~ zJc$?Y4aYf%BX+df=cVJe%@{Be(lEc5cPCJuPXI;qxKgrrH#1_~eGkZE#;@gBm%umO zZF74Gg*}EC3KR2fls)@^@ARoN-_t)-3?O{9ULeXrw>jZ zklgGodWAU|++MVUIYtgBQ|OmNHywvn{L;xGV&gLoH)7+Tq7vRtI!?UtiB&p>@2Nj} zh)D_+C!gHz$rkd0GBY)xxk3$TYqhe6{G-i+hgN&*kH6Q-#&cnJg+p>!E&b5{y=`&L zauY>@fQXpqeT)uhxVjqwkw#~&)0}^H4L{BkjEWT35K^3VK_W*r0>2~VJIiW18tjJ(2S#+1bg@McCf57&geJkUvqf}roBygDh&6AJu!C86ttAf*L%$H@1=0_FdYSJKbL36bdMNpz*8;3jdnJ@KA zakFtYn6GZ{iP}-)!1k?YDt|n8(sno_XE^?bZ6dm)a(alP)$AV=Ghv5w(-#`L%@fbw z(7S?xuy$0f8%&)DXnZip+dk7PSLReY#!+S4xz`s!*)IN}{qUDT1>>JrGs?kRYLF*j zB9G#nSPCxI91k^ZO)o1l6CbKkQWlWRz?Q0CiLGcdJ{(d0hWK%3x6m9!1SM-pnAY$^ z_qdmPi<{?^*v6$(V=_a@@P%N_4=fsLiS1l8va*=&c(^I=Wr>erd>d3RovV73RW**#*Q{}w?rZINnECKh%e#p| zNN-5vPwD5;EK@VP`ULJZiU!sTUtKC)wE=84$%(-&o=c$+)jOGC>?ve$@F+NS-OgEM z-s9kZ_sLD?+PUL25!aT0RreLS5alZ*i){i_ZEF`0^XQ*^V5b|BC28^j>Ka~#bi64F z>q$&YyL>Qah=gdXg=iEDb6(#sve zmJpX##8*IBi-7hlXS+!W-WaQ%?(6$cXUtgNCnF^@ZM%&kwR0MDnqPS=5tbzJVXdYG zMu(uAIqbk9?`9N!bu3(V5_$Pve)#~v=`P+?rBW}FD-x4qVHH+guM{8>LVOzNUH|=) z%o>~PN)sfVC% z?D^X1-STAyaXttgda|X(bI!&*p$cU5I~VFEoJm%vNHGK1y3bOQ@D)fz;1>co%p4Vw zSP=M+*5KuaGxUB3Ipv(>0B)kru^-uW)37m6H!{rtu^CWO9;#;wJCuy|f?=iod5!Fo zS!9-#3resOt&3gI>;6pD9X>&WZLRa!csAKPrC}D?8WfO^lAW_6Gb&}%+mVA*?%z$F=eA7&(@wF|-(&%k1{sET8Atf+3|F`>>#=7%6wc(d zf4wmHs)4o?(K<;VNmFt)hO{Z#V~|scguDH`1x=X#78vh$>Go<6I&A^wW7_|y`$@Q> z^?(-j!J|DfcA@^UCbTX^mK=%5+W7u7{&>Gp)tfg_NA`hFZYY9D%Z$CC{!>3uUQY2! zSvp1#hq%^Ci9ZhsN)A8TMqNsIF{_+CO;1XfEjvZe!y2P7e%N7EU{+RBqfFnhc#mUwP*sU&a}@*_&TgyjLYrt9fbi0!JT;rH092L?Ys%m8nK<>P%Izs!90p$x zYyqyOHgH;&GAlUh&AVTg3IW#hz6sE33qY@c8s^a|e z!EFjC#wR|*(%8%FQ26j>O`jNh0BNKoQpJ+5+U#Doza~e3zmlYfvn6s&$l>nzr4+?_ z`lze3ba2k%GV2AHW`saMh&{lOPNw%M)n=s(fa+AFiTT;k7thpo$38JFU)@N2sBWE{ z%XHZJ3Xit-R(8#5ZkEg`z%or=f}xJS_~AjDF_1V*j|pE@)NoY`Au?=J)o>A9oDjxj2UXSeUWQTMh+Xo1~zcV2?F|mika-7sqZ(qdhfz~8*DRJMV<3B-( zrRu4MlL!Lf8S6C{r9h*p_&aU(WSmM2lqlGG6cHYR31%t7TqLQx4G7-9`Roa*T!lW8 z(J1~f;K^r%P0$@O2dhT~6Z`s=?B=EP{OCgpnK#(|P%&(TUxKwRB+&Y}t?af|=@K7t zRO-HuKBrxkdO5U)L^l-;07Fbq>ybARa#5~?W@-Q`DO^rx(1DDYp!tIIo?+(k1cZHy zwLjc2w&ubQJGB~H*0S3_A*L&Kb=$llm2bP|OacMj1aC3&E$w zX1WFHF8>y4kQ{B*>?lVE-0hH(nbd;vM9Mi9NP6nX+Lsm!m9m!Oc8#if)mZ()#Cmd}?cg;)F zdQ-b0G}l$@NK=~m@gZ*yyQSGgmKkF^=+Mb(vVYs2*1=_KHPJMQF9 zLjYV%+2^IX^9Q%Ft}-7TzxA-XupK%@4u>SBo^IC4@04=u_Iro#kj%M0@CC)*v24vy zyo)5>CWuwWfMQ3mBG;HxKI+_KQO5<$5IhW+@-xh#G>viTyA)5+=&C4pRnj(z*>m37 zB*{mJN$6X8&GPU^4cX7~Ck!HzhY4HLvjK`6%4+*s-kgnalsx zA6FsPpgAB5gV!e}an2Bi&3qc&JXIQM_cbS`DM!p0r_0cRGchi@nucNtCm5rw`e12J zV?1M%e8w8nj*RY$A=zD7@1bjF?x9~njdl$u=Ny_9wS`$Sv4mcLcWF@y)FAk5p+&7i zLH=k}>WF1AkGMYg)i5%}H=s;9))k-VdV2=ME+FfWk8Bk-kuDoA#jH1Qe(#b^np<^_ z^`wsX+!{>3>!?A(v$OfFdb`-S6kj;Xfa>c$=z~Gq&``dI-|rpc0s|;WAl&F_OX}Q0 zxI)P8Olv{kap~nuOa3xZ^khCTW34aR_|O?L%vM4#OWd6eBQEt!dmT`w#`;x#sHry% zSBCv3-9$HsZdQ~+tu0_eve6>14$#**es}dh{s3LvAcp{`$Batc2>W_ zvDJvak}!4Z36V98v(0vE>KH9m%q;3D`Kjp$!`4C5CTYW-5CnK)Yy>i)Ur^p5TVj&= z)f8Ht=XQ*Et^y@q{3vvBRJim|<>D)8^U)=z))euCerxy@pwwpOr3%4CAYfZ(N$*kD z%XOJID=WE!(cx#)9WEJK|F(pkxz(7B-Z0nmYA7%Hcz-;pA0REVl2auL6tv3*5jSnt z#Mv7kbEE)(a{`3DQzKb)^rkt_X*yICfw!#^G1GM&no>Q6RrbBPs2kI@&Z0CWH0CpZ z9}@C{IVrQ6!xwzwdK2K_wI1yzLU54oSLVCGD>kYl&zFT&Q?FefrSh<1t2h+8*?Fy^ zq-XG!+CYBR%B&|r=9opWh3m*o8_GFX=KUVmCJ1;1C!qy}<4ewgCUkX2$m^oeo3|T! z-iBWs)s@Uz1Cw?t?g}*bTbKX3o$ej{#zRgkumeH?`rnD048X$pf2VET1wrc|M$}(> zoxQ}Pv5L_vRuIHZTv2s3#w}^v3$HFhF+}GDKYs6eXNCcg`g(fE4+kZpYGrOF*J*!E zp-3vVRk1MN$0ZDYTWB47@KtJYYVE7L331zbA-^lT^ljaHd`iyN5|k>H^+&Dj&dInN z0#;U~uS2Q=Gs*SwvD58!O^%H*3usif8#&xColl$GFsFm6pH%@tX{MJp)Qr_uYv-A% z97=Lpy9FR@%-5t)^r!QGP4xToLqJJXK;))QQ|mbLv=96%zK4C~EL*j{p&Mmh;2&IO zKo|sz%i@oeX}97jTh^1DBEiaHjr;fwI7$ktVvmBhTn zZF!aCpcRlP=KZt@(3~PQ=dY2zc6}gK{4vb!E!qc)A7>{f$J5&pU-{~Wq}jBJ*aTHh@L*rq`+?Vba{gkFGBiU z^?KYwZT!mnhOF{;EtVZD-Lo$}GQuUx>UVAvQr@LLk6$s@MdJIMl17tn9!(wA7H5^2 zGR3t=Ro#E3hPd)-hKRO5xe<(uau}ZMO-~&7vj%wO-^Z&6gMlrK(Lxj=S)Iw3sPB>51KY@@g{Xqz6~XBoM-Je%Enu#yj1W9IgZ&ai z{D?|Wjird!QnuawHS=zcC z5E5Y1YLF4u_eK4z-Z)ujVgz5vfD{IFqnh;!f}l`NXA--4tGL%n-Fer95!6jM6 zb{qSch%*Td&kHj-Avh^VlJJp(dawbv2-&alfQHqbwp?z@*EuGB$<^1cM=!24YI)1& zl7VB!UG8JEd3;Ck;FeGyBP`zDRoi{?NYTF4tWE(HmQd5w>b|M(T6qIsANW}qSuz93 zt+gUb;y1Uuc+80K!~}E8B>pB8jiZwep(6`1%>tVgWhR?csMz<%uF4moA1Bzec2C3N zW4!2dD1`3qM-z=%p{o~<)FYaj0(hRg^9q>i6u+dQQ^9|pe`53R`G^icIDnSq1M#hG z(7<>Lumb(1qq#rxlGLP?RbFGgwb$H_3WEFV89DA|*>{V?G&0=KKZ|bvSjf>@QqSs= zR4ti(wt&qLEwZ>mlJv3CTJiGvSbe@*i39cHs_$cdym+ClnPK?wDVp|IYyI?)2qDGd z40d<0n*xamL(`K$tOM<23lMR&f-;a-+dOD-b6~jYLgA$|!)GJh!iI6@AS3OrBr3w)%({Z6D3x5hKBZ3jH{gp?XaikiP${6N%AmH^LtON%ALNKHbi;1$94mP{!o2kPx%1vz;HswpTS7wwe`V6&IR0REuu8uP*(q+5$S z{(6E%B|ZTk@{*ZT_C|a(GQq1gG(NE6B(G#C(0V$M5RyO6UrT@&K+YhNhkAl+mpBu} z1w)g3)G8pJ1_g`Iqfsf!m?Mj!r}~tQxTZcT7tAy+?9BX=pNH)!Wm1w*YIg90*mifo zsReGk9@qO+Mqz#Gi0&$Vgl?FzzB0F)`=r~u<#fX^Q@fk-KPXA2K{x@S0Kf)2TxC0R z@wCTbpCBTg$Nqtyg`mZz8kLVy zBs`OuLAQAWgeLr-9=5%C{O}a!!M>Zh4(WD*Eol!u9zY>qIX=0(LhUO)t24#|gSI#M z6_^4oV~>~?q0^mCczmKdmrtx0nGXCWfUZUSn@ z(n|_gX=PYiPd5Nn*X~a=)b;6$0s4mqnM<^|j=Y|BsCH&i}|*lDzkl=?_^hhM35{ROJ5W5845BCI0QFk0QRkCJTRRRN`~ z{|vessrG!`G~LXyEFZ#P5En8^V>G4GzKx3dGg^$WVj``Gu$ToMg^^)L_86h!S0gvy z*0t-K_L!>OXw+6i8(#I1Mr1a~SjaSxufGoBr%ttu;R9+r{20Vl!4f+jnZl9fF@6)s zaDEUm1CS-ZER@Pw*;uO})tEA>2H}uP{?QqOfH>|th|7?oxjz@@eY=*Y$`Ofh{vU_< znN|?TIX&K9zf)Jl3*heO((GcLk@6N9x(TjDwK;2~Fh7m%r56a+>n8jE#CYEE-*+h6 zZI1n*a?Q*ZM^U?D6S z8Q#~^Pcu=r?N=L(89#U*UZ=BWyKd8G@?WM^-JTC&Em^}6mK*Q1(7jLf*k%t0_1NDk z;`S$TwVS2-$FsX}fZ4D5^MkYJbpraEWsi^dhKOp*&)jVWf}r0K9@^J@a^`?7w~rlK zbQa^2RpYC_Jbvj}s*AmE1dAJsYp?ZJ@FyqDYauDyrkFcl^X}#-)2WjVy3u;uzrR^k znh7ee_spZt-Ze9aPu?|Wd{%wDudg|tTWWt)51V-X+U(*A0knGH)WDjGSd{eviNQHg z$qmX)2b$21rD%@k9f2<9K-HXSf;cmRRChM;NDSRU%w@r}t$P_0o%`S$gyrkAhD_HI38rq68jS%6uRpGeI70C%fXyaP*rgViX>)3@W zY9eA(W}KWRX$o#Yt{TPkKbJ1*e${86@75tZnuhJ<4@Tz=Chx`&#CfiD(SxKCg&Znm zJ4FgWrV3D+XMC`@vZlDzlB284uMO=!D;oU~9mKM(DgqKfeLyzDCtudDES zHPe-`?rWA!mSI6*<~ROd5=;4iB{pjGO8HM>cgde!zP()p4?@wK(-E0(YJjon)yaO0E2mDr@N#!}y9{lA{u|E4bEYOI%kkx#8C^1}AT z@FF5K#Zaj@ai&vzMGqB{Nnz&Wk+dcwHPY#6m?czxW^(WrYW_!JY+HP^`>Dt4356O+ z5S$!`^pNJ)_{o%7>}bW|fXDwWGB85;4M9=yb7&xmN*gp!EmMetd=Lv5Ay@fIQbLyz zeY7`rN-)nzV3;Fg@TCXEenDOWG~DXI86R<^*8D;!U+^}v8dZfj3Z1DH#h*Um%K<_3F(`KvU~KR`f%E_<2&14oU^KiRP` z{dWhLFljePh$#B<4V_wEF*b5Xl0qv@Wl8#yQX$9pYmh@Ul4p@|ArG`NLj z)<#tMoT5eo)oa6Gg(+Ft)WrChgeHL9Mu|63W}6-wj3TkZR?niu9jSJy{sEus3N=@&!S- zzP2FKC}uEmHEZrIr!cOW3&58|O)h2-ujibX#)QQ%XzvkF5P6`MbWB&r@=yIaU>$BM zLF3=z;xujKiDcH|ip)!3&t+#)icBUk%}tCcH3@4P#uS#^AnEpyB2mGQryN0-;yF$z zg-!8{4xT{u9?xY=CESPMbW1hP^Sl<8{_weTkDA-1c6?NjrWa zXwFD)O`AUeLP?`?|3`6Vw*O9L3jLA)tV`D^%})KKQuM?#snDvO;98Be?Ygr}u3bJk z(MS-WmplRgSrGVvnMH=Y{9L)ZDClU@YNs$rkJ`|2q4D@%9j?l6+muF@<3E^0Eow)YOo522z*AC98l;W5=)h#d9$I8z$D_LBAV)rM zkqMH0cb_UQKYgZY&iYNNu@`%4dAV?iC5u1eE23w!$Gkl1@>K3MHd{9+XuLMYQJ}%{ zakFiBsB!=Xbv=Op6P81de_>%|X8x}XpCtP~(ht4)j^zEH+G+2pl-P?75j@JUlg3%rry%4!e5H1$VTPvHiQCTTSj*V+(i@Wtz+*2!Wy^7Rb-0ienKG^K z)djbbc0M1nI)>W65xbf+us3R{=_KKm`Ps3RZDBHJ`j~jRp8ei<>0L_164^7&NP+#Bpj}S;Yg?k)JN*Re5CBS4P zV+|NGLR29|Q8{3<2+}y9gm+{B>lb9EiU*}D7RS%uV2Vaa_MJf;UTF+Hb zFO+DYtLFm45rs6632`W;*Mt&rgpeUSp(&%(*fGQes-<14R7=^NdDh&j+Fa^$thBFu zr%b(0LJYX4EX~PJkB+;&Z$56ie|~&_UUqL885p7gqla%@J)9g;1)2Qza{kOrBir}b z7n5?}JFL>iw1dWEv-QfammCbN+gX6kO=|-RuB)h*H!mvCB&KMLpTLg|HgLY1FJkxK z?-4Jo?!sX&1dM^BBweGj@8^H{d0W&+DcvQ14@sa|wR8Cf{B(IntxzT{Djzp+G@JBy zdBT_jI%_9MfxZ)C6z8F&a;OFABb0_D*x#kuKcsgQ&fC=5O+uB3*2!X`q@q(Ojmd}> z6e7gPWK|_i%B5r*tV()GN#$x1&yvfbkgtEMW>Ur|Ng9)4i$=4m7RDw?>3Oqoh&0HR zD@g05iA$qVmz&JsMu?E5NF6MlA00cNRj6S1v9kYM54#idDoWQdE3~dET#sjQIN0m#;~$(b}+|#7z&Q8%Wn3uR&kN zty$6j(hlnmtsZ4J%&I4}p=p7G84;>ephez{5H;*%E;%;lX|1+gYdUQM za5K=te59Hm@Os)!J1>9Ee-bkktRe*{-qOkKV}Ak>5w#!!P-;-op>#>~uoHe40*;yz zmPvYjb}s4e=%2s6mNFINe2{(d`$_n0a(2K7^bhgE4)>wYCe6`!Nvp{AfLS+@(ec&F zbmXm_;l#Q*c6*i+#W6H&z#&W3_$7raZ42p9@RYg393*PC^nbJR~4;Kll07Ghg2POB1FHsDMp1#1|0o8pL%vmum z4Qd5Zt1wS@j%J+Ap3buBtc`~@u@|AQp^L8fwA;RyL750;!eKB^(=v_Ud)Hpob1Eim z+EiiFW{r#=e#ptF=oskpP{((G8IR66`ZSDTWxvIyixuX83)V&RaPt+}-uhVh&sT_T zl8WxZ0~_OwY;mjDOBAiBs$sW!gsk#jF#Fwu=1yNk$4pw9OJ>zMwIr6(IZ!93v*_*p z&QwL^{zC-*M&IwR!P1m#r$2te!|0p3U!q8Cz{K20@6O+0L5 zm+yTC9#tG5nCJD?YM1w|HaB{Gap((F+F$B`-OG=~N6J6`&i-orUa6ko{w4;!3>$}6 z)n9N2pA9dJ#cIogd^QhIAuUB3zYaQdNY{w`Ou%@s-^1Lz27<^0rHII_3*jaGxW%F@ z;?#76T|mm=9>9%2jRd7Ux`OoI3ASe`+(F4X*3FTzF_nV}OCv&kPV5w{5fZ&|RUX(=xt%?vp)Lx7*T_nohbe8gF z!LIf00G7Rb*K;+-R#G!%NQc24J$-`w?ohCvDBT`ZVlEWaazvp}xSBxt@f{`xjz4sP zpe4r~enTiKNC}QXrq^=a>zVf6WOX4$a|m*?YPEhx&#_MC9&;6xq<7LnV>tTwFh+mi zzfSBvSE$e_1j7uVoT=@cm!5(a!htYpKvx*eXMj}v&UfE*oPY1{7OJ5tf?%)*v9)E6 zpAHtn-}x1*>+24%+wjvO9e37{Wv>9{sB9-JIV0$&LNJ^prxA`%(@9wRMcS_c`E24pnxe zV(Y@zGfe9D{l_H0wITMIVz5=Wo65-2%n_K&48td-P}i^H!AfPyg<={5gT&yS&T7Z)v>B#^&hf(| z9(e@^1zSM1&HG|5Eh>aZdF17cCAatMRfe?c7$5?!0VjLk(2r=<7I$2)s=4MAv#e-+FP%cv64J<$>|f?*sBytv-IAd+0m8A)I_k70&Ia z&hX&qO%ynW!FvfCU2>jX-A47RqReeuwe{K<rakZ|5lbK#%0)Y@nK91uIH;OFz~fS@V0 zl!YKRS5~Ibm-{M9&?o+L0{WuFFevHsvI79f@(hk3Ty2*UIPqmU<($UuNzJ-%Eqq`1 zQ+61)v6K1*MSq*kPOeZ=(?Jj27$7fq1b@O7yfsl&+!J-`{a`Iaq;bnVC0p(~i9h{Z zzN4x15?Xz+h~&7`o($swWM&F~PM3ON%D&a6OKooG+(!(=+eMdi-V8;4>BLmb6%YbY zquC4S)D;P zqqhap`xfC$Mr@iWGGr}@wG0FE;*A0PLT*5&6FP*H-Pm(_#Id;tNoC~6)yK31!APw5 zmaJ$j&A_SEkTtKn&h3KnJT$p2oYfJsS*-a3QtXN!g4p8sUy^L7q0FbdB0nunzGTt+ zO*pdrA9{PhOPRv4di8ptA}o(UX!c<^vK8vd=J3dxv|xU>Z=Lg3L34rasWkzJ&gfEf z#9Ga{j(h#DFK;1j$p_?eAyQDIai{}jOjrdD;{|f`lrm*2t^93kF;7rt8c3dUmR`_V znG^3&frP;XNZxkAcDf%B+NYL&r!IQ*jeo+#BTZlDIfaW<8kFuyEf2zTXu%FDAg>Aj z@zHrSNvH7&UD1Sl1J#L)g;D{enC8cJ1mDyGg<-Nr#gGLt?}{+YS@10N-Ep9O`B=GBvHZ zhK`gHNKn-=YAI5itF{iZDOdt#RgY?^vW;6SHJ-7#nQ2e)BdVNHC`I9NwrWbCUCx|22K} z8&BsGFE6E!>L{dW<CduSyK-D3*qcM!>J+^ysBsQ4%oY_-%ft{-svjlTIHc zS68IK9gmq`Zof*#R*}9E{O9fFB4j$0r9I)`HvKbwY%daKziHZ_30;A+WDA(Zcw%ZN zl|-($9Qg72VN?*#6+D(Ml%-8|dTy86S+IsOGyiZq=fGW z1p}SVP;`TE$BLy+C#AkC*~P)q7T`q#E9fxa9~K9f9`U@ zTvBK0QgDzMczh3Vud4v+h&czG1RjT-w!Y4_qd~_m_Y^NVrF6I^S`M2 z#^6k%t=-s|*tTuk6Wg{kaq`BtZBA_4wr$(K^L^)@s(Y*Y*WSIl`p>HFXFb?lLC0jIp4mfiQLnta5bY5#3mbI zN%RK+5^*F4O-0~E7foh!TpD5PY=(A8W|7zUd!AJ|w#G6RkZRvldcF1f)ms*R&GbQ) z>NOe8e9iV;m)DBC3Usm)B_wx(ce*op6Ke)KN^Z<8S=8SUy}^=xRQ6!%uBMcOA%4 z>*=1&vZw`)85O~K3}5noa9a~4>UvHOWq-rB}oOwO}$P5hHd!=GX3CE1ycWQZ#w>44BPm( z4P5kZNIzEi-$xh~0Y3u&hejs-pL$wgmQ=x1VD6Uv65tD%RKpEm^8bCARIvJgbyIc! z!LEz|4ldUJZ*WuP38{gqzVS>uacv-Cs#C~f1|btwXAnz<4em7*f_B!Gsv7}CYr5v- zn!0__uY~*Sm(b8QPdIj>2C-GZ9BGP$(e&<~PmMkL;%oQa)Qiv0kN?U(8w<~g<%#e0 zM>>+h@o}0UVXao1m99gc^(^2}3T4^Da{@$XKvn|7d7u?hNI#>HDF(@5*=*B+h@&4j z`kH2QW2JKf;R=UbsYkc~kx4dgKKF+eha(QuN8aPqXXJm8Q4|H;cnNQ66_Tc ztnC#FJ|WyMP*=CTdw^qyhlP7=KlKCu0C(#G|MFOy0`B1+qABCUTb0ULxnt19$th{o zHNUdOLb1ZAs$D*8GdU3p@)GR6KPPQhe$DD zq5F#&&aEQQqDKyl*E+AJ1{enHfc3zB|GFPL09-P8DPvF7NdnWi8XucJOSa0j>c0+p zM|q@#A(MsC4FaqOF>b>-8#Qd_wlAFQYqs6Iezr%dppfnGyrxSV()LeruUQVbtS$=mht5({yH^Ce1e^c|&(U$Bb0Uk=@%*bI&^7Tj z1+sy61fCDWe;&vi)5|oSi|=LgPtX7PEl~-0bj;*}m*v5Mp5k0#t{#N)PU9_eUjr z+BU0=H1;Ek{tAmNgeI<1Dpg4EzYv1L^Si*Q4&Xz@25TUdBo8^hEg4Nv9)su6(0JXA z>-+l*0dVPY+L9b}jK@n*HoUlNGK6W%y%)rW$GbzHJ=~Jy@UWrU6ra+%Y^AMrkud$^ zXlZIEz2!=$tpA6zG=bQfgn`Z#(K-EHi-OkQ@KJ1 zQOWe=p~raET!Jjf^%F$Dw94*D;&*f7faY1FDZo5DDwyt)P0h?N7@{KOnGa(jst0FJ zjO6aoy;Oihx_{qTmG}*=iarRsS36qK5SnTX8?C{xasfFt+7Vn5NWdkebtv3f-*-d2 zdAN~5$F#$+)%rc)o$9fuj=1zHp9tZwk%uOCo2R3uI=;EbiT(K3)78+z%OBY^_ZX|- zTmZ^Z?b#_lpycUwn?c*2ttolQ&4R9dau*xgQN7#dx$#zk`>^>OPG);cTN{7?2k9cF zUTv}!p*q&LD0_B*vU6p}=@`Yti4JzHt%|%^TRu0@U+>J4yUGq~V^l@BfH1?`>?MwS zYO)J6_R`QT)UWgIIF>AUw-P3xH`=^q1o-%RfsjqgRt?J75*&&`in_mZDFme^x``QcqG&@r4w1SH z$oR3B#_=z?FgFBn&;B~s>{Dq!TWO0=$<||Tb_Sv0d9bi3XP2& zEnA-x47O<1=)u7Y6Wb@(F(V>00w85=PYPcGR^?ZPdNhTT?Tr)+(J2SJlX^tgRt#J@ zCOM!qi7hEC9|dn4ke@SY#h!Kt!LsP%=@PdK`h$oQ9k6xfupmOjf%Y74LII>&pjEE0 zz%Dd#&{Y<#{L**kFr1xopozh@{S=icjf5!?f-a$^o`Qb$?xeSHVzDb41jq-rm|b9+ z1xaYCwP&}5*1ScA=t12CPzB*|%1Ft%izz6$yDKP&xy#9kiNQzPW&9jr{?M@sfN*!B z_L@QvxhzZ52Xl0Mh=vA*pa-*}9+sM)%(ip&Rb=DQp~6IqOOcmSEjZb41#tEV%>!*v z8Gy%i175MBy#DnD7!Rof0Iy)zg!SfY$e29DnGk-Ymu+$+FrIOI+lvMdxy|m%!pcQH z+QIAgn%R@Q+d-`Pma@TKZuzmz#I0#`O_`Q=Yy}o))@W#?rYQRMkQ$=lwV)_!0PY3n zH)^*sH6@TelvBA&p27`ME+I5=PL%(?45aG{cDgAi6M^((p}$r)Adozx8Jv4ehmzuE zoNrIoqT$?yWvz@y-PzA<;(0MU?_ArJyH0i*Auop9>mEY`;tDR{+%;|WncH8gJxR2Q zSV}JTJ{=CZjPAMvyI6LYXm(k!U#m_CaXg2cR~$5cXi)K!;_X8tOk@I7L8G5GP=t(9 z2u?t%$9hw)Yg9Z50I5$#t@+0sP?&clxrS86O?=oqz?A^;20Vk#{g;;9Ye+A$1{;yU znuOpt7vI^zS~L3`cPY9AH$^woWb1&D?d;=|@#x-6>NkRzK+BI1L(mM_1#k1($E-!K z?cB5O_?Fn=+XUT8wf=geAN@swq|J$a2AfY`@H0zO>h;|QpyfwL@y}vk@6zWtrN79F zaAsG4ayCj(cFt{j5i88#ylzjJaiO4z2{ffaYwjR8SzeM5&eWST&slZuAdlDd5z8jS zzV`yx#PlBTA+Cub4I1KiYMFhq%JBnru?Oq9WXhS zhgiX--dbNyK%E`$XoY#+G5@zr^G|6M5_)L3Iq7S3Vd;Pi)14IJ=Ofxc-SATwy$S7} zX0H=5`tOcR%U^;I&7nK6hUVq~sY3OwVX<60+}|YLzkBIiK;04oi@ntYjJhmtg!0xW zYLQy2xJ&*0cLbRtJ%wODLq$TLFJJ|ofbnXgVqi&%0m1RAY~aOcE^f_vYl)6m4w1mV zv)!js4u67#2rT~`T8fU8%I6maVzT-<`)!cb&QzL1Z5$&X9LNpGaT+R?P*%xQ7aROk z2pktz%qL(KU_hu4iiuH(+ePb0BblXrJV!B0kW1Bo`H?Q~C&yM|EWFn^6}biZiv{(vKs3%s(%(^5pD_8zPRWeH@F844UX?-djBkt>>laJp1a zsG|bOl%yw^$Vh;NJxz@W!Y(=CmSyZfTzPpD0ceD%nN%FRL{qYpy>X&V+hW`OpBE4e z%{gWFv?=OU!Z!uLJ?+W!&;fa=UQ9F&CNW`yyGIt*J{*U3MU>skB=eek$I>X0dMD?9Qx(}GF#y*#x2)ofjy#25 z-lKlJ^6UxCJ9{_#zvt-c=``em+kkAD4|1{lmJ`bJI?Iv} z?5xz16=JJ(+U779Fx93n?JOi|O2QBi0feBZY>hhU#IY1^heH@IC5f{dBoedft!j7dgXUp6`{f z{H%}*>G=3={=pp{Y52>)v3GlJSd$?KxtYjAs=M&*SvW4>G-_|FAoAnR{Ieg70AMut z7d=tOQ_QH34ViCI*ShX+>zw(kH;A(HbPm{F5O+AV&KG3-xwk2<$^2m_0|0B;u6ZrE@thuEDPK zXNz?yz3!x=hD712TQ!nq|Hte%Ac_zY9o7)OF*QqQ$l6inHFl-TMkDmsHo;`bzOzaV zNzqK3n0m%$?m)*4Q|ZQ+^k>R<(+Bk%F8AW$2Hkc`iS}0aUDYZWFEE|L?fm&RLBj?V z30SB3M3SW(9K~Sx!sz;8{}C!6feoWe3a_9T+gITqfPq2)tu@KNqz`SZ2F zUf)NaD+P4*;P=2^<6d~PANMw1HRQS(lEb8=q+|wmXe%O-NTd9~^n+*w3c%Ubtk;-NwYP~E6<+tS**hLdaKONb8-XHMeB(28ZDQk?JT&w%i;dTGxv z+{#dhafGx~#*!Dh0w@b*Pnf#OO2iAR_c+?Zb`Im?HCpPKQNT5*wq_Ia- zBf?fGX=#fhwXS;|Lf&DSu4jiiB z`E+2MG0a;nsrb*#Lnf%48bc27TDa8ThU5`4GBT4TPLJta<-9znmlX4^x+pzz zZU?En;TG>8W!P_$K3mxmZF_9{w?7c@BnWOfuQ;oBn|FlN3Z;Wx9l z0+wcL05HOR!0iXoDF8y5{P21WV`;O}3cuOw*^L41y!ZqI0E{b=R_(#*IffSDgu=E? z3FCvWKtfNsWC4@rl&pp#=9>H&+KaYlNu?$CHvnhn$z9SrMJ-Y2C@=~+geOYfKak-R z-@%vSx9Ai={J6!i?Op&*W(wf6Hdus>zfIR;0fx8-Fgd_4RGkQ{hji!#-CuLe0o{og z1nuw1syDQ5OoY8UCjFBwU*Ip`4Kg*u(UL_~`sIkq;qntW zTK5>V!AH5L{m6JaBkN6>e#YZUJ=L<6cC~8+gt7${gG(;&7ib#&82^{g<4MIjyG9vF zM8lvB@Lf*Rk{MQ8S?^pjH>jVbpO$tj0_`Gn;BMQ3ODBXf%X&EcfPljaO&>C`$H|Gt zJy&>7R)*=rX}r%V`VI78NRRtv`tjm$D4b-vPv}I#QLZg=X~n@rCjgE6cqg-n2#*^H z_UW7a$&Te6=va${96S`&l6n* z-?;r1zbYbE_9Jul&Z{Fe*PtQO2YS3>5+2>N(gnwm86J4qW zuxGDz-vk%TvT*dkUViLJ`Ofm>d`rtqUNyA0(K7DCc-~?WQq^H@=?pb>@yC`5dce_W zb}nOpO``nbq?8!Ren0^g@6O7+X!i_@s53Hw%rkF8QMAy1cATI(7)8>e1#-Rb+kr4U z71qU*S)^Q@R8}t_jP23P1U)v0Wwed!pCem}v_SF4`6bm{`K*O$v*i82`mO(9j3MSeKz_^6X2{Mh5J(gvu$;9%chON?46`D_ibJ7`ez zosxATxWB`s1@2~UcjSkwz~JY2Xpa57(N@-4BfkO``@DSThhXf>RVnyw$pBbf$S)#D|JvbSo?X~R8k zGE2Eg9)AC%K3+B@RRzvw`bUle09S48{2GR(pE|I5{U)}DMx^e~F1_6txWK&WoKVI+ zeYJ0nT93(u4lfQ$5F3K7p82wbiP?CVUB4?fXd4c2sin<|iGDzIEV@*4yUl2wS$eLq zZ;{;?1#L>A;HKrZ^Bd8qc*oe~cV`++pgeC~7Ch@JE>L z+ezrJYqjK?oE}7Ep4cb!5Z>uNGDUa0n?neJbzMQjugLQ4X|>dPivZ6P#b7i8?Rc8S zazJTF(?ecQ<*+&~cDxlCVf<-0{mm9=vZ*q*f4gP@7ahc?u7ltN@2Qol3o2a>Ija-S zzaPkY3GdQvZCd(3DD$SY#c8y=eWDwm;!pOO_E>qMmd`O9zXU^Kaq5@XNeB3M|c znlbvSz}#w6n!lQ+Z4F|nr%7kD$NS6+YpxFaTlak*S;s?alxojvtijaHENR~27mb$c zuH!zO$J5|j=IuWx|5?&+nnuBRkt6>`WC*((HRUmEIdA5xhTkeEfYW8(;Qg1$#XXkT zjV(AsrzDAkn(H#@?PQ%RQ$_TQs}l+O&3Xgz+0MoRoUxh}+FDpJ~T^71!zzOXXkI1q*`%b8tWg@6cBRf+lM(-B-&$_Kc1oq&_9JQ%%fs(1> z)ft4V(&)VNnP+bQE;W`ij#kwx^>RR~ox*mwrl8%kV=m9Y$72^Iw|wzG)M|ScXD74J zxSoKlRSMd^j|{u=1<7iPI;h?A8sWi%^|6tjk&~*&c3y)A*p{7~f7B8*w{Uhz$3pKj zxQ5Z@<{Aq^EveI-R&U7p^67b<qZrNse zw)~X^hklFfRacfcPluWn2!#nFqee*Q5A{pHIU>UVzM&Be$*svYdQFcLYebNMK3z$-M`S7B|ot?CchMsxN7{J)%@vxO3}25CJinTdqN3Uj|L z|B*GIRDMb3WXFf4X66@`uM0FhirBf92H3Or+LnL7Hb-HwqZk`N&9EWiFB*^7WeQ|P zNGM~3nfcWmJbi`ma3#>xLH@8Smw-7@joG{D|KbU7<%p)t2~_+0B=!>4k4FG}@0NLL zPBqE^_+9*mOEoVj-~i@x_R(8eJ`QKkJf1N;n1-avw*%QMs3_hY{H6~$VZji`VM9>9 zrg(RR7`xtqG*Ud{bh44L&P*-ui9#9{>v!#oLNw+R0CmTq>V3U9XK$8GPb-Q#v zfGU_7>i2^e^w5?@(bjN(Jj(q3dnvu5Wt2x5ARmpxH{+X=OY}E{j%^Xw5sc?-z(!jS zbje$ZolCEaeK8$+^SAWgU1LfQg&{AK*F?b|8$;R>>}`Wh5}5u+;6;vq+sbW(q!Q(K;B$L zHB@8HLOALhAzB<;sek-2TEUCaHiKwdb+--(?*mqA!$mSBHHloZ1lrmB{Q@TD^wxxZ z<=;0Yo+SJJHKa{ZUp{)Z(c(V>!AdfLtV&iHXAsdDxR$8tWopz%j}nw9=>uBv#50Xr zrYMxh>LMV?l!Lkzu!l>hLn>l|0DMphBFYH4mEuE1k8;hm&Y*Xo?MZ5e^_Ah8XX;qU z3JM#{jb1IZ9vBMt9;L@tOw2s!BG3Eh;F3j#2$iw~S^AhOCy|9#&UkXw>>TlHZcyqD zT^%E*xp@~hrUw_S+i6p{$X^SlktNPf@!~aOvpp~C2RlV2?nlhCbrs4kY8$hY71IUO|Ix}6Li;ro4ov59_k2H->4&Hd9)eDMk3mL^HjXWQ`D zA}+tmfzFdSJ(0(;2Oy=>E9Q#hRps)MT8xXNQ85=$N{5C2=&&c2j6zR_WyC0jM1>X? zpyHb=@90cGHhttsIH`Vj0-DrL5fyDR_`?y)=(FW_YHIhmtWd|4I}p!0j5lF@)xCqJ zDsHAJcgfg!M*tc}PFli4M|Vq7m5yP{OOjZk!W+6?&$!iPxZ~`s7`UwPXp8y&-u~cr ziO+VibjsuU$|l?2tttZ2$}<-D`g7#1i_(BeWe+8^}ic6@2alTL;xM+XP9 ziLf&ip5O@nX0V>?PUdnyUHcfC4{p38=Kr#Tk#aUvDbhhIRbjM1rxuymB~oOz*TL2_ zljWPuw&U3q%J2JZ0t~&Trr*yBLwM%ridmq1>ot=P38 zIkBPcfJ02DH&M6A;J#i=8?XiQ^pAo?bCc!ZN3-$*Si+Ll&KFhc>yeT^H>NpNK)hdl zIGbgDHH$Y2p?A82i)~8A2kcXZ$W5`LCL}8c&r53Re4NX#yRNW1eji%AAT;5O+B2heN;=}m;CnDetz&Rd6r(E(mtHj8S}0c?GC{2an{X4 zIjS3em0=|jfW*%sWAJCsk?iFs+cCi^Z*M+jB9ndgWV9#S>9>EG?4E}MDYFOtWY`I! zM$DD5`7M?$5vI(*qlSl9m%hB{tuDn8(iLwlM(kqF*DzNXb#^+e ztijVY1K7)E%t-TocnC^&tFRpH;HZC6!&h+;KF`S6{ZhAxCvv4u*&b3tOF9b=bp-EPnAty6I=bN}3PZNWGU3Z`> z+%~9QMK6x*@aY+N9uV)p{#?;utn%FGOy>UF02p*hCw{J~U<(l0vrr_diN{4i3IUsbx3T@2U`EnUv-}10+cLp89a$t* z2@s;~1dRKI%qDJNw&vr+e7Ur=4E6W~H>a^!e&V zzb|Np|3B=Xs+bI&cbQVd^e_M zcE2+~q4+S6{v^_UH=vL9qHNgb#oSlW8j3yF!2`z zGkhC?2c`$=8$>>4BG!Vhmc7qkLawXgMb_>x8fq0^V=?p#JI9U0Q^W_45+72T zP}Rd}hF6L&6V4Db5aPr|kCL0f-ZR(3uf<%70$hnY;x$YN68uPsr6idXB8rI8p)mG{ zxWayoiHJ%9D~%QrmDU(~23fBY{ddl0CwP)nt_Obaz5Fyz_<&L8wv6nM~6_(xV0+7#0HI^f z(Im#8uL{OG$c%sCv6%}ZAx`B4E@2sm>jW4_)J1?l4(Ld5bitx5d|wh@>MD2`6yO5d zdlRTnN3-(CXW=5Adh-(FQTgX$om8=x%s!tZ=@q2KNRvOr3`<;@1PFVSXZ3N^r< zpe}eD^S0xITXx&b4 zRGcT?Bs!jWzlnQVABRRi0I!H!u({;UO}u<1E})qsMt|#(TjKq?2oOH79Olu|ToSP+ zKXYuAJyf_070ZdyYxGNKhF^~1bNS~!Q%gt=hpy|Y4L4bAB&!KutObdCi|{RdoCAAa zER1F*7C})nGeo9hxgX{Ub^{51+5)~md;AIVc0<#D1;YXVi|7sV0NB@l&2s}Y&`{8{ zw6~VC%+85_;`{bir!K>Ujb?A!=rxxq&Cg?5AjTmHltSlgZhdD~R@ZXG-QMjMd&#cT z|3!sQg33(1j=t4~SzY^kHS-O#m;EFz#CDd_{uZ3JUB+S&28AK_+2Ah^;$Z6M==%wN z{3;H$iqAE>(8NGZ0-!WfKUTBi`YrYukdlyiHj0o*-G#NENG#oV_xf^K5h*5Pj za*fd5R&S?M9u4?A2z*_6twJY+{s1>*v_wz}Uw)2|+Ag2Ea>rV^e zc_L~(PrfwlWif1HomrAS=zhZ?UNbH%QpEQ10W7+^`9Y6f(|3l zgDh)miAY+X*hiN)R>#DsyJIYpp|z16t(e(@BMQuFFt@y~R(JhYWY8;N)q~&0t(+q3P0OkH#5lh1w=-{+ekox}ytG|e8{c(>yzok_?=H40 z0`5%?W*rE8mz$Kt&P`7l9?y=;&z%KmRHzt}PNDLpTMaPu3@Rz@T{yUKM%Ph59quhJ z3pIZH>C)4=)&_YTUh&Z)BQjcpvEjwRdr_+sGPw1VM}*<}pV)i4rjK)v&e_u|HU`$M zA$M8>5YrD}o5>UwO#gk7)%Df<$Qn&>0dMsv^tHi{ug@ufJhZny<-!`VZbbXffs{Au zy?)(RX)`Ok`#-Oqqp-K&i(6K%%LX;YY$XiGO0bRjm+!L2PBe3SR`2($*LN0TZ!q2M zag&v7(n6$r0I$zg}AkSuF|$i8v$88RuVX)SE+5gQkH(rKRc0iW!Y zu#DaBF*rr(kZX zHiv*{tEja_9~=i;CI^goU3_JZ)+u7>9!{3;w91cziIwW5**y_&-gou=T#diCu?>hU z-P{vFcy7*lOF&gQ3MctYL%~u3fSMLX7V^h3#nR*?gBsUTg0m`HyGJBdfbJ0ntp=Em z!w7MVM93=l_gz=*({S~=2-61&vQyZ^-_{Iw?-BpX9mlakD?4rC93rG6$+7;V`759f z5!l2Xah>vNF6`b+Abm&3ia(3ci+M~|Pig&{N*7g5i=1J;uaCOt?=c_^E%Y{(e{LU5 zy}>SNkp8}fFgwv4eeCEw0<^tPHlaD)d3JY4UbJ#55U(j|$-W5!c_Cy~s|?|f23EE| zQlF^o&f31C1vp#cfz|bcmm?>4HEM&l;C6-2iOvnF6Pnc(@1hq?IFBwBek}Y(v$I=B z4COWK`ubXJTm3F9=*VI<=)Tx1byTw_==RM!xrupyrlNOx*rY$P0MqoLOd_kx50}y5 zNeP}dDDI`5E%5tv#z8wg?q{~28b^Ji%=_Ao3$N6kUu81^mK^B^RejkutybFv<>@NO z$-?^T!gQYzpaj982HdD3@OAr)ULFu^7fWPdL!0e3C*0m+IkCHs@lK;{AS9zTzrDYw z={^H1cqlKcvpcR>0bS~8LOgJ_J=-2{X9Ttfn;gwPa0Grf>!$)jgO7D6L(U#NVH)4v zub}Q$p1bE7C??Ihq%%*rmKOuD&7_y4B!UK?zR)DEvhW)fU`oP6)O76W(o%I|#?&L1 zW~pP+p9L;i*cIZ&tSO`6Cnv*YZ|{tBy8J_!eCnDsG3y=T0BEaqFoL6UmGP$52vyvB zp+*2PWGG#r2+2Fq=3Yk?ehtKK0Z-++5F$cMN8o_}ARK)zCtd8z@mFlp98kHIpi*VH zyK1v^u2mKqGEbA-1!1N(9o<#-JCI%JN`Z006{u^=)|^QdX~&tJ-lc^sf6PJ-fIBJx zc2r*$t0Rd6kd4kQOTh)>mY+TSK+ye+h$223#v)9g^;UtvyI;8~kF$c}>(0x_q5+1L zohzmmZSLLYig{UFEMBD}e@QjHXL`W(e*8=>6IdMHxVRB=UaOoQ`l5>B@cX4$`^JEv z+aWzeNI|uSZBfkZyWhyuFZi;!bgdiMhu}J|R5KSFAn6KRIw8&R;B-%1DN5AO?XAwp{?aAp%t?|GvaklUc&h?P52P~+IhHHGj%+fazN zxQo#Z9(gwF-vQ+NYzUrR3*P9T1b$;quya1<$zy^V$x(%B0RHTR9xL(axUmWP$l?i(NYu)jHnj?-Dr9iV0x+cBxuJIj}fPh z-h{edudC&Z*;3Hz1N3qFC2#M$RPW(atyqPEB98UmkjRao?7LUgC|+0)6}A)Do!mY~ z+GmN+c)CO7_^mDvE7h@GQ$CBA%;(fOSYAU7fO#0@-G{RoTc=2=(q8%U>8e`WCz5qt zREA)65|M;DC}UmBV?TdN8!lHBdO)v}k^#b^{1 z#)u9k@mZ*j>0qZYi7PR35+bToxCGo4Lm8jvwXmR^;8@pPpe+A1$ft3{z8C%RN5! zwuoIwbWvPOwzw=D6Z8BN@t0rSt27a+_jZ8sp4EGoGmF=$&6IKS2vp6J8M$S)`SIf7 ztI;V$KPaVQG7oLJVI)XE;q*C3wB2VJuzY(wnqJ%88%}cK00^ZYki%ajuP~hk6qHP# zr)<|fF5^|CUgxyL>j(u$mLD;t{Zfb&DI1W~LdqqzxZCOFPs&Vch1{VM*m>WBq77;o z|03*(a2eB0u(@eAvQt<3qZZPC*sz#(KquK`R0OH#^H|Fb#m$CGI@TMDsj_u9a}fGC5&7N=2Q$ znvw+*{&1Dz1`h1+fWc!GU}i>y9ip_7uPr4)OK!+Mc@-s8fERASt74*EnoVncA2@qV zaP??eiECIsw@bIWu}P;B!mU5dUvZDxYI}jE&=vWvzv#25wKgp|Le33!%$j{6re{cV zYb&IsMKS_stf0iNl^|4Ed=~;yH!XJ4wpu>Bf^!Hi=Q|bBPkj#vVAY&ygFadKH}0_P zjT*GhAA1=cSVZ%TR)|P|0yvfd=bUrpPV<0lUelbWrf;|&Bz!JiCF$7whrodyfOr4% zzUf`8kRp9Nd{`Yjki$PE;8D;}Rpq~`%~w|b7Fw7@Ais_2FxGaj>~LN>na7MdeVqXL zTEH7$wwT{s5gwugfUN;S!7Zpalp5v{81?i`UA&dJ2^=Jx7))@ztr-p3+}A2O5g+S9S) ziNnyXC3(=4NiDhrV(bs6Y*ORN2GM!Jv-W7WOVY1s+|l9#xGu#9ZxfEXIAlLU33xX2 zLEGLw;#n3iQGbM;*)>N*?A#J>);$lLqp;XaK>Z#^+$9q@7=-5(cdJXtMWJ0no`HHP zCEr8Ne{l~qpIwu3?H`#vIGU=7-cJ!HtRPiRB82~3Op3X>zc+3`K&1|E*aw~F{S5C~ z94H_#$HRF8NIl$j`*t>oCnYclD5U(3NXgSK2A{d^eR|95OtW!r$EK+*0r9fb(-TrV zH=G-dkJ)afHgdaC6hrymVhUTDck$+8{aXXO$NwN-3N$q~Dgcpsv9<#Ny=cPmgYqD* z*v)M^GW~;dA`Sx2PastFTRXRwK!Eb12{>`hkQkI5VDC((M)8D-6wmJQ*GzsB=%wjK z;OAOCx}{?cT)ym>4+HZg@FBe~?blzI$T*y*Vs0bAoRA$ceLS}g@_Z^ui?l-(3}#c& zfac2TJjhAk2mzP#`=}Q^?PAQS=qTIZb)`}jDuYscCd`<$ha(@Ner~IV(lH}v7kR^q z_YHbqQ36*ZbQTDu5T`eg5n#-3Z`N2zi`I^F?d4eyAbzs`86} zOW3q{!v~(c?lnXTU$)PHElw!Im18~;nhdzB=A6H?FZh9?p64I#=fYjn#cd9 zxc{<4XptFfWoaAJo(t}#l2ze>XrdvW{xcYE`2@y+Wn&PxbaHkfp^c}%OCXD& z$l6n_3xc&nAw&LmT*B`p>DB_zM2A9Na>-U>_mN4x!pCrf95Q!Q5EhY)IB`;Hq>RG# zd=+LUZlqyhVo35yTg97fSp~ATy>MWBe@nJq=-wuXVnyhDbUh09q%z4$@$!5>ku#kF zCOv3~UmvA1;o>D5DE$C+CGQgBgWhl_taY46KGMI`H?;+1yV=Gwh%77P;hYRP~>4jw?J+Q zh@~P}xN-0Ov06hoIGF)M1&9V9!oV?3hkv$F;NbFICc+`otisTjGXLq2{A|d=-g}*1 z>;UdSIEcJmfcokf5}P2@1en$Cp9$dDfvuE*(%Pf~O-vmj*Ff;>*))87P`zn56%bnk zX-H5q6Oen3QW(%H;873EC~Hbniz4YfB+mj;#6HUHU4m&L!3$szIAb^$)FPr#WlkYu zv%C*Kw>ylKpsPCAG;qGIg%)0K_@BL zuj$~BjbI9AM`A>L-grJ*sNWYMV3M3SLy?zXTf8%RQ)Z^gx|@1xkIyA(U-5V;ky725 zjI=`Rlif4F8%R0@YYd-Z2I%W^XXMY^ZtMOY119S4hzV4OO1*WqHY!uF@3ZdugS5mKB zKsk`POE$sKJ|lYRjH%GH0TYSs^M_NquhDP`_yJ7=^?*`jt3Q3Yk;ao&5qcjK6Vs9~ zA6r@BgStTR$=6!}=?Iwj?Fzx{PY*qYsYl{As{Z{LO!h2oGOBx&WO55?h00~DN=FM?}KPL^G94i9R@S#`hD;F%_iy_!$T~>+ab)9sx z=y&^1ERi*yYhJ91wxcE9_;*c6F#rP?ux!0kp2V&S%fPMm&TXo&K2Lvm=`1dDt^54( z>X}Xq^`4}8yyc0gLj5F(9GzM&(Ou+C9dD{}JbO2$sH;CyYDzZ$H*M2r9AhGjv6{|A zmpWbxb3!R(5FU0CM!HUAe9Bo%l5k^w?S_mUbvT-(%AIbHrpQYPd|F0qlrjC*9c(3P@-*xxDSR{>)+#gN0!qShJBJN_0s4AR=3H=A zg)*rv92|v1x-;TOuH((Nh(8*#DWG_)MGY)yDI@)CTM$aa$qyR>ap{H(#V&Is&!i0- zXD+Q3x=dgYJytzCHjKCwS=DCJKbxQp%3d#rFndU)CDU{Lga9uKS3~7ykkUtV_nKNr zUdEpg+vXANYb9Kij$LgsfRaLWg{BC1Ojq`}_2Cnu2D(3%#Le%^`Htoz?Wv56Y!gnH zYuxTaACV`(O1H=hUP-8RvTyGn&ZSBnL|1~72`ec#0V2uJuClU{x5$dm^9Uw7tcDCG zmU6&o9i0=+7#7;8;(NLKya)Xx)4j4O8EckVZ7yK#H;2SKqn>Tz|&?udJ~4I)KA@vx_|@r)Kdz;2k{nq{IjaJF@&iJP`32u|HA`T)K)aG>7aNx40m1_RPw{N_PFafb7Tf`G`tU!}06ucTL1yGFPY zn(Ob|^vZ?cicSln17D@nj+Xkt78BLu*g@+OwsRGi&6Gtq9$(A8W<`yy1S-~w)2Z=! z*?bg13*)I5z*+wMEz_O5`T}P&y8DgWsLCaQ4u=g%ZYVhn&ew@&8Us?FJU8O)@cdZj zeg^a~GeC3td+kEZ-p~V|s*voh}MCQZRk2;92$Hyob51NP@G64{W^SAn7yY#GX6T}<{e{i`R(yj zFXOvHf5^7sRs+#=ASd?!3D5{H_p>2(Vc`Z^=%LgDP2$CXuECX~>uxhtW?(&iMBs!- zb54kGh8=1*uvmXC*op`hwHs>SiO`0SX*_CIzv_X*`4-TqpJQ=KEOGjgv``IT5D2JL zBawg^&JlS;z>2dnO2{-34Civd8GV^jXy8zR1!bHd$w4hxm#!ha8cKyn`ot5|GdLkB zZHJ0XODT&CEo5-iYK3f?zBR!Gz)OV>1!*biM2Q0?<`sWrYpBU^T*VnFysCloh!ETa zRWT>LKttgL8mj1P7+^wE2o6r6uSJMf8Y#Q6{@k_5-*I1)6+LQN#FB$mrTQ2CQHi5MU?EL3Jo}#gEJM>qe*{Oprc5bhey=({f*%tOG_cx&LwpN z2(UJSb`tM8pb8Th7FI=I2B0AhQs1E<q!8Mka> zDXc?bnqU*WXau)m;yQ=JRQ|P)S&Q8Hl6fcu~xeo`sLov;iM~KJ1lb?9%`nv=WsQA_h0~Wz$3Kujs^N#( zDYpM&{AzYR%@dZLOh?zt#9-b#U?u>N5=ojeCk%zc`;ucV1-(?r!Y;c}BFX3Z0ARf{JS6#9R{Tl!AQ z!4s)=^F$cIHR~jcdw?uEE!bv?-DHa2gDJb_-j^nvZ}CLz&y(Zh<98?D0m*rJGn%<) zj41V2yERp~cnno+H&dKwGX;A)m_pyKi7wdgpE9C!nXko@=%*D=xZHy$9n1eySc!`^RyrctWCd znXkrNeqHrijgSR_v3`c1*u7Q^aIVn=cUU1oK`$4r`@2+W>isrWBUmyEkjfZf4VE|Q%03e`?blknbC^9 zGTM&$_h!p>s$#!^E$4s7zyA13y&XPhQY-H#wenF(t+Sn6(HlvvG89&@`NTgA*Xl{R zvfFwsrpV2lR_>G2?w);bo@}QoZhxMf|9EtC@xuzs+2yqO*KPhBJh`9J%15QN*h#vH zBHKi9E27XJ+HVo1&qcEZv2Wr^hXvbQ*-UHYK56al+4ttkcCLTo_vgyl*>^|hAJ%8~ zXACO$(^~bYv=-S(7gxkau7d2jFB$!BB$TW?aZu?pUz;hLX|38Pt?ih8U#i4--lhs? z>>F-Xe)#Q&qrbOy!)V86;EKAR*DCcGuITQwvT_@Ft*et2Nq>X1b*s|nDrM4eFP(l| zfax-2i#KXB$yF2kB)J{a@68*%&6|e4{|!wtoJNltI5;pgG%ztaF*#*8Gc+@o4h;ez0XLT~4FV>AFg`vCb98cLVQmU{+AY#a zOBGNUhw=A+o9t>?YWJ3D^JJrCmYJp5ZO{fQXT43DrYK59l(h(I*{XEcO4O}E_zC&~ zwTgtu7JY+)AObt*;obarI2_)^dybje;$p(A&}#4`R^nQj<(tWB8lrVGW}G+TMZAKS z@ETslX1tDnZPS-K z19##sEWr&}jO#Fk2e1MU;vp=@!*~R%@hBd{DrxY4b$qp<;^^=~bR-oW{TF>u5q6de!NDIrN}UH||9 diff --git a/paper/paper.tex b/paper/paper.tex index e879a82..e3aba4e 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -57,7 +57,7 @@ \fancyhf{} %\renewcommand{\headrulewidth}{0.50pt} \renewcommand{\headrulewidth}{0pt} -\fancyhead[L]{\hspace{-0.75cm}\includegraphics[width=5.5cm]{/home/grayson/R/x86_64-pc-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png}} +\fancyhead[L]{\hspace{-0.75cm}\includegraphics[width=5.5cm]{/home/grayson/R/aarch64-unknown-linux-gnu-library/4.3/rticles/rmarkdown/templates/joss/resources/JOSS-logo.png}} \fancyhead[C]{} \fancyhead[R]{} \renewcommand{\footrulewidth}{0.25pt} @@ -280,12 +280,12 @@ \section{Summary}\label{summary}} produced from a variety of model object classes across a wide variety of R packages (Bolker \& Robinson, 2022; Robinson, Hayes, \& Couch, 2023). A quartet of diagnostic plots can be quickly created using -\texttt{gglm}'s homonymous function, or through instructive and -intuitive layer functions added to a \texttt{ggplot2} object (Wickham, -2016). +\texttt{gglm}'s homonymous function, or plots can be created +individually through instructive and intuitive layer functions added to +a \texttt{ggplot2} object (Wickham, 2016). \hypertarget{statement-of-need}{% -\section{Statement of need}\label{statement-of-need}} +\section{Statement of Need}\label{statement-of-need}} When scientists, statistical practitioners, students, and others implement statistical models, it is of the utmost importance that the @@ -293,44 +293,47 @@ \section{Statement of need}\label{statement-of-need}} ensure valid statistical inference. The R statistical software language provides a method for producing diagnostic plots for linear model objects created with \texttt{stats::lm}, however these plots are -visually unappealing, inconsistent with diagnostic plots produced for -other R packages and model types, and out of place in modern statistics -and data science courses focused on learning R with the -\texttt{tidyverse} (Wickham et al., 2019). +visually unappealing, inconsistent with diagnostic plots across other R +packages and model types, and out of place in modern statistics and data +science courses focused on learning R with the \texttt{tidyverse} +(Wickham et al., 2019). \texttt{gglm} addresses the described issues with current diagnostic plots in R by providing a consistent interface for producing beautiful -and publication-ready diagnostic plots for a large variety of R packages -and model types (linear models, linear mixed models, generalized linear -mixed models, etc.). \texttt{gglm} provides functionality to quickly -produce four common diagnostic plots, similar to -\texttt{stats::plot.lm}, but produced by \texttt{ggplot2}. Further, +and publication-ready diagnostic plots across a large variety of R +packages and model types (linear models, linear mixed models, +generalized linear mixed models, etc.). \texttt{gglm} provides +functionality to quickly produce four common diagnostic plots, similar +to \texttt{stats::plot.lm}, but produced by \texttt{ggplot2}. Further, \texttt{gglm} provides a suite of layer functions adhering to the grammar of graphics which allow the user to create and fine-tune their diagnostic plots through \texttt{ggplot2}'s intuitive interface. The layer functions are particularly applicable in modern courses teaching -linear regression where students have already learned \texttt{ggplot2}, -and in particular they are used in Harvard University's introductory -statistics course (McConville, 2023). Outside of educational benefits, -\texttt{gglm} has potential to allow researchers to more easily publish -elegant diagnostic plots. \texttt{gglm} has been downloaded from CRAN -over 23,000 times as of January 2024. - -\hypertarget{usage-and-philosophy}{% -\section{Usage and Philosophy}\label{usage-and-philosophy}} - -\texttt{gglm} has a simple philosophy for usage of the package: ``be -easy, intuitive, and customizable''. This philosophy comes about from -the understanding that an individual producing a diagnostic plot will be -in one of two camps: 1) the individual who wants an \emph{easy} to use -tool that allows them to quickly check their model diagnostics, or 2) -the individual who wants an \emph{intuitive and customizable} tool that +linear regression where students have already learned \texttt{ggplot2}. +For example, \texttt{gglm} and its layer functions are used in Harvard +University's introductory statistics course (McConville, 2023). Outside +of educational benefits, \texttt{gglm} has potential to allow +researchers to more easily publish elegant diagnostic plots. +\texttt{gglm} has been downloaded from CRAN over 23,000 times as of +January 2024. + +\hypertarget{usage-and-features}{% +\section{Usage and Features}\label{usage-and-features}} + +\texttt{gglm} achieves a balance in functionality by being both as easy +to use as the built-in \texttt{stats::plot.lm} method, yet still highly +intuitive and customizable for the curious user. \texttt{gglm} is +designed with these traits in mind due to the understanding that an +individual producing a diagnostic plot will most likely be in one of two +camps: 1) the individual who wants an \emph{easy} to use tool that +allows them to quickly check their model diagnostics, or 2) the +individual who wants an \emph{intuitive and customizable} tool that allows them to look closely at their diagnostics for the purposes of -education, fine-tuning for publication, or other reasons. \texttt{gglm} -satisfies the individuals in both camps. +education, fine-tuning graphics for publication, or other reasons. +\texttt{gglm} satisfies the members of both camps. The \texttt{gglm::gglm} function is made for folks in the first camp who -are looking a more aesthetically pleasing alternative to +are looking for a more aesthetically pleasing alternative to \texttt{stats::plot.lm}. In practice, the process of using \texttt{gglm::gglm} is as simple as and more general than using \texttt{stats::plot.lm}, with steps as follows: @@ -344,15 +347,15 @@ \section{Usage and Philosophy}\label{usage-and-philosophy}} call \texttt{gglm::gglm} on the saved model object. \end{itemize} -The \texttt{gglm::stat\_*} functions are thus for the individual in the -second camp. \texttt{gglm} provides seven functions of this sort, -including those that produce the following plots: Cook's distance by -leverage, Cook's distance by observation number, fitted values by -residual values, normal QQ, residual histogram, residual values by -leverage, and scale by location. The steps to produce a diagnostic plot -with these functions are more fluid than with \texttt{gglm::gglm}, but -are easy to understand provided the user has an understanding of how to -use \texttt{ggplot2}. One may use the workflow: +The \texttt{gglm::stat\_*} functions are thus for those in the second +camp. \texttt{gglm} provides seven functions of this sort, including +those that produce the following plots: Cook's distance by leverage, +Cook's distance by observation number, fitted values by residual values, +normal QQ, residual histogram, residual values by leverage, and scale by +location. The steps to produce a diagnostic plot with these functions +are more fluid than with \texttt{gglm::gglm}, but are easy to understand +provided the user has an understanding of how to use \texttt{ggplot2}. +One may use the workflow: \begin{itemize} \tightlist @@ -378,11 +381,14 @@ \section{Comparison to Other objects with base R graphics (R Core Team, 2023). Further, \texttt{lindia} produces diagnostic plots for \texttt{lm} objects with \texttt{ggplot2} graphics, but does not include functions that adhere -with the grammar of graphics. Finally, many packages provide methods for -plotting diagnostics based on their own model classes (see, -e.g.~\texttt{lme4::plot.merMod}), however these methods are do not have -consistent usage across packages (Bates, Mächler, Bolker, \& Walker, -2015). +with the grammar of graphics (Lee \& Ventura, 2023). Finally, many +packages provide methods for plotting diagnostics based on their own +model classes (see, e.g.~\texttt{lme4::plot.merMod}), however these +methods are do not have consistent usage across packages (Bates, +Mächler, Bolker, \& Walker, 2015). \texttt{gglm} hence addresses a +significant gap in functionality by creating a consistent framework for +producing diagnostic plots across R packages and model types while +adhering to the grammar of graphics. \hypertarget{references}{% \section*{References}\label{references}} @@ -401,6 +407,11 @@ \section*{References}\label{references}} for mixed models}. Retrieved from \url{https://CRAN.R-project.org/package=broom.mixed} +\leavevmode\vadjust pre{\hypertarget{ref-lindia}{}}% +Lee, Y. Y., \& Ventura, S. (2023). \emph{Lindia: Automated linear +regression diagnostic}. Retrieved from +\url{https://CRAN.R-project.org/package=lindia} + \leavevmode\vadjust pre{\hypertarget{ref-mcconville2023}{}}% McConville, K. (2023). STAT 100: Introduction to statistics and data science. Harvard University Department of Statistics. Retrieved from