From 2f72b290bfc835788967f59a8149af680ea028f9 Mon Sep 17 00:00:00 2001 From: kuldeepkeshwar Date: Tue, 14 Jul 2020 19:40:37 +0530 Subject: [PATCH 1/2] (chore) Add with-filbert as example --- examples/with-filbert/README.md | 49 ++++++++++++++++ examples/with-filbert/package.json | 21 +++++++ examples/with-filbert/pages/_document.js | 34 +++++++++++ examples/with-filbert/pages/index.js | 69 +++++++++++++++++++++++ examples/with-filbert/public/filbert.png | Bin 0 -> 42097 bytes 5 files changed, 173 insertions(+) create mode 100644 examples/with-filbert/README.md create mode 100644 examples/with-filbert/package.json create mode 100644 examples/with-filbert/pages/_document.js create mode 100644 examples/with-filbert/pages/index.js create mode 100644 examples/with-filbert/public/filbert.png diff --git a/examples/with-filbert/README.md b/examples/with-filbert/README.md new file mode 100644 index 0000000000000..25755bede5cd6 --- /dev/null +++ b/examples/with-filbert/README.md @@ -0,0 +1,49 @@ +# Using Next.js with filbert-js + +A light weight(~1KB) css-in-js solution(framework)🎨 + +This example showcase how to perform SSR & extract and inline critical css with [@filbert-js/server-stylesheet](https://www.npmjs.com/package/@filbert-js/server-stylesheet) and [@filbert-js/core](https://www.npmjs.com/package/@filbert-js/core) + + +If you are running into any issues with this example, feel free to open-up an issue at https://github.com/kuldeepkeshwar/filbert-js/issues. + + + +## Deploy your own + +Deploy the example using [Vercel](https://vercel.com): + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/vercel/next.js/tree/canary/examples/with-filbert) + +## How to use + +### Using `create-next-app` + +Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init) or [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) to bootstrap the example: + +```bash +npx create-next-app --example with-filbert with-filbert-app +# or +yarn create next-app --example with-filbert with-filbert-app +``` + +### Download manually + +Download the example: + +```bash +curl https://codeload.github.com/vercel/next.js/tar.gz/master | tar -xz --strip=2 next.js-master/examples/with-filbert +cd with-filbert +``` + +Install it and run: + +```bash +npm install +npm run dev +# or +yarn +yarn dev +``` + +Deploy it to the cloud with [Vercel](https://vercel.com/import?filter=next.js&utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)). diff --git a/examples/with-filbert/package.json b/examples/with-filbert/package.json new file mode 100644 index 0000000000000..b13949c0159cd --- /dev/null +++ b/examples/with-filbert/package.json @@ -0,0 +1,21 @@ +{ + "name": "with-filbert", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start" + }, + "keywords": [], + "author": "Kuldeep Keshwar", + "license": "ISC", + "dependencies": { + "@filbert-js/core": "^0.0.4", + "@filbert-js/server-stylesheet": "^0.0.4", + "next": "latest", + "react": "^16.7.0", + "react-dom": "^16.7.0" + } +} diff --git a/examples/with-filbert/pages/_document.js b/examples/with-filbert/pages/_document.js new file mode 100644 index 0000000000000..ce30d9b091528 --- /dev/null +++ b/examples/with-filbert/pages/_document.js @@ -0,0 +1,34 @@ +import Document from 'next/document'; +import { createStylesheet } from '@filbert-js/server-stylesheet'; + +class MyDocument extends Document { + static async getInitialProps(ctx) { + const sheet = createStylesheet(); + const originalRenderPage = ctx.renderPage; + try { + ctx.renderPage = () => + originalRenderPage({ + enhanceApp: (App) => { + return (props) => { + return sheet.collectStyles(); + }; + }, + }); + const initialProps = await Document.getInitialProps(ctx); + + const styleTags = sheet.getReactElements(); + return { + ...initialProps, + styles: ( + <> + {styleTags} + {initialProps.styles} + + ), + }; + } finally { + } + } +} + +export default MyDocument; diff --git a/examples/with-filbert/pages/index.js b/examples/with-filbert/pages/index.js new file mode 100644 index 0000000000000..2b4c8edb125ee --- /dev/null +++ b/examples/with-filbert/pages/index.js @@ -0,0 +1,69 @@ +import { Global, styled } from '@filbert-js/core' + +import React from 'react' + +const Text = styled('div')` + color: hotpink; +` +const Heading = styled('h1')` + outline: none; + text-decoration: none; + font-weight: 300; + letter-spacing: 1px; + transition: all 0.2s ease; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.01); + padding: 0.4125em 1.25em; + color: #3793e0; + + &:hover { + border-bottom-color: #4682b4; + border-bottom: 1px solid; + } + a { + color: #3793e0; + text-decoration: none; + } +` +const Small=styled('div')` + color:black; +` +const Container = styled('div')` + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100vh; + > * + * { + margin-top: 1rem; + } +` +export default function Home() { + return ( + + + filbert + + Welcome to Filbert! + + + A light weight(~1KB) css-in-js solution(framework)🎨 + Next JS is awesome + + ) +} diff --git a/examples/with-filbert/public/filbert.png b/examples/with-filbert/public/filbert.png new file mode 100644 index 0000000000000000000000000000000000000000..279920e11f908c52aa022952ad5c4b73170d9aed GIT binary patch literal 42097 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
gb}XCz?VNT_P^C` zH1Rsa7&f7YCkj)H364NGBt`4kc;3QUP6%L$wyrTf-1^3#5K&IFK3MNN=8p0-@kCo~ z>Ajq_=@}0s&AWa+Ik)!jR%G#HR%;`mH5@X6k1NrePqH)34d}97si3ea??G^lVAxG< zgGatP$5S?)(Gc|su1ZA2+i-JH`A>6y6_!`_SsZUy3U4~|46|w6)xnwo9Lq?vVPnF5 z+_Kp$=ru;?Pnn6PNgg5sepIyU?Mo1WuSKV3pl|pkEI6N!hW=A@go1ST@@LE&TX@O* zeL7shZR&;S2`?A(5I?Bs$~rPzDRbx1V*^&y>zll;<^nzwj7 z9wpL~`LMmfm;Bolr-Jz`M12Q0zi~om05}F2{4UhS!R`fBp$NU)A3WtYy_Ztw$?yF8 zr~4vHnJ?!LTR&G!Lo)HTdToGRYw%}e;)P(u}+MVggcHrN5&{fLi${vT6r`~(?JKN z0LA{VDq&&*7;I0T6ZmM)Ml>Mu-H*>g$AkHqWu5Kqyg#|<0{r#kqJ`UIivBb|-uoBP zbn$4>hebyC{pQ+7TXh9<>^{d*WPomu!A4p1B!w|!azZeNqM;sVt+3O;fa!;qmyu9Y zeSOBbmoF9L$4|d>>$tO4KjPfplQpx@cL63T(mDHXR=?W7PtIX;EzbE4+{~4g_p{~nnyS_ z9l9#LDjq;R!3_$N1)P}mGkIJRAa7d=$c#Yn#W%C%Sgi^~f)h=2C;tBB%U7VA6h|7f zQ-3FZnf)O9{79wYv^Avr_HIhlna^-jzU6nqgzIu?$JQi>RTe<>)hS9(v6x5?a$Q)| z3#)${97A8&qICh$B?{;jsG?NtOns}Y#gm#j<{7xx`plZ`iOb~g>vmkZI}dC@DK~gL zwraxOSWHirEeO^AH=j#(Mw~FYPQ|g5d77i7tSkwj+u@I`!4g5VMjJc!tBJr@@Aj0G zVZX`@a$Q`=>^}=rN%y5_-%g-;rKnitcimu?x8EME-L9%XlkLIn#tt160F*+Dul5V; zwaj3-M-LrZ>A*y zJfYxxC3HLiVVLX~qSB09VJNP}5R`f?>x!BX3`X8}Paz9^^n z1J^+hC}w9fQD3)Z*b;?+JzT@HB-j9UnGKfX9H*rgCFB}qKx)z8tB(F44%jjq5fd#F z!p}iq#H-PXbXB7&e(Qq;H`~H07&5paKn?=$7wD#Ay+1GL=eb{QecQxQQsCUxvNZpJ z(g%+&D+z!bT+5HSHvO)?<;^)6H0DP?SAMh+2?(13Ugn6kCMI}O)63Agm@%N7!v;9c zRfWKD#L8z+k*bx$t$$EXr#+NW8s(i8GIfeDjZrF2*P|Ita_I>b8$@wWP;R5C&w? z-(o6D5Lyweh!hx>UW^%ys{nV%z{gFktq<)-Dg3$qjd;-}n(4Jvn`1ZUteLA+Uupb) zk;#K$U&ia2TbaBVSWeA>NdJ$W^a+l$V3*&6H=Q=AA;>U2MrPtSHv*8;!wRpvrOx}y zath^BP3_!}_L;%#TNwk|TwpaDB3%@`br|8sS`(OcErs0-pPPC-Wrh_F;qR+lf- z+$`j44K2)h%(=-%XOFcE-S(~s(c2sNY3+Q>h83uA%!cT<*K@+n+U=hUv4a$!7nGK2 zOu5}mWYD(wTydD& z0T!|R18kHeCpz83Gd1m75XS5*lh43ty1BbTp?w}edNLA|kYy)z9L#*K z>BUvI_Dj1Bvs7=gZ>r>tj=8es?buEVH}kRA6ygHmsR9BsReZbPEn#UUmz>KU{rmUf zj~dfHGm0ndw?8v7nmiJI_z>-OVDIC--q!(3qa%D({f(43PpaKhtJUo21rMA-xZ zURnbA@N`UeLn?G64)?owXVKYBjp?sNuDgfc8kSSDs0p5&lXmMQ(ZDWzT~J4)Y%QQL zv-f;zXjYJ-N(?18UBh~ZI;=kwg)${_PELQvqeF>wd%8cs zGSSwc6x6Th*e|;n+Gu0HOt}2-^%NM!&U@_JPd%8l(2?B`@Q>%l2Qhw2ws94`{X(9` zEGVv*PhhjglJ(j!=dp4te-~lm)a!s6(ztlYM=4x=-8XX7p1g&VVoc$w>h1eJr~J@h z&(tED%@MF(6>r|I4Eee|n`kdVEbM*y@CDz=Iuu@zJdRnZ|7{(`F@oQrxv)ZDR#IpKTl zm&Ux++qQ9bgYBNPEp;;1+Pq!w(d(^Zt&M-Vs>VRof6y9xUvGDt_X-7}gbm*sT{R+y z*?Yu_WaDkK3U~03;i4Tx+?{PKUlRtKMfI&-3brh|w3kygZ=WO_Cw1rZ%C>fzV@Ya8 zX%UzA_pQ5 zgN37O@(G+M*=?wey@Py@lyl4InaKF^08YV`gWv~5peq&sciLMCnGDrG(nlNIk^rsb z3tc@ADZWD)ZQzq&r1~oZ9H9D0R3i;S3Bj#?x)toNp+Cbuax(N|usF@W>$59b>3d&; z>qhy5v(C%3y^DR;`Xy+k4{<0tNeVMaD@8E?HywNm-$;8JPb5C4;D$abzMwmN zh>?^L4q!dzXF)Ax4839)pasfz$~sg|ZXYrlE;GND_!5Tz>w8{t({Vz1XhFPlS=u+J zuS>?MwpE8YB;#|vx=%kNca+xGf_KwLC?nT??>fx+>K9je2`Q>#s38E+z^l_1R%g>D z0vj1E3K#BvQ%vAZqzHdj?j(6jC)hYD5Zh+4lb_^~@GEq!Wwgd`Z2t|feji_$b<9TO zu^t$X9Ysjw2eXW4hm|euwW5A!N?58p@2y`q?NX(?{iISbb0)t{QqjQ`2)%0OX*tUOtu3I2Yl^v%PdOzGlrugIX z*Lwxsd6(p)`<^eBu8IOb+XSxxN-rM(4gkMm>7KXMF}?kH_PvB?{nhL@M&yD`#>Ao* zz7(1w$}7TB67%30**$HZ*8!iUdItL56V}n2xL|Eh-OJQDfoc;Tovt4bLO^3NA z=4ZHVN;Ws1a+1uh>)DTWrrQI@PTMghWm^1f+G@b+^hvuZlPFmxavMiG-6T28NJcd> znzzxCT_KqfPt~Jy{{qz+spIj*`6D~htt?o(J#<$rfgnI2XvF8EjkN^Xc3v>Hb!na+ zkFN=i4v{SgSBVFoW@glG zE_5kPOW+eDaxWCGt{HcU42Bzo&XQKdRIq6{S$?P9qI4?Jz-X@6KJ(ZaRHTBEOq zZiLk0^`ETjKaXtY_1DTl8ePcx9H+~{FV+fd`OlJa!ZI^>$@ks^)K~QF z($x+0=jU|7vT3CitQfrPmDqtWqk&WANAk)t0x@9-m1qc3^l5 z*Nkf#*HgK|JqP6RyHe}k0r|m+LEBC87${th8_?yrL1Moam?##9Xyt)*4& z#k9r=4I?B;qpZ-#;HGpefy%Nqh__KE5$g);brS_qvMc0} z=J3znK;!ch^Ke%BB+B$s#%6VqMs#dk&%^)SDhleo-!dlOhE%r3gk6q|4+_ZxdD1(v z7kpSo8!W5q%D36t{J1E4Gog#&d=KfKg7Sw)n+93@iF)X(T=F|tVT$54Xs>h5qg}a2 zwl+eE;QD`V@dlu!T{JI~Hh}adNY;LsLI3Z+X~-rfes1Y4oS|X`=_2jRPtpGdC}d?t z<(x-Ut)ADg)GtMtlm?Z6ycBFA4Y`1#*KklJHbJ@vh0Mrqg`a({q*wki!%cCBY;Hm~ z_e?`ZQTtEbil0!7ydPi+4ZrTE^%Fo;DKAN(AAFUdf)Y5`#?6L4lnf}!Ww0;sRW%E zl!pN{n8i)J?zgvf^bKf;G+4JJgd0U#`d_~m+i!gP=B3JPio#JIf&bXPMYK|n425=O zTrgIV%jt<+Kr1*KFg1;p_mu!UPT&ocd@nhQxgOVmSmY%Tc`*N)RyY5N#Gm@^N_X!F z8m;{HgAiWY!UG$uNBW%G94N5d60*!`WIjGKRVi`(G4J=rZT-oZ$7@m%{cfS#nAYmC zq3QP~V@abvl8uQsKi)<^Xw*FeZ+$B~m`i*Id^}Coc+n)4(Esg-uoLV}qDmo9Vhbb! z!5%9dgGPThW)4L|h62{ha2qirb5&D{n zgqhhAxxq%x9tqK&>8aZrGi!~WUfcWM9&RFg$1%;3ImEiR(EKs0v%z1mRWX$OZ}V8W z<*E5=b@Ry%MP)#b6OSHfL_$VnaB0J-ZPY&6|77m5>|~Q>%aog|O@S%>x%LS|tMv+_ zsB-44?0!6cfo7xJ_YPeR3+cTETESRh5&^=Dc|&VUuE2tXgvJs(r+)7%T~kg|=bGhs zbji&txI&|JOq6j{GcrB6lDN-acAHcPzhMFZ?m^YGCIBjMGxblZuB;$$*@7?b)zP25 z-6ah68S~i;>@c01HzS@orUxSlth-AHNcN|n(}`<`6JLN_r>ea@ImzSyy$1{A4vFE3 zOuV`zv$$GYproy27m?1#*IOF{;I&VJA|?#<1rPHsiCm7HHh72i>Zk8Pd3domuoJfx zRA3>62)M_O&UdI)#PSF3N;X|5bgnV|nD=iijH&50hNV?buuW(t?D~)vY1x}M=U1)1 zC3@JXtA~Y!8J9^bpp8RrW9u-L@z^msGYQ?F0DjalYY{rzvMFMZoM9 zM}^L4r{V@l#1^}FQrJHhdZn#Nljtzti#^uidCj%*!dMYoiv6EP-Uu6RzvdIM%Rgrz zah2w&7=d=?if3d4^ZpbrJ4oCye|Fts1+(}~@r28~x$*~Azs4vH?8?OeV#z=1UTO%1 z=K#^xK}6@~v_3dWaZR%6%X;r%07kQdw?}||jvW7g=P`!AJ1fSr3i1H;S1Sf5c_N9)te+kf&WI*ey$*wL|mH%|fgL`bSZJ zA4((rhnx|lV#!BS*qHzd3KqDQ7IwTrh;2CnKH7YtsIOx@MKZ)8nP-2?uyFm(24k{y zVXcl3^H*YIba!Qg!nPJrmTCoJA?zV;9{H-x(=T<%0gL=Ntd_zC66ffikFF4?rmsP8 zCrAA%R=te4>xj-8-`tVtdZhc;>F>z+{hS+wNYiG`GajaE#^DtgU4yXaK><2Mo_jXy zKsAz3xUu0QakZ+hzk`oJ-PM=PW*COS*D|QycS;y$y|ZDM$?(u_X~06-s~dCm8sayJ z5+Y1r;57oZ+gK}6umgpQPvETV#pa*$ebB-{m-f><^&iNn#nWpsePxr*S_SIW`*%5t zA0Izk-go)4>>d7&;J;YqURrthh81Wx*M8>s6#`k$z-hqnvi_#l84LJ)_2oD%V&i&h z+}#tes%ks@rX`YAoHIqfccUk)ektW~4yaMPSV1x~^tl5Swk)mK(Jm~`mdFSq(fGnU zbx!qn;&IgC%9Hq$yHX2GC4?!Y4UPHjuXl%d{J!`97XYyh@U!*zemHJ?;U& z8WLR*Ch?zr=B$0_2D6bdRbB~|@He(qX@*nJ$_SqCLE%zBuNgLWKQvq(e3UCYIBoZR zx<+=M>3I_I*cHdo-@vY}wsLy77gx^#NGtJz1zDEVaz4-FrMx>0E93D$%;~;--{Cy)k2PqR4ewrf z8BI8Ar`48{u95`f97JLsckf2=k>1Srl>os_YdV2OgJZ1IUz1OPqh!M&6|67Tqq7SU zH7ehDdJmM8!e@lgDhI?iQM54t@5iA1o)9h<3o`?$mxbv>q-!2965rnJu#hB=mx+@1rhy`cwHSsGiUeZ+K z_;J*oE_RC+nAK#!*sI)1belG3&3k-P4KKci%hwzW-onRs?9HtrC%4{Vr6P#!t7ev# zMUlfRDKdmSWf)d_1zFGLNGyaCoW84Z1?)7Rwhd;~Y`!ari?F)9J2VJ8EkNEk~ep)F=`dlrA`{DT_-u0 zCIbj^Ue*^I^m9N_GULruN-IMxrp-ar3wOa^cGM?DPKg?dJ9)58i>=?;ffqJMW`wyO zC%CM&9(pb`;q5J**WNE;V%m%=Bg3%Whdpha)e305d*0i>YOB|`C_n1My{TwG22TO% zE4NmmK+jk^7`(8!Splc(&nWX_l<`ir1-Dl7Ra*v*xgt6$?J(iq_S3Ns$MB21{2C}m zeY%K3y2Ctx;i35;b%!)c+@neU%D-hpz&tTIM8E$efzG7M&5t~HC8-b@zc3nNqF>;) zi`HS;tk2Y}OJQPV11;4`-`=UN8@iWO4ItSv7|=@jKnQ@-mJk+2M-uCw1_$3?of~KD zQCZdBT9_GNnD`<37CYa%T>}lD9?YlBkn;6}RCqgCSU+3vf6Ahp&530!LyyEYG9Wn_ zviA0p%E^DUh*FuM@2Hs>y}3{lTGRRlgkC8ACt_WUoBs@Tx=hEeyPZ4IGm9#(+5OjZ zwMZX92XU}f`ydq!U=WEd=;+(8;QF@ZI9TVELy*xiFf@VMyC)1xEDrf;9rBkhY@y(iB2mSr(UJ?{BmK2@$n z_8LbvUygxs@7@}EiN`n6FI?9{@boT*4Ec#eD~DciCZ?MGei5dM<^qMO7f9=~DBBBV zoVtsRL>-%a@L-OZy~f;;?jU^iyErNGP{eA+ez@OcBH?p1#(wU^vo`TY>TSrAM#EO{ zmS~mRT;4lPa6AiHDBL^;N%v%ga}B1#p_JDsg=xHKwOgNiG763LXEWZ?Mh6T!w@0Ls zd83sHI^Lhi?~%h_08^P=lm@vQ>R>JwGCR9Z+B5vi|NQ>xiv5lIorad*Am}9;Jton; zm6AelS`o86Wwdt~GajCKa!0LFXHGeqgHXEwON;aUFnR>Hj9DenfS%g1$KH zW%Zv=Ry=luMGt*_D~`0zqsHhf&XF97jCwgVHM52wmGt_2!wN56-+q93Z(9Gqc6df3 z7hk{F(obEQIVg3SMiuzSWlscPKh2#)-!aTXFJA&Bcuv#xUlH}o&orKq$oOEpH_iYB z6pH^y#{t4q3abALEks5OwAI3U+n16W{y818xKZ}=0#iWJ^ms0lj2E5XsPoRXY`ZrXJ!ukxBNQFlm}z~#-;-O|a*aPOh%jEuf=$xNq#werNr&L7f(dhSVb9V`EP(?D8S&58&E_ z!(rx_qIHMsGuGDl6CCx6-2%j?9swBP-p%TJP29Ct_AN_vnWC`lYwbmaf@!Q>pKu3l zm?Z<8!#GJlp(dI(DZBqpP+5l%Jlad@u3s3MPCl|`6>ZbRVqy6tR=fRjSv+H$GOpqB zJ-o~#3g^E{577Q)fytT^Bfuu6o6kI-vuT+*~h1+gLx#^q6LL~PR@q7QwVJ^r&=_t$BFOCRjIEW zHD>D4j_$Drbneb;$qggRfkIQV?>*a|7H)v?pfYt66wF@|o@J4*s9z_1nC5#<3TE|; z-dup~$o%fWv)(b;>IV`Cv%FvMHzBno-e_h;LKFAIoRhk!EMS`E0cgEcixdRqVFit& zGTDBJKrM1$0SgBo14*qhU3L{;-Vjm8fUUn-@eRfQqbBqqySv=}uSD)pWuK=|Ik8M4 z2C(KaHou)L$a)Tr!S3BcM2xzRWtmT={ut&D0cZ{p9%xr)8!#)(W+>ej;Q`xfM)j(Z zao{T}4I1)ql7ie{MPvP8wQ4Hod9tjlJ^f~DfTbP{Gc9Si8rRbERun%?^1q7KTAI9b zPpicX>hSN9<0u2y)EjW>dap`K9u>&yc{bI*=?Bn3Y3xKrnYkGa|46B|%==x~3zM2V zf1UAo*ZqJHGy4kkYi;btyyfGB`j zW32={D31$BrSKE4iGz^vDHX>oZT6!#|NhQjW7$o2@M`s4p7l zmEa1JZ9r~h5Al6#ZWRP%W%Oc=THt;FnzRz`KzZH(u=1j96U{E?7tmhGRtQ|6~{|Xd1zVj*2E3x5{EdXU>caEKoxiX=qqk?8U zfzLLHSN%K_e`4`Rrt`_i*0A#SOU5fK)zm?ZcR6nLL#fd3{+x%BuuzVnk$-t@G4m_W zzmWg$jE3h0=;&Xb>mGVAA~2MlNeYduGr<^g%tPf8Oza?QNAK-12P4dfrkJF0(g=}M zouXVe{|y_Xb8M;Re>x26F|xjk3?xk#f4Qhd<6&*ee>y@wHX-+RQH%=Sf7HBokRkbR zzg#)^97LXAne*6Sl~+ed2ggBqW0e~PG=moKPN6krPYQTD2brBktn&#bvp-&7hTZyx zuW482wV6TRT_G0{DNN1aDcD^40EG1a?GBBOfWK{n0dPbH#7dwH%pC%uq=h%ldfc~L zI1lfyp>?W?c*^XRht~brw`)NA2^a+46p8DrllCt`A)++;Q|u~iI^_LJ5Z3=`G#;p- z$w<>F6bwSZMz2`GmuwA}RfoFtOiX@D9)C8ez&qPO37sd<*P^NX@u$_6JhbuR;nRx2 z&*^(N75+fID_#q`0i!}eB&4CKu~Mw9i~O$>%ze6n%){xHcopSK**}c885lWMAK>9+ z_%eUD858l$oYj{GoeBYd zMwqVEjBAqoEm9vDBY){M9d-r^cxRQ3-*5@O@Q0kEF9G7P*ih-u_Q3_1pWk1P-6CSs zCIcpo3QUG)n6+Wl+P!7;%o2C{05uEkY3e1hCK*H}`@C zl!9&XlP7MGvnAGmjTViQg!29IRozAzU`miH4x-sBS-7f|67c}Yvbi+JH2zCDoJjXu^k)<_kZrqdx6M#~52+Jjcy(|G_JJ8g7R`+((}8UZ@Pm$xGyi7} zH-&9{a-qoeyW>ntfI_qh#B{(TH=m_+FKE2jn(gks#CwR#k#C+#EDD$}TdRmJzk64g zXQ||V@?&hZBoUYz5YHiXR|H4r$=W}!k{ykX9N!l+YWqfhXzf4juWDiUBQ~R}W>?An zaS)3f&fCL3n~Vd-3EJ&BVgws+UQZK1dAI=O#Mp}1KIVMZP3m9meDXNw*SENQfx0a` zv9{Z!eMxpX8f*J1kCO@d;P<$4MY$o>yE4%^J~zvQLFr!tDog<{F9W>%=6HT07a#&a zNiz3=o(Chtdi)l%I2!rk(Pm5HgC{wNKwJ`bHWcl=Q zas4-L($EY=kj5{KC#IWbqVZH4gk!Z`h#91)9bK(H05J~L;hE}O%2vO8ktdh>K%;{1 z-!v&SLlCeAT_q(^GWa~}_@C)u4#|siF6w-Vejyk%@J`-2|MZ-G+HRS%=*Z`6gW2e}vOn&9H1 z^{%u_RR39Ni$t4p5A!e@!M$8RSNvf8lc@0+{>gJN7l4#ERy-3T3g&5q!Xk|oS&tt_ zWlroSFsb=jor#QjvW4W)9)G04-FRltDKO&OU@l%Absq*0k~4i!apXt zx}W=A2>Y@n-h#8TvNE}j`PfXl{%uVZEnWK{PxEBAe5rO2fw&vjHr4Ma6B1A%^-INS zWEUaDAC*K6{$Leh3QQzur86Lu!7d6o-bX*NeW$oqKfm-3Bf4^9*S5+|S~Z2)>D|Tq zKN(0=lSKBR(U|Hr?@vIXKLXPN(z+&t(_){#-tltd`>$tP_D+Lh)e?WMMy$1FVx>?d z@2}Ljwt)`k-8H8ES8tmJQXGNFP<*L@^S4`gAp)D1Ej#HKz%YmT1;EI(@);4T;5tnl zRkt0I@B4DIQkH(!b!UuHXl4X*v29@7lDTjG`sZiTcP0cDWbc)Va*+atR8A!cc1xS& zGAD}QGF3n$!rvzx6j&C)A3PF1p7$$TDy`G#O8*>nQh3>+ytB)fsA$kd@Ycn?UOLb1 zGH=tUdQ)nr^|h$oQp(pcDlg!b!U%RwjTTh07$rLk5%{ts`%=1OTqFT?XW{xzwY8Io z!unc8Njtc%^kKdYf38%kGPMcW~L-q3J922a`uYXQ| zel|@F&0xii?#*YFZOsLy{bViWiIU!Mbh@F|BK{;>HxjEd#7{*cr!v+VPX&PF~q?Sm{OHoTj0>?XHR!T zd$_Z6Y)fF7fBx2umEZ(HOmA-?b$nH!k~L;N6i7GV53%pz@G7P`pc#*GZ7_6GeFN-1 z>sOWy_Q-uwhfQ2FLRvcnFfrBX(|WDGDU*Y&@%*!_QEg{*JBZ`GsYSpBJR^OV1SrHX zRLhhCUQAe#^Xp0I8MzcX;T+NM0fw6Ykv8H?}{*B`I6VcO#?my3o`90#3y?_W< zX8vGu``}|Y31H)+KDxci1^^!ef*6cH4UYc|EE{C6fxqcl*mU)zD;;PNi!@vsERT3T zX}FA8`I29MbyC@I-g#NFdqE&(i#e_!hyU;P_G@)89esA<6RkhNMyKTr()@bey24{! zz<8e{2YCnmCPo~{Rzw2%{sjOtz4G(2(ZjwV1)PeU5_lO}r&v&13ytn* zUZU)uEWS)sbP-1SF6j0;A_N>a<)+`-Gf*_zFTPAzYfWH@b9DLek$i7GSsHLDK`gy3 zi+bU!U>*(D8(qm9gAwfAWVm`Ss-d3IE<`{HJ#j}-u37q8n!V@_k*3|QK0UPtp}x1J z!%?zJSlN3%m%GEu2@-2FND{hjiiC>W7kNj-U*{BGs1(z;3x>#i+g#PwsU9 zl>N_3wq-FenJ2Q$b?<)86tipC-9F2JgWxqVXyLk18+Bq5+>ktUJ&t152lefi*I$|x zm3KzUz6271G2Yj9IS_{D1(mggYHiK;Pf+PvKL(mU#|uCL!u-xf*(seY9@EOTkxC=I z89{+0f;i*I2$LS{@-(0->z0PAi&j{s0jYnQz`J}HAXB(e-MVCl)IP0<4ZOe5k@-A$ z$jW8hIfuY}idnIcfj2qjKjaz2MrT8O^)HpXg`>g=-f0=5Xs*2s_?Gixt9NE!##IZ31dri0N}b_BV&OZcwiwc^0b>E!4$F= zFsh)PJoF=oi9*X+*CfK8*Ol;Il*fCdXP)fJ>wlX$reiu=~OXXeSOQX zo3~4cJ^!jKsV>>5bY?JDF&{KE?<^C zDuZHK?em&kiVB|<8)!T7IndU90ELWR4CxVmXLnF zEmi$XkDGzkhaCOQIc%Yb`%+bnd0-WD+eBQ`Uqe@=Lk zizj)37Z=*?V3&)5|AVc!;EJmYwncH*V8Jc8ySqiO1P>nE-Q5WZmf#M-Jp`A=f&^(i zjRYD(aCd3wzMJoyd&hWVydS`3uimw)YR#H+t}=gt*@^hRS6KG%WenIvcgA%)x%6wb z%>wsWL?A5g#j7{{X^72fTvbffxK~{jm;f6^0D#v&`Fl7x-YFDSb-cBSoQ$ag`IHbZ zEG%%4k&%tX;!}IdT1?%nwa}cnWZSdtYK((!LvG2{G{-KOs`& z0sCz)u)GgXaNgRGzXnNKZg*#7keAieyrHC|{KY|t1;bC;lpFs}u}4pd<+&{3qY5A( zwNKp>*J9P&JEnDxP$G4U`nZqg4sLD+zZ=XO7;ZGcDS%QF-wQrP3t6q<;I?~w_ar8o z;C))71~aE7;E@sAj93(6N}R2+j4_mr4cnTUdrE z=X$|sb4>Nr(3 z6DS0qrG1pqYzu)evSf}*rI1QoSziUgk1`)YM|iR5E*HP@!ZI}79;Ziq!S(~1Xx_=Y zkNOup(ob9((_Q$HvFEP2XJkb*$)tL#g!Gfz_rMgZZYoeFtV zX+r&+?nOi)?kR8>8f6A{|AoDPJ$sBsQBx~O1+pYoyksC>f8z)`r$>Q4n%Vi8V+x+= zGKssPeZPH`_bte?{2cf1#@h&4nA%=Ox}lZPnqP~23r1YryT|`V;?fpo;2N5 zU~G@IUYKz6*qU{a((v z(8BD3!3e#52#xj6?JO;z#J6k7L>MLo8MWL#2nH?dj0KeMx^!V!A{Km zdLWsBi#&QSDft)}yIJ@GX|<5{c;1Pa*xtFyJW0Fz;OsYJW6U(^2Ch$lwB>@=ur$=8 z;BcRkW^Rq~&`m!JKr8|{^I)L-#v^kAg5;OQ4==4uAEgR5L(q0$ZH%@E6jKP7#d+c7 z2}cQ1q_W_5@atv7kmu2YBn?&|X5eU=x$+dXMhu|a=qp8}sJEeZCS#EbMZ}huU*MS{ z>Zu$n7`=eew5hA=H@oFxY6HDoOVnvhWVmOJLP*G_wDmfSBx~tgq*ILt2);TvAnWtW zz%9Ai(7Y#-R9H$`K;jf)k>>bxGe%vA_>MI#%b|u%xu~t zyFh*E#f+l!1o7ZB?!IHhu(k%`U9wfu(7FC`m*;$X zDe=VHe4_W5@nGVYYh&^EXJGfc4*82rX~@Qi-^h^=UtCTTfcvMGiQS+KJ17yKX<99- zY3QoAMLtCF8z_y*kj@35+CIvB%|Dr*F8buuHs+_NcZI6BgCENDT>ceZSswLNjB6vQ zjERx4>B_R$G-PHqEQJOT@?-*oUqGY{SU6c1JLF^o{!hj=p8fT>k&T+d4W{CilWhjt{JF(8r4SV>o@M@%i^8RIYgLhG$l3X zahPh&B!KrLq>g_ALG~%_QP0N5rp_UYoaW(>0gui5ckW;9wA2XDG~poQEpc=eJMs%e zRaJF4^q?xT^x&gBHc^q#!!twcoDa6x^3w)Y36AU1bWQrJT*iefi?$3s$B0ez4Sd-T zo9)lw=@e+y&#KKSOeTiz;9}~Qq55-1&i3|2gswr9l)64XJW*LY5CyP)>+glL6bHNL98X;EmB@=()BMKG(ewt^3Bx72 zyavQ~ODYPMXTR=s4XU^MBEnQO(xuRXqz6tn=g6mvso2HM?1#@H8ADLrb*Hf-01CD| z5c&dWqnB!g=uiJi?ox`;5R>sRhVoe9-AKrQ;C_V2o$ynUVX&So-c2+>aEDklsjKh5S zPm6*bfQb^ao?vOfB&g+(C|v$THwKQZ4yza>cGEM`*!tV|7OYAW`m?n*Ka>a*+6YUT zR>?N8O*S;(_}rA?{HEMqFfOwgmqqvRqO~>Q) z=gz;eaz=+NE)ZRE;#@h$PKD#G0$S1kZ+P%83a$TK9{)XPbyChhpMytt_hqd4e#Qdr zx6c*>&H1}uZvSxg!-Yu8gOT;lq|r7*g2eaW%mxd3?I&IUvjlbO{(b4PY1#hYV7lj+ zsL(JqtW6P!7c?#;v=}kbnRmPs2mf z`)SkvKYIirFEqykr&LMjwdqdg|WM|`zs<08zT4-)#g#4a#zM(V8gR$SW$=DAge`} z8SPS((7l;I!Dssfa$<~L`Kla3#BeKrOVa?${iM-HK>~f1&W}k@+ z%@1IXx_T(ofwCybX>$E7iGp7AqU0|Qf3zLW3lg*cKN@cbQ~2^Fg(4PT>}iY1NT7xJ zPCtGH_xnpR_D?~)FI;81w{yR3k%bX5hLjC2^y;Iw4iQF;2Sccj_m6X%wT~sH`NS}1 z5BZ>;Bt^m^3yNbkV+B31fsTu1zGvzqXCSvtxm9s!p}ra1#N%7&lR7X2$f|Z>`1WY% zibdrh&;-$gZPlt$5cD``%&Tq^p9*})_gkb+pY!}2ouv1JYDrNY;W{9K&l!>= zEUN#bz8*QOb56$pbUL=Uqw3WKs?GOuw6_86$v~ zh*!_TuR-A)%bazX$^Z)m07)U|20&Co%2-!*X|ldTC+e0aPEDd=vL{Z9_~za%Gs;qT+pQ;rK4Fj+>4 zkd1!Pn(TLd6X>-K?o!uTVA*3$Q4LcQv<#t)yFMzYKwzfL8-+K@pza;X6;scYDb5wz zJI){DO8e>fL8qIWJ^z8_D0X0(Z$6=XxPo-m7p9H{eeILaBmxe!rNT zek%XYd!tBlfs5XHxvzH#^Bh`s z`bk5=yxlEECI4JUEa&8$9H>i2Mc+UeN{($ca8nx9>aY~Am=mV?BHcpxbO!1sC+{W2 zp)TPJ(2uQ{>*;R&3R=T|ik;|4sJ@)LU%eK`4}At{9yFTj-*~KPJ%9&tUKBY2>MV9s zAfVp(9XV`&eW9&qT!US2iWy;c9N_A=eyZ+o;dEezRV zY@U*Y>l9UUy3f8T+fc|cLzu2KA$F!urwyr~uQcO;(WG*b@)IU96I0=!6%k&}qiicf zX*U%D4cWJF(^B(#Glyc`n@R_(qM*48mXf`nJ1!{L+-{QdZ|p+NgjaW0pDSRU2fVK| zU9Z|#p_&6LdghZG;x;17AId~askPGGV(crrGp=N=-2!;m^C7=hX6PD8t5wL#Rreal zL?kZ@@B%-dUf>Kfygcj!O1enPpZO~-`R4`$X;6|*ILSGIsTiM__a+`?B%67?)kzcW zO~vOw=QRdozn{hKo3LnabI8`H5$e5MF{nD&A91&4fVEnh-r7N~ zLbuV6%}UQ(IGNHb7nJ^|@;@0;6w`4#ulO8Dt{tA48QmyG&`ca3L7Y* zud{$&_nBF6&ixs-?!xaH{vC6CuRz?Uoy1tPQ~64Cg1jqN($7<`pdY7X8%kC`cWbqMZeZmwMM(r4fAMc4k%OHPV7zO*@m&fd{ID>)NU5 z&7=0I>Wd-3NFoYd{?*TXOc`h<*^%HmXG681hE6X@DC!l*L4*rbj9;7~|9)2m?J282 zQCIDvlU;dLQ5HmeM#IPT6}!yig~eX!ehcE(je4;&9H4GvSF!UsEl4KgNEX?yQ|bB< zuUmIGV=wQQwlw+(8vQ`vsWV1S8S8&7D-L#WAl4Hpr)X8pd)PG`gI-1a52){|09%AI z(Cts;oAKGq!8`<$=br1>3wd$uHEbg&mK-vA2m%fB*2>a9`!H_#38K6N!ji8?q=K?A z8VP4@Vu){e>l6&}NPr6}p8E<|@(Q)LGlg)8qI#tD^@J5QOihw%|7g1BzVx6y-yP@l zr{?kBW>Y1h{6S~!m>7k zQxC(b7-M~5^|}oXZwp{@DxUy!#Fq?25gusTjoXTPZ!?*|YjH-8jN%7Zl(v_fm6l$C z_ks|QRwg&NkY4%%+06ru)_1HUbrIMbe?WkM#a9d&~bmLN?I1$$b^Bs*7aR zUe$I36tpC-Dlp*Vc{2m9?iC6O)6V(XS32Gz5iC^-Qr+%<8RMDBb?RM zf}XnaxWKU;iTJrzxZu&ug*=)(gKqlk`s%`epR?mb!YGy>sbUT)_DxLEF{1PC`%l-` z`HENVUXb#=)6)Umt0-nd(TuLXBv~OWtS#K*$)o?%-r@t(Y`ZAV79)4G6r&T9pS^q$ zKMHElHs&xpJ28t_!|*ozE6Uiu#*aXhy23bgzD7l@YLV4(ngCLVCX)H5)S^==jG?@pQsJl0>hDRjt%(#%Qp;zKLYPK&jrVIKa|b}t%2 zN}D>F9OL;czY@=7*)FxhqKel*pJVRQA4;AfJ+Ue@pZ!t~KmaJItWk(eYIm-(5v2 z5>dqA(`-$qb>0)1sIszZ!Cf<~tlGZrG=-jk<^%$I7Fd~Zy!R+78j@PYZ?ESg%dtummw}Lam zEr4GZV0`n0QD3^J2_yI4sWg5oM6r`$yL?n5rF(7HLrt6j$-s!x=#yNz2-DG%@cJ55 z+S$qJxNEKuMtmu?zX1|gwm#}i8gDQ^k-H*fIe>{jV9L`H}p^OL@AO(#EZ+_ygTxP#T+kAXK08HXs- zKcD2~96;{$O30NQXG4h(aoeHldZxGMfR-Kmwnz}B6g|Atq8`(k2WWV9ASCVt#N zm3xrlqScGP>?e$mUhJWd6um~y)A&Mg zZwkX_-|HH?(vnB;AcW?<>>%Z%Y8uG2g5QHzr}<(oYEIXM-9aMR_HXcNZM9>x9h^44 zi=w(bX))<$vmXTNU&2&i25M`O?vvX(Czr;BbR^QdU0$WYuCnRvjVO9)il)YK{=@^z zHTv<~LUq=)0ZLeqkV@Qn8^9e3{^GPOnB6yW@wh`fmG99dL`(6XZ=3@VZ|3h0G=88* zBvex=?JOt0Y}bicgqeaiWr#iN-rD`0J1x)>!r>XeUy={gI#DmKQg>n(yONWaV*U4+ zve}6!;oKNiUn%<^Z&n@PNEpW1yt`b&P~_=?44&m9jXa|%xY|9)6fd{S*y4Y{ zCM!*D&ehpy>T1b}=eiZ}7tp7VZF*o8&Ql>_fXCsN!wFK}r`PLCdn&DI?lVI}@<`cN zym3EF0PC>YzNXLTMyRl z4bW_dE^oR2?Mhw_7IF%7f{L)y7Uoqg!3bf`#e;|wx9i{&y~I!HCYu!HY}=BW6lfQy zgG!G=uVYDS>Nki7Z)?e`-#nko0@RCufrf?xYUz{jpmyWa`QdPOrmsRtz6g(Ze}P-! zPD%?uk}a#4rDSHeA~m>zb+urpv-i8HUx>}n#Onn?uvRi9)`gDZBw?gX(!t}0_OQMJ zaQhzJe-WpSo$@NI9BmIC$*65)5Les!_dV7P7MgnnIXfS}j`?T*2VIT(!R=t`7DswI zszWWX^#=i6kdk>Ddgyc#Gs*(Mk0YMy^|Z;R#g zx8;>5Owd)>?atM0XlNjlKGXN%rd7&{E`AS~dhUkRYZ&9cjTX1cBGRZE!O14;x zH)sh@I;X$ywQ?psuyi4!_5g>EsPD*ql=|(%I<^)*r9q4FdUs~$o8eLBgEi*I#~xZC zWXihwBo&QEI;>mAyj2)rv7LGl)D?&MODK%hWbesD+Ex{y^*psr=!y)wgE;vP^md;Q z_@QoZ=hu1kNHV*U+8AWeAwJj4q$hjXny;`zjC6O!`UT{|8==+`U{q$*7l(FZ=})G< z7Pf%vO_=S&?lB4@k_Jru-=rM1&q=^8C*M5=HGfAa^_Qcxik6@$k3v6_uo3lgT{B~2 zj3YR2-YTTeB0Nv_cnTI2*g93J0qBE?08In-Q^AR3YDtBlan?9J@4m31{DYBo5!b98 zz;3<#fkm754Ixd(rP`MaA9^4hv(+({A6YOq3*{H-Bat53cvb?Ms{?J<;6jvytN)e5 zmrwG_Da9EQERizgfJ3=42}to)1A%{Is@JBZ62y4!t6IWpOU7o849WAEoE*V_hmTBO z4s}bI%+|%%2;IY>5`fE1wnbUcQ;s77a)}+*3z4sdXk%P8dO+dFN$iMb&(_`%n1wE?Ia{5xYUs94N>u_8}<$%Yle+m^2opIvGAGoD4?UH%6ofW@KE~t z+f#c-^yIW3U!!VOARM8s_aRcCbW#uBfBGn*__0cRu0Ey>KH$y#OZh{{tZ!kS_cs!g z=YnOTw($roOTIcRrP1FvgoCJ$b8GSw*4+Q=bk6hy`gX880<$OUnVfX@Wu5fCFplZL z$I1YNgZi?%7R>-9IPkb&FEUH+oULhVDz`w->XxZP-dV~qBUhm32Z47x)AQewx z=s61UVWsKm3t7*=p4-*Zv0f|iXcsCu>W}2s`I!y+`LW;=#a0 z4blX5JqjznVZws^{Nn$A50vk6o0mY8)*oPeS+CXcz6!C-@=H%ohg4whN`S{(59)G{ z!@s5LQQ`dilYk;&$Kj46kF%=A0|~I|Jo?YYl_T&3jaiAgP1~M}HrD58O z|2xX}7W=k-N5;Af9QQ-gV?XcdVeT|2q#0_-s&AiJsOOL99tjrX_M=|uEnt1^9B_-U z(3H8r8qxt8D#qx)SLzhuvFB~X{U-xUJvd%)I{*7HK3QRPbkB0!w5M4ZAf^T6F#z=> zSQIPGK(~0muKk&VcWx>gTYb%gNBY?(VHFu>8M^V;$I$>8agNr!wB#N6=-soXD?R3) zQ!%!PO~CBXWzOZl!5Ux+mJ8$)XOi-3FD-c;b+E7lD0$!y$oONmd&!)us_A|8rG?2z z$f`$A;v8+>^i?`Bqb#~y_%va+51@S(Ty6c|xZr(?3v`=(<_a`zj2qJO@9ER0*~N_% zZ;2{cC8*@&j%s%p3qdXtg!uTHd~Tu5CDj1E#=ufWT$cgxZ(4_~t>tNckpz|p_)0vn z(Kt}PjbG%-YiRH&B|Ri7@j(g?NH`w0YVxPH8 z>c3+|2Vklq*VbLt#!YPRTKH+cBdOZKSs-s$6Ob#7e@N%+nvk2i`BK5aDz_jM`X}AH zhwZJp-PnNaJF_yi$x*u$>zxU0Y(WG+0WD8}s>IIw1@q=45nS#gyV1 zf7JK1{#oFu2?+R%~s$Tk`SoVOiA4IOM z@E!fMAZhCN?r0`4{N2>4Erhdc=9!Iom|wmz&+)bk9etcj{I7620HBlQle_XrE@?2Ij! z^!(A(Df!`4?nB;zir89aMLv_y9=Y|1AOy?mSxoVpAz9|IT6S8OjTuc6&>9 z1<-g$9sN4HDN$(k1G^}`-!M-P1f{HmzT8@_F11-GiwW89WLW(C0|qfRe!q}}O8fQq zu@%{Z>i)CY|G|T)uKlPczASDXTmnf(6p&c{mW+(uQbM13%Fmb8_^Go96Iz zf>Aa73;U{qP(9aiSG?3xdPCiaFr0{R5t4L&CzJM%cO1n_({tZskL+*|-EJD|4W3e} zdHB&uySvX0n5_XU64ePJ^BBM~Nu`mZ>r>b(JVF+S$^RlW2B_+x#dU@sKev7FXjv9c z>{@5I5y{IID{hs!33fvR-PR~+bU`ov7<5V!e9m52p~|IzRi7I~{a$bBtQSijLA&Vs z7Q0X9Uzt$;+jhr7ZKpIkRK-VwM{qx6?k3U}D`>@M^@IV>P2(ds@_+W#Ow9Zu23t(I z(i&`X*z${oR04^;);ZS#pZWi`Uo(vT0oAkbYe^3U(SE;VHib!rNC3m|`-GP-JTZYs zE(l)^<#`?AH=7L#JH^GtjTE>+2?-R}<^e&;@jMsiQT!GYQur+2ZXGoBvn5K(#TE3 z=UlC!jq%$6HV4G4PwmKK-zvsr$Uk`lC^3tRQ;pLH>5?#RM`bwW4x9|MaAJ8Ga{#-vr6_Ih>s+ALa*5;m=i`#$LcL5I=-9xxd6|5d4A2+wy z90#bgBdD)Dz(2Tym_3&e$~*g7B?3PZKaTRzKqN>Q18CE?$m9kD`Vw1R_~@V*6Bm!- zY0&5!sp&N_n8IRA(=~721yu@p7|YyHVvGA&xqo#D(FIq_Mdv#)*wDYhTk%Stxc~USZXuc5bTQ|Lgi1Z89 z+l`YO3V^qz3i+A;B=WH}T1qBOG)-4$Z9A2JoZ=of7gYYIMg$jQEahF8_df}_6QUtr zT(oHCr$uY(qvJ-7?Y6bHF2w~0Lf;r(n-7kq&`|B?&M(Q;iT(Fl^iO_rvh}aA6RYaK z$Lz)WR@Hw3O4etd+27X!SV7}n@cJK{eZ)J5M@JV~{I?@a#G8d*KU$mMrXg~?kIa32 zd|0+yn|Bi|L+5;Za4l&T$pibvXrUormQYb_sQNZ*8?jt)5hhM?oELzb+$i6V;%;WdeJ(TNOK@9%lfDYOe$d7Vk}#d*uP6V! zii^Cqw{$Ibw$wnDURB(1&-?e5pyt|%xx7OY-c?tpQB@;F+JV^spT7&eXA#3JIBYn(c`K$r zT|sKEYYN2NB3gITRP6RKV0J4_Vz)`K06urHF+vm zDEVk_F-}Ig5JDrDK?pe~}gn5|5{jhhQuq42!Dp{i<+gOBe-z0Gg&Usx3flRHMK zPJ>a9e5DnT+XP<&$wt-Voz+(s?Um{9_rlxs4D|4r&t7^uOME8K#{!~(O+`Xo-`yD# ze!tYQEUKa5bu9}AdH|VC_B~u{(V(yu?+q!Ctmu&`@p?R{E}2wtUG2qDI@v?_+Wwno zj&>f}zN-`(r+3Rnb8+OOKf8>f6WY{J(dK3CZr##t+Zc8#FKGElV|N|3cVje5@wV zs*GNVlnwl=AMDZ>kSJXeS7sq@v4PphZIb?ZM5M4L*`eB(R`{M%cjYTNQW-aS*XZ{i zr|HRFva@&7^FY#KCk75WnWKt3{|Z0xZXkL1Kg0=;7|fnlyh%FFB}dMyRP&yDp!&0}g`eK17@6Oz^lQ0= zSf<2vrF9F-lD1NIY@M==OW}4r_2+1=*G_X4XdqIiiy;5VDW{#><06r0I}GFmEhzYi zQCc00{q981I0JSLLZvZhAtT*zkUL2 ze$ygckIv~K&gRGIX4br@T(Ds2_)K8u_k>HT)369?|9Q z?|mtEw9*ER@ha$agMiZ-bA;S9(Q9w~?jz3UN?m$I!{E|BkowgTEI};T#d?IB0y&8L zBnktt*3}3)DWdnM%^CipeU2_l7fT)M7RU<~6qF7&3kdk9_iw!+PN3)=#RJLY)m5_3 z^`-xh@6vYpEod7UoJt=UXfNWKerc1H2JqPG#GL8MH)n1-k{D-szE z^La6<$BF#1RsF{9dD*z?=?~zluQ%v~A2vlkC-&JFq5UGVF5N*5C3pVgA20GmnqemZ zYS1SuTHFuhdK!s(l2&0f7_ZAn+Pi315cHT*gr8~LPGif>b|u%8y8KR#+#KBA$#8%O zdfnGTkrnT#VmE(<9f&uEDJpck!}9{MdOtDrnZ+#0rq>aUV5PqUoVnZv?}B^lsbr?( zaxLD+UwhMj&YU#5ZK6lpg|u*vjol=%{vGosa5lAb3r z3>V;2CLQ2-ZWr`=+KM16lbdit$FciQKTW8m*WfH7qwr-mpZWRj-%|=@-cpbPiXz7% z83iqUItQACJZMvDk~FRN}k zy&uiuN>o;$4+8!;;`puFgB5LyW&|Hz_syyy{YzrPGFm@|24tnx%`L9Y;`l)}rfRZ! zm;k|B>BeBf*T~b>!$bvhfy&E8*DuF^2pP{kpej5%JQ}O~-F4pW#W2!>qs$>J|H&N9 zqX&f;XZ%#DlyrXI5}P9~oiU*jS%{*BR}8(;+3*w?u)Rvygbv>Ni78Uw6#9V^G#aCw z`)|6=j3^w5@tps3y9iTkmdFBMJWB$Ibs@W#JnE51(x*FFk_bUzFI04gH6LjN#d+(; z=$;1&Q4E*S?lv3f+GCWO81(m=EPZ4Zucc8Kn_RB;;^q#OL8#U-nfC1UkgqdNiYDPR zIp?U^71W3pt_5E8mFW_JS|yM0&|SCIuh#@!a1K z6aT2f9~Q361m7Ff--G3R`icq9?zKxTF$@M(rnSWs_{%0Prfm-+`J| zyF-6jp$zgf@pp~BP(AnG)UDmJSwwsBz2Fro*M1)azy1i+b$K}lk-v3|LNCG$MP94V zr=@I3_$R_n1-LX>0eknt-y^}&UIc3}3bu$6=(A-m2JkAC&c z?$;xUfOfij!RGx`K|CQ1DsY9$D($P0P*pQF)A@}={Up@m7^3}TZ<<5Oyt!re$7SNJ zifDHN_3VcmzeA0TDf5SVwlpqU=qD#CDEg`|BOcO4YIB3FBnn~xcgk&AWb@rWtads) zeT7eMKc(1M@3UoBulU% z_fOoFjTJpO3chm@2Lencq$;{QtQO>OudcSf`!{B`W}rP>ml_FJZp5%mXs z5e4K~7dJ;x3UFbY1@C6;Gysm{&9Zz3%JK3=MSGAq#TQTO?hQAay)TaK?;IOjbSiNB zZ1}1Iy8~~VS>UZzWp#WS5!oWrPj@_I`Zs!?l$p}c6FI>BK`g;YuBjZ!Z+qOOXc(bJ zp{h&NtxjRPcdl&|x4%rgUc&f_Mj~S0uRnpr^Kj)NAL^n?>5Xpj@gI}L1 z*X}}0F$0r`YwKJzTKIQP_6~Pxq|Kyahh;Zl8$ry!{vF`gY3xS~5`?^*2_gso>MC*w zWjKim{t}9K8(ow*V4x9OS!O0a0vNj^t;_-Z&o|z4J9G=|x`4MW_77<-n&3CBv64{v%=pZsS zTad|uiO=`Bsi|7vohKHV5Wro_Y(=z!tSy$p0Yk`l zIUfJ;*XiTb6uHHy!Y=neT!XY;n!4&cCFv9s#EQL%UPt;^cRHnwxf3QAk5qfg@qWx` z2$Ac?5aPV+>u>8bLK&I<1D>@o3*?Vh1OoHI_CrC~o-}!OOTm=Uh+uc;0gR&8bjaZ! z8KL5=mFO#8JS!lU4=i0N+y1NPWj1^tluqk6rMg;OpfXt}>h{6^p}T#2KlQj$1Pnxl zg%!FGpS@qjrL67VZs3aG`#6T(Tsn;_ZK_5a^6M|TN+;ZB*hawh6;l2{R+mzrQLVIVh+FC{Jvmci8P+4So9dTrmO#=9b%DYkkwuZolSnWuU!`E%2U;fi5f&Oj zT%g~tp4SYF|+k!_ujMT7c=E8decN9t?_7so=X8N(p0b!sM4 z_eVkWu8VlBxl`g^@J;dUh8SnJS;bawVTnKjPn^6e+>l~<9#nCTa#199JrfqFdx=T> zwd{WTG4d_8v#g!b5N_+&VAKLcQ0viR&>v}h^m8Zq!54u2ZV@|ze+z&08Qn`8(;i2x zM<)O6LY|fn_HN0SK0dUNn$V`oygntvEWzS*B+4^=Nl-7mZ|(7few8lo7OXbAM2p1> zz3rN6R>iB+cU6@nyfpOMZl(uoQZS8ZiQ{O6a%m4*W?jfo)??r*Ed15c(h+l66=c2S z>)9>AEm}aRtxh)#4;MYSJFNcFtXQxA`Z45R(YG0UmWk`PSv!`JGrV^7hGD6ai``lY_7(jT&q&kG~AjYZNWNXJ{=ZSrw()qFvr4kZwo9_5q2+h{2K zaafya0=W~3zLd&sbv=Q(TU9q%-fY~s8Ptkznp^HS=mh&FN$s2VJ^Og!arp!7Xnq_E zsUx)yhR60SH3xxz`fw7B7+JC7;Rsvvtn-`p9RaV>YJPX;{uv-Yu(F6%n6!^47{!A9 zfMTTlpFwzxs5)&9jn2GRin|(v9h`)y0A}}LOm696qebpdTSJ#s$-(jt*c1hMEz>(+ zH*ob5mleL{{_{XyvqR~9Zy-Clx#Pv{m%gP-e()jd#y%ySBM&Q`rBogQzxHXBStSH=!MmF42%Z+I8d}JJe{KuAxR2FjxY2A* zjKBnMb)6Ly3o^kbO_vH#FEQsooi^(7VU3o#mtd`I#FW|heA?H;WAL#?(7fQ)!1}OwNhGIVcAbn``*)K{v7! z8$Ui=JGr_ID?$jIJH;8W*j`;gyi`vph_=brl#pig-q~EupyqOK(Ecv89 z^@t(;2)!}AiTRP4(Q|wUjyn)@p~wA^ccxtVS_}k#2p5C^apx?fT#=$8i>@~YiDT4BW2gw^c&Zek~k#Pag3(oL?;c#Qg5BKbGE9G5<7p-v!q;qc=PM;= zjR)PVYG}4z<~73}OzW7{RDr9p^{eHFvF&;sN%MNma=JV~o!H-3db8__#hOLM?p`;Z z^sObWomtttIPs9=1hPawGMnb-%kWIrEk}Tp1R{_kp!-~woDzgTgYi6e1ZffpxP%&0 z_Oe2=9&AhyW7bR_73t09GC_Mrgs_CR`zS&&ns3>?SHC4YL}Wm|UKp(GuTe(P20&Wp+e zVXSWeYvD4J%5-LIr#D6_9g>pLf?U75vL}jlPk`%GfOfPjK!}%j_?7tBtl&`7YFsCw z?@np#gYsO&bZe)dAI+THyZbOSlx}j{b=@J**+A%73HsYCuHyAL4!5xOvjqkJ-FNHE z6~P&m>9#)vY25-;hQ8QO$l<@g-Ekfd@LL%BR1mEX&pHT_g4DmkzPBRe2-TF;g2Z~OikDlpVq8+(36IYUp-f;;QsE#QlMY?9&0a9i2+s!#)weUdnq-GGWLg3@=+` zUX3-KL3YmmU1!*NslnzB*<|0BuZ%s@$o2hFMa9qMm_w8|z$Ydy#p23Bmo{K_&T3gW z2u;BAQK1TrmCpziN^kLbU(0>p);R`>eAWoJm-f(u^n=^ZKjKD*7)_AMDOl!Xwz;nQ zLY1wgj?y~5^Q>H#(u|VxWKl;r!L>YigTInq^CTwXbPsw7vS3M3xS>ffh$No)C@>s_ zKkL;|C6rH8^C;A%frXQvPakdGt{FeVJ2!EF<9P^t$?n&$=ZzMld5DGTk_9WF=}1n0 zuhb}eVoy@;pAZRtq<{LmKvpyfX%FYgzcdx|8a?Bf#ekHSRhdw90$X z6s{+;E2QgJ{XlRnz%?K*1MzwM(dR+;TQng+(7B}O7A83Op^$0({=Q$zlLVhwE63rKng+6x>-{&G(Dz2CdJ`q|*?($RAG39Pq*QOS=K>`SVO`O#qS1-G0q1NMt9EtGsWU?TZPfbj%O5jj4BoeR{X_$ z_c7|<%}E`?LN#aa{0I0Sf0WW5q_ow1oU|3`h))GJ9s{OOI-UAD6kWRWxbZ?o!pQce zHL3As?0V1{GB@=U!!W|g`eFsX2BRMpdVJNBQ5b@w>HHjrGa-xoJSL$+@sw*^0K&33 z-~6lgWBiWVBmGpyR<^)N=sy(0WE=uPaF~oJwUh<&u32xf|0H5zvMw;~02fcGi;D0a zx5HAeY&$}`bN_sw(+6OVs!l;l$rE_TZ~z?2sQ-OnqG)Sd2>MzVf|}|}lrk3rS!61V zzzd!x40e8(+h#xWrIHaYo$3zXIX0C_0`A~>+k0WdL|1I?N|lOv8sMU5Q}!;(uYB;F zp-+`|d>L~C#DUcDW?6uT~uh*M+=u4z+ zU}$Vr^y4%>hYk z_Gv+b-c>Skb!l8n2i-3I0Fv8Y&WEFPgf~SvrCg6tK}tfAFL{>Bn)sS zXJv?`H|QN*!r=%UbvU17!Q(ZI-Zif^rPF>v0^@^VPRgE}EEu7s63ww)#v8G@9c=%= zo)TRleTCC#<|sD72s^vbSj-N2UfD0ocbRfLbrR;M0k1a=lv&y4Q;z49Q`y;%sf_j# zeQ>?!9uFY?^=a++kDtZ6vRbyQab=1vbRc*FzT?G6#gFB@*T@=X(>_0BqaiSV#dQaj zy7qg}u+sUu>~p$aYhR)^XX3r@V6Ipu<;5<0zgqu@$-4D15iMjZmNEc22YM&?v$3b_ z|Fn0OZ&5`H7pJ>XB!^T1krD){5k^WWDWy|~bV!K-MjE6ABm@Q&>5`72m2TSl!bDsS?`<%7+UhB7%6D+{TL89C49B7V=A>K_nZ*tuqgvJO;kt6*o zX%Ov_Kji)9MOrkZ5tRi!HE_}@Qg-7c@*M(cz zp3af<_ZA24G=FBtI0laZD=?i)2GVkk3suANZ_Lp9P2K*6Z_KLM6{6)nua@ab7p%40=%PNmOHf?-tTtcgpXK;`0(NLPbi@zDxhp^<7A0iiqYqW`S= zU6+h!WY%973Ri9kOn*H2 zfrr!AZA(C0pLE++wd@3x>mp%el+DG|E6$^>GY27Y*&1h)sFgAE(DDj?{{D2Ve|W>i zHKHiTFz3R7*Yw8NQa(NIri&ojoyL#ISW_R9xbbDhi>nTwsf3R3?Sa)>0^b!}0sH73 z4sQ|}(FiRk)+<*&(V!o}(u>kEWE_5;hflOW@VMkMmYAX1Lxy|5+zy$(4F-p*E7wHrlhae2s})M|w(1zEt+PObRDk8g?>lWEf{H9rZeKna8`+f?Nt_YtOhrhoN^OsYK#Giw!?* zNoip?jF{)}#z4JW@tx6+?W&u&^b-$SP#ALfg!{0C>$HgY#w*w9*9*x7j0iX9@9-P5#S$?oMSbW{e9nPco?NrbX8J~GmPMXTPCER8K}jJ{ zvn@hHH3q=o9k*({70nOJYLk50wY|DDU7maVc=;K{&tCQAr3V;}&IjC|t5EzcU58Z> z^W4kG2|ZQ(CyLHBHb8filcg5@ zkoDif9tpQD>yRlId=}N|tH3Xy@*`FPmUNU(c)zhGeVcYgQSObfB7bdLkV_Sq)XPb; z@me~`NSy-8PO7#C43Wh9hJXK)Cl|XCRG#j<*_`=Qu>#e1;!Sp)xmVuEO&xjiHDzB-m zK|TDbv2p%WyHi??g$olFH$$V>31f#3(O;MxlPLU2S>`eHLpE`%w7-Z?L_EYF`#GM? zRrS5AbniL$1h4I~3~LY%V4V3&>v8MFKhiru?SEbD7lHb{saU62#ZBpW7Bbq0{4WY@ z;@gC?*%B`1azbHrSM4%>wZySrW+SQLlO^)MP&b!I3od_Vnr;x z6~IbvOP()g&!qc`%G6KcJK?+Sd=NoaKS9hFLg5tPs|7*cr!>7c`Z9l#4!bX!J$Izw z;}0z{TPGD;I{K+(NzEqorq9d2;7T%D*T2d=VH7SezPs^GEX@x2D#QNVuH$OAosdJs zHt%e!ZcG7IR!DhHpKGwt3`On>kV9u2q0k+ICk!|DhjNCKwR|`b5GF=(lf%U

Gi}gcDne5IF%cF$2JzxTZ2>xtzrZJYA#c750ayn8NmccuxRLtDaF@_X}yv zSr=RJlSXdSdfS9M`?@{hO;V6yySc=h(CnS#sJ0|n+*oc~BY1X~@W*hCIi$Q&J&6q)lT%lv|FSXOw&h_Ht zHJpvB(O0+kqpinVah6uvudzU74C;fy2F3)!xilb~?3z4VgUo~)COr{LDfD|5vf(4m zobo4?>ACon`UzIQ@}^hQ#K>qS8#y~nS`=RI=0(bLK^$wsDle5v_yqb0vAQiMQV z0)NK>jkH$RQ0?mZRS})Un8|r=omfFy!}C!wW(glZb~k)QLAvE^^(0Vg5egk6|1@Og zYCg-dJTe6m@evj=K#g}jm-!gWLOiy_sk?U+wzm@B1^YLb)KVTIx|C=sQe%-SFpxro zxnnu{Gn_1GYVw8aN9+{IRBJTwQ*dOizm!89aBfN->Un?^P7S7Vm}OWm+zPKa$QUxN zsjhk4i2(fJL|=}3czTCmi=o{WUZkHdF(A59(DcE9Pz6Cgl0(^#sY^4== zL{zw4M$0CNgKx|u7X6vm@FVsK>DvA2dODAL@GM*>0S}gpPlnVr5B@45E~sqHsX);J zw&DRG^eHR5vA zOHrK%AdIJXe&#vXnyOXH5=~AsKnW(vFo>Y+AHe7wt#Kk+CGRKUcBBnR7+$!H)3sO8 zsLCMjma-o>u$S}heK)369gwLuCA2b$IV*4D_De>PP6|^4t2W-#Y2F_hrh7^dtb-&y zlxLVN;GO30`Tf*2ni_B+pzV*iD|Nrf^(lO8=2w)O@<+8Z4t2bd2Sewet+e6X6or=U zF$yj{;a4zvGGFfvoWGhjyv}*)Y5LipY#NHsIJakzaoG%~(>svAva-;X8B-Db1wxGd zq?C>JqX$B4j@L15ssu27(Geh856Z1fNnIgFpMJTIIxFlI7Zbk4{S=j`r^RNgD+C?9(_PrgXR*8mA){ z-7izkqDJn1Iq{MlhrNzleH6gNC-vbIoVz)qjU4v_&+oQ*NyIuk`$5&Pxiv*VWhE5j z?7fNI%Be@s{N2x&2qYK&0Dl5j=5xSA6gm}3Y`hx8*t(*Q<38}PV43>rZHkFpIXT;Z3Hll6&g0FRS9WVgVJKo9H@3W%R@r5KE5bwUT zWlW)YrxiWc5CNooM=GggAJ>qi^i4|#;egL=q~h#DVHggz8}v<0_wc$`rDXlTAa|O( z>TQoU#vUqTbG*?>V9fT!j#@mNipO6;;C8n@G*b8rk#&t{jO50z?wp2E?~TVR315&8X-ggr%ci-4~dglKivdP%DX%WUAq7^2O6JGVJ|_|x5N!?R?Pe;1`Ar*l>`@L*))-ALE;c-;mD)i*u*`P-uXoixi2 zm&c{Z!bcRGK5jJKW84a=I0*Izg!utF0upBT2H zR>WdGk(qV+X3baA@L@rrZN$G@UDbGha45vupys`g(W$maonN~;)05^NR-b%6G4;4}^mh-fB>_gy&W8}vdIPXOZ!jv0KCj%( z_(|6qE_f$rNJ&sj;T?5++Hrg=Q}>2vPWj|YqHn?B*+2GPW*uqO*L_?yKOa7nI3C|> z^oU^l1BAM0wUTZII-4&;u!o(RXmJ@!hiEd}PoD->Ux@Iy=n~`!C|FYj&_-toj%U7c znnE9`L;BVzjc1K{8--hVB#x*BcHdnXnmO;0hssxDENwk5@V(ctYEA$wT3jWlpaaV0I#S;06#n7!;(CtU_82viCTowRb~JL8jI6 zPz3&fm+z)=G=_IS!J@-O=~tm*e=lsjrTasUISLYQXr;H4V0S2wC+24b2O?bWNuaS| z&(g;HEMkmN35Y*=n9F06=ZV28KShuz?!MB^Q zf)Fjoq5TnylN8*WH;!O+!|c?pEQkkNShwE9-GjjUVmLVi1}pcV@jjkQP3vOvX4f8^IMZd7 z1};@5B=WrFBgD|q{Rxi(p%oS_PETFEQWLvzvtembo>^|AFj_x5JG)J#hvfxHVad$T z#q7VQ^(z-v9 zXz0(1gT1|3-H7_lfy}>Qx+PdfVq@F`AwA1Z_FXBnH<29&Dyu&rO|d5yOWr4?UX-qj z67O##O>N$|Ilbj09rQf6GF_SH3f!l00^!~*=Henvu(^&~7=iv8(czX-0G%WH>EENI zdfGn5Mpxlr6_RQtdVrX$k!Vis-&0(Pi&IX+MkaPAc}F;!=X0V5I7T5nD@u%Dv}jh) z?%eBz=2~m^whFNXS}Vg7dtWeG{_*s#ydb5PJaG;-r_#Ou+@*ahil{R0a!$%wJ}1S` z(ZqzY@B1Q~7_UY6a#>0TAXGbPyGZap1>~ABb0&Y_BKAbnmcbOYzm4iarw6Fs+WRO7 zlDzZzzq)QF78E$!J&H=hs)MgTN^c}LmDSO*^k8O>GvVi+o`b$_X_xsK3{O050AS<~5`I_wnb`uX13B6p4elF4e3cn^lXp zXzb8Hp)TcrGaA>pH3$$kX>F*YYcPk0Z*TgZ^;(1o+@An6<@+-EwN0;OD`d!BG_d$( zHi=m#Ki^Zz^2zgO-{lxgaEH%z-`S^ewPme!_9tDK$S`rQp^U%v-1~owZjeWoKde~= zf3}5)aGc}@FGddS;QE#GcN%~yd>z1+lcDtBDp7;&FaJ$z-J0vGK1;#a$_t9$Xy(DG z6@6)uvuA3Q#^izjn#!>0NMhJF(K#u<7yvNe3Na+|*EF;7G!ptqE`Gfbn^XrbY&n;* zT2^3oC<-;jEM94{>8?3AL*67%cygCDWbIr#W*l8c@W(gw>lrs|6xeXR+dtB{5MAI@ z<6{(Qj72}`uCp+2`Y1m^GrZLORpk~uN<}uX*uG0eqFJW}e~zQrgch>oD@vQkAy%Z; z7HF(k6f-XIhiPF!LT=c}(O+H=^nAm1i#*g#c-PTkhmD8FEhpkoMCC_k(XCAn#Zi^3aFX^hz30|T2niuU2K>?vEaoPkIS@=^t+D1nN%?1Yq4E2#k< zq^sMoDC(i$*n<+2x_yvQe#ZZZ1>bKQq3u%6y%>uN%I{@FHPGi-v=KJ}z^C_?g%J40 z6%MjP1=isZK|!>ml#6+2i5F7nEw0U^K|a5urKqe>?0q_X+%w=&mzP52m9pQQf8dj| zVN=*C;kDE5K)}j(y1EJ3SZ-< z{c$p0<_dDBPeZiq>g!~L!0BHPVJ5|%8pTQjbjur>y&84`1VgAoJe#><)?0z;WVhUw z@{R^S4TrX4Vyifref8{f%CrV|Bo!^qIkrcTYV=m{N71;b`=a%y+S2(2J*UP95^M5gmGJ_{=q7z?frrKl4F*P#}! zGC=7&QEl7a)t&32R|sjaXD&RsWX?E_eYybpcEAAu_zI_0V`hGpqH6bMgWdA~m+Pa$ z+0iL4SPCHa1!3V=)&`@(AtkLEE;v7$Mb}Jkhp3I?w<0o9i080--GkMm3A!*gKdEWT zs0#(P5p%v8mUh{)q8!5Fz^L;5tOazO<8fJWxo(c9O)Gw9W6)q&UfRfff5p@%<-m#6 zf7#S)&yowb?d^8-sdD9?zck6 zl~&Z>J=;icKiiI=w+B&O>2_V*m%azQw`Gf5&M=>>kox=nrW2PYb>{?MEUGP&{wT_O zz?B_-8c~2s2qT{WsD~Q^__)lq;>Q?N5pQLNwB^K6+C&x$sXlm9iD7vm&8p)S)(K#sJWjNL^MW6@`7 z0Vj}q9O!Wzh*EnMO4(uLa8`S8HMIB`8aG;t6nQ&M7ImG%-MJ&b6ktIeOwGCm8d+qV zHvXNH*Zms0xHS*;!v@ald^g7_5H5m0w~VNx(yd&u{+#~9(qoyZfe4fy!FgK@*4rjk>?l?ELtwp1Ic7k515d z#3wsZ;!?ew%S`Q-dct)p0_kog*8ku9-(wKZOMnGhBB#o9(rC-^aF@EW){8PF%b@=N Dcv3GO literal 0 HcmV?d00001 From cdd084de8e29b19d9822dc2fde311f6b2c08515f Mon Sep 17 00:00:00 2001 From: kuldeepkeshwar Date: Thu, 16 Jul 2020 11:07:35 +0530 Subject: [PATCH 2/2] format files --- examples/with-filbert/README.md | 3 --- examples/with-filbert/pages/_document.js | 22 +++++++++++----------- examples/with-filbert/pages/index.js | 10 ++++++---- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/examples/with-filbert/README.md b/examples/with-filbert/README.md index 25755bede5cd6..93bad4677474e 100644 --- a/examples/with-filbert/README.md +++ b/examples/with-filbert/README.md @@ -4,11 +4,8 @@ A light weight(~1KB) css-in-js solution(framework)🎨 This example showcase how to perform SSR & extract and inline critical css with [@filbert-js/server-stylesheet](https://www.npmjs.com/package/@filbert-js/server-stylesheet) and [@filbert-js/core](https://www.npmjs.com/package/@filbert-js/core) - If you are running into any issues with this example, feel free to open-up an issue at https://github.com/kuldeepkeshwar/filbert-js/issues. - - ## Deploy your own Deploy the example using [Vercel](https://vercel.com): diff --git a/examples/with-filbert/pages/_document.js b/examples/with-filbert/pages/_document.js index ce30d9b091528..979140b707ca8 100644 --- a/examples/with-filbert/pages/_document.js +++ b/examples/with-filbert/pages/_document.js @@ -1,22 +1,22 @@ -import Document from 'next/document'; -import { createStylesheet } from '@filbert-js/server-stylesheet'; +import Document from 'next/document' +import { createStylesheet } from '@filbert-js/server-stylesheet' class MyDocument extends Document { static async getInitialProps(ctx) { - const sheet = createStylesheet(); - const originalRenderPage = ctx.renderPage; + const sheet = createStylesheet() + const originalRenderPage = ctx.renderPage try { ctx.renderPage = () => originalRenderPage({ enhanceApp: (App) => { return (props) => { - return sheet.collectStyles(); - }; + return sheet.collectStyles() + } }, - }); - const initialProps = await Document.getInitialProps(ctx); + }) + const initialProps = await Document.getInitialProps(ctx) - const styleTags = sheet.getReactElements(); + const styleTags = sheet.getReactElements() return { ...initialProps, styles: ( @@ -25,10 +25,10 @@ class MyDocument extends Document { {initialProps.styles} ), - }; + } } finally { } } } -export default MyDocument; +export default MyDocument diff --git a/examples/with-filbert/pages/index.js b/examples/with-filbert/pages/index.js index 2b4c8edb125ee..aeabe9d3b618b 100644 --- a/examples/with-filbert/pages/index.js +++ b/examples/with-filbert/pages/index.js @@ -24,8 +24,8 @@ const Heading = styled('h1')` text-decoration: none; } ` -const Small=styled('div')` - color:black; +const Small = styled('div')` + color: black; ` const Container = styled('div')` display: flex; @@ -59,8 +59,10 @@ export default function Home() { /> filbert - Welcome to Filbert! - + + {' '} + Welcome to Filbert! + A light weight(~1KB) css-in-js solution(framework)🎨 Next JS is awesome