From 104d457f99a220b1f2b7c567caa7102e42e4dd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Wed, 15 Jan 2025 11:40:59 +0100 Subject: [PATCH 1/9] Add initial hook --- inst/report/pkg_template.qmd | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index 387c821..3495acc 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -30,6 +30,18 @@ knitr::opts_chunk$set( cache = FALSE ) library("tools") +# Adapted from https://stackoverflow.com/a/52327256 +library("knitr") +knit_hooks$set(showDetails = function(before, options, envir, summary) { + if (before) { + str <- "
\n" + paste0(str, "", summary,"\n") + return() + } else { + return("\n
") + } +}) + ``` # Context From dda85f7dcaee65f43e8726dfaea62e24a1f94d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Mon, 27 Jan 2025 11:56:02 +0100 Subject: [PATCH 2/9] Improve hooks --- inst/report/pkg_template.qmd | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index 3495acc..aecf2af 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -32,14 +32,12 @@ knitr::opts_chunk$set( library("tools") # Adapted from https://stackoverflow.com/a/52327256 library("knitr") -knit_hooks$set(showDetails = function(before, options, envir, summary) { - if (before) { - str <- "
\n" - paste0(str, "", summary,"\n") - return() - } else { - return("\n
") - } +hook_old <- knitr::knit_hooks$get("output") +knit_hooks$set(output = function(x, options) { + if (!is.null(options$summary)){ + x <- paste0("

", options$summary,"
", hook_old(x, options), "
") + } + x }) ``` @@ -108,7 +106,7 @@ unlist(.Platform) R's capabilities: -```{r capabilities} +```{r capabilities, summary = "Capabilities details"} capabilities() ``` From fafe8e93dd0617fce21969d484f9cf62a8ed185f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 30 Jan 2025 14:36:04 +0100 Subject: [PATCH 3/9] Add typst to render pdfs --- inst/report/pkg_template.qmd | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index 6f727c3..b33d50e 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -14,13 +14,13 @@ format: embed-resources: true gfm: html-math-method: webtex - # typst: - # toc: true - # section-numbering: 1.1.1 - # df-print: default - # margin: - # x: 2cm - # y: 2cm + typst: + toc: true + section-numbering: 1.1.1 + df-print: default + margin: + x: 2cm + y: 2cm --- ```{r setup, include = FALSE} From a495f745f20804b728c32c73cc2c09781275bf3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 6 Mar 2025 14:06:41 +0100 Subject: [PATCH 4/9] Add logo for pkgdown --- pkgdown/favicon/apple-touch-icon.png | Bin 0 -> 4881 bytes pkgdown/favicon/favicon-96x96.png | Bin 0 -> 2539 bytes pkgdown/favicon/favicon.ico | Bin 0 -> 15086 bytes pkgdown/favicon/favicon.svg | 3 +++ pkgdown/favicon/site.webmanifest | 21 +++++++++++++++++++ pkgdown/favicon/web-app-manifest-192x192.png | Bin 0 -> 5267 bytes pkgdown/favicon/web-app-manifest-512x512.png | Bin 0 -> 15449 bytes 7 files changed, 24 insertions(+) create mode 100644 pkgdown/favicon/apple-touch-icon.png create mode 100644 pkgdown/favicon/favicon-96x96.png create mode 100644 pkgdown/favicon/favicon.ico create mode 100644 pkgdown/favicon/favicon.svg create mode 100644 pkgdown/favicon/site.webmanifest create mode 100644 pkgdown/favicon/web-app-manifest-192x192.png create mode 100644 pkgdown/favicon/web-app-manifest-512x512.png diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f7480c6ef3b43d42cdcf74d7b53f21ee5129f398 GIT binary patch literal 4881 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 literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon-96x96.png b/pkgdown/favicon/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..60c5ee027d43b0771a9d4b86048b2d1fefeea573 GIT binary patch literal 2539 zcmai0`!^GeAKsSRjJMpHLJ~$UBVPB*v`EuJa&MSRLhhN%4696UF7tj9n~)Umi!$Ps zOJQmu~kBv>uWh#~C^7Z}&?>V36^PKaX&w0*s&gYlsp0lI9r1)`h001C~x?t;a zz}SBwCUUS@)CAK50!Lr)x(NV4Wc~#Z@UU3^Kr2Dno^?$uUMrM*;OeGCr&#aw?`Srv zk({+NRdFj19!SF+`erR4eaTVKy87;?`S$v}Z`ZEAl`UvVi2q^RH<)~A^M57ZHJ4RR zJ4zkZ-$=U)j^FU<>jsS?-(;d~A;pY+#%urYfmp9}H}1a0bw=S2+(yd&h9C`x6FPh3 zKSy1$(5j8*ERO`4y)*s#^}1nIDnm_?h1|UZ39+2IQ5i~g)^%$ZHiAh+UsR}j(YQH}eU?8CVD=z3@(qMVj za~uHpRiQ+b{HoEo8v2b4nhq7Dbo7-%ozguXgPd0T!-U}D@B-JS?_6J4SCPJJOqDo> z&MXwGHQ&@G-8-NuE~v3_eB6|Laj-`|o+W*P1=>sZB~Iil_PQI&Az%wnatuq}8DsnK zaQDbfuCF-1<4R)7&7!RwlLZR736dW$`P;v}T{{-53Ty22vR9N4jZJAA__`IPf6Sh% zFyb?6<=3$)g0JNk-B|&TUMaCiGDuc;s=kb=Obe9vcez$~xI10EnHY|e5`E8l;Ut^4 z81#rJHO|Qe8yQY0wriO8Lj7IlWt7jo{8S^H92@G)mcvw*TD{IrF|jn7ITaKwqibyJJfc9w6Tpp z7WQ!<&UZs3IG4+l{4OjMuHz**eEHUkpmk|kgA8TZ0*z(VXgI$kD8tZoowV+;xPoe$OMi?!F?OEJMP(ygZLKxb8_RlF%@F%6ybT6yreuB~;97|ZHdewG`5~fo0BGQ)uO@DeZr_s$*#2cc+xzkv|_4e`G zUk+j41U{=vx6`W^NUrLkJaZ=AmgC8&Z`obq^x}XYP-*uk{1#Uye~MfOqfDJr-4G%F zSEj=njp!oguxQoe8Pzqh_O^;R99S6H@teb>h0%*oAl}*d@DOdrxP9Z8@@pFlU+msp z1!L|W<9yuO2qQi@X!EC0b{5|pzJQWINp>n{w6-VBf8Cn1ccX){1!2gz@ET!u%V3Ji zgakX9l5^B(?a`&KKxyloAJ|hp-R`nBd#~$l?oXXbJn>b|8=o>TaWg!CjJ(yC6fa8F z%@;y*T~ajQof#Jfbzj&f;*xx77A^4ZJ|Q0_9rcto#x)g{_XF(#7Xu_hKj0J(bLlN2 z^FOp?Gq9#H26)Twf6VqMg@#+$f}0-1C14%t(DP9?xtoNqdNZq61K_>={X;7^uItve zmz^TpoC}_ji|;rRf|$lVS@s_}2eF}a-J~YY*+hK-?J5s{)XR66p*(SXra=8WdgJUH zYmwRP?UV87HXDS#>QlX#lwA)!{amcf@TCND1b-`J*krUWZRyu9fbkc8F^^YEnV#{> zvh1|x^5)1)qlF>oOT^{B^FAMU4|giEio~X7$Vsh}ef*e9!rm>ntjE|E$h*)L3)RC1 z#&rrSxO_IlvwXORz!LIl5M5jL9h&^PR^%pkdoI__*>4E0k&jT&o%0$=+J10tCOO|@ zGB7r!;h)^E!%sYl`+g)2v4lCafF0w}@GG=RqTb=?=YmZ98>YTkh%Mya7k&R z9dr*5WWVMW87&7gclsfNnYXgtI^uX{zK=`0+lUI(Br3hlro;68W*8`Y@n!1af7l{_ z0S6q1Kl&YCNetPw>nuVfw||gK<<5Fko9wrChi;hnK+wr{Q$JPF?RVN}54+xln{^n( i%lv2WIXJ-0{X}GkO(X2Dz{C#P8vteJXiGz4Z~q_D0=LWn literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6a77450ec9f7120d14d4becf83994b0a9acd2f37 GIT binary patch literal 15086 zcmeHN3vgXU89sd|MR^oa5k(up2Pz86LxgcsL?q4GJ!#eCTB-;ZkU^cvfPh-@YRh1n z^GE|NrA{dmi| z0}N+^2O`#0s2op9;(^2iZ$1wUq|;+7c~-q`sachczhUpDcIWs?okMSXYGA{X)Raob z-_zbOqmuFWwl!Q_srY-^Q(IT1tFh~-%mUxb%0!-^PCW3&cpwVoCn8VugmZ0tSqzoX zbv~Q*?`=;xyOweN{Mxf*f}kedbi5=spWSYyz?2E1KaPd=q&y(u3V z(r8(^!1*F*oseIT_I~L2X4V(o8NdEm+J{VU)|DTmOg@-)Dsg4}x=*s-?bc3WTU;Q2 zCu|O&2AY-)WF2Jx18mR1)(YtDhrI*j%eKl3RqM;!(LM;;Cd%R3RpXvq2f3xVegQK3 zvaa*-m~LNN(6J3NE3=;1g$f&TAm`P+Kl1F$mAvmb@{OF7Az`ZuxT5|&VSIw_KF6Ya?D18g+E{g38;maf$zk+X>Da&iveF$^gMgL%a+fje_r@7AY%9oyKGWo+m{!H0gbor@lfoX94pkJfL z0`VnN26i`d&G7ydWExF+HV}*9m;L!g*S+OX_+cvt`7Tqo+nx4qVE;F4v~V2l9oiP~ z{~G-Ng4}m=u6-8z-v(_T`YV?%tshswGKin+47zpz%M&@z`Sg1CvbUrEotRG?;F^Mt zZq(i2xk~Bu#P>me1^s)uro!fUErg!quy3w^@ZCyXCVup9;#kyD%g_b>8|>4GA2w$H zxwYn9xEGHpI(g#S#s7q1_&vECI5$!r^S>0=yN1h%zeC@vq;p+@zNU!&aK5SjM98Y= zz@Tl*1mZL77v?h_*gC047vS3fxgOnTi~b+sk7tOHKFhh{d_1>b=YOgGb~EvZEwvwu zTEyqHj&Pnl1@~wsble8nDX=kD<0lXIUU;rA!djWZ`=sTvu8n6(EFoUtTpamMJ?(|Q z^ELjrYChd&J^Nh6>&s#55jw6=|7nd1Ki-X_XZ7{5#Qi<6uTuE&t@Qe69X&1F+YmeM!KPCCiqS(dGE1@F zwH0$sP&h5l=`nqRS( z(7%7n*kdg0y!Jmnb}Wx6?H-S#O>9rF8XJwaui)4|3w$X3)|_$2Aqo*rnzQG?xrG)x zp>-W`zu2C}IY|*L>%^kArKqpznm=8jtER*}Mmo;GN)_s4)a0BNobZ2IHZPj~&T>M- zIhhB`X}_l}bzoy#{X5Eqf#+1#FHQ~19gZdzoH5y<V5uW-Ob2RQVO;J{W(`&l4Y@P92Bu`ni2lsknO~ zKlD%LC#ZvQcf=81Kn$c8wIA{Qb%={B&-ryXATGF-xis|GGB<>H`gY_O?xr00ZcuW_ zSAlN_@}p6l^A>+odOi6)$lPV-gE$V}>tJUuWS24K!Wcbs3#1{RemCg}33r0M`)h`-#5_S z2ELt22jYsLEr8CS&^8P12Xm^eyvDhNFTnn0V&T1noDce?iU#|L&0mSR-=zA1{dw3% zK2FSo{olezDK!URf(|cq?a35E?h!yeRoqF~B-p>Nmf{~fh9aX*=dq)ydG9vk=h zf6k8qV`rYZJDkZNuUSZ=eRE7-oBrooWX@L8Xb*Fosrzg(zZ!iW!W@UsIzrEO_-vTt zO2(7-F_&39&OY;3@W&cn$9d}b>;(JeEX*^P(?0yn80#ZEmrxEITw}1`4;;6a!#-_d z-9E%;s2ukB++yypeUk-ha<8lSyt0a{ZTtAdD5tp3bmuqR--*sVVq(jY8C1m8K>Yr9VSLx zdY3c|JHK?KitwFx`;p3+{7>9B^<=X@l56gX@vfWBJqPwtv+-TZ zOyeGr=i8_UXF;!K%MxN=tBH4^uzl^}%2zrc?!T2Tsz1e~bUo{ym|hJYR`L!Q^}pFE{O$k% literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon.svg b/pkgdown/favicon/favicon.svg new file mode 100644 index 0000000..4b904ab --- /dev/null +++ b/pkgdown/favicon/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/pkgdown/favicon/site.webmanifest b/pkgdown/favicon/site.webmanifest new file mode 100644 index 0000000..4ebda26 --- /dev/null +++ b/pkgdown/favicon/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/pkgdown/favicon/web-app-manifest-192x192.png b/pkgdown/favicon/web-app-manifest-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..52184ca228969d5ece6bec19e3b88f73339a6f2e GIT binary patch literal 5267 zcmc&&^-~m%(>@S{0}%v4K?&)Skdi#<=76Il1gWFLBc#g@aCA$jbV?(olm{H8^bx|* zedGZLynO$PcW0j6Uv_q%d3I)JXW`mf%48&TBme+_OjSie_dfpoABZ2`d));mqWb`J zQ+W>q07$9+2RuM#_HzK>siLZatlsDB{T$M4di{XkVpGjBb==10Mue4wO|J{}E1NBw z-YrPN#DJYbFY*hIx$wK*RU1)=9#bUwZMeuyZyg}nrKk#iM!jxnQtz{J-#RR|6?V| zkj{c4Nx$LRmf53djPCTcmO9!xMRs&sL$#zg{_QP2ccV=Xv_$l@-t3M0RFS1?|6u@;tY%1 z=(#!@OOPBGpqXX3hz)o)>S=DcplyA9hIV5-_A|~Rkmp_P=ZLoW zLfLS8kKTnQ%3xaN-+dY33Cq5p#s;7ho15q4cLn{}nb?3$G+VGw1m!7xQ(641vyWwG ze;;2j?$YMh3*U3o7V6-PVZ8Lj{40U2A}{-s_M@#|9RqyFXkK>w9P+yKw-$c5%FCr8 z3~W&pU`v(-C*$7pA!m?$yILoG%d&pzl2zW9HG^lZy` z*C6f&&$04of3g9w^{>mAsO>HWfU`WITLo_AVB6nc51jIJ-o^!&+tbuL_M7JcENUHC zLs0+5Z1dYf=sMhd$|1ThpZ6yVBogi%PH8G+HbZdoMNZ&T$8JO(ENqLNgSh(;yAm76 z7qtb%T^dEzJH$(yIRN7m{&MHI(bZqP@)f1Ar(ZP6U$UF|PoUK8Ce6weboFC5 zB4UAwPTf_Dg25x~=&JZevcz*WY6MHeR@DNY5q~`Zs-R{%Ol=oBztcW6Z*|yY1kZT> z`WPkjJZB5LQd>^|vbv^?rTpvZj6x?;4#b{{0a+DYN<2oB-l9~h0!mzrev=1%fP}iu&^q=! z(|W_|Q?rj@oUQUF2`Kq5(bvXDBeDC}d0(Ii$YQR?@sbDC8MlvtJ(9dD$o>u1_>u=7 zezcAaY~Or%@~HkScIjri!DZoUp$biM(>vyUV+R>wjWTF4ykn73q%x!Y`wanW1kV8M zKQ^kb#-0^FSp`rJdY+}lI}cvkSc+)YYA6PrL(-c@1xt`ZYJ71{qr^()^r-X66XkZ& zfT^NPdh?@7Wl7o7eBIzun#H>P`=Y(a+#E01Bc4RZD+9R0A&<8&wp^peAlXaD*sc_2 z+^8)sNr|15>oKtH$?jcewsYEhSJuZyZ0<{Ic`wtSy_LnfFBW-|>w)Hnycd{$u+kDf zEFu?{6dl7x*vHj=jFZy(%P8sBpLHszcUgWO^c%<5zxBHIlWc`rN}3LTVXT4WR$FX%ho{QG#Q6ub`)W+CB-G@#u;!m9(IYm4x|dl7~u z7bu>gAZMXlh5G4u!#1WlTIG*2D!{S<^hDxkfZ!!5pFi8AFw&o8`eQ z;i2ZzD2k0?lgl`?a;_l$0{Uv=^3vk^#G?_4*=dilkHt~mbV8y`@*IUQBQyk{{kk+s z!^p3+FybN43Ho^R+$vs-aIl7GCQ2&faHFHZsvg;AP_WtHMtzqYS4x}1(>J`Ay8cyk z9_;MW@}MXtutqP#*b`sT{Uyj>7kI)DbtxtpxII5H(PNnJQcn28Sp*a%K2DOIm2S-2$y{h3d2p`99tjX4LoOtk3r!bf{ zC|v@fM40H_>WBSeFs9zcLMUTrKf)!VP3p{x&{?ZNeRArhD_~l%Nl|jTUjd0or|*mh zFhkcH(i=15Rn~oq&GfgiB$I!#G*SfJ9hHDEW}N#6i(yiaLD(n?*X(sDc?b`cIIK|m zZNw8{t~e^TPHrq+t8v_afyG$k1+&kLKfMxVNL^E5*QuyBKqb@5FG>sC(uyPn)>u6@ zYTY>iOjh8exkM6}*=raVZ4|s1yl?7eXd|^?({UYh zm|m?Yn(ah6`V*ENanjw0+-hXmr%rqYbNUO*nAn%I@OhhOJnEL4ty=C31>@ZN9LqnC zu@c1;Gc5tj#ZlFxZ7n*JDq4l`T4^a-!hAQLRI_9V2uh;8TB^%A$8E5*EJ!4^PtC*? zK`b|+_Bw$|;Z76y{ZxE`376@P1Z|C#BYjL=Yu?mZ8*78B#Ik_V4Cxq)8kNfj_!`; z-hScaS7<%`DnmQI{KL>;W1Hf5XQI8rsKa!F3J*Zs`~A6?^b2wOQoZkks@W=dtI&Hz zPd^FPBfrS?X=K-S-R0|rCw(s3-nCu~>Ow3hob*|8t7q7~HhBMS)NJkurym<2uYa^5|xO{WgXXq>r?*7q1? zrodRP6i=Dp>?E$cZss=I@?$z<8kyo#q7$}2SQ`E;+lo<);jRQRdsq2?#?vx3(pCfH z>(T2i5XrTRC>--imm^i8!xND<75AZ+DI{Z`!DayFB^THJi+d(XFO#0gRyAcXvPQIh zz_Vs<9MvoFD?&@!M$gJ>A@llH8l<{xlSsy0Q}{r+^B3r~0s;5T0)TnC2FjkhMB;EW zdF=k^(ckciVb)~*ciJO#s3`45-zG>M{1VL8xLg>ZHx3oV>?&+a2|D=TIJQsh2?hKU zkW#?Z6zz4M>hIP*dONQ`pt3?f{fci*Qr~q0mY~E*ylOEl{Pls{qGzjKi?&MDWkPSB z-f~H2r~tPQ%cm>#35^g3QgDgj(~?TO`vGd%c9<)7#YotCtKlV;<@0`?ynMxe?&TvN zG$r_=^=3kn3}T;gyI_k$Ir9L}7dtCiE*7|pORs=iwi`(;Bmc#t694iyDTj;xXV&w% z&~Md;KYM*R(XZPmA1*=G+df>}!hJt7PBR7B!%O);ECOQR$fDUj1u`mwQ;tDQ4=G4W+&iZ9%#8ai~wW;T=cYJ~ta@(>CX!}Eb;~^aqsDW^V z#?v!P28gY034TIOEys59NUjXnkpE6alOjBBV)xsh?rkeHtUpTmFUUkc*k5XfnU8Qx zMQTc}q{Bfb$oMC30B`^D*_H;2d(o!fP-ZpyruCso=^h0N0`OHv=h<8uIn#_paZMr! z>ZK1vAi+xGWX8Fz64$aA#w|2LOz`EIMAmnDm3LEZ0dIUJo6eK-?Ui%Cu=5m9qY#)n zKi`+(1?L&F3zY>H{V z(PeQyQsY;G0&Nb{xI=1Q;Kf9k5m($LasIUM7_~;#!tg5$Z^G@H%T_)}q&_WI4Kh5t za!2`I7AldvBmGo<4$8E7qpde65VB?Hp_JA6&IC15A#Z0-V6omIu~GVd^PA3WHaFeZ z1Zcd`@j{Gwtwda9$uMxbz%?3^r8{G6o%!Ky8j#I9R7zLYA#Z$8t#t znYy_hb2y!!u->LbeY44cUcEH>$$R1ioVq#ARBB*X1)CYgiyxw<`i^jTF&^i@r#z~rWw>B#{OTe%6 z=W7pjW{gJQ_}ag$>ho#uo&yEM(Qw8MOg!S+qDO7%8QQ$iAFvpG1+0;NUxbKZh7pNG zc;wug0%6Y0X%pAl4@KGjEvrdd4|D|#u6gOUh9vU!-kM8JotH9e!CAnZrMm;{wsRo{ zPlK72zx9!gp)n#Go`c&pc{+yPBSvpCS{vyJIs1x^7d7YI6!+b zmMmAJV-Ldo0YV|-XzloI>|4OL2rtakB(nwxKR@o?)W|%4uQGce2@+5cV&Cq>T zTIx91BVFxwqqFE5t4TBW_YFp6L+z=R6{)rR3$(n0>IKKTo;sy2823yZ`rQp)scNVH z99Ho1Rm``zs*jedy0iz?;^$A!OyAFeQ`gy`FmN_8WxLZrEz)Nl40)Q*u6h@Y(M378jnNNM;*)+P+Pic;Qb;$w{eiXTCS+P={#P z>S(5^DX9@rG-B;Yk zx;CoIi>z3x@Sd%Y+sKL-M4!-*KjiIBwmC=*S;!?M+MJ*IXB|F%rnY@oTEO5SQR+Ih zBq$HhY+BKC-P%&>9*}2Q7M6~OidM4bi;5ZNSLw@^_@#fcKh-P9`d0X($3lPL@0fAJ z8Cw%wft{1;a+;Cz!j?q70U#ol0_B<*I$GkeXt6tk!<`lo^1;i_%V(ta)tPa{%5twWGM`1tOX*u z>)-N4hLZ`cOK!hP2$#|yh6!puFDT@zkL5DRv7t#|g7PhIMTjN*gO2J|R(oA6_E=OS z>4Is)4AP2n=P0_!SohXu8|xDc=&txuKh9_(fQ3&uh!0(Pk3Q*w7n!@`7;jQGq>)Io z2ijSXBYAo4JHzvh`{};~J(^rt;iq}nto0TzbDE)ekFVOu5cG-zCm1W>@z}U*rga*k zMPXL3DKcDtz$B3~Eg^ym>v#JV^X{X%81dcTx-lN;QX`~Bn`!guWY+5lyY5}(nZf_O z!?rwVXD)i<#brNJYqoiW*#$YU(*d#1JUBJO<(feMl!-XWCt5XFNMcVc_L&48hzB!u z%n9ot?UVoT9v9iTP{>RVH4Zn{zm@ffeq8DBBTN9wnYCOMuozb4DmL#$x&%rWR=@70 z%4XUr$<JC3V_!m~e32GNPj^SrkGf1h>^3vn0+J3gOXccVu}#CiJ8}trX;2xvQ*h3X=Mo zWOv$5;39C`)$^mml(>>si{hMZ|9RQ#Uw_uHu{+qC>LnonC8a>cvD3U2B(fefl$!8g|q*waSY#ui35|kD!gjGExD>Nx% z&8i>NqDUi=#m2QcJxeFjUW~o^^dn_w-zXtqVsU-+(eKp(>d=$p=@G7z6;Fp`A nct->6Il=$W1MR-6NAMkyLhm%Nv??z2e^#qQKkwa-`*B_Obv?rMbe=L^;zmoThx97G}3y(^Rw%2X!o6=WtA3tusww$xXm(MRAIZJ~< z{qOO=3;=-YoDLd(9N-Xv_^OnP*|pxjp_5^y%(AwK_BfAi6Yx_G5xESsC`zixkZ;QA z@pw}bY~)6J!X~!dGF0$1>tFg(l92Y39Si_a|9Xjq^hj`Y^*IOW%rwKVu66c>g+Bm{ zvk8uN*y|FEImy8fLh1+TMuTvS0AL;E@sLzj#(91NB50JZV7p%jmD}_N*AB~KXrQNM z6!Phn9Tjm!0J!61c#oWbPxO#L+gLh5!?g^ zp<+ke!CS{&t7J)5ZXo39U+R6ti#yx}nzqU5QkWghAgtixX@7iR8FLZ6h8Dw{4v&Fr z0C2N~kx+L*cZWPTwNuVlO`6mDa0omk|7T1A0FnP?>x?w7hY{U+P^bO&KS<}xVOJ0G zOE7?;QkqIE3XIoxabfmRE9$hm2i~ULde&wa4YYxk6)7(`=w8t~-)xq)DdIX1r#whE z`t;OK001(iVfpTKK$8){pgvUP_i)ONwh9LTJPBc5hiL*kxS|J8(=B3uIaF=d@GX}IvuCJeHak!OfX3&g`#KqJ6$Hv3nJSI1l%BdJpQ;J!L2DQU zXZ?rF7G*MARw4m4!K z3!s4B#7*UZR(FQeGw^morAJ{?*m@4KDt1ZB6?yIdySUb|XZFsVUarjRQ?kb!uWd+J zunL&HoPSl>LO1%+4hJ`lLKZYjAofm}7T;0<6*OJUjnXT*RH3SPul&)x7d&zRP~iBy zg^pmNnFc7c6hRkWf|vD2eq7hnOd@Yq#DJA_5X#xhWlsm>)vbYLrPjZ6b~W)<$Pv@& zF}ON-euVn=Dg*1moLgB?x!Ln8$$WQF+#L@|M~khq$IpK(-nGFi;7!AVT>xP8$))q> zCV-afd(GfcN22MRUUNGmAz({5T;YVNii{}ZEHZVQuG(*HQ?UntKuOs`_^V_pkG;UA z#=bty=6l?|n4f0b@<`ZHlv{xnvU9~753UICjzz!~@&S<=?!(^&uz>SG+!jHFP_zXkL>voA@TZ9dqq+%$-@52+4Z{eFYn)T>Q4_Y|?|4XRX`82Z+zY@IIJAQ68 zZ_%uqm{V<2uZycA{{6KEHUTFYn^8SIvx@^F1d1QrF04-M z=O!kfue9r9aw;$XKp?DP?-E4fK> z4$STtxEpN4-K970fG&!lG9;mwjspQ2O1D%ZWI4zQ{B`R`UD;y1TV+nQgd zwR~rm(j0JdiT%E7Aed2kSw1wd)b7jTU$+_@&ANtW`Ok1d`USw6$6b-+4b>>;e6-k% zzrpV(>yQ`?gYdlLTr-TcnL@39i1JYllN8n6@cXw`Vufdv0-Y9WZMQ@0_(Mj(6ooMA zB;rr>z4leXy+E0w3xoLP?_$H{p{8sHqwyc@ZsviWoLMD~QP_kMrS9g>Jf~`ZcLM#c zJ?%|J+7q7frXQrQ>ntm-#AAE+5(m<*b>8gWW&?Kx|wJ4ZQ zt{|c2MpNA~n(y58VCqbhd%0BYOX>42U^uPGq`$bgCg-f2b6t7GwGe+qjs&c!6c-|U z@T-rzJ}e7t=O(H91@D(sBWgAe?IN);%$DL8pOtg|4iBw*Jw&$(|MQ+05jQd~tDtRw zHA}N+8qh9u=00sQSh*glTLg8AjNR4aTBjklzlDe3xdT3(YtQ&zMwSz~Nlklx6!5aF&}(dETIlynb^sI7dI{_VJ{?}?T=1>0giy>XZ22O$Y?RR7jZ z*}4r1w+wRSJw}g=ZN=MzG3?_flr8oAa|Aeg-VV90>-P0ORHfpfUvJG^%;DdIzgfK2 zlPF5_4{iq^t6s_;J~^>6ZJMAXlt=&<$1+98@VJ$DM=hnd(LH>bgBetzm4zo*?}w$r zTpLYc7T6UUrv~OCNT+1$4UACD1n%Aar@-Vra2;ysFG3zXOg(k!V}1ttPD|01V0k2a z;N_B!vq}(OEol`#dVe~dFylc*x;lc5(JpjYIh1@oR8Sw!M8utfhqeAEi%UBiTyrI~e36>u82~%-@Afz0Pp-?ogW(U61Pzs0t=@ zZ~X`*emPNIFBBmoMiT3u9*#dRg7nA|y|k-tTw1vmrPAa!&|m_DaQN#7K4~3p^phoa z#-QvUKwA3S|Ey0Vn;P;*$0$OW3v@ZiD*5-zdMSiBoP@4Y&;ET+v|6{2;q6$bCL%R> z-nnui6P!7Ulv1td%Qx-=0GF*nqE8<(9_}~$wE3t7VI>XK>94&&!K}a6L7HtA?ExX! z;x>nHaJ5!<&(uo3HvThVKcHiXp%!ZuMw=52{v_9&Y@TGhcpDo=d>1vwX!kB|lc?>e zYa;(6v%aae-O6f%+IwJa`IrJ=fydWh&?P5at9#v(4trz&z%4}X$gbmGcMhGl@Rbc( z9VwLFnQ}P;cYuA_Eox%379M-u4f!y+&6#j%O|DZO$;yZ`wpobIf9(x3Q=l82(6owC zO@(Y6D+x;5uUbijI3h1QXt-<1bua=#T`_TDEA3Fs#v~J8vt&U8?s3?ULX>$?EdG$AA>DtAEr&`K)fDj5_OpxbZR67u$&+*mtR!;4xLYeYm+CC!p zuR+ZWKT}Jdm=ceLFOOS6lhgG4WS4i$_TglzDs+bNpiH;}F7RRdR>}Y-oq26U1NxnI zy}NOYA%O3DrBY!Ue_`mH9>y@yMB~pNEgX_91%2vl2v7iPDA9!Sx{ctm=|e=^LGw5o z7}1O=DBkr`ld;M)C(>6PV%8BQmTRc>Kk$y#j)#QW_Fs=q;p=}z6Fewzp9`)VQLk4U z)003P_-Owimu!0Pv`L|JG5No^k7h9r_LZX}d3_7{@Z$}gjKppq_hQaKm=%b>&D&kw zEerU+I5zn$Jg6&XG}GP9PgxPX>5nGz^sFew-uh6fM-JxdxD2qxE#^UpV$ScBQqPxF znO+5)@Phl4L>cv(1pSNg-&{rX-O2>#u?@p|&M!giXpfEtv}!8fB5`V|j{BorjvOy1 z9;@^Y;WRH67{lQ3Ba`?DmlmrkmXO+b5ny}K(J#>Ku;rC*$>G1i4%Km&p#h{cA)B5x zWI;{YbMprE@|mwEWjfs^w9kc?*u&Tn!(U?y;JC0EWOIt)Yu)5i8})HR0cUu_e*Bh6N_E$*clWv3Cu;2Y4jfox)_i9Se&jv6^Tr+iFg>fw zwY1Wo)K{cQM<2aRDQE;ShuwGh^Z3of;H~HKezvI{0KitY0-M3R4^YJFFzorCx#HSN zDb&&TOH;O@FAxLx?Q5{g-2DkER*qjf-qo3Qnw{2j1h4BBU2qP_Hfc{P_FN2hQaCVA9d|1uKHV z#4}yBTJH-vO%Fb3ee`R{L=+!%zOIG)i^Va+6_5W8NKtFl?`gW!Li|iRu#`-247K?rIPX57~B2tCapC{%3jlU8B$m zR1@$3feTM@)%BeZBkCiJW8`st2e`p{4M)cd+4Ix4AseY(CwJB%f3s_4bfHJ&1WXeU zBGa3qon~WsiH+Z#{g#l11ZDDBxouOh;LqKFe3>Ueqa_$ize1#{ z=jaHP7*kyF3BT07HZx075>wm>9Srl=FMX|~jx$>-;ZT6alU>z~dlrxQ2La@*3G)ZrNKeBb-Qlg07T7Y}UO1;*$* zYI~tIl_qF;%+9{S?m!&FT7H#TMtTRY=60hzOqdJU+`92!+zd%xxhG;czkD{2C)a)Y z)Ng>?($59!CsJ`XDcg;oXgba*IvgF{y5iqalwy_9WUxRY78tT{8}C2;PEK->FF<7h9E2|NSf8>%J!H4S&!id8Hccab3 zbqdb?T)fVA+kVW0Rr13wL&>&Rk=|63YHR=m?f4S z6$L#S)dVJGpFFGSwtJibAtV27NtaJ2WhMPIT+K*xCKH`)4!Sdp1ZNX0{dXsZ$$u>k z{=HjN@5osESXQ*dWrp<1oTh1f#FsdX*fdX@CkfS69|6|bot7AkP~AN|R@Qay^92f> zf+kDp6nMRtS0Lk)!)0nBr(MMHvm8-5LOaJTT;$x{;J2Jb$c>st&(FJeNw#;@X2oB; z(Xwel>tP`H>Nu~#RHPt=QYXWHDSW+Cj2KR(P@_&LYP3P!)`_}$yT{+VdEana{)7`4C97aTbXb3%bbFdYgV%eDe7%!SAIDLb{IQP9C#*2#3I-BzB z=~dyo8?y>G`MvMUUf2)Tod8*kPe6w(I0QkrU+fxwv5LU2#^5C{HoSdnit$#vu|gY* z@tIJ{JjXX~X>=d81L|t-7w_x7D!I|o-hiA)4D)lp!aKL=vpMjOsmRwg{bD8|k3GF? zEFXlh3i1d!d7$<1;&TNwM3=kwj5=i4K^**1VPO_q7kaLPi)&oAs_pru8g$n>d~{6A zK&(>Yp-p}9+b^nQqffkJHB15PR$QYbE1O@GfS{g|SJ`hQ zIBb54rmYWE{QfYz{;3z0G*LB8qlZOY_-f8(Rn$}UP#!rW-1(E-dBIKik5CnUGI})J z=YnN`90JBZ#P*##M9->H5zt#@`oCBv6z~{HUHf}an-N!mlB<#noe^=>nlgF%UZ~!0 z?)`~DMCJ2dOQzTWYB(Bh>~@N?TipF!oEYI>jZ3$sduO7xC!#>Tb9F`{nsy&)W;cta zBd~G?$1iU&84U)vrQg_1mK|q~l^9S>{o(bajgIir=27Qy>B4Nyglv!;^cC?n*G#z# z5Su(&eEx(q14O&d(E?k>Yz^L$?^S$wX`7?LsBR5sfCLV@%sFXm=n}G*7B7H^%4H@t1x9${dyhhO1NSI6ue&mewFKEOpg0{QH$TR9Ri{8@ zFvceSduP~wb5V-dAn7uoX!@8z64&*F4mgbaY5wl~Y(fewm}l+X7B+EwiWP{2yj!jZs8`v^BdGjtr}8Cbb=XYKGgNoeXNXI_P! zlxQHwwg3Q98JOHC{bPvWp!aa;1`UxX!XDcYitx^bhv;!l_eEiDs1^i0y_-L%TZh_oB_o89WWVz&Y5 zvs>)Er`|N#GSs{%+T4(JDh_UX?R~ zd`4f5>(jp`*A=ICcV&^9sJ*u+t|2q$3jCoa=5CRK)r9wrr=BKmstcRfNa~%B?j&RX zykC#pwRU@h*DfprR4HZDCpM@9Bi`Wo_-hY-$cGXuIM-^`1J?~4EzEmNttQ~DmHCT4 z5ep4(T9AH}1T`3}dM{6;$1Yb+Z?CIIaQcmA+3Q^ZUJF&c!n-e!MS29ekVS{TO+=k$WJe8_r`LgI`I6DvYP z(!HihX`gJw&zv!9Xoh<`Cb*Q@yTg@$$0yrlssw6}I($a$f!K3rQF`a^5~ZQ)ApBeo zOsOLxo*2iJv26pQbz~)@gtV@e#wxAvkme~WtMY;5+L4o)lkjSvg{zNO1w-GtXr4C> zyBkt|DBRK&_GXMaO`AT?De){%R5-X)7$-D#zyb12w)A0LIE)3vbIqno2vXfxb3@%7 zda4lB<^n>4A-4Rup}}b0R7Q_o5%*~z@k)CGH>B{x{pgcV*;_|=8zy_a$pq^$n8_@YfZ{D}hN_H{k%xvaF z^Si=^XXK;-#6}0qMnmsub=m3Jz@Ab75@NZK=++=yF6Fu}pdIR6 z#>vewF`G~X+$NO<0EbVu$0_L|N-lQC@HbU6L0-S{tepL|ozTeGKib$(YpUV)E2XAa*+3w-tM2+NHFmiCKJf3> z`zvRe%X|gKuwMeRtMLEvm)26F^2D+KCZdX?fb-U^vxJYCwLlnb^hHG1KB59vM)rMLnT+J zV`&u2DH4)Oes7)4m>9X8MT*DL^!UCh74#suw|B>dHU-*IS(pN`HyADvzK7Y6u~nKg zIi3&=WsD@iMo+++BScv1@_R{@KKZ4M*C7%|1qJ3>-ZnHhfKCOrATi4C7?(pW*wBl4 zo%7(|(&Wbo`fIP_#gSslSHn(YN?rVGXH}7n`KOy4Ou$XpRX)vknr!K#NV~6VqORS% zpOB?@r@S6%UJeOQ=3i7i7FF-KNDXXtyQM>fm8Xr3TdryT&M~ubJAa@2n@0xfv7p3x zr}LmqcA5HK6lb|;@T^&n>#Gn-Qm(LOKHtmQ*PhKyJQN|0;b<+BVnv+BwaLjqN<}K5 zP68%C5;J0Na}ne0B{P^Djx*c`$D;!5p*R5GB>(dQAlc5h};^?V@Wac&Z!`JDSJ)l(MR;t*X#YMdYNlqPx|L$pSQa3e!uy@O* z%s+r*-5j`=%Oj|p__+K|?V4aBY<=kK=-9H$!CPBZcsye6{`)u=$4K6jTSm#y&rzfm za;&ad!Ye_tz$s}LHBjDIVtj4(y4Zta8Q|WW3pji)>PT~ijGFgQ19?tgha;?moaFF+ z+xWes;xf6p##1if+dK3a<~FPxt?XZGbkdli#VbO_dc0Ap@478W7s@bk#8N0bRq$Df zzbky*b!kEm*r|6bOTMcdJalh0Z0TuNYCCs`zvJvdQ??Gw-$>W0hQfp@-tOTXcRn?H zjq9mrmKaLtX`ZM@tpY`rsH1}J-@W*{DgcEG8**I|lQYBx4$Q6ODE{aNRQvhK;g*&o zuER;bz74aPk=eD|@+FIt^H!^j70Ng7S><*bH&X$ICu{Kar{98Ld)s1G>t{-fjiKCW z7o#3{w#L3N-X1+`M^jx{<7{Bet0JwGNPbq}WuPjt*3_JhytWu)RnI^15U>`uFg!Fi zn(L21MTnw=u%m4H?N0=a@UUG!ywJ?tUFbBrd1j<1rvJH%uwKU~JMe6xZXt-6=@z3r zDY7Z8pQ#qE0fA(-ZV1ckAlOtO3>*ULWEcn@2ydT3^?AA9Ed|)8x)h zSrHvWh%d1PC{z>88A8WV^zp07gmxyIlE6cdirsg z>dHE5zuf)%R|=83Ok!ZaFMj^C!F4sO9OGptd+Q$g^nB_`)Oav=h{ty489p`84zlVX zOcrmG!?^g(efDZj6yGcjPRSVV0C-alP$}(IUcfzvnV1~s8e@Y4a8NJtQ?#f5auU*y zYKsklPAao7O)+-gXk$KDfJwy7a&F~=accS8Myqm-_3Wmky*XM@bEkzVJSZYMfq}*h zkeAO$>-fvLw7i2edod2D?nho}Rnn43Z0UNawXXk9`T)|Y>DxgJ^@#RB{YMd(B0 z3X)fXpIwfG*EDSV>wD!X0MD9Tg36ahxN|{1hO%g$8oV*rCt=1}ZXbV^?0U`4d*&}Q z$DLlIf+s6loy|(2=jBy4BU{TKEFE4+u`{ji3x2!cjV-CARpl}N-uRlm3ZdZMka}Zl z&wfkudvn^MlF$4i19k(?SV+t3_t3UnbJdHpP<5`>Z$8Yk&MRYns0ShU5csDfVZaX6 z$Tp6qtLiR_7S6q45`MoSX{$^Lj&AB3{t%q7g^9ab0=A*qn|AgG-4osF4#oTVoa51c zCvnT}HTy@|ziq@sfNd0|Zq(Hkx7475yMiHFG}5B^bxP%(pC!b+emlJrQ9zya$mQzk zlqv&pZ{^5g^CJd2Bg3^fP;8JM&QCc0psC5bVVuP;UcCTN05!JCQBnOjx%cp|KWZln}IxbuFq@9r}Q7SGY9_s z#?jZG+$Qh?v5-%8mWUw7zgyp_DK6x`{J_f3YGwj#a;|dNwWEPBQwK5pB@z1iPb<~% zi#C#}B;6ICWeN{9AJ0@{uBgS>;-o^7Gs31+WrVcXRyW(oYVb3NjUptHb`>gGU|uhl z;`(*JvC_8bA zQM5RYN4S1bo-5Z1*|T*rZyFKj9rgxzyNp~`=OPoiUutLH6dX5ObG{|0+P@)e{`b1g z!xX(an9pJ9{aY#5FeSaNR#vxp)hIu!iW!%RiC6#9mbq#Y?Owldh?Rry7dela+l-`F zogog#Uh=#aP_@zhsCB7We)bkta3t2s;ZUA3gqt#?>nv=PakP-%TR+Dx@ozGIYJE5h zKAB*PE6Jh9cXYq?>4}NcH5Z_SyPbO0xQ(8ijGTVCG&%XBn{|@zfc$!74c~kV$8#gf z8{045PbV)nG`Y0PbrB$HjN=0ZOcX8uCY`d3j$PXX4#7SQrE)p_J29m(<9y@im_GUDjUT zOSLsAfv>Jp6{JaXP9nmKphjh)!mY;o()58LdK)M3d#$4Lx%cjB?l$UHVwP)i(&ZY> zNgAi>En2a;h`nEy$Lxe#K!s~D2{Wm06yHI&%G8xYKU6s|JIhhUJs)44Wl6VVgqxOw z*Lrjqx+n`|Uje=a39^WG_$Io_tG4?t%P-rz&9|T35-A7Cai?&|TR`=Tq(=9pTZUm; zuuN-VZh_xF_vS~+vK*a6d~b|VzZz@NOL|_jYd>=;Cryq_jrj&L{i(jga}&DfL4<0R z>r_Pa)|VxF1DyXM_8Y>bVd#?$H1_NhkD%Wds*ok-D4BMXPc@t9|El&Mn%Tj|1VJG@ zhtk!dG)4M|n?W3S1tl!aH%{X}KOuS#U$K+9o4110jU#^3*jv$kzWF1JwY0I-H}1*& z`P^vj_l?YEoqC7d!-oyTzYnK0lGGT1s^o?BpW(^lK~sHqJTQYl%)=ehY=DRWBM6 zyY?DT1G2?g>}%EZ+c&Us2|G_xcm($oX|{-2;+_r$7^gpDfEeo0l6qFgx!<;?0WE9r z-7_JDA&z^GBb50o*=R-{eG8u8AMLA}={EWJKCp8Ad->ivh*3#fqtW>@P7!{DO9$GI zHDjxcslqZth-IJ-9ilkw%~^(j9AL~$2L#dsvbFZ369?usx-^NrKP~#}d+j!U8DDsYd;OnnVuS!bhN>=pD5_>Deor?mfp# z2dOSU3ODM7O|RcDHlL#@5&vVf6_iOXPrA>+8Rz;krBT2hl^s!|k1JFfbnuI=?V%Q# zp%!k7+PRa(OCd zEvN|R*>5dlB&6+O7)ryY;AEk31()S8;(fzzn-tO7N3EaUpDj)tJ&Q|$+jG};7-?Rp z;9?xa7#y9Q2wEM#g4NWmWAhK7MgaziG~aq-b>Zhxk{{x271ABEV6BYj_Q{jR($Z7h z=1s*ZX;HU9#*f;sn=qr0E}pF=p1I>?GNV98jaN<32ZHiHuTX{U50ZgZ5`U#}48)xM zN|A1S>WtT)BdgRQSGRD+QiX;ChSN#kK=l`Neap+~>`6x5a&iwUD9JZ$DB^nsn<2Kd+eG_x*e6NBd&}=%ynT3;a-9L62oQo{$rsO8;w@t zUGbMbr4NoZzHyHzDr9ja2yevn+~n9e&pFr3fEs+$pv9;xwBsmXXp_Ax+u@kuW$pa! zg4x(35qD&<(BpH~ak|kHyYXahyu4K(>6jBbT0aM%T&|`fCJ+E;Yz=7qFUgX~1OA%msd(qFyr^ zkwsPag<5B&0u^cu9;g=6pKsZqypfg@zROKQ%#wDFZexq?ZgAoU7lNidS$FT`*)_4` zXQB@t$?2Zim3fN{eIYu)PHs0hZ0<9Rs(Wd7vj{z;K>F@p)MRR@O>s!RV*$~T^*h_z z%PW0HPiaf1J}+u*Zu<2;UHq2De%1lzLKNAcd)ffeE_MUGP|jWgzr@@X zeO`DxP%Wr6YcQZvp4hF$#>z|1%^0xi#W zvu*R{ept?*?daH?JWXb{hI~R{5R!=XpEDaed)5~zS6nQ2?d)an)u3URH8=gcA1U8Y zrdCWPGeVOAXj$tTo_pdr9m&dLULkP4{kENK0)d~2oCLwj1f_ycxv1k|2%|7oLAdjprx}y>;xr&zqa_dHmJI*h~ZUfkv0Da$ye^y4vpaRdzWGH5)##~4Z_=@ zu4%^NYH1dlbnnlE0wQ?wc?j7D&It6Y{}Y#r;biK?jq|P zM_HrK+l>-6yS$`eklB3IjE(PAaXrnyD#CiBj+>yVUqzP0AUx7n1#RH*XSF;EFM)ZEOd_X{Q zd-I*alh3uTyXwU&mw$D6)_kQ{u1!a4@`8?uqLtoZW^>*Ans#X2Ktx>ghA)o|hzAq- z1YxSN2`Xc(3Yks5R*I9G$T1n%O0DSQ;=mZr0-KyK+PZ>C+Q*vnW5#M+{Bn4%^;kL- z9Gy1e+}3>i;tx{+J6T;TVXf!XfNJTP5J?Sm6p9S7o$s499Q3`y-70k>a&xQ;)frat z271=#_qQV-ySM%Bo60pa=%obop0(G30!ICh&l-XK`pWTW+6#9PPjUPdVXV2jJcmA1 zK#6xppXhn?5~a{C^;vW~$88uRMm|}%GSbuCqq=$({Z23rRRwb(0jAjML;f~i8gxVOiLlz%!QG?$0#j@+ zA1p4lft>5<+ba+q=*m-^pX=0h?`WJEU4K}x0tK+4B`eOIAHmN-W;aZbfaqX-Rdqt- z6-bl*NBGOe^D8giamzqH4}9xtnJtpDDzA2AK|40L4G-M~xn zs|gn&2P>nBT~Ds;p*`A{k5DJqABQJSmz$3If*xw(VN}2#;F7Me{$!E#5q-O*rsBn;lTv3o6c zGU#QT-(fuu=z!tZ-QP2^`rAdG$qUo2@3FI}&!_PxoR^`zej(7}o$`UFNC;?76ozQH z7kXON67~0J%t`O4k}gkkEFC;OuQ^!o36^Ev9sYrN%3oKhRY483P}tstri8=KmdfoA zstYw)OLoITV;mO`jtIFcy=Cuu5Ms7&s;wi)iR3HVph5A`gTdXm^+$BT^MORr|MFAn zaa2yp#n=Q2<8HdzZk&nGTd5t>ar52TqNLsk6wlXk!z!cIH(~v@T2s^-BXy6up03Xe z0@hqT<2Y8Cc>Tce-aNehY2Oq*Qn{znN+4<{1Flajb-D3SZdIy!VuDZZyYh$04l zqxo8`*Wb1p9x{PeW3E^Hb+9uLn9}xdTp=9&raJ;P;IDrzNS~+((P6SwsM8i`Oz<~o zB2G>%9XUbgak)>AJ&9&u)2jA$K04mZTDk<)a1i`!TT=F30fBBBY8+VVe!{~gm3kH` z1N?`|CwP-VxBo4i4_G>SUBba~{+@wfZU3S^1%HTgK*L3D0H?v14gQWt#N8pu2iJ;H zeTyn*MPvKm@!LC#2icNz`iWN$7yYXnFRUznaXuLGf3piQFK^XaKlt~>w@_iK_0=T# zy6lLsz5Xn5|3di*G%WCMMZa!+m0;FVOzs14d&=FKe=Fy&PlQ7?=I?{@YY_p9%8OiP zk`!!m{h4!}e*Ng&Rg)*T{Xz2)6To&2W+kp}PaJa<-&jbg)*Sdl)xY|?i&nICOzt#b z&X%ns0u`ivnnbPf#to>r95BO@4%)>D!Omyd2eMs7a+~`%?F?E6X1(JqM)7|J&e_FP z8q!Z`0fx|}+9dS=lJgl#i8S^5&ap>BdN||;Q_MftHqnQ1dA~9^jP#{~4q)^BIxjyI zym@Gq_5~Jri^od>X}_C1zA@S1=D)F{hMspS>b(d&&o(Rc>5*RQ;*z|))zS5lU&=zs z4^imk4@chwgRr3IOAoz|GcQ{dB$^a-eGR>*oX>N50bmG!eV0`{s;7M$B_{_qv2S}M z17Q>U0oL+b-7-R(JL|KG77sPHk&dT&>h(yeD7R%JQ1Q>n&c+61#8Yw`E#e<{jlW2j0y1Lw!edHbmxEBH zq+T1U1GQy0`H`JM=RDc)vaQj!Ix(zS=Jo!QGC9Bn80P@=y}T2s?@7*E#9rOeBq^s5 zv{y`@QCXsWDpNp%?s$rNI(YVk8esU3m7i=fC@hevTVRJFD$8b0i0LZ6d&-G-z~G zPT)Kjs)Ko5JRZSiJE@2QEoKWHj(Sx?^5tU}Qg0@S-HME>jn@*mgAZ=281Tk?{SSh8 zUejBiFovf+>A9C1XY=*j$}2u?hrorTu;AH$4MEVGovJLzqHd8urLLs3xj!ppo0WU8 zsnxrQKtroHB(Cwst6!rACPVnttPbO!gZT068_%*c1)!=8I(J^qRJFJXe9@<51MQI3 zw{_YZh3X0?+MzS;TI&p_Z$Olw-j|#!Nc60#-e`yFh|Am0Y(MpGr2w9%s5_juM-2A} zi;B%?Q?P@l-RRtB{-PS?gBy5qv3uD|93Y$nn-L3$aSs13al+B(L2@8Q`QPJz8Th{p dWK Date: Thu, 6 Mar 2025 14:50:11 +0100 Subject: [PATCH 5/9] Add option to hide Reverse dependencies section --- inst/report/pkg_template.qmd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index 5d9c6ae..d435505 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -7,6 +7,7 @@ params: package: NULL image: "rhub/ref-image" assessment_path: "assessments/dplyr.rds" + hide_reverse_deps: true format: html: toc: true @@ -110,6 +111,8 @@ row.names(deps) <- NULL knitr::kable(deps, row.names = TRUE) ``` +::: {.content-hidden unless-meta="hide_reverse_deps"} + ## Reverse dependencies Overall the package has `r length(d_riskmetric$reverse_dependencies)` reverse dependencies: @@ -118,6 +121,8 @@ Overall the package has `r length(d_riskmetric$reverse_dependencies)` reverse de cat(paste(d_riskmetric$reverse_dependencies, collapse = ", ")) ``` +::: + ## Namespace Overall the package has `r length(d_riskmetric$exported_namespace)` exported objects. From 9cc3721711be5c119e0f0c474f51c93bd7571afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 6 Mar 2025 14:51:16 +0100 Subject: [PATCH 6/9] Set the right level for the titles --- inst/report/pkg_template.qmd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index d435505..ecf54a3 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -132,15 +132,15 @@ Overall the package has `r length(d_riskmetric$exported_namespace)` exported obj d_riskmetric$export_help[sort(d_riskmetric$exported_namespace)] ``` -### Examples +## Examples There are `r if (!is_na["has_examples"]) sum(d_riskmetric$has_examples)` help pages with examples, from `r if (!is_na["has_examples"]) {length(d_riskmetric$has_examples)}` (`r if (!is_na["has_examples"]) {sprintf("%0.2f", sum(d_riskmetric$has_examples)/length(d_riskmetric$has_examples)*100)} else {"?"} ` %). -### NEWS +## NEWS The package has `r if ("has_news" %in% names(d_riskmetric) && !is.null(d_riskmetric$has_news)) print(d_riskmetric$has_news)` NEWS file and it is `r if (is.null(d_riskmetric$news_current) && !d_riskmetric$news_current) "not"` current. -### License +## License The package uses `r if ("license" %in% names(d_riskmetric) && !is.null(d_riskmetric$license)) print(d_riskmetric$license)`. From 8d03bbde39eb60048188a5f4edf24809a77434f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 6 Mar 2025 15:34:21 +0100 Subject: [PATCH 7/9] Update/check for website --- DESCRIPTION | 4 ++-- R/riskmetic.R | 39 ++++++++++++++++++++++++++++++++++++ inst/report/pkg_template.qmd | 4 ++-- man/riskreports-package.Rd | 2 +- man/summary_table.Rd | 17 ++++++++++++++++ 5 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 man/summary_table.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 35779bf..6c267f9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,12 +1,12 @@ Package: riskreports Title: Package Validation Reports -Version: 0.0.0.9004 +Version: 0.0.0.9006 Authors@R: c( person("LluĂ­s", "Revilla Sancho", , "lluis.revilla_sancho@roche.com", role = c("aut", "cre"), comment = c(ORCID = "0000-0001-9747-2570")), person("R Validation Hub", role = "cph", email = "r-val-hub-maintainers@lists.r-consortium.org") ) -Description: Documents package checks for validation in a pharmaceutic +Description: Documents package checks for validation in a pharmaceutic context. License: MIT + file LICENSE URL: https://github.com/pharmaR/riskreports, https://pharmar.github.io/riskreports/ diff --git a/R/riskmetic.R b/R/riskmetic.R index 92a4b9f..7028b96 100644 --- a/R/riskmetic.R +++ b/R/riskmetic.R @@ -52,3 +52,42 @@ risk_error <- function(output, y) { } y } + +is_logical <- function(x) { + if (x == 1 || isTRUE(x)) { + "Yes" + } else { + x + } +} + +simple_cap <- function(x) { + s <- toupper(substr(x, 1, 1)) + paste0(s, substring(x, 2)) +} + +#' Summary talbe +#' +#' @param risk The output of `assessment()`. +#' +#' @returns A data.frame with the two columns one for the fields and one for the values. +#' @export +summary_table <- function(risk) { + is_na <- sapply(x, function(x) { + is.na(x) || (is.character(x) && startsWith(x, "no applicable")) + }) + y <- risk[, !is_na] + y[] <- lapply(y, is_logical) + y$has_examples <- sprintf("%.2f%%", y$has_examples*100) + y$bugs_status <- sprintf("%.2f%%", y$bugs_status*100) + if (y$has_vignettes > 0) { + y$has_vignettes <- "Yes" + } + x <- t(y) + yx <- simple_cap(gsub("_", " ", rownames(x), fixed = TRUE)) + df <- as.data.frame(x) + df <- cbind(Section = yx, Values = df) + colnames(df) <- c("Section", "Values") + rownames(df) <- NULL + df +} diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index ecf54a3..d52e963 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -93,8 +93,8 @@ d_riskmetric <- readRDS(risk_path) # Assesment produces a data.frame with one row r_riskmetric <- riskreports::assessment(d_riskmetric) -is_na <- sapply(r_riskmetric, function(x){is.na(x) || (is.character(x) && startsWith(x, "no applicable"))}) -knitr::kable(t(r_riskmetric[, !is_na])) # Use this to have some summary text and report it. +x <- summary_table(r_riskmetric) +knitr::kable(x, row.names = FALSE align = "cc") # Use this to have some summary text and report it. # d_riskmetric ``` diff --git a/man/riskreports-package.Rd b/man/riskreports-package.Rd index 67d80e8..ddd19ae 100644 --- a/man/riskreports-package.Rd +++ b/man/riskreports-package.Rd @@ -22,7 +22,7 @@ Useful links: Other contributors: \itemize{ - \item F. Hoffmann-La Roche AG [copyright holder, funder] + \item R Validation Hub \email{r-val-hub-maintainers@lists.r-consortium.org} [copyright holder] } } diff --git a/man/summary_table.Rd b/man/summary_table.Rd new file mode 100644 index 0000000..9495e16 --- /dev/null +++ b/man/summary_table.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/riskmetic.R +\name{summary_table} +\alias{summary_table} +\title{Summary talbe} +\usage{ +summary_table(risk) +} +\arguments{ +\item{risk}{The output of \code{assessment()}.} +} +\value{ +A data.frame with the two columns one for the fields and one for the values. +} +\description{ +Summary talbe +} From 4101aca5e4f916b829ed4a5f5653b12c160cd7c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 6 Mar 2025 17:49:11 +0100 Subject: [PATCH 8/9] Add everything --- .Rbuildignore | 6 ++++-- NAMESPACE | 3 +++ R/riskmetic.R | 5 +---- inst/report/pkg_template.qmd | 5 ++++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.Rbuildignore b/.Rbuildignore index 716a627..1f97ea3 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -10,5 +10,7 @@ inst/source/* inst/source/Library inst/source/*Rcheck inst/source/*tar.gz -inst/*.rds = = = = = -= +inst/*.rds +_pkgdown.yaml +pkgdown +.github diff --git a/NAMESPACE b/NAMESPACE index 5747cbb..a28e5be 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -3,7 +3,10 @@ export(assessment) export(check_reporter) export(environ_report) +export(license_url) +export(licensing_match) export(options_report) export(package_report) +export(summary_table) importFrom(methods,is) importFrom(tools,check_packages_in_dir_details) diff --git a/R/riskmetic.R b/R/riskmetic.R index 7028b96..89a0b51 100644 --- a/R/riskmetic.R +++ b/R/riskmetic.R @@ -73,10 +73,7 @@ simple_cap <- function(x) { #' @returns A data.frame with the two columns one for the fields and one for the values. #' @export summary_table <- function(risk) { - is_na <- sapply(x, function(x) { - is.na(x) || (is.character(x) && startsWith(x, "no applicable")) - }) - y <- risk[, !is_na] + y <- risk y[] <- lapply(y, is_logical) y$has_examples <- sprintf("%.2f%%", y$has_examples*100) y$bugs_status <- sprintf("%.2f%%", y$bugs_status*100) diff --git a/inst/report/pkg_template.qmd b/inst/report/pkg_template.qmd index d52e963..2128716 100644 --- a/inst/report/pkg_template.qmd +++ b/inst/report/pkg_template.qmd @@ -93,7 +93,10 @@ d_riskmetric <- readRDS(risk_path) # Assesment produces a data.frame with one row r_riskmetric <- riskreports::assessment(d_riskmetric) -x <- summary_table(r_riskmetric) +is_na <- sapply(x, function(x) { + is.na(x) || (is.character(x) && startsWith(x, "no applicable")) + }) +x <- summary_table(r_riskmetric[, !is_na]) knitr::kable(x, row.names = FALSE align = "cc") # Use this to have some summary text and report it. # d_riskmetric ``` From b2b1c21065e5866a51ac10a5024e90d9b3227342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Revilla?= Date: Thu, 6 Mar 2025 18:00:15 +0100 Subject: [PATCH 9/9] Update to match what is on this branch --- NAMESPACE | 2 -- R/riskmetic.R | 2 +- man/summary_table.Rd | 4 ++-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index a28e5be..a6f07f6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -3,8 +3,6 @@ export(assessment) export(check_reporter) export(environ_report) -export(license_url) -export(licensing_match) export(options_report) export(package_report) export(summary_table) diff --git a/R/riskmetic.R b/R/riskmetic.R index 89a0b51..6538747 100644 --- a/R/riskmetic.R +++ b/R/riskmetic.R @@ -66,7 +66,7 @@ simple_cap <- function(x) { paste0(s, substring(x, 2)) } -#' Summary talbe +#' Summary table #' #' @param risk The output of `assessment()`. #' diff --git a/man/summary_table.Rd b/man/summary_table.Rd index 9495e16..3a20272 100644 --- a/man/summary_table.Rd +++ b/man/summary_table.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/riskmetic.R \name{summary_table} \alias{summary_table} -\title{Summary talbe} +\title{Summary table} \usage{ summary_table(risk) } @@ -13,5 +13,5 @@ summary_table(risk) A data.frame with the two columns one for the fields and one for the values. } \description{ -Summary talbe +Summary table }