From dedb30bb13db258f60747bc909d3986dab68efc7 Mon Sep 17 00:00:00 2001 From: lrberge Date: Thu, 24 Aug 2023 16:51:00 +0200 Subject: [PATCH] update website --- docs/404.html | 2 +- docs/articles/Exporting_graphs.html | 75 +++++++------ docs/articles/fplot_walkthrough.html | 4 +- docs/articles/index.html | 2 +- docs/authors.html | 6 +- docs/index.html | 4 +- docs/news/index.html | 5 +- docs/pkgdown.yml | 2 +- docs/reference/export_graph_start.html | 35 +++--- docs/reference/fit.off.html | 29 +++-- docs/reference/fplot-package.html | 2 +- docs/reference/index.html | 2 +- docs/reference/pdf_fit.html | 17 ++- docs/reference/plot_box-5.png | Bin 30629 -> 30923 bytes docs/reference/plot_box.html | 23 ++-- docs/reference/plot_distr.html | 143 +++++++++++++++++++------ docs/reference/plot_lines.html | 70 ++++++++---- docs/reference/png_fit.html | 19 +++- docs/reference/setFplot_dict-1.png | Bin 26321 -> 26298 bytes docs/reference/setFplot_dict.html | 36 ++++++- docs/reference/setFplot_distr.html | 105 +++++++++++++----- docs/reference/setFplot_page.html | 60 +++++++++-- docs/reference/us_pub_econ.html | 2 +- 23 files changed, 470 insertions(+), 173 deletions(-) diff --git a/docs/404.html b/docs/404.html index 00a8d7f..a98be78 100644 --- a/docs/404.html +++ b/docs/404.html @@ -32,7 +32,7 @@ fplot - 1.0.1 + 1.1.0 diff --git a/docs/articles/Exporting_graphs.html b/docs/articles/Exporting_graphs.html index 4b5122e..42df688 100644 --- a/docs/articles/Exporting_graphs.html +++ b/docs/articles/Exporting_graphs.html @@ -33,7 +33,7 @@ fplot - 1.0.1 + 1.1.0 @@ -87,9 +87,9 @@

07/05/2020

-
-

Exporting graphs with fplot -

+
+

Exporting graphs with fplot +

Exporting a graph is often a chore, especially if you want to have the best looking graphs in your publications. One common problem is that it is usually difficult to predict how the text contained in the graph @@ -105,13 +105,12 @@

Exporting graphs with fplotIn essence, it’s a reparametrization of existing export functions. Below a simple example is detailed.

-
-

Example -

+
+

Example +

You can export any kind of graph with the functions -pdf_fit, png_fit, etc, which are the -fplot versions of pdf, png, -etc.

+export_graph_start() and +export_graph_end().

But first things first, you need to provide the size the image will take in your final document.

By default, the target location of the graph is a US letter @@ -124,15 +123,17 @@

ExamplesetFplot_page(page = "a4", margins = 1)

Now let’s go for the first export:

-pdf_fit("first_export.pdf")
+export_graph_start("first_export.pdf")
 plot(1, 1, type = "n", ann = FALSE)
 text(1, 1, "This text will be displayed in 10pt.")
-fit.off()
-

You can notice that in the end of the export, fit.off is -used in lieu of dev.off. This function does the same thing -as dev.off but also displays the exported graph in the -Viewer pane of RStudio (provided you use it). This way you can directly -see how the exported graph looks.

+export_graph_end()
+

You can notice that in the end of the export, +export_graph_end is used in lieu of dev.off +(which must be familier to the ones used to export with base R tools). +This function does the same thing as dev.off but also +displays the exported graph in the Viewer pane of RStudio or VSCode +(provided you use it). This way you can directly see how the exported +graph looks.

What about the geometry of the graph? By default the width of the plot is 100% of the text width. You can change it with the width argument: e.g. using relative widths @@ -150,28 +151,31 @@

Example

If you increase the pt size that’s what you would get:

-pdf_fit("second_export.pdf", pt = 12)
+export_graph_start("second_export.pdf", pt = 12)
 plot(1, 1, type = "n", ann = FALSE)
 text(1, 1, "This text will be displayed in 12pt.")
-fit.off()
+export_graph_end()

Figure 2: Text in 12pt.
Figure 2: Text in 12pt.
-

Now any text is larger, and since there is text in the margins, the -plotting region becomes smaller.

-

With this way of exporting, you need to worry only on two things: 1) -the final text size of the graph (and you should be worried about it -anyway) that you can provide explicitly, and 2) the width to height -ratio of the graph.

+

As we can see, with a larger font any text is larger, and since there +is text in the margins, the plotting region becomes smaller.

+

With this way of exporting, you need to worry only on two things:

+
    +
  1. the final text size of the graph (and you should be worried about it +anyway) that you can provide explicitly,
  2. +
  3. the width to height ratio of the graph.
  4. +

To create the same graph as before but which would take the total height of the page, just use the argument height = 1 -(height = 100% or height = 1th [th: text -height] would also work):

+(height = 100% or height = 1th, th +meaning text height would also +work):

-pdf_fit("third_export.pdf", pt = 12, height = 1)
+export_graph_start("third_export.pdf", pt = 12, height = 1)
 plot(1, 1, type = "n", ann = FALSE)
 text(1, 1, "This text will be displayed in 12pt.")
-fit.off()
+export_graph_end()
Figure 3: Text in 12pt, total page height.
Figure 3: Text in 12pt, total page height.
@@ -182,13 +186,22 @@

Example
 # You can also set the point size globally
 setFplot_page(pt = 12) 
-pdf_fit("fourth_export.pdf", sideways = TRUE)
+export_graph_start("fourth_export.pdf", sideways = TRUE)
 plot(1, 1, type = "n", ann = FALSE)
 text(1, 1, "This text will be displayed in 12pt.")
-fit.off()
+export_graph_end()
Figure 4: Text in 12pt, sideways.
Figure 4: Text in 12pt, sideways.
+ +
+

Changelog +

+
    +
  • version 1.1.0: export_graph_start and +export_graph_end replace the family of functions +*_fit and fit.off().
  • +
diff --git a/docs/articles/fplot_walkthrough.html b/docs/articles/fplot_walkthrough.html index 179a1a6..e81d6c8 100644 --- a/docs/articles/fplot_walkthrough.html +++ b/docs/articles/fplot_walkthrough.html @@ -33,7 +33,7 @@ fplot - 1.0.1 + 1.1.0 @@ -78,7 +78,7 @@

fplot walkthrough

Laurent Berge

-

2023-08-22

+

2023-08-24

diff --git a/docs/articles/index.html b/docs/articles/index.html index a1396f8..c03b78e 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -17,7 +17,7 @@ fplot - 1.0.1 + 1.1.0 diff --git a/docs/authors.html b/docs/authors.html index 9fc6c00..b94400a 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -17,7 +17,7 @@ fplot - 1.0.1 + 1.1.0 @@ -70,13 +70,13 @@

Citation

Berge L (2023). fplot: Automatic Distribution Graphs Using Formulas. -R package version 1.0.1. +R package version 1.1.0.

@Manual{,
   title = {fplot: Automatic Distribution Graphs Using Formulas},
   author = {Laurent Berge},
   year = {2023},
-  note = {R package version 1.0.1},
+  note = {R package version 1.1.0},
 }
diff --git a/docs/index.html b/docs/index.html index c3826ac..260c42d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ - + Graph export with garanteed text size — export_graph_start • fplotGraph export with garanteed text size — export_graph_start • fplotCloses the current plotting device and shows the result in the viewer — fit.off • fplotCloses the current plotting device and shows the result in the viewer — fit.off • fplot @@ -19,7 +18,7 @@ fplot - 1.0.1 + 1.1.0 @@ -58,19 +57,30 @@

Closes the current plotting device and shows the result in the viewer

-

To be used in combination with pdf_fit or png_fit -when exporting images. It performs exactly the same thing as dev.off() but additionaly -shows the resulting graph in the viewer pane provided you're using RStudio.

+

This function is deprecated: Please use the functions export_graph_start() +and export_graph_end() instead.

fit.off()
+
+

Value

+ + +

This function does not return anything in R. It closes the connection between the +R graphics engine and a file that has been defined via one of the functions: +pdf_fitpng_fit

+

Details

-

To view the results of PDF exports, the function pdf_convert from package pdftools -is used to convert the PDF files into images -- so you need to have installed pdftools to make it work.

+

To be used in combination with pdf_fit or png_fit +when exporting images. It performs exactly the same thing as dev.off() but additionaly +shows the resulting graph in the viewer pane provided you're using RStudio.

+

To view the results of PDF exports, the function pdf_convert from package pdftools +is used to convert the PDF files into images -- so you need to have installed +pdftools to make it work.

In PDFs, only the first page will be viewed.

@@ -103,7 +113,6 @@

Examples

png_fit(tmpFile) plot_distr(~institution, us_pub_econ) fit.off() -#> Warning: The function 'fit.off' only works with RStudio's viewer--which wasn't found. # What's the consequence of increasing the point size of the text? png_fit(tmpFile, pt = 15) diff --git a/docs/reference/fplot-package.html b/docs/reference/fplot-package.html index aff2331..3531505 100644 --- a/docs/reference/fplot-package.html +++ b/docs/reference/fplot-package.html @@ -17,7 +17,7 @@ fplot - 1.0.1 + 1.1.0
diff --git a/docs/reference/index.html b/docs/reference/index.html index 32ebe8f..1a2b41f 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -17,7 +17,7 @@ fplot - 1.0.1 + 1.1.0 diff --git a/docs/reference/pdf_fit.html b/docs/reference/pdf_fit.html index f84f128..28128b3 100644 --- a/docs/reference/pdf_fit.html +++ b/docs/reference/pdf_fit.html @@ -1,5 +1,7 @@ -PDF export with guaranteed text size — pdf_fit • fplotPDF export with guaranteed text size — pdf_fit • fplot fplot - 1.0.1 + 1.1.0 @@ -61,7 +63,9 @@

PDF export with guaranteed text size

-

This function is an alternative to pdf, it makes it easy +

(This function is deprecated: Please use the functions export_graph_start() +and export_graph_end() instead.) +This function is an alternative to pdf, it makes it easy to export figures of appropriate size that should end up in a document. Instead of providing the height and width of the figure, you provide the fraction of the text-width the figure should take, and the target font-size at which the plotting @@ -137,6 +141,13 @@

Arguments

Other arguments to be passed to pdf.

+
+

Value

+ + +

This function does not return anything. It connects the output of the R graphics +engine to a file.

+

Details

If you use fit.off instead of dev.off to close the graph, diff --git a/docs/reference/plot_box-5.png b/docs/reference/plot_box-5.png index 76890a5f2ef33f3819675ee0ef047cb968490cd7..37ed72f6d3a2024facad9ec1c2df09a4bbc17a61 100644 GIT binary patch literal 30923 zcmeFZX;c$g_cvNJwrC^JYAYg>Lx4sQ5Cmk_cEDm(5D}3<8I>V2&x2w^s|Z>N^Q0mm z^GuinqF|U2LVy4f2q1wF2!sG38&99J{?futt)U7=Xp-}(DE?_tVv2RYn+MrDb)Y``kxv2pBec7UI$@8ZPqB_S^Cj3k zXfFn|e5#Sg$tmx?s98gWp2a1A*BX{w(hwariL~n#+PHXV#}Z0I$s1HyLc)mA_tg_g zP-w_sde+t3R^!3T920N<&VLe(iy4Ke9S{n^Yy<^BUDE57PSDJmK1SE@nhna)2P#Hs ztKr)2QVED4eJ75%@{WO@hdkdtMo;`em>pUxVV#W1#^qFEElEjfl#?!-(G`cUI}FL!~+ zE%2#u^y@u}fYLwLAng-4VQ<0}TAl3derX?Dr-qEYpg5*Qjg74p=Sk=GD{$DSBJ#P1<1dJ_(o zTi+VPj$XyeSk%~!-BpLop4vY!t4kw}?Po`neyh<|!4y?+uolAv5eFhYR`Kvn<6Oh_ zUs^t$Y_*QMYRm_F4DZ|vgnq8k=77nKsmdLL(fhd6P*HKu zxVQH+uUwZ4^JM$;Yv$6P4R!`}R>T>Pm>e|rj@nBC4^Z~@I&8JF-|wZE9lie$@^CIA zi6qR1$yBkuoa)SFpVm;EV(bd!<8LLpXc_oVH>>wm#8VdQK2+SZjLnG6jU5Yfgko-G zh7b^nOKodBK)2kXMgWlCGk+^FOEZeSY-zQNe^%3Wri*Ag(9wzD^xvICn}xrnj&;&o z2R~OhL4{`5PDXhAWnGPE`+Q~nie%4->l}sbW$He`(af3ioH& z-qtx`1VOgEDHvXZ3F$`=$J5IRgokLl;hC_;hPK5Z=Cd%$i`ABg3{B*p2w5dy|*~SF8VOmj8(E}lv26Q^Qf}iT4=uurQuJo>S0FCvzjTsZp ziQQ!n{1H|qZZ|r&jfgh@56IyB!OSySelK^*kbp!wcD|$i|=e0(VrNw#$vNR zyK@YPgRDPhbVWGfO$xK@M|KvqR}C_zRn8E#OWWLj1?Kqn+aCK1p4p4$x1B=|RS=1c zy2a1#`W9oHikG^cM&5mbUd7kFZIa4EH8Q%2JTe?@lGxh5pPKthtEi(L$Mi@}lG$Lm zD5{93B~+%B|MK;x!hq|y+n|XF6Ks#qLzu{H-*HNllFhc&Vyw;>*<`EB?k5}OJ)fm1 zt39egu|6PBc?Rbt&*Q=+3*0NK;?H@$ArC#=K4$Fg?5rjt0Vt&-0`Kqp8362K5Pc?~ z+U_X_RD?}Bv=n-CS@RKw5{n!nv49KUnmCFe3$KCPKHG%a8P> zfN_QuhDl)vrz&a}YUeG!qeu2|rg#cupV6%AZl9Rv-ecgW^Q z!2!bbzX4)tIkEgrZil+)Z$Qfp)c4{`nC$%k5cwdhlP>b=Dh~j>`Ti>qnNl!Zrh_g2 z6GnAhZ&fmn_n1Il_x3}YZ28ygWc8 z!s?qZyxf(plo*P9;fL3K>ppme!Z)9kYUKyoX5WAkL%zSaw6GpR3^1JNd&0a{TB@C< zF20Yy^Mtsl&%v$}O}4=H71#>VZ7&d6CiDq}wW=7u(q?_NFy(y*S;`h!L8GS6X!IEYdr$8*wcE;<{Vu2B<+5s z-Q0%C7IJRR$?q1STpM40ZjhAp17(#rxp#!ephQZ$J6`b?LrV~>8RZ_ml z;-0G;m2+|tibnME{fj~%{gvznQ3^Mk&>@Eky<-_&1@okl;aXlO!^rw{3=m^Q4A+XmC zrL8?Xf8l27e3~fao<^1d1u2&~Ad|*a(p17}Fz+>9K#td^afm&=mb5!bilx>`XtEs& zoUD(V&5wJPveUejOpbt-2B)@4P3ZcvoPG8B(h;287qdGECRmrc&;>RpLF9~XMe9CB z12~qeCA=Oiu@WS-PC>&#hCV*5T>172FQ8K6+c8l|*Nqs*>>{^TT_EVY$Jlj<<|yAv zhus1c!B;3tZEa&@?P_(?$q-u6-r^+`dTtilL~L1gCRMLldkC4(H_!*4NE(a0VKEcf zeb*~OpeU8ZmcXmfpmmoej4v|D>1f3qkd7@*ju?0p;%ngjs1S~2h>5s`Hn(u2MO7Im z$C*_ye1zf<)R{!bnt(r+(BuYi_ygim^5uXA&TXsa!HNa-^uM)AnkzG43ER05Y#Uwp z%W?|2Q;=9<0Pd5*u~c;Hh>PXg1ES_}F?~5=NsAB+1e47Aye?!&$>Q?$Ty=Eyq_)=A z&~IY;9(@U9qW27x$nGDl(d<<>&u`%5PtxA`W3IlW%UJt&vKY(XUWu;F7A;zHRBjN; z$6qak+uhC)lM6uV?7Bk{2H^V=P(xk&)U5WvV#I);>DB~kh{7}kJxxSf*>Py*gDf;+ zMY6YyX4}WBOXJ!542~(jH4*L3S-Piic`{WT`B}4tm)7y7*Okw$v7g3DJ)2A+`-yPA z%soY98Ett7-hr@gXE_D^>&>xJmv?m?q*TYkGoirk@J``R>Q&R6 zn@(xAc5Cm^j)rE}jHxK^(MNbiC_Ry0pY?|Rw-*Q9b@QF1i2?YVl#~^HQjn z9V%rSgYTE$l&}4z{_j#hcH$)*eSy6rJPETV*)s~Dh*gMlrxb+m8_tonONPwWd>{Pv z(IX6U$&Kv=p@{UWMFFPyTS@4y3>oRmWAG&ZJ+$#|KeefOt|13;PvJU!Y@E?$OLR4W ziag>4iI>E~6X+pnXi}HSn9rVj8LOOI3xx8WZKLq?jbJeomxrAnKO^c+;p9}d7PlT5 zH1&NLnsPTSvm$KeqQV)Z1-5hGda!)ol{`|CxXSI^DIbxnaSu0wysl4TpU!|G*VAfF z&KS0fU5L^R(cuQKW88$;Kgvj$CFHHm&ke{XxnL19STUXRxTD3h4k`?(=WgcGr@&69 z9P3`C;XI2(((8QGF-xZ+-5<@eNoWjXI~8dpGEr&QnNww+uS@W)X1%qHAk>poQ8LH; zjWnE5WJ%@SV-(mIAMSZr+A-xT@w&XLotP9JK#xOT&_kDhHnEvcGug&t4>qh_R_ve~ z`EG{=g*t7WHDA(8&0qBE`%K7lEwq&?n>nz(#L)h}CSe~5XXuMAq`o`f$f~lZ@0nbu zzmDyR(@CHh`3B?;Wu;MWXUKaHMB49$m3Uq|ka62;vb17+(Jix+j%diary25B`?Wn% z4mgz`NqsPERRvk*a$R{Qu8SSzq52R}tBSF9!Kl4c4>3z$%nwzWrPH#NZ_}zu){JG? zKOzd4X;a_2%EycI!|f!jtaiVgXAhlw8erb($}sUPmRHQWgl)>?%bkYhjDrEvMHh^7 z(VVlHb8EN{B$*ew#q#fTFU`2teM_-&_fcok`+QGikvq2QfJ4~h#c-d_eV-QYnORL1 zas@7_hYJQJl8Lur>>SH?E=3Dx7@5o>hQy{1~2M)D*j;SVbaTd zILdyc2MP5n!G%Zi7y-4EX}0J+J^M1=AcZ_XhPL{E$?R{wEYznpcr%!4D2+4>NXovQ zcO@%ue~@CSMzJ5sBxN6Eb66K|s2l-#r?BjN56TQJWZh*FT|&JbFtJj5N#}6ku!wnv z2NbLr!wDh{}4%4|mA zw~6ajqxBlNrn`NEuPDN0I0be()y)w1+elUhr!Wc9qezAL*@97tn8AEc^|Y>>MO{+2A7`y|ZorZ4 z%8A3g8bp43HY(BOS1T)3Ugsf9jB|8$Iy`4qI?n@ZP!`!FH>)>Vn(2Aj{)Bjz_kliq z@m)#J-#t*|f6yt}#B+KL-*#&{w{=27OZY6egNG1Q$pD)rBzQTwJzdv$sYlHc8{n=Tj5A3$&0fgj2nQ2A`-KjXdm-a4x zA+8Of(NMix0B%HBIANPyR(Jd|ke;r^EU&C>Q%Vq)5C0^E*hfChMMfTK9p1`}@_`;& z*SyL`rcpq3Pp1)k*Z4@+R&h;NZcrRPVSckqL|gx-UKedlKn*=@m=TChIV1pde-40l z6lTqu!%4lS^e&Aci;O0<*_Y!atk37sq#(DTi9hQm!Zp!!cNzODahn z-rrboqVze_#b;beoq+D8lPeSE3l~ENK`bjvF+77jpOV%`7B#!pBM6O(b@^>Ratf+{ zlh0gq5No3Rj3&TQrPF~=?$fhGM7=6{{vdi-k1pFJFbdBsBEPODJ`U^UZ)g^Ff$vfES$H?lY9c<*E zaF3h)z&zNf<+K#AoIUt?^Gjz}+V;IsIz>x;DVA3(i9 zgLlWWO~O-^aRbYsKPd8r{?33Uf2)XwG3oD?k?jT27f zUW?+I$}>dv1fu*Rc3dZ*Sh1dn4jBrN4^a85EY7Fz)@fc86qw(fiIfWRE#!om$Ki=* zsC*_P*tq{1<5;T}sb}uavfm!0nY5J~XE!caEI#5j-74Tlr`{9kcE6ni4hzhElOHhu zHO!~qq3^#&_t4SxQHQY~jTU9+iE1X~4=}mUbdhWMYW0FtQnDA** z%TVlCVyH@verYZRK@$wtDC-=k*KdlS$tRNS#5=q(`#-=?eBn?dm7rpEsvx*Q%IOcP zW3Ud%DB*i?Hs{LIfRo7!<@fZTs)NgK$nSl3n;OsK4$H-pl-lmhooY>6_vhm0p-cZ3 z%u2B^p@wj3U-nT^)4-2{yRx__6+dcyO%v3p>Vz1pM~HGuD?Kym>vzY42nea?Yc=TS zeq(m&wqy5+yk-jKI;9M43}VZ(^Pf~|!#~voLZe~lpBY(}nVdygyLJDM?o4I^q2jXr zvbL-PHbjN}*FaafHfoQVV#j^;{gXAUnr*i%MNbnA+pMgGMFE*gJ(5wTrk zB=G~KMCdX-T{_T-V5VWpeOReQMj;nrd6OT zPVyl})pD-1{Xh_lLD^CW;UZnvXwrB_<%m={Zs|2_}9eL=7f%=^mX#pQ%hntjeeAd*E zDhXcTa*57UroLc6?DTTZj$`1Y8mt8nda8qaS1^T~{5w3x}8U zxFmCLy?#|LKMMeJl~+L%Q+k>1I(svfr6rBidbErRGJ!oNGr{}RmhrzG2lf`4crFzMb3CJS2vd+=g=iS=C#gV7 zc0oG}2))Jfz5#@u37w>~(e?}Cr_ozN0}P?~p&>$;vTiG@4v{xJq~1O9J{R_X_^|hf z32*Kn(dd82ZFvm`C+-Kw%(yHVd|Wnw2`Tunzs_ay;NyVozncBaYr!8Vefa;^AgzNd5yS)7 zALVM3Y>1Nj&->_~@8!(@`+o1w_xuxxf6u=)0NRiZ)_a4IgF+KW)A98N%GTnLsL;z~VH z9|HNH#vKGR7kNOF%-Lpjsk#WLi^30&v=;?~D8P5IzuVXwV+o6GFn9?b|K4lZc5kiq z3@gePPSh)h zUlG2BYHaw)TiTDv4ggA=Mr9l}H}iO7Dd>HDcC`Tt&5jQ5Gw?PRV8gezJe6+cSJGp@ z_gloP$Y|>-;w;^Ma2@mG6YgBV$NxJ=h5LN)7?JO4jGiY!tNu-bk~dw`o!9I(G=~PEP5J@bDMy?MS4GPL>SO1f-GbLIiZ-CB@+}O z`Ct$1ES)^plU5n-``GZCf`kaJ;LRI($rSe6S-exE37w(3L1Lu4x>`6C>fX6`@ebyXRKjF& z&9dNRUk)1i(_BaYR1IX&`mC9jh#-4N#jHg4QAp6@?lwZG&j!`tA)Gt(qp6v(`7yW+ zRta{UR|gx}%xA;wLR3-O2R2yDBFNN*r8avS(k(#~&^r*qmY%){Ul_?#c^*fS)<8rh zVaNPF&0tNvjSfFCnwmp!Qptyn`TpVvjPWQ-QYY*68ZNUGidmBWqjn9AZ9J6%u1DjH z;OwO`9a5U7Ju9n0etlV@GMGW3#l^;og?&D#zZ3qg&fHXo@%HM=qwKY>U%$Q>7#K*a zawALzh7@FScIL5LWo?2X4B$(iO~Xb||D=DXY~GIJ!nYiC!MmYj)oxk4n@$^o7rsYE zk#^?Pv$X!vv!jlsxs!bQbU3T;Un*>O9f+~&w(d*kpJ# zP;0E3f*A#fcrkJD39X!+E0Ck3BY79xeO#sLQ{qn@6Gck8e0gysMDWf}5&5V`SV9lD zf6^$MPKmdR?vzjb`0>LZ_njSD?S`xf8_YH4`#Uo>E^e+(LJ|kcFX(d}Tl=0=EV=>fq9(AL^aNrCAe0i(c;9rjT{OW{6yt`XIe`8o{bw z4q-f})(|~O_(IEw`4NZsu&K&SMvu+1cuDgp#J!4I!DJ@P@E> zosA1~RAdB;u=h`0>R7c<081R^TBM+U6D_JQ^=uQPwWmL`Z8*TRD8Za;cMPVc8J^R26jVzxN`XI ztafnLq>}E@KUcdEbk%bZvXv)Vi4kxa66_X)MF<h=?uYPS@|k zQX2Wg*XP@kN}%W0u@X^a%P&c#@Ir_#!K^S%;s~rB$W19Trq0BG614|Km-tEG^&vY zVIW|H96u5+j2usnsAVMPJ`g!B>^Y+3g|EQX@U}P1PfOMHeakV9Ik!?Hk?*jLh<>#P z$?-6te?;G`w?=Hi{0fwwOx6cWK<|4{hS{}tn=En|49eklPM8_=DZXHRYY2hqySf4| zPSnUroOPj`!bI&kTEh2?R~=F?5>)|mEyj(QjTUvXn$`)>d0YDp$PZ?HB zWtE7?a@YJP$k_v8s*CRd+Ti^Oa4<>S%M zq*!gaRPG20lDx0_929tN=Q*CNSkll`Pgw+eUH=pV=6HUhEoX{~thhyb*|+@&YB&93KuoF;h!L-=f`!b`sSLYkDQx|;Yez*_hB z&`uutdofZPaJR93ePr09zwr#N87z4OW9vH~6-ZUGGNnz$3rc`}>&^E(Z-Y#^S<8MA zA%xW22i&nARuga0o(kLZRt5%4J;e75z}$Y?X`s6}3sDDKHF|swZDtNAxxuq@AXx@k z=Oj_}r6RX&vuP2g^QzO-TzViWt8>cVd@o>`DMZ4Yi>TUp@x6e&BSvPc4ef1CR1@pE z!jjRbr*FD|CXfD1G*Oe<%0kSmiSGm2jGqeIw`hls(#7f?I1S!E(C9NC z#jVRn0Q+#CFSlt&WkeqSdzs!Qyz}EVwuz`_rK^0QuG3K6vwIHVmMAas@c_jQY33~q zL{6Q6F-lpaSn~s?+X6S92Ha@c%@wVzgZ)2}#2SreSoy_Z@8|mTScDh;A%R_yTMF-w+M(l3<_y_fc=}5aAEeOg{ zAibxM7!Rcre1Bi>gX?ej)@64CE{X*JO_nhP7p$^-rH7}+5Q-+sW48>C0o zaZRYAQaX$2eX7NXu4U`wre~AP)AnLe_-u}tvV@S`KPTqLIPV#&cqF_6I z=VIG*y1*hl1;%)bQd9a`^r!oALmA&E&fwG`vGZMQDcDpLuTpf^>b-J{_$UQAf2aX$j@LQQwO=3U(PZPtHW<55a@Ly6+pV0Eoy?YcOsHq-POGAELZ4ooH6est@zv8Y)R<>mEdegJ?45 zz+HIiz7JWwpZY$`UOZLD-~S4ZmFl<+V?Je5?ejQ37m2_7~x>4&_EA>z5eOYjUID0P~z8Kd>?g?_jC0fneY- zY~Oqru2a|guR{~lKKmdt1rgC-Z#QOJS6lu#x+}M#B=|ZcH>VAk-pSW8_D`DTA_B7# z$=%0Uzb2P@dce_vl9V()(lQ5Ec0=<*obdlV7t5<8CM3D6ZCY5WABJ~o7!~&( z5|A{kP{W<`3X;F5u6yY4Q#`c;?0v*t6hN{ZJVONOpwPm;HI!JUW8rZYUosLdU6v4{ zTwkr##PL5!41upa`g#;5jlP^`d6=X;rdAElFu)Rnfc>#e&Ig5BlvtrqpLCFO$QNGB z$SJp@1glFf;oG=v#uhdA72cvly6)|}$M7I;4_4w%ETtHTV-(!qC{GChC{fFo%oMrX zb6=0hrM+-+ZKSu0(usaEhZ;L=03c(NrU9%CyX%q_QfI^A`;~+<&rhvNN?Rq6YxX|i ziEK_ae(#SR%Z5)yD#v%RQL*d&9fK$_o%<6TVEAjYA2`hDXC9G_$^`7~k3Hv>A14BD zL8Vew!+E<*B!g7Ql-XK4zReSPSH7UUG~+Jji^@3C3*wtE;oOH;q5ah6;<{p;bzYM6 z=sS2lye;nCLvsR4j4IX+FdIT3*t_jtm2(BV7oD@-s(P+Y4&ZhC-Qc`C{wD=-e%TmY zzE1D&F4{{|lbscIri>x5=~KE%GC`JbNIQ0-5?quX`s*cT%8PHzGBZ@Z;i8;l{O>A)_nGIqAgYMEOm zf2!8Nby;^!AcCX8HZGVHoN%O!(;3ECmfpBkia90WU5^5}ju|%|y7B0jOLY;;uLR-!CG;Tgyzk0dU zm>yy79`LyH84zOpt>)zH%LyVhZszhBD7!c@;tQzsyA{pLXnc&jc(jb)tn&>|o0AWO zf#bQ7oB8aGADK)qo{uW6tlaLB(6L-Zz=s_d#y14kAjQ|Cd9xH@hzdQ0tCW5y3DQeb zLJvjOF8dVNXsZEYBIB%uRq=pAyo+}GO& z&ZP90a5mylv@gaPf>(y8V!*iTTc;zMSrKpxn|&YZgAq661TLqMw?Kabji8+qxLq(@ z7jyrYmd3T-;bK8`#ApqDGjh28(#lJ;;_P;YL2G7ETg->p+|g4w478N8WxZC! z&icpzC6aq{WUq1e8}mXt%1+Pv%~9#YG~h{HK<_p~LuN5ea7IC4y!PD!9D#wz{S>1W z1w&cMvQs!MGXo)`qIYVrH=^qU;!Ww(2+8aD{1{|scP{K1I#O@ytUJjLq>tx%FVQ~? zvsV{NmRCxl^w*GB#5H(VU$aus1D(cr?xs$7lMIYN9{q4b%>FiY7BxOpkDrP#r~hS1 z7?M=_8_q8JxkJy{m!wUXP3H8>4mCxjnl*gTdH(gPEI6&6i%_0-dm2C*W)qyt`tr;V zHOA-brN_k?rI3r`+$w2obe^_UjF|UVhh?w$kWfY3O?@%1&wo?fe^%jNUJ7GFe0_bt zz?Hc1SheEo4UQ508$zzlolSXm*yK(_pDt_1m0Q^fUu3<%`ZCddQd=!=tk9NGph^qs z3-SC|$l02l+$fI^TgvN7Jlo*aKRsAt(*W1Rd>`5G5m|;Q->W^XbI?#x+b+?)vPVI3 zvxV=rzzEBdMN$Om?}eLwj9eDdS!7ecLOrH9gS8jD4h(jjgOW^m4%uUU@o z>UP%K?LhCL4T$I&u3K`oERm{j^|gWvB!fG?g=|ul2Sq3^TVF<_tfaSQ!k<`V+Z2q4 zi|*5A&g;8u9$jT+Zw^c~L_vExTe)QTO*63^w$E6+ zB(t_dypcH>BB|Oz<&z4!5;AczMhs$a5RtE^wPc*g%K^+Ww^A2@AAOdrUtH}P16QXX zJq^gq@UIW({F?COA7npKjyQq*edhnn#x%Osj~BT*{iPv3E^ayHz|g;QQ1Rf)i!gnC zeZDiz_aBnHI>alzbIMJcj^~$`63wnP6u9wGwtYd~BxR)}?qFlqxIfW@X#>+27}7=!rfFrR zO$h5gy*F!nC~vum%L{O=W(6DU6(-^WZjDH7pf$5ZCwDh65gw7SEyHe%A+P7ZA=QMr zO}zcA{*fB+0lj4ar3X$w7qY5!?y2VeBMY`Rx1Rrp%2CV-opC%oF7$#3iS6c_hEb+@ zLOB#yJ=Ix*bp$R|)y>uqCzaF~5IHTHx`An&Jq-dti> zaoOM(dW^~l?Go5)B$9HM{h-Rlz?l<=zN^$$knx@EZ_qPAl=EO-_qKowan_s8ECX5V z)pA5%;n~hQpWB^|UUt`0{uDgsE@>jwnnwP+*smpUP&zPWsCEyslN1_o{ttfO0E%k1 zx0^vZE5e!B*+d`uy=mKGj_I-uUt;jE%Utw@(?|wH9+getK?J(w!vKn8N|ym`Gg71i z?S|_)%g-1r%(CK-b0wEne<0jY_cF0>+|!r8A;ZPtwRVF<+zbqktD&5&Q zD(P@vbyT2Mi7Ace{8V%-hdo&``Z&5>T!hnn7O5r%+<9!$x!E_JohIPonx48!BUYvg zxO~ij=n}fzZ4g!&QpX{3Dk6kj^1Rc-{1D38^bThgebCwR_OQ-JKTZz%kl@;YE3}A$ z(-;<^acWj4wW#V#G@{f{&N|PNqNz!%aarm%*Jo-I;lzut5dIHCRY?LIFam)DWM?R$DEs+%{vP36xY zvHaP*2VS^dIobJML`3W$&!yjw-MD`7=o{77z@dGJ*V14>Uf)_rm}c1ahos7(g$7DG zlf|gF^P}uez?(}f11v1rl!8T=zlgNLNC-?$>=p-q`BZa=W)mY1qK>-2;K2d6RkU+k>3t?*5R3v;22H;;(NJD#X& z)dgF&>2>1W-9v@dc5JZWOD6!OOLlHF!g-l^Q5WZXgOg0+&6#$dNWayJ+a#HC>ZkV?g^=w`md|iHX~jh^VCh7qJERgQR5)ofasR0Ux9jG9%*T2@l~_Nn zs9B2L%2?~^>r=-#{pLeW%^G^#ahv017FC>`T{usEHdNG)5N({V%By3oMn}AE=&NmZ zdy0i|HDE72F+D!muo@LQI&ZHKzLjIMn<*!)Ivz(c#4n(ZKNb)3Tmrf?LAAh$&?&kD zK0rCe`R!(D(g(A=3h@{iJ-vQF`<{JM-@@4th?3 zJ9C3GY<&DH@n44968FdXef~77FLObfdjepc!|kQ9gcVGazbF6vV5tL<ZKFWpzpGG876|SCh%Hcv9zGp9ue~g)jjj?nwSz*Gxyga)GkC?17zold5 zw6?zOD-AWK59&g3n=JZo>b>Ni7KGhTKd5Vn|CO?N#6B-;cOW!}k9_J1wqSwr5=D71`)SCqd6 ztzftI{+u%Kcwccq6!T+rbf*X$;@HHi)uMiFrJ_9Y{+Ikne#e+4hs73UL?>N!oVYF= zGwg-eJ0I3F5msl_wiy3#?HOf+5)lV8rD|!6y9v~y==N?rUZwzJiM;FG-Bl1^nOADQ z*M4KdVF~E+?JMVnXU!YKU651>Wq$w|i5<>vWff6S_;@jLt=9SOZq_ZoIZZO)47Vl) z%Zw_a!@!8TA;CDBbr86ww7`jsXbhhE)YnizP%HA=N)Hobpd%q&zO6CU)1lP)1?Wiy>S>9aP-fx$fmW#x5kP$&c~@ zVy9sD*zNx`t61GQx9o`}^nVX)*;5HePTe?9*J&~JC*_GI9Id>u^7eD3o||(WHL7uK zbE`X)@$$>=zjvsI8d8Sw>eqUI0n*yxpu)UcyVG%Ga(RY7$;DU+el{w=o6$-+x_Exq zP5OMV8& zUtHw7i=A6WOw?`^bJ>oLz|_zJhsmH543&0okv9UxkTlV&+z6kYJd6++% zum}eEQHOFIrxYKc zT9mLCC{yfnPxk9{OdomNy9cljn_GEZ&`C6>!@?QvB3j* zA*5X87`#A*^Um@B&IyEbWuHGJxx$=aRgT+srT?-ya3_M}!X0E*fb<*R(Uj=Dw9^Hg ziZUKRp7EYy2RrGLd$-x0BPRj-!n2maVLSb4Au<0U@lw2SPL(f{5H0DJv34ljPZ*YtdH zVcl7u>|axltToIfDYUPAqQtj@yn`Oc;r?U*ZMSFk6)D zvyWE7i8ILISCYQ;z~|1NzbIm>x=21>rfnoe?-@AM}{`MH#dF)4sHr?W$6m&gqQnA-v z%q3pjo_EA-B4mk66|}hbfB#h)=hNv}E6HWgoXW58mU(*ayhUlPHkcgKYG?S{G!%-H zMn(_Hh)<5+AM_a>Q^al+hRw8Dz7mH+HIRJicw3G&eYacNAuc%JKtBf6EVWwSv{U zt-^gG5NRfUa*5rpGH)+ge^TfQ|}h=N}R_zdM~`u2WUA-|H9uqF0A<2 zR^Q$`_g!nq=l5Bd_{0aA8O@J_to$aDxgx?Griy^uimioBLs>bd&%&_qr__uxaiQ|#4oi9g|9Ft*K^gwTo}(JS>=+fq2=j9J2oZ6 zW1^mMbq!wR-90@v?{rld`s!ga{Kc{Lj&AC*!l80t9g@uL4+kg&nN2hgyWEpm+wG-x{-aJ9PPX25wnAgS#`^GIQOy2L13xUqrBGNsG=UvcDEU!W z?Lo;bjFH7r$Cu#U3KVJeI-D0QE)#hH^@Aa_Qdd{k09OR0!bjoZx{Q>3x8;(kK~p_; zw@}1p8^JDX8XMuqFt#Jr`z;QC5t!tjDvHjzoqH;)zJ7aY80lY`Hj#TZQ7y2eH?O2b zm&nMD*WGTXcAO`hlQtQmq|J8mkfri+wL%S$K(xj>_p*l{jz9EXq!{BpgiG`=+YCy5 zm{>#8RCBY_Oz-yzvx)LC%_rryA>Tlmi7BqM#0V-OoSGNDt{<_!H==~lwCv|X9j{wU zJ{_-3H-JTsKr)7NIx3{K3au@Y6ecxtA~+OEG9vKgZv#F@h?B%XnqSNwC{W;CQWm5!MSO)_BAh_Syv>Sab<#6Me-PQG3}| zKyvNNVx1O1DkY7D+0hEs3KiTpRhr-m&uHl0<*0zBOi{I&jrT{`0)U*~mCDsd#sKAm zU%gP|=t>xs-MBL6H3Nut2T|E#YoEPl%JyfFR*UtkPFGkgE^}^%rYIZvBr`moSUS{A`Is|z{$J>rKhbd8)Z|U6UM(CFHyFJGno!=Ps z>Zx}3vZJC8r!-XsySHsOCcR4Lzdb{tc;GR#Nv}c43)Lu^&onoC2y>WDHmkcx`AJ6m zBSN?!pY%+Z1K*t|5u#e~ic)Gyck~D)J#wY&KJwd^liVdg#dEx%7^JR^MDj&Jd?u))pu&r*>v77we--6r9)il=K}Ii=sV zYUxbg$+*eB%6Ln`b1Ps0n$XdjgnG-i|sf1R` zADegEf+J0jYwZKdOk>o$Kic4mNNoj{xARI2;p*Jp+&W&Q(MLc=puxg#TsOSqUUju* zg=URrxn{%t;ex}l0(P_7rT3ltvDPC@#_BWxyj=PiUbWqj$eCKN#%GI~6v6-gN9iWY zb0yQNsp(x^*VsL?rpNHqwg`llO^K>^J*3-Ovu`kR8G>+zayLQUdq1^8nJ6x)W93jV zGReOJ_BvEgdN>v6a9xIT(V{0@dioqUIdr=Xys~UJ(Y(F$sX5E-PW{vp#YMFDPaD6R zelICjhr8kbt1u}zM8?AnVnFaYs4(!j_tPv(bT~K74n~(0J@uk$R{7syw1*em7@`F+ zs^=r@&bP|9{8776NF;9LBVUQn1ULA12Tar~YA!u1?(s;;l)?twtMggf*FvGX)$Q$p z=kfdN6vrs01b-41pE>6#&@*13e+yd!fBPspcSQ=%`Pf^kkYz7n@0irIMOO%^j8QF{ zI_pW7NaL38kM|jSKaaMSzZdR^+l^PaH(4mEhQ?T8>sQuhV7-rZ?6eBq7a5ON3h`GD z>H~e?L`(N#ScUV)|+Hb7rL2w+-AX3kaipQfg={4h65NRqU6bV5T zkQR!e#gI4%jDv!LQU%5al0XOo2`vdlK@>#A00N;%lK=^2l0ZVpT|1t0?)mQD-yiq6 z_gfDS4TZ{2r=M?p*H}k&~g8e-fw*OwJg>6Vz0jgtIBtJvQg8QI7;g2WwrFbu$W4$|&^} z7Fsv7cRH3-s@t&9nv8=!V;BN5{COmr8^3UMkSh=*zb##uh_wkAU-pHbD;TJ@0wBIS zEShS5qi<-?G&iQDb*h4da5JrRswi@^4tyj)Ku;13%DCf;7A%H8kX)Scyom8!FwW6Z zPTW}HWO9xu_}&}oMm&SuG0YtW^n=)s*j=Gpq3d-4dy>B-8Ri}$_Bfk?JPIt76qC-Z z@&&;(r;GFQptus?Q4$aSe%2k5&|QyYQ>_SjRN&TY_(6;A3q%GrLt;sU`wW2B%qaB- z`!h5SZiDI9LTS*f{7~NyBjF*K49+dtEcNH8HNtvFBBQZEvcnTbI1CAGhN$Om>N~#R zMB1nlwLw`8Ecc4Hs?$ly;z4o7^9>tEB;fHpb$&rr1pzy_4C?p!aIVc2IKQ9-u%?fC z0Q(agGV1u5ZEt8*E*d!2{`o@TIcxN|sMP%)kRoa@v?B4bMdJf!VjhXhZYiLdR_GE( zK1KX8_ds-k|2rp(RHp;eKjq##W?hva-o(-KzLL%Km|6grD(Td7WybGF?D@djT{$j* zBiZ$XCV6JCW)=79lWn62y!p5~FhKBe12F6Mh>WT&M|<;FW&Wu!SYLp#VH`;l!Nznl zVvUV%;~PX@kG0p48;GJ{{)6De2cEL?ud$wh(0>=+*T*7e2MiVFJ~YO5my8}1lS6_Q z8P7z+UcZ1-cTr4TXdliYGAheirPELk#K=@sKRb(nq|^wAt!qb68= zs0^y>dhA>)QnF({1}VXz1!kw1%n_?Ge%J{My#yuW3$oC4pbJ?WQD3QD307PL9b~$~ zsplZ>+{e1Nz~0I@kD0QN0`4d3&&*hx9SH5eYx%V|62vu&23%tLuA;)B-K*a)6%ak|K)Oj# z0o=_ev}Q_y=p5jNF|dK7+UzmO5+_+6&I`_cCRP)h#|U@IrI(FVDME5K`Q5anUVfLM z2HYa%w=1HVsx8d{2A#%nXjgjF_>8GrMtIz&s02R1Vx(U=v#d0=fJGZh!qCs zffd$%VsY3pAby-TCJJMRS-aVO9nXg!GE$EC4#?7`WY7!u$f9(RaeJugsc0m5LW+a( zDPR_sKXc&e8k=)9vo0!+rz-2>%chKDW5x93w{i{;Z~-kiQ?Lr?%DU3XWSV%jbxLNN z!5iOJGU)+*oRzVyos;pwB7`9xIl@mIB4YS))AZix2y{QlIq70 zX+dijoT9Y0yhZ$yvs+jtbz(Uqv`C46h=x@YVM)RnVvhP`uBDq+Ww;OS>I0_Sn2Wp`bXNQFfPKkowXxB{ZUy^e!%rLH z`TG~He${lNUs70u4uIwUQ5@8hH-Ts74|N!H7#;1Vi0fPwJuOPu$qG_!BwUtf!A@fm zPZWRs7P@tf;UE>^>{Gz+w8xPWM33i$KCgH(TR#Q^MvcDGI+aQcQH&Ud9~G?$NUPSe zE2%ewEV5MZA~NCb1o`5hD+}&R5Hkr_aRSRIF2lR7N%Xgl1+M|+(QlN_ot};gRWCF(Nr!rC<$T^KR*>3pK_W%f|_cd?^(qgc33SOf}g!36*V{myd>Xxg$pLn+DDp#T`N!+Z(N4!)7B<@f(jDdRlvY zD@M)%cgVDO(h$h^W<60(Un6l0SkzPg!%YeHm{iVg60@A_#Tx@c_&c&Rj=eZNl*G*h-QmLgIkM|Ae<|+u0|WI?ZBr3yvb8YqGg8=$QR zQ@gRRsq5xw&}yoPvqgR7jiBiqcKvuecDgkZoqML?gfo=)3()4>KEQpN{6%48XRexM zv-aXG4pqV4s3{iSF-#WqCl~WB0%T%>T_y@@yRh4|=v;eJd?5y~x$NlmI;vCEqyCGY^XT z)?gji6F&4b%Ai5O_`AM}AXicjg*f&mXT!?^y@K%%#s zuyO=Ln9wa}&_ykrZaFh<5lc+8AL_M2qCsH7HMx~FN9Tg{x1r53JSvL@m#+0lJ7sD7 z`o}HEmHhtU0Famixe)&)783e}$WhISe7*JKgkWN-GVaw8WZZmJhoF@f+1NEfQ-8XVnY^?Ss`KddWoW^fQLyfam__3_JTr-j zhY_yEB=(J6*=|L#)@v?mYOi{SH0s;mXV&KdEyl4i#Xcy`N9}(hBIf(;5SLwZU4LAG*UUflD%$kXSdBqw-IWn6ZK&riV->u32jr~2XE^vc1i z$y^$(bWIjaMEneakheMY@^Jhg4W}@3oDtRsRvYQ9G6xs~7mfJe3}soC;hCgZiFNq+ zGD$&U*nTgIOd9cEzet#CW$?;3v=22yuq90K7jTfIxpfMp;bf{F0s-phH4&2IEE1`n ze@Es{yN*?#>>p(->yBc9`z2|fr$0+T@t<=LBxzH4XEtw`^VxBF%Z;Ij(eKQyS0T9Y zYH6W>T;WaI`1C}R|J<3Y%a}H{%ot{@*%>3owhVP$$;Qad_`!@voqT+F5 zTeN;-^^W=Az4z+U^d<%hStr!`#z85@p2c*XsdTQng8dnjW2X=Udc9&mn~{chAw7EL zT{Uq|Ys{M(T0ghGzHU7|Gef$7_|M_%BsrladT&jXe%6l<7S~LD?d$VNS5n>hP)v=G%%_x~SrD$9Xyb~5V)2vqt zJU^PVy$!JLxc*}C@C;*hrC7S&MhhDf)U_9n?GW=@gBc02M?zi~eb%3gWej?M|r+O$8{A!ktLuS&hgyjbA%N| zqszRN9^<2T&b4)Y-t9h`Wf=oO4mF< z_z_O3Tgc`-CFffW;SO-JH%oS>)!CrbMc&c`?nkRnxw> zsrQuZTKbIv7@3JJfAxdHTa`piUI)J1@AJ#Tx$GUNlQLV|T<#g3g^1oeuqZnX!Sfmg z$|@;`J@AmqtGu0MRrHy)`;+?JOucG&UpQqf>wYsqhpK8P%*9@2rB&MW+?a!+hbPyw zS(e)R@6uDU;Pmj#{+r6>?Twn}Ev|zi3XC*nyo)jv?OhD&wHipt7f>-%JejmNp!YM- z<5*3A(>4F)p)0*K;myEtLRrKT#E|#`imB?q9aKdL9{SMBEXWC1fB`;vqP-brR+mMj zxyDv9uzsVwjJ-}qhUa#I zhX`|c^2#taC&4oxs6fc$7WryFd^ej7;!DESYkzH>jRHq(^aCyYY-+pTg^0%-Ax74EzdTN^E2_3J!V+%LICT-k*4mY1)RVG1< z4?6;pOb92YPb-Y-dX)`10CIHm>A+jtbHni?i^sc)O|FNDP~XK{*^u=;8RPTqe z}CjISaek{&s-OM_+FXSQ8G9qZ03 zPq*62oI5W+6uge%zYgx7`~uLD?LcY@m0@O`gIcc9;^#b~X5qAMXuzn~Kwt3H=*c-K zhuoX%=)CaWD7K$7&RQU5WB~rh*tzQMdR-}5q~fsAZnmoCTjpK9&L%>qs2{?0`bm|y zLH8MISHNQHpO*E00o+*4$vQbVJd5JcMg{0>dFMTaz!=8cf#ZVlrw9A-rJY^7ik{l5 zfi08gKJIC5p;P=0=kl&jg)Hh~vN)E?K1`~g#!{^)ijQ5Rf_zQ=`@JSjc5xB_fV}Kn zsPD;cr0W2qFenK>g1tBtUguNu1*@Sl^m##ImME-?Bq&TDgs}WS0j&S_T4I~O07?jt zfrWAn8!T5`-}otsh-WH#5<1Pu30 zF<%CboBYNkaUm26Mlb+{O2xtoh3>)!2{CO6g&98WRm@(B`$%xUEyC!!&Snp|Gl_wN zYGHP)6_OT&j>DQku<0iaN8%8ems{H#V);)wrTJTW+xqsY(s%&r{JxN1tt(H$c#9m$Ztjn-JqE+(J7$lf zi-}IiS&iLl18WKyccMEKkG-Yd)_|3Cg>@)Wj@SG8MV!L)bPeX-Pc^QII+o}Tn#mn3{0_>pku)%OY%TA07wz#ru;^4N>#akUnS!t?^`wJRDi zPYTj=f=*u_e+K`I8Ev?JAJQBlHjo`&xhn zwuQbUpxjB-^7VEAOLaq}3=`TEWtu9|+n3vFxvEIKp_l&ThKQ%3*vhR$M6z0Cps{?fjJ)K$@mr!c64B#<;j!$%_ZNs!N zc)Axl*lWi%@ENwy%Q#85-dq7&1{!Q%qyP{NMCXO%ogSMwa+Y z{3&0l7;*crfh9O0FmQKHCG8a~RI{qJ%|`n3?`-EiV-*71RnWbTvCL9+y|?>QF{|7%K%mg{a6%a_}iUUGa%fC;n%R^Fbhzc zd~X9#mP>Rl45e3mb-iQ#^g#HFkCvJy6djhWnl!Th1GS@aQg4$9g%`BmF>!i`Omy<> z^xYhKZpPF~`<;g6>!YBMuXty#iPhD@+SZ{$A4%{LY&nvxFJ5gsvhE|j;KOJg0;tOP zZH^P50}wRb=}~~QvkfrR2nt^ZQiNEviscS{u~FRk`!!l}*unJBRj;wLnxuYLUP!Kv zfVksE1w*7bW*1 z6yeTO2ep^-_5h!x*a`+sg8btpNEKI*B%nr zyU;59p;~UpYIbw@io)pkx!NlVhe+5Hd|%RB`<*Q=Q+rkWL>r7bVd&?N!^7DhHh2HN z=F=FQ*#E_c*+|*sa1(L}ScFspyPttT z0H(fqwCU>|A4wkI7s(dXG9a~7RCEkK*XbAznm6koid;MBZwoUq1AZ<1Z5Wpe6+VE! zuw-t$ib<5D0W#o?IkISQU=K|3aN1P!HSw$L(P8$&S5DsCT@Vfq3}16P)F#>CaDQKu zK0C2al$xUS>}bF5TiZ7)&R4TM zS+NM)+Yhgl6<56Tye5ey^=I6_f+rJg&V^|~3*}X^LZELURT@;v&gQTcgzOC}TuVoT za_{2cNRN)GmZ_rtiyX{YzgBMzJE4%f1!dColwPbD zyNST3gaNK*O?5*IRHF8$oZQltF45`#187Eh&J2R~oKad^+2W14+_uxNG9*Zom*1T0 zOHQm7wL;Ub*iTG#rR6nyj8;vGgs#y_D#9dIV}94l53tZ3*+CwSuihGaWN*qfvIpJs zsc*QI0nXxpJ7^Dhc2F)1ic>#ZX9+tYHS8)fT(;S&VigQ#V|2v)hT|LgBe{-^M7Rpj z|K`82tHyUNGYf=2HB;7ykLEsj*sOg80w>1K)%o)U9Br11vcOtr&Z{**z*A*p}Ey9($qSyE(yoc$n>&wRhEv{{_IST^7D+Ab;uWWq^3l`run* z7_9sj$TcVi54|+tHzKLJ^@(YmMdS2(x~NsP0~XMG0~`o~K~R*OgmNPgguqOG(_zi2 z=Kr+f(uAW}#6!}zU{{G~*;1>e7hRLv2;I}`DgB#f(lst;$8XvOt6n(HdP1tNN>YCr z>*@^3s}Zk8j3fIB#V!E}od-k0a*{8Z_1KnN3N3rQ>vI8_;-L2 zEdVd6PcIr#=zn?rimBC-YIBqZLUKY5i4`_*s{FTYg`Eb%h1g)Q-mAV4EQ-s^T)|M8yoDUv3SYb*AAYO4Cn`Xh?OZ5hYYbi?a%2|){Td?8$`QW!8 zGU_&;c^LgENo##9?BBSmOGd({CuDfratOc=u|3`0^tkYFZtmLJ+7ZCzVX^vaHz``cGUG(Yn(` zG6P_M;&&p04)tDu?+OmxH-2*sl*gaV3Kn7M?qi$STGk zmcz=zM=vw7#q(f8l-WoceIX1#m)CQB+Fo-dx8vfAKMC@>bz^;&G4o~t0M$J!19CAH zT0Zng35y^7g;(bKDsrr#M!hc(Hjx3oT0sW(%6{?pk>NssL@&(%+%^?GMD5;%3}|;5 ztWF>2-FbNBD6@BQ20sn-|9Ofw&)Z^E)L2}`2zz=Ptg`lN0A=;5wkt1tvs{S4`HjyM zmpSb-kcYYY_<+8IxlQS7q5S3)<4F+I=KiGGl-l=>W0yvTUn&0^jPm+Mep7xUh<07( zDOFoSe?gaNG8b3e{I_o+oB{-fy_KCLpg$mMGm6_ypCbbL;%1n@FEUGLauworI9LPI zfU06Uj${p0hg(7Cc>{F0`2qsCVn{7zSvMeA{ik=MAdVJ#63M{rZhg;j3d`f9}!4`)HWE|BPxguWg`O_ZUDT zb_IZ-9Tr&=w78iR>A~+=h}VsG<}Y%}IiNJ?=8JTdN+K_9HspNed=XfsuE%4f9CwyA z3GVGGE=`#^K&S=r$M%n3cHaY!h*0*TRy50L5F~y8Ie&S(UX5@UyB?<=?aF7I>R^lS zKHCz&M%T>LPXr31y9|{zRt!`BzLydyaWGxaCIARV{|Bn;X#e}y?0$rraomjugM*Yl z?sa~iV$*tS_u$I)l@xx)_E4BDb!N+KMh$QGU9SP@v!0S~wKK9?igUo4 zUZWv0DsA#iPd0Og!Mz@aGjC78M~Y^OCC0(97|SX^rem{|6r<*Ow3)T9H!<(Fg*v3x z&eXoKC;B=9z$W)tnp%?{+RV?6W!pQp&3%T<@>VT^Yu4SK*jpJ$!$>Y|DtOPM&a6${ zzgG>bp6ypHI-y&Z{v3H1x{oWGo)Wx5;7uP8*PH#7N}UP)XKw(S>6$*0%=40y~9gut)s5PHmw`+@j%`_@+Yb=1KVrUe1gI`md z;1bZkDQkrxu!)@KqPMHt0KiY%y2iR^Kh5g`xIq|1lcgXPNh9xzOl^7ZI$4C;#s)Q$ zIK7HQiynjKzdq)CJ+HJ$ttC6fn2tuUt1M{N zhdc@@M+&Z}5|Ro+dgks6jjd=$AqNTFDC%Q6npb&_xnE%~N}}#gXIS@`OL4pdZ51h8o9P*tXie`Q@c^FlBN}SXC-FBGSQy}_Uvuf+Pfv`&MF%Z>l zsmEjUkLX#yt}4~D5KPQHlpjzBuKk--YNv^5gDcZB$DxblwhfA(-Wjbfo^T54naf+_ z+(`XNoiYwW?AtGZXquNLKVxXg#j$RHN$E2khA$bc(tJcv@DJouI49)$r3?{0g->S= zypM>F;ExjhLB;k?@&vG0CV;wpgOy;5E%r+|ICO9SF9_g`86gx61IWqE$L>K zc#-;E2DxN;-Mdt)n)cJFNB=mfwx#uwNfmAuar}pWk z=RfTT-rug)-tntf2IN&itvJD}AyZ;fB6lZO>4ZRB1)kqI{D%$d|WEDafh z+X)V=MP#PAXk#H<<$uQi8xkOF;@Tf8m|U!rw~IP;R;Su7TqRluwCb6~LgY=D-5cKY z%$2L_>4{Efbrw`%goDAsvNwPyhTHpDfJ4rZHDiHBIA|(?Yyk|Vf0adlfy$zkVf8cM z{At}Y_R!uKNp|Un*6cGavo1y|o11E{UCX4~r5}tx+6lh$Ec3GDE>=4DDcbuDZ&b^1 z`CMj4)^On@&T$z0jQ_ZX%v)xcWLez!vZ2xmUl~WK9m?xTCC>3uqhovA^}? zAAqZ0cq`4EpMQSPPS^3O#qKvt)d$dJHawL~uq`M^0a|JlMz$PQ=&3*8>%81>z&rE0 z{cp)iB3#~*GOt^8PHU4%E!g94 zCL_h=v-fungY6(OncglX5knHo?VqB~zxgv#O~^hll&=bQI;^Zmc7S*Qx^7xY*dn!( zCcNcY`0+rP|H%780fDvBsXvSV^vRnnbsO%pF)(Cp=ozl=xJlm5qY>48Rqy)aGR34i zQ^BpWLj?GzK>R4anl- z*tQ)#(}TXKkWOtV&jw}{9QSqH8SgRMnfisx)a7u824SvxrHe+6hi6A! zZq@G~VI+mR!6U_*KlZph0Uck>b$P&9qv|;pJZde~tG~nC>a&vJo5}g=DW;vt-S_%#{5(BU6N(!1nG93_+Jg(BpgJ7xB7EWEo z?;pOgCY0USV}7D_bn7XH!Si8u<}duvZ=P~H59~g;7LZAMCeEnW zaZRFO+`x`rC27vu@m8Ic7qsu`X-1*v9vNL3)v{8(V;Yf;8#Uq)R81fTE&;pl|5aLXj4v zMmlT+3@r+V0D+(oKuQP(LI@BzZ`j{=?iu&oKkgX!{&_NnWDwRn*IIMU^2}$h`0S?1 zb-w?c{to~EeDE7r%mCm}H~?_p{p~RH2`TN(D)e^vuF>@?&^z>E88pQ}Z%6Lmun7VH z(Rj{3uH@NYZUAr=fM2(5DN|Fa^|eed?mdvi_)sKN|Qy8uqccPVxLojHG5w z$3-Bv%Qqi}$A8iuA2gyD!qO!@8P@nDxC6iyfoLcjnI6f z!0v*GdT(M)Et~9U8fapeoQ9w>nxt4uux%_8=>Zx^5o!=1(Sp1rNM$xD*5KjLA0PlX{ zWTsdv>rW);NhwDk&Sdi+1gzIrGALFudm1HrgQoQN>m$O`KhPV|0qIo!5}&m)nclXq z@=a1WhvDX_A;W%Y(_6b8z1z*wlku+F@2V#kd$)QlN2c8J?luR_>aI){CRL?S0%dU* zhMNTe#R(Gxt2HKY_yN#@{(cBJj00iUrC7*%<8=pgU{zIc7JJHaY*$64nP_^RWVxhM zTfO^5>@LbEl4K-ZF;!@W@59DUo3q-`~0u#aP@t+C1bgF z>-yj^BaPfVEIQuey=-?3X?(SLIIC>wU8>%#FpZ`z_LXoAn$fGTw*9Z9ckJ!&vL3 zgD|GI!k%OABmbH@Q#Y1v>TKiP@~uu8c-*C&njrkQqfnWLnz^j>JyjlD!!?wP!99Y2CXjC_8um3;-lNKd1ox>~NFm{8P@fdPZ(zJJgN! z8txWz%VtIW_siEA^__T&w4U>QK~za?s$Le5oAq4;PJ!6o)3JDP201NmjuP z&;MWpz_tI9mn_?toYjR2E0Nm^G#l$Y-=}SA-ct|Xebdq`5efGV_H$?9Saj1Y{L@$%bRKPnd1WJi5hx@`ko~Kv>#B! zod&)lML>#kc zJC1>nVQ0~w85{Sus^BExmKOCkX_O6kUb^z~-yWm{lACC}NoiRseJ{tJG;3rQv4`@{ z($X5aUEd&u<2F0d39mK>dkWW|Q+?L*4XOAxE^^b4BN0`?5Xenx>aiLEeGVzy+?#Nd|Iw`}I54e_lP=QzC zhy(B%PLkBrY>^h$&jK&zE_bH-rWLM7P%V3yDr}(^IQ*=mj)9y%F1&KgkKY6?Wtx6Z z&*wQ?@8+00OQ-vz1vu>f{#`2Ndgi2SIM9Coe|qUd5)5f(Sp92WIDcp9pA^@5l^VCo z$x?6gUDLIe-bOaMS>H`=LIfS9?Dl89gS5Is8s)1De0FL4*Un$KC2-m8K6^cZ>mgB(8__XkNzOB0M}>M8>6?3%KM03+Dn}hhgE>A(5;y#Nh(~0Ix1zfaE$owaXn!5QI?V zLorA$^fEAfC%{58NOWFQVq)H9FOj3i`_76g0Bct`f;)53I`#Yc zNk|UW#SO%M4Pq8?$8xFN@O6>6D_k&h$SLn9X9LhC3)a6Ma#CM;Nl~-OP;!b%rG&um z99?zzFuG#_N=pl8&oezGSvNq1{Q4RJz z{Pr7~I&K?F2;n_D^*Z8Y7G=YJL;EjWHX1tUMi>$DPjIFPSy`%;gv^E|o6yDKgC?4D z3^*ziT#vNt{iGn*98`0ky6JH=*m!b6VTL-JAy%*dwwit1zCP2)cID%1duD?9_}Chl zlTYb}qjX`nY~ZzBiH65S{u}7{VCgPw_}u> z@R6evGDo*_cd{O9mSYyZ`iARXjP16_A?T~He8a$yUe@i*g0>$cLjLEx&i8GxpFJfqQ!1u@S}&c|r&`pVs>5Kc zrj$L^mUlm_W5;aKln_~gotko;)z-BQDPlg-P@Nne0#2Np{rer9B+Uv14ctdpJZ0b+ zC2|P3Npn;dTSF2V0ScJjiMaw+n$%2*f_8V1Exw?+GW(HFHd;p(hqLcpx;S?ordc71 z50*Ejd%)%MoV6E2P#`xme8P~qy8F} z)~qz7&&%v3p&5~oRv{dsehqf1a5v&)8q$av9#H+rUusZz|z`d#u6Ib z@m9v!TG{4deEa8UZt1W+G^Jgh7IPKcF4{R(Yg@FtQG>pvDRJ_6s)YM0%x71KOVwC(DQ=4p4Daj5}Z57PJ zU8jS-1>4IVDsv;HP?oaI?Fru|pO)?CnHo89*_9s)(cgW? zyJ0j#dUZ(qI7pbDuK=QZETTYds{uq{_21bKC(k#10&v+G^G%%;p zYMX(S!4>BhuIuPDiq80&pSTiP1asA1yf|fCys}li-5fv8Z0uyn=V+B!8{v zrX2kz9Xqq<;FgU_M#2rNC1qNQ_>CKU>lWwXCZ?JzJ%x6PVql>5`TlrjG3+r2$|1wj zsbY6*^gPYRhKC$&^L&<4Y#YSUze2ZSsPhKHdkr2^JsvtGYyL9&XDpKEEoAf+*

|4JQ^H~)wX+WW>r8rHqI6h(DkVC#`Y1Z;T%mpIdA7DHjv>>6EYn|f$e_r|
zJR@os!)`GLHj!@x**W{#cqxhCfyjjAFTH_Sa)4mrdO7=6?*))R8<~|6G=>YW1qc59
zer5!gY`Tz(hV5O9xAxCgo^v$w3(L#lUHB+bC}`HhBbCaG?AI=U*+Ix0^g&h;zZ$~9
zkY$pa_WMo+^IbnQJ!}l&krXSd{Ofuu%d1bJ?;EvtD)b_HR;J|yni2+gcv+G>pCB_6
zE#-D*aPVMuNUnclX605>G?_OUMWXuzZ%2+v&UC6qX`MtjiRLOL#HjW#^Oipv8?S`=
zeEuZivZ9rswY~3FLY&i4##vHliSAprCy0f{SHKjK
zAvV*kJQ*X`rZX(9B#+0d?vhx3J(P7GYs>lFCfpiTi7CI51q?@~F9E>eU
z)Yq7Nr)4vqSCd$`<Z
zZegS6Yc>{DI}0VMH%4Po^_{L!oACt`DBax3!in8zpY9&*ilwOGfv9i#lk)@j7m6=1
zy&Bunx2@7*^bB-E*1u1t4B571XP@u0#lIz^@Z7_{q6I#*Lnz{PQ?|0+oV%HO2Py=l
z72ECPzEUQ6W5rYmr1G|mz+0-5GpVUmnqr?dZ4yP!8H&3vC1{Z*@LmqG5{oc+=CQd%
zn76r9Ny9}qxi%~4`HsIE)ZLnU3np51)k}5?sq?hri4l7>abMPu{1Q5X^y4-^M$S<)
zp1q_sCFjZ>hRh-zH6B=5v>l1Ow9P8&*FlmHDk;qAQsLe*-4yAVQ^N~Potv}UVy~Sc
zYfx-akRH=^EAPW$74*)!f%#=-?ytxwGnVgG_|(|O(9(o*gL=zk(w*EB(ew)x_L-pZ
zrNJASzj+}d^A|5<>fdM>U~B4rIuf!~ysR7{)SG$2fL-6Ya2uO1
zlT`8z*=qBCYd$cC7t>Hb>wsV~hcfM`-C~QLg*$%@C-X(GOd;ClADD=?(zp({R~K;u
zPQUq*Q$~tdjpQ3cSpzr0qtjqYm3*>MAU4I8KR-p;CAjCDnbheqg&EwFMQU!@kgaKL
zL!$(aN}>%XEFK!YjYSPIGSVeke!Uer@C6%YC4A6J!7xP(c|P*{Q?6
zQ1Ksn1Z_miE*~7Vo9wK2$(;Ofv%S}ZLRu>M4TMK{{`rQ-V=Z-LrAup<2WarkQz
zJjpOqv+?8_`uwavrhKXr&uk1U#PAs3+Wl&XRDi!~!}#pI6t1txTF4N0w28S>)Moqh
zLvKAk<0|huZAZ>d8)E{f{zlF`K^#wM!&jw{(6(^BQMY_85?zuSF}UZ4*jp{AjB)^)4?Yu{9#hw^S_
ze=v5SK67_1TRv@V+%3I-RjkR9Jae@sJQ=d_R@#HcoUA}pI79~Usu-vOiXt9Ttmxi~
zs5SOQ1)Rbu%KOGhc<|~%;4{2
znv#_?7J0Q>`gvBby=>pEY4r!aY-O9#DC~^wI8E(_iI={AHsxhXo?EUhW@^|i|FKUW
zd=CmJ`WQKJ_0D>2Sc4+2_&m*u$STTaVPbCYoX6p-6{m2-qV+6MSdeF5$mU%)WKmv8
zSZ2?~EdmYM&eR3u?nbO0=%kzzrUg{bsFEr$KFp-vEsInJ(S44jYHGCLxt4FD#UF)3SK|#ML*Oz3x9KAk~
zvUf9NJ+hy0WuVG_!=6m`sDuY}{C&?YieBg;g$#{kQ5VSE6@&E?2`JJJV?Q{(bc4>d
zfNCAp#I<456%fL58zSX(1
zBnZsg{-lC(6+SiRasINT=wkc5Jeip#-E%m#R64r45JC`@hBmS|{ep?ChU=h#dBlnx
zSzf!TdeXM&>7ltk-gZ>(Raq>0%EFC19=I
zR2Umn#EgJ9P9=@el=Q3OqaAa=oE1Ccn8@c5PI?w3^GaNs78J0L6mT?uggp4mIQ40%
zo}cl;Rqa$1USn7?eCfUZtMB%_?xeJ(8>><{Ke+r2W?NqZddFgx(dQxD_ctsYy*tQp
zP^}xQ|8VGxCts~WeRyWowzP15&SDO1FNH$RL@hTaaf8hgh0^0&FcCCVQt6vX-MBLz
zO@v84TboOH7NR9+(i1Ya@g;?H8}HkOe*tgJ9D3(IFLsy8%%Hs-GMe{DW$p#`J|_E~
zC$-cC%3+Vl<-~jJ`1{uj{?4wQ9fQ5x@{DhRg=?=&U@C)JAqdnWhR*B}F_}ZPX3BJs
z{MpYA((Wpf>g}u^YQWP9dB3ifq*TTDBj^<{Q_}^8qp0at38d^dCz?fr{;dQgJB}LM
zfC^*4ns+7TSHT=xBNt=
zoUN>~_YYKGw|{Ruk1Hni#pF^%WZ+~r1STl0aB_yS!|o7F1k`c=(RmP94EFBsu^&%S
z{*F>O`780f%PK@2boyKc72I~TDoHb7$|nV2QaBEKIAT@4ToP_#LTA9V)y{D0_nI&x
zFus6yc(p#IN!{OMp<;UpM)OXmkx+a9Z-a>dnN~Q_I?PgIj==B((;_@J0uInqzzN-O
z?>9WOe;WS69fv!7MYZVQBEcOg+`H*1Xl?+=kc4+VuG5@7mB$8ihz{7u-m~mBqd+^5
zntgNhDnc|hfHd>g}r$b#7eU~4b47!UYACCF0w8=Rc@?t
zseL=dc}%fV%Vjlhq%g_?w2~alxZq)LpA7Z7}SEeY5}b(XHsHu*=ENU~8Xl
zuvrl&kKj3Q$*TK%#RIYC0o!cK0DM;yHw8l?x+AfE*%TJ_dJmFAgigc!tzQcz8_@^9
zp`G+D;4Z^4rElZ`Ahsk?Qd7c>KgB~5c@r!XdGQ+{bVr5pJ-1gBy<-4+t3)e|ItPau
zF6Vn{9fQak*b7Odk(7frTQ!1yfcH;GQ%+!A$9f-3!KgZ@H={1uR5+VCAr%KHO6Wcz
zuL(k2^cOei2NWOjepMX314j*`qMBR$;Gihlhj{xYv=Q$2wt?7pXo{L0H*gM$$3JQ`
z-F`kX%7R#T!0A$d$^`WbS}^w2ISwP!uDGPuK$5^6ZNH&(rE^DHOY+rj_I?{e=yH59
zlj7H74>q5ZVsHT&bv5SQr*@4YRviG&xgdH&u2m-2pqIa0c?}rf_v%HC3HU{GDqqN$
z{Gh%8^CMLgo^&IVbP#xw$KkVpcTNa*6T0Eb0mVQLcLfOj;XR~_lWlgve}u$WyWquni$S7K
z{qr2AQNZ$k?I5<1N?u~c3&2B8~`xR4-d?Txu|`s`xEy7jxh|p%Eyqz(ZHw+xB)c+4-n1i
z%m7ZubTo1C+5B&L91--Fuxw6e=mZ4Qpecm%z61lh5%N?@&8-)4R$JvNGQV;`%E;-(1F?5*aCV{io4ORsY5QyC
zb+@|@nbPp2vNsNZ&_#}I^pAkND>of0VA)w5^`F{r7PQ;}DFrZ7<7z}_RdA3uXex>H
z0{QrQpaE-sHzOg_Qw$f&qzDU7Q2aojRLT)}9(3LS@ZlI|r9TOCMcf&WouB^!nI^{u
zfc3>7I2k>p9csbHxRATvm{b)+l-AV6UH5tqsr2x^hqQP}B2nA7;2~`l)d9$`v3bb!2g>A`fqpm|8&a#n~)3MT0l|lpEy72{1Rw~E+E|7
zzrWDl4gnSCNj+R2y1C4V)q>`nKV05~o&d9wY?uYqun>{F4%hdNHzl8!AWOL6YPM_+226wPSMw8&Pm59KoSw^OeF0#@{
zxb(*l_zGEmo4K(T>79InGh7I2RISmHgiTi<-pmHxYAZ7(T^QyMaj=x*aFj+#5>aYQ
zA2$!4NdYPB;NI1Jb+`WsC0rI0OP!yRgdm&0^q8GYjKel73l@`i0irD0OoZPtvo@Ao
zmiSKYPof^NI@mTC-qa&)qkomvNx~}_(c^^|?_^VGU``fANoIz{aizqpSvWa`@|4$M
z*9#A?oXVp7fjFrALIh$U!DKbj-`4!Uoc{dRcoRFyB%Q8Zn~z_tY8_nVj~`Tftr>n7
zOfSk4o8r--ze?^ue*H|qCZ=g+YoMyC%HvGPw_9y1zvqRHd&Xa|six%jbaz|U->Fzi
zm9-*=BTJJs=Q6DHmz@Q)QL)qJ7(3Q)DPcJgizWKjtx>FyxKsIov%T@y=9!lU{K)TR
zj_gH${yR~W=OR)?%BLrZ(cf74^j^!K5*8+qSbS_sPk{fI~A7lP0Q7B8>24Cafhi>So79C`6gGAFSdf&
zF8HR3gRt~6C?#-{8}w3{-l+@uY5zT5PKkH7RQB7
zh7eU8x5tTk?4R$FTf^yxi}O)iTp}8Nc4J<3em608$eGzj-9KiVBtVL0PF9|Ny_q6wrPn;0Y?zs$1+ShACFLTA;L;7dH!)Ek
zd-YQ&GH9lA=t=~!sg?3aWq6k~&+3%M{)FBm<*fMx`Np4>BNevHloSbgCif9CE6f#C
zz^2nuC_C`k?V|N*2wCZ6wtB22!BOZTka|IJDVrg=F|V6s6W^OK^E(IAs^+7Fdh7>QyjanB4A#Io_cE
zglQmd;YHConczf=8qRa=loI3$?Lfoikeg;Wi(b?z6i!MeC`F&>yari~uOU4)#i7ww
zl4S>qOKU3On4n!I)FuiwT@VgKfJ_+65)6U!8^iyj|JrQ+9k}Bx@o*m;98Nz-`)AYF
z@a@KuOsC?+g~_H||5VE6hRb=pA-$`S`yg;_gbur2Ji(`WPioIG7y-WE`=pec07j|e
zwm6t4wgienISJr$K1Bk)tAy*Qnb`Z5;(P{W8)OG{J0ned1wM6tpGEL|>3Rhhn+k^D
zo8liw$PjYH#bCur#m4HPmkcY((O|h@wJL5L)@B0#&mIidkcpzJ0kM9&MGL^S_IGGG
zIIHaplvRH}LY|w*pkz~dfc7Yxuff1MC#3StldjxAyErHF%KfP@;kW$&w^NtZc##~u{T=63~C(GL0-agRB%1OXp3roYX&A`+{|NqlmD
z;%(~eEno1NoexoD4-v`)b7={{X|a>}Pf0R2I|>9awX*)s0F5zP$F<@E_cp2s9dY=51cn@VUoX
zT_S{%Vv!@I)WFT>71{hV$-7^?W*Y~xYe++dHsisHf6yEvU0P@UJON}uH)&3m$)ci`
zDv;B(O25By-fRfMIXx3-iB1=x)8oxxr(fucwkp4;mH2>JrO#{DC=8s+)o?R=n662Z
z#D$^HWPGY50{vMe8wd+$yvPNcKP;TR*6#pM^3?hbc!K8iZr}O-9mcepylQeB3#A+%*;Jp1_gc&HPD*EX+O)1=zy68dPr)%gOLh!M3MX3}D1giEI4skz@rA
zUk2LmGKTrE?t}psM7+`}W}>!a;n=-cs2XVhxn&J9CCBP(rV-lZgCm$1?(0KKl}6sv
zrA&>JM*um)up9I*i_g)-iUHixi2Cn?HzTisdxq7{MSQ{z``Y#WJCCj;YvoSJ;H4Qm
z)Vo3UZ7n1VMrl90+_LoR3#Vz8Q^f7OD-_2;&asz&QDBkkqMx2ZwJJ$X^x)d{eMAiv
zusucGLYMo{%ag&!`o;f6)rY$pp$~8A5syQ5&2f#_7bT?*mXVlX4v8}gUCzauF#uPG
zgbmq9mv8z2ea&(TDAY`lh~eubqF*@L}hA5!t0>&zQ>&hO0+wg?7>PYO`oJ~
zqtycm110bkXm{tPyP%dir3DHrK*HB8OIbmmGtJvCN3eGqoY&@xIstdu)?$JS);_fd
zlY8zO7_j_ppEzzyNO)qhSe9TIZu
zkYQ
z<^^rc;7Kb#lHC=9=|e>OY
zZsgH0H3Vat&=XI)K=BWXV@T*g6ySk2psstvlrIPSZ+j)~Kkh`~`^VK2a-@C9aZ58x
z#Mu~)iJ@Sjm~|2&J8%*z%p(_ueA-;^U%SL!c*2K>zr;NUes8fYGU*L{;vRkj+*^8+
zCkd}Nr8jOYIpQTanO
zB9xl%`VMm`?#&Iw@ASj+F`7v{-0Fxl?3oq*=b
z%O9Y44aE9OYQk`AWuc%O77&lza=y~kgx>k&?!w#?n4?Lc`S1g1E#sF)BsIN<8WA!_
z$dytJ1^KU`;`Or$+>&scIF!=A(4Do|B#BE^BQUOe+g9*S(-xO(%}RmxQ>d>f-mJFI
zpAOQ9W)Wu$&Mod7q8yhIRI?&jOG8k^I*W1=E;bo_R%O!xJU8r!Pnd#fe$2ans-o|$
zIm8=qmqI>}?p^M!1UWu8I3ZP7ybd{g?p6dh7x&7%h&p9SV`>6AoZ5OqFHOU@mzsWI
zpqi_pLK}`5RyI2nZ`278a
zv+{GXFR0e@xIIM8WE{8?X&4w*%_k!m>TeS0lH0)*H=h#X9n`CJGWQ>yCd>lh{$|R$
z4RmF~NW^1ClNjUbxAX`sEN<pL61-`3>n=&!)p+giLeFt{kweMH*gC9}>HwEk?GGEYOtQdF_LiZV-
zRNQ~{%de*Osd|4C`dA7X%l0ZXu2uT!_xZadl%kwob0)Jl{IiUeudvRr$^k+R@~CQeC4*WXeKYWK;3`nIEr50L9r7~W6osRULDCy>Se@XgxB#yftZ
zl#M+y`d%dD0qxDDDjkvbh7ZHGjVIAzK~ft&nS;?FWPK)Zh^}qy2#!y276ie5h~~r>
zkFKP`casPTXTw*r?hb+?HaQMK)Q2@r5vLS`Ou^40f#E?1@iC-v@y>%1DZf
zrtkA=jru-6c(sv0$fVLt{+P?sf9^lX%{{T_0dbGe9bjR7S}mwkfpc<-wasIXE
zDSTSPV|umA{+z2rYjD&n*UA)JPwO3*oH)u4>b%;5@5B$s
zBG_X`G$jCTlAr$p@-V$}!v?8F|A@AP04GDMh?VYeFvHO
zN%QV!Y`-Ft6_Z(gvlA^bXvz`c{411)DSO9SlqFwjmhLTFe9zt~v{_zzmU58xgAqSW
zIB710ESu3U-q!!0g}Pr8b)y2-Blf?R>GqB5xfPb)v!kP<45-xhZ`QFejT|3#So;#M
zx8BA5J5=U!-)eQmfo|Cv$@8`joBs%|tYN}hmc|i=UH{haL4U=V
zfb;ICWjk}-cvu5IOU-+C?t7d7YB)9;RhRF`uSt2y(>kYC8Nhx66{k=NgVXyx^w#RG
ziyIkU3dCLd52WmFwqV#4;$D5R3W<#^Q405~l1<#R%K%N$#c#x44K%lWiG6
zOAZc|=uinv4rd)C`P2-wa&xE$Xq&+cLxqHcw3Q}WYYez2nzDJgrMY_2{;(2M_s`!%
zHSxw%)8uRdE4g-dy!6}3t*h>Cr!5IUoB+O)1re%H6@IgfaQgk`lftNU`%qjx$xoZm
z(<_%a&?
ziSd@rniL6ndBbXdgwmj^XYZph=<);`PbjkzuU*14<^7t|Xk#rTBl}(CGn+el^ml);
zHT)(%210a%#$Q&L=3jJk@XWBxR3xp%5%tdz=_pSQY>AAW7RjO$+jbdyQNOwb^?fEALrmeq$>~q*
zbLshyw)+FyBI}t=enVUA@g*Wt{LVWqbb0hSx2WmT$#FN2{u?YWP&<*4J
znvzPm)9X;nD#!&?yEaCLg~0>w|w=RX>z6+{3kuzK?^rURc
zF6SDkMoHrwIRv&%&1j{HIzdCaLcf3=g~|`$d(I;TVUQsX)6x&!!6l)aFS=cPe$xH@
zOh$^*Gc@Jh+6hSjxEap}M_C%^HtoZx2DNX{?f9o!ehsvX4eXtdxBcdGJI;Y;NDi3L
zPBADzZ_ur_1bkmFzoLxE92s9T2bsuJ%ToYwDVYPe
z9;bAGOjGz3Jvp3+IhY}Go^-)9@Di8~Lq6jRvjV1#&q3y
zN&4^wT;yH~-nqI&O4&B`8GHo+->qizLSp6QwF`nVq~fA2zkCq8Y2mJMWG8r60~aGX
zW^EoFGAc70M5=kx$e+8u^-HFcz7E|`=8<8kX^Nk&gL-k(6?zy%W;peUOfRPIla0G6
zCgp{f0-*|qg=Z>KSu!(=4(TP4tI(CE`2f_S_5+PBp=L!plV?idZv?x)=Zd(j{?nh-
z|0z`2E9~N+pv$UqX}6hFKu(UW@TVS;xdoMsghCmY3=MYXIz7BgC;D()uTZnvdk7K2
z8kBLZW6HN0v?P@p*aZx6M0FV0cYbMQ47F?5dyN0x`&3F+3c9Zirg?r=CClqx0w3HV
ziy|h|6030MwGaf`Vmp-6D3=jDU*GX)h+gVahp!9=AJaWufPW!zD-3Fv`Wey-QdZbK
zMeDmztPlt7UJVg;4#^lO>B!iI?&)J%Xy?o$Lgb`G8q4*SaGEmDoPqCqHDU7s;ABY4
zo@0%x08GO5gnH+RjiV18Hm-iWb~*HqTgRZ6{PZ6!R*w?ip8ZqsCYRuqjzf=r9=h7_
z*MFXu>z_LETJGUfi6f6LNJvB~tFX7Gt&rj|_-X^eewl=g03t5Y%
zF?c2b_!u80kh=M+{`MEuZa5&Rqzwxou
z(r3K_=d}AfyP^4Tdqz591aDs!gCQ%mUo;rA(G3m|xywh+Dz}d^WMnRaT-~|s<54vc)KLj1-SVCj|8o9k4lJp~F~2Qt
z5b777N+rZre)6w07jp{DolqdqfMM`0(iX+TO3FL=g{nyRUhb
zq*pWD4@%ZssH`A5bEezIidib}yMveE8F#31PyiCY6R4~`W^%GfJm1d{#O_q&`sii%
zv6n`wJ{4rENtbq|2QR3Cw%f}u7@^_lYwNY6cXU0LkICM@!dP>O2Y{m9Jul_BuyM9)
z$n>ZL;FKpt5D{#~6V?m^?iv
zhndNW+HESwjW-DiJL8IBPkdH)Z!y5d
z2142Cx#_DM8?IR{A%i63bVnP^&T_o-XRxFYu9GDw_$w!{Y
zGV5IV%S=R9mpGsG7l`bx%H)RQXL^#97=yd$wXN=Wh11%H`yX*Osk91x2NnQ=+}2)Y
zlOirq(cEKEqeWHc+WUp*qO&91N&AIhI~OnVl^SOt!2gD!C;k2N;xz(a>ABK2TQhA;
zbq41`P-S<62+5c+HRCw5sr#^j9lXJw+p#-=CBz;z$LwI9Pl(=(F!E#*N|-viIz2Z&{2)xkZ)y@iLZyQYGP
zzk3wvwrevd7L#RKp##q_4OfT;WpyURhUSQ{kcHDd&fKKHZ)r&lxLYng84;wmhUn$r
z6sh%=d*2FhedCkG5f%)WbMvt!Dz0%%`2?)E*5`RPX`1TE?al?v;W34|?j7REqE6xt
z4(wz#ojol=PpJss$@$ZRLichi)fzHr>4#4X0G2cHrM8KpcL#MEw`LdDTzDRMDpOdx
zP41X8%jGZa5$*|P0Iw$#GngUuLmkn=fp4o`@Z=N5}x;$uBI
zE15~aVl_X{PkR2^c=zv00$g}9xUb9kl`$4ZT0eEZp+BqQ20r|-k-rxmZttAQiA%O2
zOvuX|Esn~D4>}VnFOc`*IVuZU`ABjsL&PI`4v_>y<%4I_E4`fO|Gu6V_30a>wDIRV
zLF|VhN%1~Qh@2Y{M7egBcSKsF#~_vsA9|k{Fq+<1reQ%l<0J=IClD?1l}V8Go?(SE
z9#k3pdra2}Ygy%C8{Pywc2A0SoFGzaE-2m>+AasQ=WN&aIJR|SbfND=vDT}KqZ=Q~
z9`;_fWK*XP1ItrZr9D=aW%Y?UZen&{D2y}faeV!85;3w`#Sxy28Uo&8%ARc&G7GvS
zm70{aVk0hxOi%9;H8ShCfDandmPCif8OQuznXlgVH;Y*9X>lU#*}?a%Z4sX^qSs?c
zuS8KpchWvh3CVBc`dF(>6Ku#QH@tp&D(E{-V&L3N?J}%fnPYwWd{k+~bh~D3
zfUj?0BURO=b#5~))bUK@b}QE~aWmA5DwAhPEl@o!OKk8bdBW*B&8fhppLSFD92o-e&q#
z%hN)#RTcEUx?Wz6dEeT=?%yPbaodDI&YrLx%h~_b588yLNW`
z4gLVnYMPV>w^Gh55e~_5|E8)ME^ap&@N0LioA&_k(zWDf2U08ZQly99*%Fc7FtYIjvnQ;|VmZ{ej(W`w8$cjfz@J6AkqhcjKqL
zGiBY@t{iO$CJOfSLV|hy*GBg<7ho;Qx6d-h3K#y@m63OHb{snG{?p~=Ko63_q*7>N
z2{ve3P5$?z%W;r=Xd;Qg6=BDf36)lzP+q4b>$m%&oUVE9-$E(R$0vz8nMAoS1Bw-L
zQ2zlUDo`kFV>BcB-{kjm@u_68LK)_aOkb;=T}$cKm(j~kcPffHB73}sV}<>+zC+9#
z01Q*;ivce2qw!W&rq=Y$;!{j66<0MrvVeMYOaQb8>x!9ly^qUBt=2OgSv%G??%f-G
zp>k6pLqeKRwyoh@aQg6S5`!ygo2s6ni`vs0`mQ}!8D6>F@_K8^g@-Hl1xK2omF*MG
zWfH}QR<3gkFZ1kM8n#wPFGCWn5phIEmj{20p%#)bT6>F}!^^c=KBIjA@VTu~((1i@
zEa+zdwC8pSmuH8a{))F?+BMEJw{3aNvk6w$p{aIl89ao4IKl=+^+IDcLq0)DcRDww
z6AC!_HCJsVRT=a@6E8uzEgu6uaOK$AD~3MRT>k|{tM+SeJC5@H5F;3L^DB9v>a{pS
z6zAnD98{qpL7`}sS3suC-Q85A>#-%s{@>~~JET1Tz-bKr_%wLc7ckVjI5H-?Pw(wQ^wLy&=
zG}+q9D}uV3+vZ3`eAk}xg
zv7|Fe+sA8gh7{1C7S82#`raz0O~XRt{cdTaEt(N5P>I4cZUK09rqqic9u|()J&8Q@
z_fp9Ci^Sd9cpZvFE^2FGD!NyuxVb6fpL1frp87{epgKj!_tP)f);Ie&JOB8J$X2(1
zuV>3JH_@C;QHVh%%gWUJCpmiAC4c)hkM2(;#2C}cK6-iUWd7!-lkzR!=xg4LEMoJV
zFLcdgIT=CX{I!3pM{lEQ3i&m`q1M|NpCwu5RHUQf52JK;k3Gp2Hh#
z3oEOsFt(dQH~pVjp3K3(Ys5~!KlM+lqXwZ}V*^=tf3Jzf#Yq@$xxJUReD`!V_wrF41$sGjMp(
zmoOkGu3x-W=j9*sysZ@H9X->X+tJj}7*gjJTeZ6k-T(MVz)9!t3<@@XKa{-JA->b$
zy%WY}T^mn|r
z-2_VYY;-?(s|OSpc4!x8?~ACNeUqhD^2nV%3sYezb}zrzBRxoe&0T~qE0dN(HeZhuN+eV-s9-
z?EdWlU|dX44L23i>FQ?uSo|iX!Vt4yhoal=M8z-&$Ak8Bj7mH5#Y|H<+?;6&A+4~=
z*4w&`xN)pvjr`VTmpyxc>e92BR;DmPCI~uA9w+hp_kA^xlhI8y(vM+{LLJ%Iv4ALs
z0ReGXXh}O=clW`fJ9pytD=8xt6THGB#U9o0;+`p0o3*7EQ01nPD8e(clAYgN;E$q%
zRW4A7=}$lq990)Y%Hw(D{0ufz7X=TWK02E0nI#dCTg7es;Akn$ull`a|DWc!;(vrd
zL2bj`e2F+AI=uKTK=SK!wV*|&REX1#q%>u+Db-J_~m_gxG@eyv_%kY`i#
zh4MT##*w``-Rhqx$iv^8U6zk~EJU2%SrqT)hg4u(_!zQmb`Mn9Kokhz^SgmYxM>A>
zOmV5*CwTt0g0S|%GX(;-!~E#!ra$=k!{>O28rhOsLF@x1f1fCoOkqDR>Y5)4Vx4t?uhLn#V_O
zD?@n{$U&MY3xP-c)qcVN)3N;}R3mJ!y3s16Z*jRRT7S%S;Ys9e)3QPPiM_8-)raTL
z*e?m4R`@2rSKw54#LLOH(e)A3>D`$!Qwy5EviC|6V&s3c_oZP?UTeESE9_Q*R(3@h
z?N*^yMnOg)ZPi+2ssagfXqjXTgN$KPw_=NuN-Fc9RT&Z>Kx9lHATpHzDuywG3PK4a
zOeTSZBxk))_vv+gf6kBZ$2r&e)*m2Q@0#AVp7lKUeXqrxR)5?a6X}e)Bp&C0
zO-b9W#3i*Rc_7C>E%*GBkc8p}GY8m-bM
zrCIoCB(^f`zEzdzYyKac^~GNyT{FzDw&wix=Fs4{E?)u4N3sCI3y?b1_O+hv<{xO*
zSJXKQV{(#1R_ZA8q2?WCSa@iMr$|RAX<-$yx>=2rT9E4YiWC*ejZzjG7VuTS+^g&B(UvQ%$%bp-ZPj+ZJs!`Cyj=Ef+*2k>=t`oeU
znLMk3S^tHTe+*m3nq7Zsy7?`iSAPbyx!W`1dIDO@I|AQf^*SF0BkQ?pyEDp%?59ax
zViD)sUC8fH?+1VjRXu8F4k`J8ImFWNU{@#L55R9rG(
z<|d!vcj#!ROjrzuugRVk^(j4dNK6_}(Jtua>W(e$fd%#M;cj+Bl|;|Lj)+Tj?u^#M
zA8K3{7mcwp_;%AJG!SVRYImxQ8*I=xr{?*SFQ^$((Ml{FNdGB7oHPa2x7CE&m)&TGxdPSI1W8V
zy$$%${I5uBhvq1pEok_{AV{sxExjR87C~2b%QN-3_ND-1Db2)Jm|N}%Eth}NCr%sl4D_$Lg<>-
zMTtio=k3h+-ygQANM3j=DFYCvO{K`tKHC!CX2(~ds}hz`44H^S`m3zhha+mFwVoEY
zxHv~OYWO~YA9q0bG0f;bfQQ$I;(G4@t6=gb&e0YQPhL7q3hzHe`4Eh^Uzu{dY#
zYAn<)U{Grojpl|qLIS*&cacdNXrqkR7*yF_OuavFj=mjaL)rY!xMSs)4Ulfj-VEq(
z*ujbC_Rv`YD5|V(?85xS$I++pv4!47TsL~E{6Tf-s|<Cj#M%bhd%#ew1w_#COoi-t4g%!Uln4y0zw&dB^^Vl(;qqZ#{Xu0F{gzOt(T4EOXlvEx$0OS{`5gvD@ftw1_QZcRepIbv`yd7kQ=hvX
zUV~FRFQGFRU?NWK4*c{kN;_3euD&B8#Nnvy5vvL|Cc?L)LD
zDJBIC)I0i$v+y?p8@mbfZZd*RuzPw#awxy_%x6Fc3kr2co(j28+h;b?2oa
z`}B(9Mp>fp%JO9-k+Wz^|8efklCectWpZVs1TgNIj28`=WeuW!G@
z@BsD;-sEZcbm<}|5?}hV)Ff>rLyVpjTa`v7BlOk??qK$FWX7V7iFSxYFZYODx&w5CCwFJ
zLrxauxfxwgkT8L%BapDK^)^Gl;G6e#udb&+Bnw{p!
zuhCu^Dl%uMflzapthG}%@qFsySdDCAsf9H+RD>-lA9wcokWz1n;)oa~bTq+T-6V0G
zJx?fd6^6#N&2fwll^~Cmw$e8HnFAQph^SZ@RPivfPH)j)U
zmqE12fWlo;o_194pQP2_LeX4U63CVDps;N
zk}e$_wpy%K@J(KL9JEpk;R@nzPBgu&8DqneOnP&Hx9~aL8G)|UY8;C?VnJ&2=OgLe
zfGUBRN9LbOBxHxIO>%Os_L6@Wd5^Jy$SAG7cHrfGHHt%{_=)(JDQDjqccJ^qvFqa&
zWA4M@K+*_MBCufmT!~>Xb(6R0u(|r(;jm@AZBwF5h{qzZHvPtto)UmpByJ?*MlV3w
zGZY=b8_{>IK$6GQTF>x*yRI=4L3cJxN|9N;?wNp=V1{Ky7v^#?irFUO>ntvIh!2;^
zUi3^8%{-`rBi-kAY}VuKYA1{Sc?NmFv%^clIrdMF9nETk{PN+s2R~Yb)w(m3db@@<
zwoQc@>@N#T`|`g4dZs|+1X2*R9zp87{a?(>h3%qYA0Rx~{}ci<`M+>XA^__x-_$zQ
z`pbMoM1sE*|K=_9LSdxdeXKK!PV^%DAVHJfN+%*Kw4NQLB7It0w%@#ZzWnlo`c@H_
zbB3<$dftFX{f2*=Q_WE&===YBd$tAPK#tWxdOB)t15QvzAPueOO1P2I?NDne53Duv
zH~iurv36CYEAvTPSez@rlS9bjW89XB*%r?ZZBP6|kGjZGEfSDp=qNH`^IpZfrn@j(
zlKb9vSR>Ml_P*Y3i^6>9gEOTlFp8^H39h>
zl`#|Vs$9$R1?*EI{{&s;+Z=F0_$OyxZBBWYIp)tZ+EWYAsT*M4SmeOL+&=i$8)cc$
zrw6j0wMAwT$(z8=X8XFkxBT$IoPGG2YP&dJmM+!z1vr=RE;i*TfVdJQ5gwHG&^>*T
zMBaFSCTqF6)F-tqnJGH!RgXb7tB2OjVBsCWpliA?{lx-qg&SKW2Z29a)dL53PwMJ^
zxYq`f=mD`TZp@?oojyA0TYhy2tzz5A12f+&vYaoDCF|fGOPv8?y9Uf3ij)SlMe*-n
zobQ`*-{mKf#NvXuy9=vp$ot15*Wi+-o<8B_m+xzmY(h4BFl3yb)V;fdPX7ihs06a0uhn?&KF@jS!SSwGwNsw~
zenQi$oy;uz@cKRqo`rmZjDAFFR)%$fIfOGWYvf%!Vf
zTAQoYF@zcI6^t?Hvo|ImbPduHy~whwn?erN++#fcm=k&={eDwL*WS)L0UhMo11q1D
z7Lp4oM(U=C1&8_&W#J>~0k!pl{!~PO)c}GCmhTbeS=<(aRB#>SY-^+&k%%A?Ni|k
zg~55%0c1)W>mNySu=q{7lGKFuEx+ZnhFxM%_|2w}B^cpR*Ipx=NT1Z!d$LPc+;DKy
zU9j5={Q}C^(1j*se3Yt1M@4?aKIsBRm=0_4QYp=rpMmb
zA5Ll-nNRm@YrxJb?g{(Z?2aJBc?_d$7kPHs>
zOn5;h1pz*1r=+Hx2WUClRpo1{QFc#Q0h)rYM5xuW{>Ui7)`!{L=E0Xi+bONNhMroO
z!aMj>On3-*cW1TBG_0F;=*x^Qh0go!MmpI&C~rcJY1&weNirVejJ3IwAY%~
z4pEFSyce^t9{Lj!%nCw;0~b}~{K-E2BlPIqw;QVlPAZ-^O+vSZW*8Ik((>d!7^L5r
zx$Cds{@^@CGWQkd)yYTYJ
z&xXrHTjS0a?HXx7Ml_&m^1H}Zn4(s4iV05DtXu_8Qcn*WyxK&-FS}QOAmsJu+|9|E
zg_&MCME^dPTz=QyQ8daVA#Xc3+BKoNgJ=buvQlbzF{;wQ8#tG4XreUs&I~M*wMy4^
z71lQGGh)4Qtc{|Q016df)8Q#8(@_lrws)-H5Je&Qm`TFW?4FxfA~78mj3|ahXTR^%
zMlcM_v9`7@t9JR$aHw~b~_VqAAJ4CZYf%
zmpSZ+_tKb+?U0p9QJCW*n7aj&;~N_6ptTC=gRj7`BcP9&WRkVfr1H^YIG
zMzBtKKoMs48oG{He}tM};oJyIl)B*A>R;}K8HtChI@$+3DPcZ98$kEUJ1zZzpK&VN
z1J{^BJm{wZ%P0U7KC^cO@Ju&K?*cz0$}y~c;wSpKK`k_KSliDVxJ^T9l&H%PZFs`;
zgeA0B0B_#HHSN)W9?MI~XiSrU%ROz|EP4f-k=pa$%7MEzd*iY=1KiD|AJxLW1RHa7
zZR}?O@OXrFwQpmhHq4I$ru~Cx1m9)%9iXZS&O4np`PLSeaRi@$)WvEB>~X?tS;yaM
zPxOxS=Kp>dgt*nWj)7B5erb%R$;&(^^70|T3U^+BXwA;8sGBS!N;a&Mw$cS0uDMrZ
zGfun~jBV)BL9+hR5@&rRV*PGk)4Peq+a+^ewYIY2j?Js)*_yk9x?a%3@Ct63*y6xe
z{Xs3+cl?)-?&mS!oIGMitk|7?z_|EnoOd`aYxu>!umN%CJ1!{b%)Hb)mtCy>x*3
zob2{}IeUuHC>a4j4z+{^rX64<@l-1)<-Ev!WoH+ld}V
z&<2mfs(Y(xuiHcTjlHr#o*p{*)aD6zlw%osyJb$c6RKKs6EEm{?#N;-(bI<7G;_JR
zi8Jc5`Dm@?X$|PF-@x1lYe2yJj2_pgWIW?kqxF3DU%NWf!fkl7W)TJ1={c(Lyvy@}
zs*QDZB>nR~WJj-xdC_rX`iy;Jol*S0e1tAS7pPK{m??m^KDMP-jUB~11JjV7I=VW2
z)S(QBu#9vm*>$^g;cI&$Y^1+IbZ{(6`e(d%{F@15KTjW4fMBq^{yMF|zE=t6^7bXb
zA&)N`cOEuP{Be&Gnb#aQ@w2&_b#L=h%f?o`ciKg->{chQY|FHz(bv}hguzt5fc{5-
z1v`e0v}FtSj;LG9!@|#^h%9#r;K%1^%aEY!*&%usKJ1QWKz2%b^7zCT8JqXJ_MV8M
z)hsg`mqR7u-J8AejEFx=LT`-TwLNbkK=7rVR
z&0bF3T@vkj7QWBbx>sozO+nGOrQDI8V8D!igYg}|v7E&GK00Ws1nSeD|IV#hl{{vr
z|MC6BAXW$+38tsZEQ4c5Cns_y=A+
z-rV=oMju09>$B*j4Czf;UN562k73Lbsg{TXu!Bzv91UP=bM@Dkx@!m}jwh#XP8txM
zZ1d5(X!WS@t+IinY3bbkj@?Ew9%BQZw_Yb1{icIgcX2CuMwT+%J@;OJf*a?UX0QX0
zCV}}9=rlsF$czu*`v6ta@n|X}DG_5K2*}StjZ#+uq>i-X#1jr19tTUu|0#H11{6vv
zWk7S{a2&4Qy<)ZNdV{>-(gGU53$L---K|fO=YhWT0_AaAA0Y5)C{R>6Z5&^L7^!kn
zvmA^m!guGM_N}bdf>^j}TX&m;rNc&#rFCt={MVe7yCl8l!073~K0vP-R7opEeZaPL
z7CMO4C~k(~Tc--kjv2sy#leIqOx!C&BfOi!3I93@02@gH!S2~;((rg2#WvYTO5+9Rt-h6ScEMRV=O
z#Y;=<&mD*NZ7kDOA)f(Y-+$=QUYEohhKx`hWRN|IonwF+THipG{UmQ#R|=|_4A`ma
z%uFv`hL1GvbT>x{HU{Vtp!Gx%RNYXA{I;=kB{@Z33sY%z+q%`A)b-lQ_da(<0ic(;
z&uE*u$?ODydZ)bcGaB>EkBAtk`d{S@HNG+g0n{gYu2e{23KC*?zhczotqZst-I?we
z9&jo-vm6TN4G)%=E|_=HjL@_Y3^m{LjcPK0oBJ6ITFM`Epok9@sl&U
zuBx@sGy=XEDXZ^|26^1S10i+LbQ}N)%)KjC)06H;*Vgh7sR8#_!M6}77Q_TsSI+T%
zRU&BRfDN&3x=AN^FEc!&p4YLodW0~oY{cus!|?{1etH>k4}ds_#8si6QzV`4PR1+)
zAxTEnS~>wk9Gyt;V%&@pb94b0=@$k3MWgBA8s0@oRNNM9CITPnqj@p4VL;Rx7U#w{
z2PiriAtN~NWPHZwZ2(k+2>@*i3u5aMP#V@B!8*T5PUUaZpQ-L#1Omu9_%{C7d9c*G
zy~!#<(LV*re<-euAf{Ce%d{An;aM=WrBy_wAuktj$~d-%7{WHiQLKsJz+9uob0FNGaZ#Y=svsa^44un-S@`
zI)-)0Va0RRFDOgzJmDZc22EE<1PwY+ib?#&F6G%Gg7b&cq
z)L(Y+
zj;~KoxbkT{kI}kdQnpE};l-AT9nPeIDi2k|xjcP{{*>LGbGiBw5;Z{|JEx#(*(GIi+O8mH5
z_&kWBH^Dg|$&OURF*huuN~ps14PHt(KYTKmeR+*7yIp@B%t&5GyA^deu}iG0Xi@+y
zjy`cvjS^<|tPo$#AP@`VeTJZ!c@#w0#V=mlJZVBY
zd#`Qi_I?7aUuM6w5DNTYVNc?gVCv7O34I1EY5?uu3WW
z%I}EB)NE=P^w9O^5FMd(4~vvFT3LfgG~=7gkkl{pWqLN)&0ND+)ktjS#&&Bj9|+DJB#aOle+G6>lV~xt@NzS|6vm70VzxEWJKMGJ`KYVyqsVn#L
z$WC!v4w&KR%qMyN+10i!vn^zxFz>9!TqLutOPjF%(!L!3(wJK@a_fu7eb)8Behc&a
zDjXnKc1IG>6=tC;yA;CgagFh+c%Wr|r&`PA35%${vdf(s7QZvof0dra$aY`K0&3#<
zLw?*y25;nq{m9o4@Lc}%$TaBz#*IJ0VXyD~tj@|DEyVocT=RM(JxnMb=}^PLZ=3lqtIMCpT_NJxnb!3lq@Sbkg!dyi^S`tYvm}rqI+2m>^Ofqj}D}Zoil3WY3{It$FM?tn-yI7(s%#
zX?|ZG<_>73im;mXgTxD$h1cw#o|5=pDT$-)p*4jeD{B43xOi#>BXB@^&-CANFs0*Q
zl=Ph!jbxGmY{Te(<&
zOq`4}lZBO4iI_TznDi>U?sxAwH|Q_2`Y4xIEg<@+d!MggBa2>&%(u
zj+~NV{&1sX?*RK?AGGrH_7s460J0S`0_4K#Pr*?OS7pGymM~|ludWlC5mA*
zBmS18G64_%Y8YJ9x-o5C!pkFRBj!9Ur)mG_YRLWQi#-Ux)?4?rzps;is`v4;FK>PF
zOMm+QPec!YhkKqqd(32i*4LHZPbj8l#hw?FCcmzHaCEe_o+4R2tt?(zDxNPMTC@?e
zd<`v%mylp46ASCnKG~PL1Q0K67
zOaP|m0xgqjQ!%di`?W^F`eVC}!r2!``*ODQ2bgxXR$0YGIVoQZlpZ~gJAH3<+%D3-
zA)3~nj$Uj%G9+V{U08F^slYLcX1gO8XCfF6j5k@o&XI?7l5_@ec0A{p#g7`VAdV%a
z=P>QEpENFkyEwKgx4jgja|$?`ZtIDGI6J4Nvds35d(sD)ZV{yyg(J
zQPb1&IB=-iD<|A>t=`n})n|Qd$q2T8^i(3Yaas7J
zkzza$oD&{0BT}QNJ}x-TD?L>dv`ff`ZXXnwy0kE*K1V`Zj}E<$Ruw)xIz6ox>Cn*J
z?(4t9>1Lb*<&eiQH=k8IjvnRy#4}dBqm%gtV)&W$rMB?Ir3BF7GON@;5zU;0Sb@btG3{ek5#>CL}y{g`M$9jcRuiFzH
zmTZp2JGT0c+;3017Cc6Z8{fA?4_cTi)p)2zY0ed+^Y7>S97}U)mEMg>73XV|-GZX2
zhUex#gN6)FUNxP6DX79#BY)#t{~<~&9GK`Bf3u&O^o&$$zqT}iA8`#UC^;+*4or>n
zK%vGI`ervI9|3`l-^V+XvomYfS>@Sj-!Y_4(jy;~OD#J+cO=y@hq|vdEwR7Rj?$Q#
zZaZM2@=QjmZr0g!B-gr-XV$hb4KIPeZKeXvO;=gr;c}-}V-G*~mF_CVyt%cgJ8aCp
zDUe()JfhNTi5TNs`@HOc!@nt=*EyjG0|(MT|2r?x6Ic1dZ53j<~girfHek#7=8pkA#m#`C%YkyQZ3BoV^s0?W8eFEP?N50DBt5B
z36zjY{jpqVKtOVjQW({M8Hlp;p
zf6P+YOzFXvw4|y)=fauKziWN+OiSxlYRDvJh34hF-nXCZ@30NQbY81cWL3O0jZvs^
zj1BlkRXFv9G3vOO`h7$4v-QXm(U{C7>T`K?&eB&S8!r}1TUEVmu0Gg%D&LlfLk-1pL9
zTFLVkh#!w;{y`Ev8DTThh|W5emjqPnw}(`9Hp6}<8xHX8%#KZ#1|&GirvI`v05o0E
zy3k+}Y^JvuHlObu_ELlWJnvzc)Ytf5eczfU;%48PDo#c>G76;r8fHf~&x}aU;~1{C
zVcRE~U|Hp1E5nUt%||!m3r#|t%R?Tq3g#T9>>@zNyGu=RZMwMAxw9BMR*6(Q)~iw;
zJzsbvL@;rC
z3Jc=5Ul*)cedn8uzz-^fg1
       
         fplot
-        1.0.1
+        1.1.0
       
     
@@ -135,7 +135,8 @@

Arguments

legend_options
-

A list. Other options to be passed to legend which concerns the legend for the moderator.

+

A list. Other options to be passed to legend which +concerns the legend for the moderator.

lwd
@@ -147,7 +148,9 @@

Arguments

dict
-

A dictionnary to rename the variables names in the axes and legend. Should be a named vector. By default it s the value of getFplot_dict(), which you can set with the function setFplot_dict.

+

A dictionnary to rename the variables names in the axes and legend. +Should be a named vector. By default it s the value of getFplot_dict(), +which you can set with the function setFplot_dict.

dict_case
@@ -183,19 +186,25 @@

Arguments

mod.title
-

Character scalar. The title of the legend in case there is a moderator. You can set it to TRUE (the default) to display the moderator name. To display no title, set it to NULL or FALSE.

+

Character scalar. The title of the legend in case there is a +moderator. You can set it to TRUE (the default) to display the moderator +name. To display no title, set it to NULL or FALSE.

labels.tilted
-

Whether there should be tilted labels. Default is FALSE except when the data is split by moderators (see mod.method).

+

Whether there should be tilted labels. Default is FALSE +except when the data is split by moderators (see mod.method).

trunc
-

If the main variable is a character, its values are truncaded to trunc characters. Default is 20. You can set the truncation method with the argument trunc.method.

+

If the main variable is a character, its values are truncaded to +trunc characters. Default is 20. You can set the truncation method with +the argument trunc.method.

trunc.method
-

If the elements of the x-axis need to be truncated, this is the truncation method. It can be "auto", "right" or "mid".

+

If the elements of the x-axis need to be truncated, this +is the truncation method. It can be "auto", "right" or "mid".

line.max
diff --git a/docs/reference/plot_distr.html b/docs/reference/plot_distr.html index f70081b..af96185 100644 --- a/docs/reference/plot_distr.html +++ b/docs/reference/plot_distr.html @@ -1,5 +1,6 @@ -Plot distributions, possibly conditional — plot_distr • fplotPlot distributions, possibly conditional — plot_distr • fplot @@ -17,7 +18,7 @@ fplot - 1.0.1 + 1.1.0 @@ -56,7 +57,8 @@

Plot distributions, possibly conditional

-

This function plots distributions of items (a bit like an histogram) which can be easily conditioned over.

+

This function plots distributions of items (a bit like an histogram) which can +be easily conditioned over.

@@ -102,7 +104,11 @@

Plot distributions, possibly conditional

Arguments

fml
-

A formula or a vector. If a formula, it must be of the type: weights ~ var | moderator. If there are no moderator nor weights, you can use directly a vector, or use a one-sided formula fml = ~var. You can use multiple variables as weights, if so, you cannot use moderators at the same time. See examples.

+

A formula or a vector. If a formula, it must be of the type: +weights ~ var | moderator. If there are no moderator nor weights, you +can use directly a vector, or use a one-sided formula fml = ~var. You +can use multiple variables as weights, if so, you cannot use moderators at the +same time. See examples.

data
@@ -110,35 +116,46 @@

Arguments

moderator
-

Optional, only if argument fml is a vector. A vector of moderators.

+

Optional, only if argument fml is a vector. A vector +of moderators.

weight
-

Optional, only if argument fml is a vector. A vector of (positive) weights.

+

Optional, only if argument fml is a vector. A vector of +(positive) weights.

sorted
-

Logical: should the first elements displayed be the most frequent? By default this is the case except for numeric values put to log or to integers.

+

Logical: should the first elements displayed be the most frequent? +By default this is the case except for numeric values put to log or to integers.

log
-

Logical, only used when the data is numeric. If TRUE, then the data is put to logarithm beforehand. By default numeric values are put to log if the log variation exceeds 3.

+

Logical, only used when the data is numeric. If TRUE, then +the data is put to logarithm beforehand. By default numeric values are put to +log if the log variation exceeds 3.

nbins
-

Maximum number of items displayed. The default depends on the number of moderator cases. When there is no moderator, the default is 15, augmented to 20 if there are less than 20 cases.

+

Maximum number of items displayed. The default depends on the number +of moderator cases. When there is no moderator, the default is 15, augmented +to 20 if there are less than 20 cases.

bin.size
-

Only used for numeric values. If provided, it creates bins of observations of size bin.size. It creates bins by default for numeric non-integer data.

+

Only used for numeric values. If provided, it creates bins of +observations of size bin.size. It creates bins by default for numeric non-integer data.

legend_options
-

A list. Other options to be passed to legend which concerns the legend for the moderator.

+

A list. Other options to be passed to legend which +concerns the legend for the moderator.

top
-

What to display on the top of the bars. Can be equal to "frac" (for shares), "nb" or "none". The default depends on the type of the plot. To disable it you can also set it to FALSE or the empty string.

+

What to display on the top of the bars. Can be equal to "frac" (for +shares), "nb" or "none". The default depends on the type of the plot. To disable +it you can also set it to FALSE or the empty string.

yaxis.show
@@ -146,79 +163,122 @@

Arguments

yaxis.num
-

Whether the y-axis should display regular numbers instead of frequencies in percentage points. By default it shows numbers only when the data is weighted with a different function than the sum. For conditionnal distributions, a numeric y-axis can be displayed only when mod.method = "sideTotal", mod.method = "splitTotal" or mod.method = "stack", since for the within distributions it does not make sense (because the data is rescaled for each moderator).

+

Whether the y-axis should display regular numbers instead of +frequencies in percentage points. By default it shows numbers only when the data +is weighted with a different function than the sum. For conditionnal distributions, +a numeric y-axis can be displayed only when mod.method = "sideTotal", +mod.method = "splitTotal" or mod.method = "stack", since for the +within distributions it does not make sense (because the data is rescaled for each moderator).

col
-

A vector of colors, default is close to paired. You can also use “set1” or “paired”.

+

A vector of colors, default is close to paired. You can also use “set1” +or “paired”.

border
-

Outer color of the bars. Defaults is "black". Use NA to remove the borders.

+

Outer color of the bars. Defaults is "black". Use NA +to remove the borders.

mod.method
-

A character scalar: either i) “split”, the default for categorical data, ii) “side”, the default for data in logarithmic form or numeric data, or iii) “stack”. This is only used when there is more than one moderator. If "split": there is one separate histogram for each moderator case. If "side": moderators are represented side by side for each value of the variable. If "stack": the bars of the moderators are stacked onto each other, the bar heights representing the distribution in the total population. You can use the other arguments within and total to say whether the distributions should be within each moderator or over the total distribution.

+

A character scalar: either i) “split”, the default for +categorical data, ii) “side”, the default for data in logarithmic form +or numeric data, or iii) “stack”. This is only used when there is more +ù than one moderator. If "split": there is one separate histogram for each +moderator case. If "side": moderators are represented side by side for +each value of the variable. If "stack": the bars of the moderators are +stacked onto each other, the bar heights representing the distribution in the +total population. You can use the other arguments within and total +to say whether the distributions should be within each moderator or over the +total distribution.

within
-

Logical, default is missing. Whether the distributions should be scaled to reflect the distribution within each moderator value. By default it is TRUE if mod.method is different from "stack".

+

Logical, default is missing. Whether the distributions should be +scaled to reflect the distribution within each moderator value. By default it +is TRUE if mod.method is different from "stack".

total
-

Logical, default is missing. Whether the distributions should be scaled to reflect the total distribution (and not the distribution within each moderator value). By default it is TRUE only if mod.method="stack".

+

Logical, default is missing. Whether the distributions should be +scaled to reflect the total distribution (and not the distribution within each +moderator value). By default it is TRUE only if mod.method="stack".

mod.select
-

Which moderators to select. By default the top 3 moderators in terms of frequency (or in terms of weight value if there's a weight) are displayed. If provided, it must be a vector of moderator values whose length cannot be greater than 5. Alternatively, you can put an integer between 1 and 5. This argument also accepts regular expressions.

+

Which moderators to select. By default the top 3 moderators +in terms of frequency (or in terms of weight value if there's a weight) are displayed. +If provided, it must be a vector of moderator values whose length cannot be greater +than 5. Alternatively, you can put an integer between 1 and 5. This argument +also accepts regular expressions.

mod.NA
-

Logical, default is FALSE. If TRUE, and if the moderator contains NA values, all NA values from the moderator will be treated as a regular case: allows to display the distribution for missing values.

+

Logical, default is FALSE. If TRUE, and if the moderator +contains NA values, all NA values from the moderator will be treated +as a regular case: allows to display the distribution for missing values.

at_5
-

Equal to FALSE, "roman" or "line". When plotting categorical variables, adds a small Roman number under every 5 bars (at_5 = "roman"), or draws a thick axis line every 5 bars (at_5 = "line"). Helps to get the rank of the bars. The default depends on the type of data -- Not implemented when there is a moderator.

+

Equal to FALSE, "roman" or "line". When plotting +categorical variables, adds a small Roman number under every 5 bars +(at_5 = "roman"), or draws a thick axis line every 5 bars (at_5 = "line"). +Helps to get the rank of the bars. The default depends on the type of data -- +Not implemented when there is a moderator.

labels.tilted
-

Whether there should be tilted labels. Default is FALSE except when the data is split by moderators (see mod.method).

+

Whether there should be tilted labels. Default is FALSE +except when the data is split by moderators (see mod.method).

other
-

Logical. Should there be a last column counting for the observations not displayed? Default is TRUE except when the data is split.

+

Logical. Should there be a last column counting for the observations +not displayed? Default is TRUE except when the data is split.

cumul
-

Logical, default is FALSE. If TRUE, then the cumulative distribution is plotted.

+

Logical, default is FALSE. If TRUE, then the cumulative +distribution is plotted.

plot
-

Logical, default is TRUE. If FALSE nothing is plotted, only the data is returned.

+

Logical, default is TRUE. If FALSE nothing is plotted, +only the data is returned.

sep
-

Positive number. The separation space between the bars. The scale depends on the type of graph.

+

Positive number. The separation space between the bars. The scale +depends on the type of graph.

centered
-

Logical, default is TRUE. For numeric data only and when sorted=FALSE, whether the histogram should be centered on the mode.

+

Logical, default is TRUE. For numeric data only and when +sorted=FALSE, whether the histogram should be centered on the mode.

weight.fun
-

A function, by default it is sum. Aggregate function to be applied to the weight with respect to variable and the moderator. See examples.

+

A function, by default it is sum. Aggregate function +to be applied to the weight with respect to variable and the moderator. See examples.

int.categorical
-

Logical. Whether integers should be treated as categorical variables. By default they are treated as categorical only when their range is small (i.e. smaller than 1000).

+

Logical. Whether integers should be treated as categorical +variables. By default they are treated as categorical only when their range is +small (i.e. smaller than 1000).

dict
-

A dictionnary to rename the variables names in the axes and legend. Should be a named vector. By default it s the value of getFplot_dict(), which you can set with the function setFplot_dict.

+

A dictionnary to rename the variables names in the axes and legend. +Should be a named vector. By default it s the value of getFplot_dict(), +which you can set with the function setFplot_dict.

mod.title
-

Character scalar. The title of the legend in case there is a moderator. You can set it to TRUE (the default) to display the moderator name. To display no title, set it to NULL or FALSE.

+

Character scalar. The title of the legend in case there is a +moderator. You can set it to TRUE (the default) to display the moderator +name. To display no title, set it to NULL or FALSE.

labels.angle
@@ -226,28 +286,41 @@

Arguments

cex.axis
-

Cex value to be passed to biased labels. By defaults, it finds automatically the right value.

+

Cex value to be passed to biased labels. By defaults, it finds +automatically the right value.

trunc
-

If the main variable is a character, its values are truncaded to trunc characters. Default is 20. You can set the truncation method with the argument trunc.method.

+

If the main variable is a character, its values are truncaded to +trunc characters. Default is 20. You can set the truncation method with +the argument trunc.method.

trunc.method
-

If the elements of the x-axis need to be truncated, this is the truncation method. It can be "auto", "right" or "mid".

+

If the elements of the x-axis need to be truncated, this +is the truncation method. It can be "auto", "right" or "mid".

...

Other elements to be passed to plot.

+
+

Value

+ + +

This function returns invisibly the output data.table containing the processed data +used for plotting. With the argument plot = FALSE, only the data is returned.

+

Details

Most default values can be modified with the function setFplot_distr.

See also

-

To plot temporal evolutions: plot_lines. For boxplot: plot_box. To export graphs: pdf_fit, png_fit, fit.off.

+

To plot temporal evolutions: plot_lines. For boxplot: plot_box. +To export graphs: pdf_fit, png_fit, +fit.off.

Author

diff --git a/docs/reference/plot_lines.html b/docs/reference/plot_lines.html index d1ed55e..ec679b6 100644 --- a/docs/reference/plot_lines.html +++ b/docs/reference/plot_lines.html @@ -1,5 +1,6 @@ -Display means conditionnally on some other values — plot_lines • fplotDisplay means conditionnally on some other values — plot_lines • fplot @@ -17,7 +18,7 @@ fplot - 1.0.1 + 1.1.0
@@ -56,7 +57,8 @@

Display means conditionnally on some other values

-

The typical use of this function is to represents trends of average along some categorical variable.

+

The typical use of this function is to represents trends of average along some +categorical variable.

@@ -84,51 +86,73 @@

Display means conditionnally on some other values

Arguments

fml
-

A formula of the type variable ~ time | moderator. Note that the moderator is optional. Can also be a vector representing the elements of the variable If a formula is provided, then you must add the argument ‘data’. You can use multiple variables. If so, you cannot use a moderator at the same time.

+

A formula of the type variable ~ time | moderator. Note that +the moderator is optional. Can also be a vector representing the elements of +the variable If a formula is provided, then you must add the argument ‘data’. +You can use multiple variables. If so, you cannot use a moderator at the same time.

data
-

Data frame containing the variables of the formula. Used only if the argument ‘fml’ is a formula.

+

Data frame containing the variables of the formula. Used only if the +argument ‘fml’ is a formula.

time
-

Only if argument ‘fml’ is a vector. It should be the vector of ‘time’ identifiers to average over.

+

Only if argument ‘fml’ is a vector. It should be the vector +of ‘time’ identifiers to average over.

moderator
-

Only if argument ‘fml’ is a vector. It should be a vector of conditional values to average over. This is an optional parameter.

+

Only if argument ‘fml’ is a vector. It should be a vector +of conditional values to average over. This is an optional parameter.

mod.select
-

Which moderators to select. By default the top 5 moderators in terms of frequency (or in terms of the value of fun in case of identical frequencies) are displayed. If provided, it must be a vector of moderator values whose length cannot be greater than 10. Alternatively, you can put an integer between 1 and 10.

+

Which moderators to select. By default the top 5 moderators +in terms of frequency (or in terms of the value of fun in case of identical +frequencies) are displayed. If provided, it must be a vector of moderator values +whose length cannot be greater than 10. Alternatively, you can put an integer between 1 and 10.

mod.NA
-

Logical, default is FALSE. If TRUE, and if the moderator contains NA values, all NA values from the moderator will be treated as a regular case: allows to display the distribution for missing values.

+

Logical, default is FALSE. If TRUE, and if the moderator +contains NA values, all NA values from the moderator will be treated +as a regular case: allows to display the distribution for missing values.

smoothing_window
-

Default is 0. The number of time periods to average over. Note that if it is provided the new value for each period is the average of the current period and the smoothing_window time periods before and after.

+

Default is 0. The number of time periods to average over. +Note that if it is provided the new value for each period is the average of +the current period and the smoothing_window time periods before and after.

fun
-

Function to apply when aggregating the values on the time variable. Default is mean.

+

Function to apply when aggregating the values on the time variable. +Default is mean.

col
-

The colors. Either a vector or a keyword (“Set1” or “paired”). By default those are the “Set1” colors colorBrewer. This argument is used only if there is a moderator.

+

The colors. Either a vector or a keyword (“Set1” or “paired”). +By default those are the “Set1” colors colorBrewer. This argument is +used only if there is a moderator.

lty
-

The line types, in the case there are more than one moderator. By default it is equal to 1 (ie no difference between moderators).

+

The line types, in the case there are more than one moderator. +By default it is equal to 1 (ie no difference between moderators).

pch
-

The form types of the points, in the case there are more than one moderator. By default it is equal to \8codec(19, 17, 15, 8, 5, 4, 3, 1).

+

The form types of the points, in the case there are more than one +moderator. By default it is equal to \8codec(19, 17, 15, 8, 5, 4, 3, 1).

legend_options
-

A list containing additional parameters for the function legend -- only concerns the moderator. Note that you can set the additionnal arguments trunc and trunc.method which relates to the number of characters to show and the truncation method. By default the algorithm truncates automatically when needed.

+

A list containing additional parameters for the function +legend -- only concerns the moderator. Note that you can +set the additionnal arguments trunc and trunc.method which relates +to the number of characters to show and the truncation method. By default the +algorithm truncates automatically when needed.

pt.cex
@@ -140,17 +164,28 @@

Arguments

dict
-

A dictionnary to rename the variables names in the axes and legend. Should be a named vector. By default it s the value of getFplot_dict(), which you can set with the function setFplot_dict.

+

A dictionnary to rename the variables names in the axes and legend. +Should be a named vector. By default it s the value of getFplot_dict(), +which you can set with the function setFplot_dict.

mod.title
-

Character scalar. The title of the legend in case there is a moderator. You can set it to TRUE (the default) to display the moderator name. To display no title, set it to NULL or FALSE.

+

Character scalar. The title of the legend in case there is a +moderator. You can set it to TRUE (the default) to display the moderator +name. To display no title, set it to NULL or FALSE.

...

Other arguments to be passed to the function plot.

+
+

Value

+ + +

This function returns invisibly the output data.table containing the processed data +used for plotting.

+

Author

Laurent Berge

@@ -159,7 +194,6 @@

Author

Examples


-
 data(airquality)
 
 plot_lines(Ozone ~ Day, airquality)
diff --git a/docs/reference/png_fit.html b/docs/reference/png_fit.html
index 73ae6ce..eb39c98 100644
--- a/docs/reference/png_fit.html
+++ b/docs/reference/png_fit.html
@@ -1,5 +1,7 @@
 
-PNG export with guaranteed text size — png_fit • fplotPNG export with guaranteed text size — png_fit • fplot
         fplot
-        1.0.1
+        1.1.0
       
     
@@ -60,7 +62,9 @@

PNG export with guaranteed text size

-

This is an alternative to png and others. It makes it +

(This function is deprecated: Please use the functions export_graph_start() +and export_graph_end() instead.) +This is an alternative to png and others. It makes it easy to export figures that should end up in documents. Instead of providing the height and width of the figure, you provide the fraction of the text-width the figure should take, and the target font-size at which the plotting text should be rendered. @@ -178,6 +182,13 @@

Arguments

tiff. For example: antialias, bg, etc.

+
+

Value

+ + +

This function does not return anything. It connects the output of the R graphics +engine to a file.

+

Setting the page size

@@ -201,7 +212,7 @@

Examples

# text width. If so, the size of the text in the figures # will be exact. -tmpFile = file.path(tempdir(), "png_examples.pdf") +tmpFile = file.path(tempdir(), "png_examples.png") png_fit(tmpFile, pt = 8) plot(1, 1, type = "n", ann = FALSE) diff --git a/docs/reference/setFplot_dict-1.png b/docs/reference/setFplot_dict-1.png index 8c6821a14e80cce5bc2377395cff7c892de9a2b5..d6493614c9e5a61ccdbe958a082540351d01a55d 100644 GIT binary patch literal 26298 zcmeFZXIztK`!^m}ty-XUp&+DID^)9?2*|EdMavS&UMLO>L%ED`u^yhY`75l&a{

d{OG>n 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 Hp11xRE3~lQ literal 26321 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 ut$i3`EHiWc{GY(>|ECLo;t@zLc&oL1A diff --git a/docs/reference/setFplot_dict.html b/docs/reference/setFplot_dict.html index d228a03..4ac2ca2 100644 --- a/docs/reference/setFplot_dict.html +++ b/docs/reference/setFplot_dict.html @@ -1,5 +1,10 @@ -Sets/gets the dictionary used in fplot — setFplot_dict • fplotSets/gets the dictionary used in fplot — setFplot_dict • fplot @@ -17,7 +22,7 @@ fplot - 1.0.1 + 1.1.0

@@ -56,7 +61,12 @@

Sets/gets the dictionary used in fplot

-

Sets/gets the default dictionary used to rename the axes/moderator variables in the functions of the package fplot. The dictionaries are used to relabel variables (usually towards a fancier, more explicit formatting) that can be useful not to explicitly use the arguments xlab/ylab when exporting graphs. By setting the dictionary with setFplot_dict, you can avoid providing the argument dict in fplot functions.

+

Sets/gets the default dictionary used to rename the axes/moderator variables +in the functions of the package fplot. The dictionaries are used to relabel +variables (usually towards a fancier, more explicit formatting) that can be useful +not to explicitly use the arguments xlab/ylab when exporting graphs. By setting +the dictionary with setFplot_dict, you can avoid providing the argument +dict in fplot functions.

@@ -72,9 +82,27 @@

Format

Arguments

dict
-

A named character vector. E.g. to change my variable named "us_md" and "state" to (resp.) "$ miilion" and "U.S. state", then use dict = c(us_md="$ million", state = "U.S. state").

+

A named character vector. E.g. to change my variable named "us_md" +and "state" to (resp.) "$ miilion" and "U.S. state", then use +dict = c(us_md="$ million", state = "U.S. state").

+
+

Value

+ + +

The function setFplot_dict() does not return anything, it only sets an option after checking +the format of the arguments.

+ + +

The function getFplot_dict() returns a named vector representing the +dictionary set in setFplot_dict().

+
+
+

Details

+

This function stores a named vector in the option "fplot_dict". +The dictionary is automatically accessed by all fplot functions.

+

Author

Laurent Berge

diff --git a/docs/reference/setFplot_distr.html b/docs/reference/setFplot_distr.html index 015ef67..2cf165e 100644 --- a/docs/reference/setFplot_distr.html +++ b/docs/reference/setFplot_distr.html @@ -1,5 +1,6 @@ -Sets the defaults of plot_distr — setFplot_distr • fplotSets the defaults of plot_distr — setFplot_distr • fplot @@ -17,7 +18,7 @@ fplot - 1.0.1 + 1.1.0
@@ -56,7 +57,8 @@

Sets the defaults of plot_distr

-

The default values of most arguments of plot_distr can be set with setFplot_distr.

+

The default values of most arguments of plot_distr can be +set with setFplot_distr.

@@ -92,75 +94,115 @@

Sets the defaults of plot_distr

Arguments

sorted
-

Logical: should the first elements displayed be the most frequent? By default this is the case except for numeric values put to log or to integers.

+

Logical: should the first elements displayed be the most frequent? +By default this is the case except for numeric values put to log or to integers.

log
-

Logical, only used when the data is numeric. If TRUE, then the data is put to logarithm beforehand. By default numeric values are put to log if the log variation exceeds 3.

+

Logical, only used when the data is numeric. If TRUE, then +the data is put to logarithm beforehand. By default numeric values are put to +log if the log variation exceeds 3.

top
-

What to display on the top of the bars. Can be equal to "frac" (for shares), "nb" or "none". The default depends on the type of the plot. To disable it you can also set it to FALSE or the empty string.

+

What to display on the top of the bars. Can be equal to "frac" (for +shares), "nb" or "none". The default depends on the type of the plot. To disable +it you can also set it to FALSE or the empty string.

yaxis.num
-

Whether the y-axis should display regular numbers instead of frequencies in percentage points. By default it shows numbers only when the data is weighted with a different function than the sum. For conditionnal distributions, a numeric y-axis can be displayed only when mod.method = "sideTotal", mod.method = "splitTotal" or mod.method = "stack", since for the within distributions it does not make sense (because the data is rescaled for each moderator).

+

Whether the y-axis should display regular numbers instead of +frequencies in percentage points. By default it shows numbers only when the data +is weighted with a different function than the sum. For conditionnal distributions, +a numeric y-axis can be displayed only when mod.method = "sideTotal", +mod.method = "splitTotal" or mod.method = "stack", since for the +within distributions it does not make sense (because the data is rescaled for each moderator).

col
-

A vector of colors, default is close to paired. You can also use “set1” or “paired”.

+

A vector of colors, default is close to paired. You can also use “set1” +or “paired”.

border
-

Outer color of the bars. Defaults is "black". Use NA to remove the borders.

+

Outer color of the bars. Defaults is "black". Use NA +to remove the borders.

mod.method
-

A character scalar: either i) “split”, the default for categorical data, ii) “side”, the default for data in logarithmic form or numeric data, or iii) “stack”. This is only used when there is more than one moderator. If "split": there is one separate histogram for each moderator case. If "side": moderators are represented side by side for each value of the variable. If "stack": the bars of the moderators are stacked onto each other, the bar heights representing the distribution in the total population. You can use the other arguments within and total to say whether the distributions should be within each moderator or over the total distribution.

+

A character scalar: either i) “split”, the default for +categorical data, ii) “side”, the default for data in logarithmic form +or numeric data, or iii) “stack”. This is only used when there is more +ù than one moderator. If "split": there is one separate histogram for each +moderator case. If "side": moderators are represented side by side for +each value of the variable. If "stack": the bars of the moderators are +stacked onto each other, the bar heights representing the distribution in the +total population. You can use the other arguments within and total +to say whether the distributions should be within each moderator or over the +total distribution.

within
-

Logical, default is missing. Whether the distributions should be scaled to reflect the distribution within each moderator value. By default it is TRUE if mod.method is different from "stack".

+

Logical, default is missing. Whether the distributions should be +scaled to reflect the distribution within each moderator value. By default it +is TRUE if mod.method is different from "stack".

total
-

Logical, default is missing. Whether the distributions should be scaled to reflect the total distribution (and not the distribution within each moderator value). By default it is TRUE only if mod.method="stack".

+

Logical, default is missing. Whether the distributions should be +scaled to reflect the total distribution (and not the distribution within each +moderator value). By default it is TRUE only if mod.method="stack".

at_5
-

Equal to FALSE, "roman" or "line". When plotting categorical variables, adds a small Roman number under every 5 bars (at_5 = "roman"), or draws a thick axis line every 5 bars (at_5 = "line"). Helps to get the rank of the bars. The default depends on the type of data -- Not implemented when there is a moderator.

+

Equal to FALSE, "roman" or "line". When plotting +categorical variables, adds a small Roman number under every 5 bars +(at_5 = "roman"), or draws a thick axis line every 5 bars (at_5 = "line"). +Helps to get the rank of the bars. The default depends on the type of data -- +Not implemented when there is a moderator.

labels.tilted
-

Whether there should be tilted labels. Default is FALSE except when the data is split by moderators (see mod.method).

+

Whether there should be tilted labels. Default is FALSE +except when the data is split by moderators (see mod.method).

other
-

Logical. Should there be a last column counting for the observations not displayed? Default is TRUE except when the data is split.

+

Logical. Should there be a last column counting for the observations +not displayed? Default is TRUE except when the data is split.

cumul
-

Logical, default is FALSE. If TRUE, then the cumulative distribution is plotted.

+

Logical, default is FALSE. If TRUE, then the cumulative +distribution is plotted.

centered
-

Logical, default is TRUE. For numeric data only and when sorted=FALSE, whether the histogram should be centered on the mode.

+

Logical, default is TRUE. For numeric data only and when +sorted=FALSE, whether the histogram should be centered on the mode.

weight.fun
-

A function, by default it is sum. Aggregate function to be applied to the weight with respect to variable and the moderator. See examples.

+

A function, by default it is sum. Aggregate function +to be applied to the weight with respect to variable and the moderator. See examples.

int.categorical
-

Logical. Whether integers should be treated as categorical variables. By default they are treated as categorical only when their range is small (i.e. smaller than 1000).

+

Logical. Whether integers should be treated as categorical +variables. By default they are treated as categorical only when their range is +small (i.e. smaller than 1000).

dict
-

A dictionnary to rename the variables names in the axes and legend. Should be a named vector. By default it s the value of getFplot_dict(), which you can set with the function setFplot_dict.

+

A dictionnary to rename the variables names in the axes and legend. +Should be a named vector. By default it s the value of getFplot_dict(), +which you can set with the function setFplot_dict.

mod.title
-

Character scalar. The title of the legend in case there is a moderator. You can set it to TRUE (the default) to display the moderator name. To display no title, set it to NULL or FALSE.

+

Character scalar. The title of the legend in case there is a +moderator. You can set it to TRUE (the default) to display the moderator +name. To display no title, set it to NULL or FALSE.

labels.angle
@@ -168,21 +210,36 @@

Arguments

cex.axis
-

Cex value to be passed to biased labels. By defaults, it finds automatically the right value.

+

Cex value to be passed to biased labels. By defaults, it finds +automatically the right value.

trunc
-

If the main variable is a character, its values are truncaded to trunc characters. Default is 20. You can set the truncation method with the argument trunc.method.

+

If the main variable is a character, its values are truncaded to +trunc characters. Default is 20. You can set the truncation method with +the argument trunc.method.

trunc.method
-

If the elements of the x-axis need to be truncated, this is the truncation method. It can be "auto", "right" or "mid".

+

If the elements of the x-axis need to be truncated, this +is the truncation method. It can be "auto", "right" or "mid".

reset

Logical scalar, default is FALSE. Whether the defaults should be reset.

+
+

Value

+ + +

The function setFplot_distr() does not return anything, it only sets the default +parameters for the function plot_distr().

+ + +

The function getFplot_distr() returns a named list containing the arguments +that have been set with the function setFplot_distr().

+

See also

diff --git a/docs/reference/setFplot_page.html b/docs/reference/setFplot_page.html index 2661973..bcdf4e1 100644 --- a/docs/reference/setFplot_page.html +++ b/docs/reference/setFplot_page.html @@ -1,5 +1,9 @@ -Sets the target page size for figure exporting — setFplot_page • fplotSets the target page size for figure exporting — setFplot_page • fplot @@ -17,7 +21,7 @@ fplot - 1.0.1 + 1.1.0
@@ -56,7 +60,11 @@

Sets the target page size for figure exporting

-

Tha package fplot offers some functions (e.g. pdf_fit or png_fit) to export figures, with a guarantee to obtain the desired point size for the plotting text. The function setFplot_page sets the target page size (once and for all). This is important for the accuracy of the export, although the default values should be working well most of the time.

+

Tha package fplot offers some functions (e.g. pdf_fit +or png_fit) to export figures, with a guarantee to obtain +the desired point size for the plotting text. The function setFplot_page +sets the target page size (once and for all). This is important for the accuracy +of the export, although the default values should be working well most of the time.

@@ -75,15 +83,31 @@

Sets the target page size for figure exporting

Arguments

page
-

What is the page size of the document? Can be equal to "us" (for US letter, the default) or "a4". Can also be a numeric vector of length 2 giving the width and the height of the page in inches. Or can be a character string of the type: "8.5in,11in" where the width and height are separated with a comma, note that only centimeters (cm), inches (in) and pixels (px) are accepted as units--further: you can use the unit only once.

+

What is the page size of the document? Can be equal to "us" (for +US letter, the default) or "a4". Can also be a numeric vector of length 2 giving +the width and the height of the page in inches. Or can be a character string +of the type: "8.5in,11in" where the width and height are separated with +a comma, note that only centimeters (cm), inches (in) and pixels (px) are accepted +as units--further: you can use the unit only once.

margins
-

The bottom/left/top/right margins of the page. This is used to obtain the dimension of the body of the text. Can be equal to "normal" (default, which corresponds to 2cm/2.5cm/2cm/2.5cm), or to "thin" (1.5/1/1/1cm). Can be a numeric vector of length 1: then all margins are the same given size in inches. Can also be a numeric vector of length 2 or 4: 2 means first bottom/top margins, then left/right margins; 4 is bottom/left/top/right margins, in inches. Last, it can be a character vector of the type "2,2.5,2,2.5cm" with the margins separated by a comma or a slash, and at least one unit appearing: either cm, in or px.

+

The bottom/left/top/right margins of the page. This is used to +obtain the dimension of the body of the text. Can be equal to "normal" (default, +which corresponds to 2cm/2.5cm/2cm/2.5cm), or to "thin" (1.5/1/1/1cm). Can be +a numeric vector of length 1: then all margins are the same given size in inches.

+

Can also be a numeric vector of length 2 or 4: 2 means first bottom/top margins, +then left/right margins; 4 is bottom/left/top/right margins, in inches. Last, +it can be a character vector of the type "2,2.5,2,2.5cm" with the margins +separated by a comma or a slash, and at least one unit appearing: either cm, +in or px.

units
-

The default units when using the functions pdf_fit, png_fit, etc. Defaults to "tw" (text width) which is a fraction of the size of the text. Alternatives can be "pw" (page width), and "in", "cm", "px".

+

The default units when using the functions pdf_fit, +png_fit, etc. Defaults to "tw" (text width) which +is a fraction of the size of the text. Alternatives can be "pw" (page +width), and "in", "cm", "px".

pt
@@ -100,12 +124,32 @@

Arguments

reset
-

Logical, default is FALSE. Whether arguments should be reset to default before applying modifications.

+

Logical, default is FALSE. Whether arguments should be reset +to default before applying modifications.

+
+

Value

+ + +

The function setFplot_page() does not return anything. It sets an +R option containing the page parameters.

+ + +

The function getFplot_page() returns the named list of page parameters which has been set +in setFplot_page().

+
+
+

Details

+

This function sets the option "fplot_export_opts" after parsing the arguments. +This option is then automatically accessed by the functions used to export graphs +export_graph_start().

+

See also

-

Exporting functions: pdf_fit, png_fit. The function closing the connection and showing the obtained graph in the viewer: fit.off.

+

Exporting functions: pdf_fit, png_fit. +The function closing the connection and showing the obtained graph in the viewer: +fit.off.

diff --git a/docs/reference/us_pub_econ.html b/docs/reference/us_pub_econ.html index 5ff4be6..1681628 100644 --- a/docs/reference/us_pub_econ.html +++ b/docs/reference/us_pub_econ.html @@ -17,7 +17,7 @@ fplot - 1.0.1 + 1.1.0