From e68c9831b376f259e35ee6bf00e14ad404cfce87 Mon Sep 17 00:00:00 2001 From: S-Gihun <89789115+S-Gihun@users.noreply.github.com> Date: Sun, 27 Oct 2024 15:56:40 +0900 Subject: [PATCH] mission --- mission/missionweek5/.gitignore | 27 + mission/missionweek5/README.md | 8 + mission/missionweek5/eslint.config.js | 38 + mission/missionweek5/index.html | 13 + mission/missionweek5/package.json | 36 + mission/missionweek5/public/vite.svg | 1 + mission/missionweek5/src/App.css | 1 + mission/missionweek5/src/App.jsx | 79 + .../missionweek5/src/apis/axios-instance.js | 10 + .../src/assets/images/category1.webp | Bin 0 -> 232210 bytes .../src/assets/images/category2.webp | Bin 0 -> 308612 bytes .../src/assets/images/category3.webp | Bin 0 -> 303928 bytes .../src/assets/images/category4.webp | Bin 0 -> 538812 bytes mission/missionweek5/src/assets/react.svg | 1 + .../src/components/MovieDetailInfo.jsx | 108 + .../src/components/MovieDetailPeople.jsx | 58 + .../missionweek5/src/components/MovieItem.jsx | 66 + .../missionweek5/src/components/MovieList.jsx | 23 + .../missionweek5/src/components/navbar.jsx | 84 + .../missionweek5/src/components/sidebar.jsx | 57 + mission/missionweek5/src/hooks/use-form.js | 42 + .../missionweek5/src/hooks/useCustomFetch.js | 27 + mission/missionweek5/src/index.css | 0 .../missionweek5/src/layout/root-layout.jsx | 37 + mission/missionweek5/src/main.jsx | 11 + mission/missionweek5/src/mocks/movies.js | 354 +++ mission/missionweek5/src/pages/categories.jsx | 110 + mission/missionweek5/src/pages/home.jsx | 10 + mission/missionweek5/src/pages/login.jsx | 74 + .../missionweek5/src/pages/movieDetail.jsx | 64 + mission/missionweek5/src/pages/movies.jsx | 39 + mission/missionweek5/src/pages/not-found.jsx | 5 + mission/missionweek5/src/pages/nowPlaying.jsx | 48 + mission/missionweek5/src/pages/popular.jsx | 26 + mission/missionweek5/src/pages/search.jsx | 11 + mission/missionweek5/src/pages/signup.jsx | 138 ++ mission/missionweek5/src/pages/topRated.jsx | 26 + mission/missionweek5/src/pages/upComing.jsx | 26 + .../missionweek5/src/styles/globalstyles.jsx | 8 + mission/missionweek5/src/utls/validate.js | 31 + mission/missionweek5/vite.config.js | 7 + mission/missionweek5/yarn.lock | 2176 +++++++++++++++++ 42 files changed, 3880 insertions(+) create mode 100644 mission/missionweek5/.gitignore create mode 100644 mission/missionweek5/README.md create mode 100644 mission/missionweek5/eslint.config.js create mode 100644 mission/missionweek5/index.html create mode 100644 mission/missionweek5/package.json create mode 100644 mission/missionweek5/public/vite.svg create mode 100644 mission/missionweek5/src/App.css create mode 100644 mission/missionweek5/src/App.jsx create mode 100644 mission/missionweek5/src/apis/axios-instance.js create mode 100644 mission/missionweek5/src/assets/images/category1.webp create mode 100644 mission/missionweek5/src/assets/images/category2.webp create mode 100644 mission/missionweek5/src/assets/images/category3.webp create mode 100644 mission/missionweek5/src/assets/images/category4.webp create mode 100644 mission/missionweek5/src/assets/react.svg create mode 100644 mission/missionweek5/src/components/MovieDetailInfo.jsx create mode 100644 mission/missionweek5/src/components/MovieDetailPeople.jsx create mode 100644 mission/missionweek5/src/components/MovieItem.jsx create mode 100644 mission/missionweek5/src/components/MovieList.jsx create mode 100644 mission/missionweek5/src/components/navbar.jsx create mode 100644 mission/missionweek5/src/components/sidebar.jsx create mode 100644 mission/missionweek5/src/hooks/use-form.js create mode 100644 mission/missionweek5/src/hooks/useCustomFetch.js create mode 100644 mission/missionweek5/src/index.css create mode 100644 mission/missionweek5/src/layout/root-layout.jsx create mode 100644 mission/missionweek5/src/main.jsx create mode 100644 mission/missionweek5/src/mocks/movies.js create mode 100644 mission/missionweek5/src/pages/categories.jsx create mode 100644 mission/missionweek5/src/pages/home.jsx create mode 100644 mission/missionweek5/src/pages/login.jsx create mode 100644 mission/missionweek5/src/pages/movieDetail.jsx create mode 100644 mission/missionweek5/src/pages/movies.jsx create mode 100644 mission/missionweek5/src/pages/not-found.jsx create mode 100644 mission/missionweek5/src/pages/nowPlaying.jsx create mode 100644 mission/missionweek5/src/pages/popular.jsx create mode 100644 mission/missionweek5/src/pages/search.jsx create mode 100644 mission/missionweek5/src/pages/signup.jsx create mode 100644 mission/missionweek5/src/pages/topRated.jsx create mode 100644 mission/missionweek5/src/pages/upComing.jsx create mode 100644 mission/missionweek5/src/styles/globalstyles.jsx create mode 100644 mission/missionweek5/src/utls/validate.js create mode 100644 mission/missionweek5/vite.config.js create mode 100644 mission/missionweek5/yarn.lock diff --git a/mission/missionweek5/.gitignore b/mission/missionweek5/.gitignore new file mode 100644 index 00000000..19848869 --- /dev/null +++ b/mission/missionweek5/.gitignore @@ -0,0 +1,27 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# apiKey +.env \ No newline at end of file diff --git a/mission/missionweek5/README.md b/mission/missionweek5/README.md new file mode 100644 index 00000000..f768e33f --- /dev/null +++ b/mission/missionweek5/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/mission/missionweek5/eslint.config.js b/mission/missionweek5/eslint.config.js new file mode 100644 index 00000000..238d2e4e --- /dev/null +++ b/mission/missionweek5/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/mission/missionweek5/index.html b/mission/missionweek5/index.html new file mode 100644 index 00000000..0c589ecc --- /dev/null +++ b/mission/missionweek5/index.html @@ -0,0 +1,13 @@ + + +
+ + + +OnyZXj2JnVU$?amXdaGJnbwD`=&;46WJiIs!cci${xQ% zE^7q}aX@bZsU!4o+h5>4gng{+G6U1H>;WptX}YH&TED%r$%%lFhNms`;^azRzxC|E zjXb*So|gPn^ZS<}fpc)dVO_Tkfm0;JCYg%A`pORd?0gwrkyBQ$W9cnE>`Hzotn}si zSWU7EW3%hc^&_~kYD6eMG)z`pnvfg~}aK@0&8$#R^r{1SEIi{^>?B}h!%$k;dbpDt+R4nfSq zUh+w}U8*u7?P*<%idOVjBfJezl>3W)9V~v04#~y)@c=p|dy16VdtIGl<|9d=vt^qN ziVt;KDXST700ps>Juiaw$vgj>aa&4B+ o1h z0k!_x=>6YSGsFY62}I*#&twMW_rlsuW~%WYUKSfmEv6-}KY3qk*{@FbGm~;1a;^?> z2QF**z5Y!q0hs#R%pkGOULD_uS$6r) j1Py^(fnZ8 z_x%m%zBd5LK^tXaJ3W;AQv{084djT`)6;ktQYwFK_{J=dq6xM+-CTXnq`jVD?37B*}F+*H=zKZ>uXvm{G~dhc@0G{a1zQ!`G#@LYMR?7c`gi2mq4DW zyl_d;w(W49%9jfgje{KK;@nQ7F|_M*f8(zaFAQ_Ti?4)T`<4}&CQ|a= QMQI6?;Bj5o>{0EU)aNUyA(qc)D2RCAaj72IXDt$-O!B z65AY>mm}LWzN}b-6hC*|0}wm@AHXFZZV_@GFtWm%e3;%WBLMagsce(}C}@>49SEu7 zRRXBw+J;cT;}A$mBVU2d5JZ}GEHGV^Roce*u$?Q3vaRJjEMQI%$n$YRv7#q@e52Hn zR8QeQD+b5#Ym5ZTY~+M+<_Nq2k=#qUYKFzam!Q)DCNVM!-J~gAM!j2yMN!Vq^3<^p zPVXO;YB87*uLZ c3Q@AM`czN^|D1jPl4Vtn}DmWj<@l%4uZNB_6B2L zOYGvQoXh6YXGE>Gu9DS+GBEiu&2_(;4VCgygzTtVHr1S(B$p)l8I?y1+q z#rB&gHcFs5o1A~F?+z6u2m!oR^B;|mgkq#``OH _v{==eONU|8~tT zXrPujxV a%b&QVFIVw?@>Ix|M2)DsTtEE zXJ76|D FX(
k5j+Y8=`)3#j;Hl*7w%^k=NGze%caQbs5?ux;w9=m9e0*D+sOb+Mxy*;qW%vz=;X zmE)m)>ffIdrhBF*ivQeEbds{CpV_T*X2`z&&&*Qv!<}m9kb6EmY8ca|J=y`}aCwOa zzMNwOHQXEK7e-=j$rda?B{tr0urIkfd9H3g0L%kEe|(|2?+chM(l#7IJAM6;_Ia_g z;vtb?uzK4xXyD~a!)deY2W6D2l32<_r&h0us9a&1HWJTNq!v0F{@R4NgP@zt51&6@ z$D+R7*ds9I4Uh?>Lk~?w3aN4uJs&o~e8DDYsJU{ugBCDZ<%I-(HEoGz0ueccRt7)+ ztG3%AzkZ~~@-1$^GLakX5D{@+qxNDE(wVGt0ywn8Bg2Kj0=rLO+4Il9fJ)*A`T@V| z`a9HzS!idXubcDb0j7;j9N{R4h =F)gX4=RhC=ycOi_PKI`EUK+0aBre&(HkdH;_-nuFSztx7DSz^IQV4(pu%K;j@ zzpN>ngr%gxTaB2#ZOy_Jod2B)Vujumb2`~Rtk}xFCqETsysFBpFT(+Jj_)_IAp3D? zQx off_)XIn@Y@H)w9^!~Ly1%A{UWh)CfZM`wTd_zB=pI hLq(P(LSVYf~5P8@s+NQyR=+*>V6!`_6~C5eaH+)W~lb!@VbBbNSL zZ)Bb6NPhR4tFxiK295DMr=aPT{-l))lxWUBi!mxjxnge|mjUI`mzhn~{HbzS(1^?@ zzySjr0ze0k27a(*`TV2Ou7#6?tf%c`Q-Mjm3YyKCQwNa}X1L&<=~m~J5sW_l^2L-+ zNl%-{wDXNp(uvmyR}@7IkJR>BETzPz9JhOaf1Z!y;&vHryEuqX0ond;PvPkgE}K^x zXP=1RxH8_tcC*3>A=ER=vE(M8+|Sie{slO!z!;wR?{X *0>`JC9= zOlYq?q=x&@aYRGu|E;X&r^gtGeXCil@yeH1k_Z$@XgrI wNvamw*;9bd`e4aI6Yn^9}$AkLSMbo@FV2Bd;=} zInu(o6)RY#WT%lPfK ~-EFoW*;yp -BDM_-?cDF-IS(kF8ae-!YeQ{8iY{?0jU=5!(bH8_?= z*NSAzaFo$h5n@K>?GCqA#5&Q?AljoBE6uTv$DbOaV%!oL%vxZSGeD8!q!E|YLy1WW zRoXqZ$Z^v;T(viJw!&t~FHJ+xTYu?eUMtL-t-brY)t9!63OOyEOO&qdmNxBwI})cE zL4fK1Z54WvS|9xv56~mDi>-o81EcUcsEdlrx<8xn904)s8$E0J^;zE<@g9*vev-p# z)Jl8vx2z2)&9t$v#Ti`^-}QfoGQ#cz_f=D%LXQlG!-3sZ+w`kQ`}H1T;T-{!upMW6 ztKJLpIv{S&TsOoi_@zA3IK3sfFjU=Ccu{ywKatV90nh`%1k4`a!`6Fe-oCtVZV)GP zMIHb^#Xg?a=Km)g TqE8BrI%YL95RWGT`o1(^u;h;mw$sFPJK0a{=3fj zL!7b2J6bCO`0YzGXKlW*B#SL-X|_HDwI_CVKLC8$fzdy@3x`&m6XzL3!z@JJATV>t zicPvX^zr^DvMeYFA3hcAmBrFepkBe0x }x&CFQ5=5bFhtq zUMr~ow$EHB+~PKK9PHanuAI|!U4JHa@geNb$om|c5HvT47d=cZ5#5r{^!TjYy Tg-I+h>Bkp ~I&wqF~q%KgiVZzNG9eDQn>6-Yj{q+R<)v1!0&oS)}%uR`G7sX&eY zixmX $HEV$$}k;R@JTX`6#PZn7;Y)NwyvuAvLWr3C~K2(Dfc^lQ=23v(h#+ z@y8#BLe~ #s7yZFz zgf}N;FxrA9-?t&v zcUp0KFFV<&?%LYiL1k;%r&ERWHcRj`sRMUdnkx(>v!$iQp}})2`rIb=sQgYjoLlmHBtJd!R`1 zO?_2?E?M ZY4z$-=-k0$VU}x3)(++%2;8st;L0 86R7UNAac?K{Ynhm1^?|OjYDmsAdZ$Ilm%W z1ZJD&2R&6~mM?$kaleI1es!T~wThzc%Iuj=$=$EICN*96G0dxyHbE5VFoy3Acw?^j zkjo;SxZ#WKH=* WKa_M R!#f9=S8nZ(F?EY(`mg<#CBRVt9R6W{% SotU8aKCE8E}buOn*Ik)rYy?5cu8JS!GPSarq8B5I%b*iU| z^ghCN46FfO*g?6DC`U&D(fr%fkKpX_DK3N#7)WY@Mv`4yZ*e{7o{OU7P0h>p+UT;F z1S10cW@rZlg40-Y5yx!-%BI#@l)3!iItG1Ohrf^kfX1!DL+B*+k@0(&x6g;hF}IUT za|VB=Uo!tw#!q&09jl#EYlnB=Y0#bKnVV&5svkiZfv%m%Kto+-4-)25)SNwwb^u$y z5+AIKFQ=6v+UKUt7^q~Astz#_xtP-V?VyUXe}1-Z6maq2ZaKHD2l5{ )MdlX z%&G|v?I&C8gtK-Mf+Cy1-xG_+pKUwNg_>nUHR5A+TDumj1cCMTEV;O#B#Gq5!|kY$ zH-yov6@K)fe@X+E^zVDHnZu0xzHI 2vb+SOvsUMe`tkqvix}IQqGyuc<1WBg5AuUpL)a6SeBW zl8>}ioDe 136}mA51;?;O;8Ibswfx)!zBTa?>6z0y^2>)!>+YE zs~F4v2pt-d9SyX+pPd)Bqhqi*Cm$5fmCT9Giz3FVq~0{rMq;@hj>r!py-(n@CB*W1 zP2Zrp`bF)G^Ni05lQN6uVdWehr(7EQD6+G!)$NwEP+sVX2S3U&OZkmbCXiUc$EW@9 zsRuRz^}idI79A6WHlL%WrO$v6@egExSr?IZQ*OvxQbPh?PuaABH8lO|627uDle$-% z6wHW7%;0uD9+5T{UhCIJ3u?@Iu8510C5}$kmQDbGFpjf-t_ =`DwJY*8V11Q5Y{IjOoljRVAl~@6PHb9X;^7eS zr@Bc G=Ax{v#Hnyw|F%YwT)o7m69W5(%h1!1n@3xuS;y$!Qh&-JWT-_02P#t^deGk`N=+Gz-aJX- z@Zx(3@Csa5>ERC@mW?W=L1j?W!LU@E053q$zZ$Za_N&kC#^hsXuHy*ns7(a)x45D| z+H99asyheT?h%hnKO#O`B#OI~0zP^;+ikDr6u6e%gJO%17pIvn;@{UcdSYODCwHF_ zcq-7{*}RF? g7kofmAlu361)brWGt`Q$O-i7?tSx?2wO-0ImUIr+glKv+uk3 zZ&w%};aoW<5T~-bIah9~@}zJIw7>e6yE--Ww%h7GBjUpm4Gi<3#va1^;dP5YJ@{*5 zZw# )_(#VFOE#R*XqF)pWd^c{Y^I<_*0yx$S+fJ*`84dxrMh z9yNXE>2As49?h{a2EVEMAj%B}^n$H$q;h?NA`MK1Po_XlJO@P*n9)kYPCh MrJ&A%enX{Ah=*b zzKO6JI`CDan!@mq%EQnGnZ-6X<}-5_osp2)=ciY-PJ^}#oVGFeAou&EP)rz?q+TM? zbWm^5pFm0Jp^L`tRVYy;#V;tWaZL$IPd )xr5hUQ$JFUE&BI()DMUMFf1;0d4Hmjj9!sU~ zo`}#uTdu)OB#jBsg9*aW#{BdY1h|UMW4K5)vDq9m=Qm3X!jq8;hIm>BxZ2tiCZxG4 zB#c@6i)yY0#y#NQS6rWk>6EB*@-g`V?wdt(Aybs|0r#Vm-pGZBBb&v- z=iY)s#WQ`tTUK10#F*W&RU(Oi%IzC#_ p3Wt-o^#Lp)h2jdYf$u_DBu_r;cPgQJ{w^OK{MYFg$t? zjMPW3;i34-5xP9w1)k$CH+twEFO8+}O! )-HMd zl^s2n4Q4|Tgg1E=DTP~ N|$W!tUFT9}+U8b{ofT=g}3? zP+S!X_S>GwdU_*~L#&U@^KA-W^-vEhc+$BcoEZX(x1c+>XVz^~fdPFIXsR%Dq2;4r zR{qA$^3X&3>p+FT=ILRnLj!*ya1Pu%11%7Rhs7biTgpc9N?eut!F-bmbi#NCFn7e^0{Qp zV8-OqbmzADl#N8HlC*}Kjga=->y|u_bI8~QNsFe@Pi`#RPkuE~``h?a%EuW`&?;It zviGBwK^R<-oYDz?ctrr|jOr@6x%o3RUfjtsViAq8r8>>x!Tb0 < z34%)*Xk2}I3WCPzho)~~m7d3#+h9SrhylG)9F7r6$j2+*=#+}+O7Cv1qRCbfH<-2K zPv+f{qpNZoJSv~^gR}FnpJ;lkQkge!{8&wfc=8|fGtTa+*)*%{`u2z*m`Qi`em}bo z-#8j0UIWow>JVT5RFtsR?^35HWjU%TobC7Z4V_w_7TuT;tJn5?Z5>?*12BKZAqxKF zZsIOHh?}Y7k~mb Khe(<6UlNLrwrHtj2>d&gj&>7#ya6 zJ2!|(za1o46D&901!Y5TM0)8RP--s`TUC-MOcaok^`9pn9l08p{V2Q$Lgaz3(0$ZB zPiSfSyXJeG}d<$hi7 zUvN7+7^T# Q*KNIL+4dH<^7Ybk$`R`gFaYy2!FT}AF{-eC7wbMxa12NpFu#BR3LOR@O8NnX zm21-4#+(aKWPXdRjbB`_Y2t({T^054IKX_SR{|!Bo@4RsvCmq&O757L;eTatN)u{N zc6`Ws%XDh-M}^lv@*ufL3VtzNWm-}vdYZ}W0SuJIm_eu5&)bdg^|xUDm|#43b6Z-l z_nuNZWs!cyN$EGF;i#8N&{SY<>b7j8W?@$S?yJ5lh!@&CAf}o#Tt5`9gB9YZVF#(< zpHQovp?BU)_y|7Ttp)2Os)9qaAbkSVuwC0 5zr&cnv{9^MTDgsKM!I87++H{QGkNj) nNv z{X=kuZpe~he(A>}{Lt@J)l>pFtY8Fql=HQVgM zI#G>IrsdO|!<0%_G|RygP^@;pn#Z|uChc1(0?}uuLs6&yL rg49vP~rRw-h^D>)2`z`&VcUlrmD%w)CqIVku zS>ont3LZB|Kcl&DN#OgyLx|a7Gi*!dd w8wy)QixU7Vq)^0wL3R5O3 cvL@#_llbLl6H~T-0h+8d zkafV?nd?g$I3fVveYegAwMf;s%7s}fM9}f5hYjIZq{{fNapes`=wawdr4Wj%5zHNP z$1bZzbBg$bf~bP_uVcS_<4Zl!Y7a$cMV@Sg<@2+=TGFo|)ZLaUiT NAV4uv2PL^CV+AT{y7z;vL QLqe%%9-ssyLI22B1NFThwuQfM8rR^Im+QX~yE)Ja*1AHlZ)lhqY?w(;65O$o zhwKJxyD#r(+t4eh!|COs{@SjH>+Hc+2`C0r!(iZJDvb?oQS7GL4E~o6kOG*ye-vs) zg>cMn4h)C+TgQn8XroEeF+LBk>2k1Jg)j8*3sf&zcuA-SkXit1gp+DOE-*HdT|(FJ zWZ)NAF(J$AW&TOxNAVZkJihMT)y@mL775*vzdVSMHZ!57r#@0N$szGaE?7u#Sz4g5 z $xQvOP=5kWPIpHDh{fv%%TKJ_AUlS49S#L5 zTR_=+M-bQKd*3u+RG%u;?aZ@tAfZ239I@eh$^Zt3vE~6dY1tL$a;9T0bw}VXjrwmK zXbYo`?TAudbWt@zdwrr5U5U88lVij$>EXs5!!Otq9iwTJhxp>hcXHw82-@C}@)16P zD+em2JCdd5tT%!vJ$AplZYtZTm#H(rpWmOOz1+&q3DV%^o^))U@kPP6guEbHjw6@1 zma&$Q5&t}rYq~Y=d4-ZKVz$W`*ph2kGEyrMvmc19lD9m_E^mr~$fUgn^WehGwH!W* zlyH*y+b!72r3IfIJ3&ZqUx%XC?ZdKH-wrv4dykF>JtcN|f@EJeQe-e8+vF-XUco?9 zLZYL4(4Fs+ X)=9&g{edgN_$L)IVVk`dKpk6EP4d)IN>!K4 zF1^;# L ~7j$Im74H-Uz@}GYB0|YL$g2 z5lKuVoFn0ED?*)I*hbg1Vpw6h&I40d-+DiZzX^Q4mDEm~;RRW**g@)xD 6$=@F(%5fBV!8;%fc7HbOJvZDUxA^M4YwbPiRB{1G^iXy zmSt51%nS)3FgJEt95#SQ_#!+Z>~oi#9RB0uefr@cEYh|L2(X;?JX3fiptCweg3>}^ z9(96<;*^D?_NBTYS_9k$jb1l*uCQ6J=%^^~oMsSP(gw1d2IGhnAa5c=C5Gv3w=~T< zu*1U`4TwY#-o1zwaKcNU($m+Dq_8bNsfJ`adZ}JK9tTcn!T}~5@(2U)vfq$|ls1Dr zW^*|&ETM_!{>AGTSBa)5FjKPfsExj`HYjO1sBz=+lrdox9`NqRc~P4tjOP2)HVmF& zgGeg7rU-Kk2ttFQMV}s5=?J3(DAB^dWwra|U1c4=QiOBIZp&ANYXGiF29?HSwp5sL zveE)7`REbv+s3I3?pEnn`)94o KV(sVTx%=K;U0tn RBu++vLBMs_X`GeY?V -^tda!mWF zY3+uQ;6ajgDS>SV)$>fGVCP79r1UKO8F-iz$>0}@e((SQ0UQ`8W?)<>XdB0;3BTN5 zM= 9cDaz!P57*`2O@`v3#gT z*_C6Mz@+}bvVE2w4E8#<2Fx!R1|Y~TaWMhEqu4{!)ql+vmiD#^Dz!PRG=mTb?wf!S zZ!Dh*^_IG>ratT%Nxp14=&B?e_`~g*##%j)khkBsun~o7zM~II@+Hr-$2U2^yLjqa z4TyYp$YWU{dNwG(!7f4$RO`K(@(@$cD9xN+u)w!=%-$`)as)IaLTfLR!`c_ANJr77 z*y9on=81@wL}!0Tj*RF `c9#@W}$@N;ss8)Y!8WBWX`6(^M*klRDGUO!6FEgHpBIvbLTDce145AKeOf7Z_U z_VjItJ%jK^d&HMI^_jzT?cTmS(D`f?f!J8>XyHV}+otr9TSm8dIqi- Hv zcJ9V?IK8}LX$|HDMeIt)E>$OBz=tMo5lV=s1iZWsiT7XV?`o3Z4hQi<(}5j4 *O$!#& ST}|1&{e2%6_YA*xD^p9S1qcqa4`7 zTqIEjI eatN-iK%u$K0df6+X6!Yn*?%;?e zP^JcAv2 UruJMDQ%XR1@+)9C(i^+Lo zqPTZuSXC2{Bem4;Y>vzi=;whoCrLpg;O$VzBvB~lP~7M(g1?09B-Ud#(EnQl#6z=y z!N5Ea%mG&4J4S~fSCI0Po^RaB5B9O7!P%3Vpp3fjUq Du@dNM}$-Pt(=UoxWb%ycs1L#qGiVf8unOxvg?3j{QWKmjS3Tnhz|L3?NR5kB*9 z0=9LSJY!#Yd>{ue(RvM-+X>zT+#{qf$mz2YML^m`;Fi#LUPZall$T(4lKwcDlFx@G zqLq+wwY5F_ #j`9Q9Rrb=d73?-*tai_tWH3d*gB> z9{IhS1Mft9Ab11o#{E=h*;ZYuUd;{RHEADrq#9!NC7>WUaw~D%uz>BJxAwt7L?{1Z z7fqBA3_E&a7VD6lFlc{D>$GwTED?u6avg#s(bVq$QJdiow8SW%s;Rm{mj9}8i#)N) z^s=j`ogYZoDu1uh*Hw_dma-dOgFZSJ25T1?KdgJIuJcxwMR%WA1GSxt2e5?k5c76L z^TG7d>x^+pDF^%Br$9{*`#kw6$DsNpGARzP4v-^Y)b4WrCSCL9f3YK`?OWJR-vorl ztwKm`C_z{br>l~6&Nzd?b=`!xq@($6i<)#imjfVYw?Sno5F=4d+siT0&zy@=N_Pd^ zJX`{mk;IPR(;A+}8nqqM*ddkhbg07Q1LP#^wx`J^7Fyi!_QslG*0VL4AV=m@VZvWG z3W_T(D*4l)@P5!dY#b*dQ)~fow{iFlss^I0$BEImT5h6A??70uC^^ui3UjtC=fYyH zTV}_-nl{t4QJ9} nwXg;0}0VeMbOlV^KD1*7RQ9t zBG>V8ZW2%K9w*%42~(+cg|O?#9SXx^c_65_!TGwKj=MM#a%Ch4#)txNyS{eut?znL z-C|;lQN~QRju2$q{y-OgLUE~xWokd7$mKF4DoVB5bLv8 5=ORyoF2J~HUrZyP zlXGZiXl!V3<|{hX;g `%w*|8<`0e^v@6SV ZUlPL9h@-Jnk3%wh+EB2n(J0%A5_to2bF00Zi?X9|iG!U(KNAhP(I zWdr(a4W`M>DLDs|Douen*C5D=90zY@auB%~@|*|bmr)#`_oNxj7->~^PrsimOV=y4 z9A;5sc+L!-{*h&iP3%4JUJeE?gyA+$);Oaa2V&dsSV+rMfzDTSUuBLLJy8wUj#(bF z$?!qLsMK6PK9rB~jh{ZBkIIw0`7_%YH+T8%8kGfmac8d=K~_nQ1O>$Dv^3hMs=?!J z91W2K4UgtBt$GabEy3vD6uH=`22~YL 2WjLVtB|;X;7)u=d o~syiS&DoLV}NIpOjR0A_1Ql6s(#zj7o?577vVCZ&h-wR%}9UFT8uX|!> zqNBi~@QQlfUI2(EB$YA1EE`1Kp-3%4Yz(l$ 4+ST))@Y1K66-H04@zH_6fSk<+#mmgbQ95=)ad5kjbZ!HSZMdHihqAP(k;lqW1? z#N_Kv%R#HzAPs$vzoqNt;=kOROs#mM;tNteUahxRV?2~nE0WV(`F1sHn)Df<0l*u; z0O<`+FF+7$ed+_Wevf`8zf17`Qh)VHQXTn^e&ybdHmFN7%_&$#)4}wZ%^U5pa_>&X zggTmy!1aJ42O%o&w8=W$ldzWZB|CHO5qb*hzyT${0hZ5(n@C<;ut48@H?xFyyK5uf zScA)aTBEw{3VQqKx~-Z&bXxSuFp)V%QsWx40`IGX%- j5WhG{N;Onyl%c9DYZ6BdlpS1voWmOlJ<0i z6#2G5I~#cM8%NH&d#5dpQ@XojQR$5q@eI^wC`B8bKZ7=33!r5&AS@j*%+(tX5G;JX zk%vINVZ2DwQI@Ngxwqr(=E+JyDu|7T;NU`{N`$~^YuG}U<-{?j4k};Cump&vL_zI& zmhJP#%or!As1*ekS9!ny18WOO*Oe`;JrtgK>vcVSaybq7?@a9*Ac}qvV&km-A98!t zv+=zuaVl!>@e^5f=1R#+CY$O9NQ+hRM*!B?sI7U9PbH0Kn*0H#A5^S_M_;9Zur9js zYu8d!NQhk 88bJo(0yOkGxo-q8*upS4@AmcB*# zpUInyeAK3mmvHmj&(A0-^hg6-^M $M)nt+nvxa@Ykj*HC3M zY4Y=4oxE&_{gW0!B260=2@Z$IUr2`)X2K#lSf`I=Y1|_}%VO_)t~X~xNz3f%8{Z43 z%yw*K7#8&HQno{xr+|zwzLeZt1E3Q74;hU(8!|Q-N$x-%xS1lhF~hlvx8Q)aeQ z!4uEW*PfUM(}oBJHoBdEv5K7xF-pnJ6G$n({ZA( $nUW1YM|5k@G!gEi8ibc}0TH$9sdMc^dKkY+dbZ|vgk2xo z$%W)FD5nX3zK$Rxy}ebvhDW^RL;Q1$Pi2Y)<;Ac_x7*GBNyx_moXug@dQChz<13~6 zHp|3}#{toZ&?cFd6 $P`FH zAhM$JD;~T~qTnv{)L;fbBVnFlv$t_K7n)y|@~Zd3UXUJ7K~ZWHCgLhYD1uA@lwxGf zaYER8I7)v=LkSfYC@@iUL}|qVN5SVURl+l|G{U@6_;4zefJ5w3iT5x5V_hVcfB@q` zZOd@v+2^ioKKueCKy%oWvN>fI$5hl`NN*>!9-P}5e`Jg#NHkmuNQCpy0~q=Klh6H` z#fxS=n{wO$E1wz<*Bh9R2n#-m63KNr<}SK=P?<@Azse->PweJIZ`yktHcvIqELjq# z P4oUUfaAOvVu$skt9%9ykqn9Mum5kS* zQ{jlplcqe6lmUC)Sk3Sv)pG()8|VpLfEVI+oc MI7C3M^CKIA*i( THX4Wk|7?iMuEtHs;xq=j>>&DAqzIBq?hDwwLHNOiK?cx_S{-)- z 9> zBmW$u4_F=wF a5c0z>U~hmtl=(=oxooC-01^6S1)8u-q>#QA7m#{ple z8$u)|@GYdIk^0W$E0bt}-Pn+oBuq=gb6}r_{K$?bklO!Tq|fj<*;{-EGq%HNW(W%R zaVxF{Y_#UT?Z9iTOTIio%nfMp_wteNV)g)0Ymx}Hd-=SDPO9ctF3QH69J2?Z(yhR* z;M(bN`eQbnFt)15vJEAJr2E`b58Vjvio zY3M;yVW H(lG)BTX~{P? zzY`wegLcx`oiMzo)U{N*f`D$|j~R~xPzJ7vg7@frUY_8MyqroJXaAQ`Cm%$_(=PFf z|A`<;5ybQT8Vi>i0^PeqhI=w*;9T5g_FsTSSJ59CdcAp|! z{V$)p_}O%}sSjjbKqx7x zS2_UyG5~F+V4qEj(tSq=6s51wG_0rYGAgfQK}+N>(>P6yP{lBmHD5jg``7{_ncUlw zpuwBc)eTpcs(3OaMDFKrgQ{7SRGTsUa=IvRkcU*VUH^as^^31Ti`Kjg4%P=LAYLzu zy53-QBF g_{@d%WJmn58LUZu8(A9MVF703Gp_St zc6p{6rfM>k+TnN5XxyyDRx2Mm{W%AmVemo;Sa2t!^ht6~hQ_5(`UsR~I5qXk*={qt zIYyh)WHW#L>NDe;Ya7tMBdkYt;$jq4jh-{Iz0v1f5D{+JvK3#XBpardJ|SkeS>;uo ztcTgpb}?U^+ m0^-rR5y zE?WxdVa-QVcc3Zl+);IThDFJRHtn&4jl7-=Xl!cSoZx1bwwGZi-PH=^FnwX}Cr`xU zR7{@Q=+2{g*n(P;)}Vs(PTW1TO;W#bl+Q0pc+P$BXDt f`Av4b#Ye&5CIWaxnSq91^pnh zgVh@>SU&;oAGTcgE`pj{EhzNFWZ0? Otf z-rDVoZf#_wh|#LBA`9rA^5DpkZ`P4$-yG^elj}sw=A3W%XY EP+`B8R49Nu2b?Z`j_1wtlwbCdHLH+_>};58 zl(lsXU^Jd^&?-Jnx2d-7
}?e?>_R-c!=4YrjA!TNI81Ir&^j3LGqtQrYK*@ZfNfieuFVQ`~<2z~!vy zHpoDNF#oOE8u7NEswjX#<7l&3Usfzzi=|UuqllFX65+4nUJEBkDQ;%_YY|e +2 zeEOmo?8LF0b^27O+?1G{o Mf>65%p| zdNJwysMc}0!w=w10gj_z5nQ$hRu@9qQ8l?LT$92M=x^oPP?s+a_3LVIhzf_a16I}y zj7bUVQydrZnc85+#5uR-R&6LvDrJ({k1>EtQ6(3b@)lbPV6=CrH-Altx9}v~`lVNc zj+E=Gvye0JT}Gmo^DOA+Y-|G{fD?-P@3{7I@I&^`%gXT12`{$0fbHlnSxY9mflp47 z`;^m{S; U>bPs30=f zvn)cuO)!8lcoeGkK4%j~S=T#Y%%*%Mf8Sv?_RsA<24FPX7 c=fs)-^f|7a0|5j#*NyD_BERhc zqt>X^z_GPiIkd7?oURACFVo+(WIq?sQY2lcTx2OTl7|($a5e+Go0a*v9YdUJyP6d~ zVoS!2&tuYXu{BVI=x{g<3dO5-;7W4_FHVxoCIh5;)#nD(ZUldUUb3OCI?H~O9a#OD zvD?k*hA$XVl?A|2sW^^DqziFf94n{5EPSTvB v{TJ@9p1FGvEXdpcD!KmZ2A$3deG#-TTvlvFS~E59$n z7Sb321&b Jk^(`39_Y|ciIrg$ZxaF+-kRu1;s@%?Zy4(9A1?ZRp;?mJ zXs$?*29Qx4)cs7Z3aZDD>5~rM6-++nTf`isb5B{0#u9nER+}PL=U^ph9f6guBv+e3 z)P&6^ji;VzL>1dXwZI<|W6)(?J^0@h2db|PYPrN~AK!z?V?f*KR}BDzF7~%@r_DR$ zCKz5yS9*|VieEgGe`$^za;Ko?!u|~BgISA5L|$hGI==}Z?;Rc0MCXy|OONN!;gQ0K zW;=s5%3uHAJu1gVcb=nzm71HM?p*Egoc7hD6lRNP64-D9@ghZOVWh_$b(n3ymj2s? z(d?|(dx3Cl0h-yN>8U}H73}(63vg|^{r#1@v70QbRcI76rC8!G<{P6waT|w4i-g!L zJz93Byda(Nv +vYxFexPab%Tr401QTqB$A{ShD zF!Cr=1b#lQILOscmi3Kt+G>tNY=hG6Q<@L$zzF~SOlKcjDeQ!B4|{}DCKa}L{ld!I ztH?pv;iPCAQHZGxrDz)llU#D57B5lgO!{U}q%@Yv9XEy%rf5KoVng^ae?D9&OY4Lh zRVspHxIfavsZP$LuWbH#sws-|{*!j0n?|hamzNtjj4e?!Eih)Ids!#@f`}s?2lCeP*t zrJCJQSIIC*Jr{-M{KBZ?^-{`I`RPdRJD-e@N(fRGmZ@YCr&H T|AHmR Xy8*-k1lEkQjSgp9Jpo z_9OS7SnJ9stMRsNG*ohQurFLf-~#Sc$ss|sln-iAV(C)cZm?QSnr%JDId9}A{CEwo zciv|9rVXGw@U|>9tR{BkACGjVCD9AM-gvH7tU+vmmd&*HGe`tEzDPBl9J_ApWgC^# zDW^1cwczHuCsBA0zHQeB+%#Z!%Y!m!e_-N!(Nqdn*_Eh{Yi~xjWn7{%?jSGh5 OJUd}JJFRwS|vfHf$q;?usfJcHNEEsimz73Af^U;u( zmiy6vK`v_+biZ$w#Y5$XDS4*t0o!o 2W(VN}B{SAhey|u6&M8;IT;O)!po^An$eLw*B67dE7 zfu)u&ohwand2>n8`%{DBQ?a2B5;~(IH&OdIQDJuoaM(wMz9%F97F8Jp<#IKd*qQ|| z;45_&F@tjK=fN@pN?Tx3_Y;v)FbicUWzp&|*>ecEK+56Pr&YOMO4I-!Q(d+g1tNnk zlx%rd4|l-58iznt3pQ@DIs%ZG-_he%IhtX{bp{gymirtFQCfS}Hk_-Y!Kg$W{a&mV zlWo9JfV@_?&4P@e1_^&@nE>YOxmxsYuhOWbY&Bom13^`ZG2kpwW1WwKS3oba%fnz0 zHoITt3v(eKjno1_l`N$1A1!eIhodpy@WgzvGPe({1{tc{EAvX%=RVe@Er|0Eg*rr@ zrYtLT`dW<`4TI^R8sra^p3gWHG13bXidiydQVj9Z319%Qj;=!Gc^5D%6FiryLDIlr zujH8%%)v?Jj^CE&1pVEy;a3_V4Hn*^#iCLMEkVVVdtY+TIAeBz!J{5bJPzDGojCJm z@t_TdGH^{d>cY1r^95E~n}*EA-@W1Ja6OIPv+?}ByTgO!-@)%ca*^JeOLh@$S--gq zHo;vG@J@`HJlV$J>hu6!Nhr6<<6v3Kc+m(qJ~8i6s` 2B03x$l}5YEDKPM zUafRFlvD3LP2>FC6V_~JqN9z|?sr{Eq&0i%_e}c4w4?%x?z-W@MqQQ~FmtRKV_i^3 z-?cb#YX&Qn=RviQRzB4Pkyj)#Bx#X>^sPIo(2d7&FAg=DTKt`?WCCcW>8Z4(Uxd-! z89|UB;{K_O0OZlhEn6)Cp!gU}JN?tA1#Fz*pkCy@x8!$y3a_^oD-;A7OPjR4vSHm~ zD84thFS+NlFo7DzhK MOhBX|I3SWx0 zc b0rNcB#v3xe)>WW4m@rd#&{12Qrk?fWor 0{$;;ZE;hy?G7^^B{3g_Yv3wFY@dHEpD|hrUh`kRbxX7=G6g0C|ieJta zc5GSQick%t$sm<)JI+srk^efSfTfmm50#9f{Y4Sfbm|_<3v$WfZDrxK|Ewu>cak+? z@^m0p{$xyE$5ez7?p;BH6Ze?}f=!a95p6NFPtr7A{AFLJp`$=1tneE2R&zp5%xdGSd3US jli|Zof D{xQu+)TC>9J9bdoz9y>PNqt`FK2<7*mvn@e2(*FB2dasmm(@nV8h0&g-l5F?o? zs$EQNVzg8xF#w0jRwbW#h@-XcL==@Bhd5}`27B0;WQ7N`khi2A*x5n_WOk(w!5N+; zLAFg|BPdoJ%=s)!!eh{*#6Qdp>OG}eM=mqd!UQ OK`*-dSawUc{ft9)ji$y{J7Zi=-8u zLa5OwF7AO}(NLN1SO5S3&~-Q7tS0kthMsM?OTZ@2E6I^U!7(|`nuP-ne$DkS2G)o@ zrmS4-O{S9~%Vk>k*AkD0IgwV7;H13|ztT}apdf O(!aBf$=P9Xyt+F9_)9p1TdYXAW-K z-M(#mSCdkfFF6(=coNEW$?1FZiKr5yTc{VVWPk%_r|N?--yI4^N>&KhOEy5qz~Ce$ zpIGp^<%m#)EdTYPIWt1a2tx-QV894LawU`93okUs9)&*8its#-i#!_Y-Ta10EF>*V zKd^^-m;`4!?ydzZm>2i>x{hHIuB+o1rGz>n9EatDM~-UH+Z}On#lhHPm%}N-8@tAw z@1Hko_RJ)Z^BcCwewyH}Wf5@Ku6^n23$Ery{cuo1SH;r3gPJ&^c)FVkweM&-6h>M( zSeaF2(>H|I0%|o0207lktu6HE=*o4Tg9@lU+?YM#pjeQ0G~#6gT-ZYXaPPJQul0)i z+W9<`)FVp(B1a4Jj8N3n+1jmBGj+-DtTHtK*Zo8s7Z>CGwdB~x)V;Mbwl6bgkx_1c zei>*QEk&{{s7u{);~p{K>JIr~=rKZkYrTpZA&2upv>jeHF;zJ-y{s|;K|>CvM4do_ z`l14*B&qRitCyLU-J%Xr--(9qz{DO!M7u`_v%Ae#$TWFH!U+V$q@xD^sE_HIP|izV zu9EE((QbL4kTsqMF95x|O}rZ}wob&VD7EjHr0Xzb5nr8wK!28IXTM44Y(1LX^=`}| zPLbUR7rX *J~qJosbrOz8JE* zx2!V)vMCd;MA3W_j}0o`tn}V>hIkQ_@E8k9x`YW~ZXU-{v&MkBTt_a5-ci`4CYizA z1=EM5_kh>p)yXVgso_}{3pZKF0zS|NXc9 E%kO_oPigw81{q4hcQR1w2R01mc{q?nN^fg^Dt`eL_WB zJrf-F2u^>W?Am1cu%C*34liAU+5 zw)1iMPHA%5ioB|=fg=sPO8S01*?luASa8vxZw+y7MLAPLfIaVrTCk^L)WA+|bUweR zKz4(e3zV2|lvZ#6|DC+6c2Ub0Lh>4IHn2$l7wXPcnXu=H6zTQME-;61l!Rb%=xXd6 z@Dk6Uh1+|$=6#ted4%L#>SMe8-~G@>{--)iJnUMrFhs?zMiM1B!&w;Oy z8z4SKylrO8dIY;vM$jj_F+LvH#h^ vg(Qw@>kYzbduCMwxv|8r_H}dPc=F9Q3lRB5~}( zMbo#ko$rt+L3NRdr2#^o9w$P5$=mR%4G~|@g3_)egw1XCMJ}K`EXRXbvZVJhOa8g6 z`HYds!2oNiuKY=SsB*tSB>f00s$4h%MY%jlr^rJ-sJAJ}B(3XJ;f1Oex~?qm0RE^n zFU_55 ;!1@A)E4h{*pO6j943#rj3Vi~aT%8c%PiUQEIEyYv047Z*d zKEyDvz?R_>x;$cPiBKeNnnOrmXc_tPqDCD6!l+#Dd+k@;%# ~40S> @sA
bP#>Sua@e9j!4anBpt%gx>#enM z@>W8irjabFowZFY!Y~I)y-T+dT`1Fu>KN8|PBIO2lhnd^2|{$WFi*r+4uA+cFX|18 zoz&B7!B^(~0>vheAcG2labE{*Jm;e?venV7{P(OwlPHQ4@c!d_qnB= jww zuQ(65uZWrT_At~dO!}S$hHL8yXz=5j2FAb~aMbD*x);j*y~ca2slC7wDJDr>2Xe~# zCm0QfN^Gj_a3w+?hI{p{_1=+h*$7D*5Q4D}G2j?yXX>jJc^XubPGLmzedjnC0a#Fb zIZIYlrzc(IAV2r`!Uvf?PK2fY)wQi+zB88oujJ#P$6!jWH7v4?+hD{KYj9`{|5GLq zV!WHtC1WSUM_IK85aRfzK1H4q;+FMBNVqq2ZHH%gUEcAU@RRTdFmNTb-WU~$X9RSC znKLavO!z)+e5qpURcMLxVJDCXK9NG&-&(HSYz cS&^IXZMj*^DdD$A}e165wnV;mqJhtn1PnWT$j)@BaXxnE;%jm8?>H`QS zLR#)Ovo3C91m3rYojHFXZ?_-83aVWHc(xto-uM=_wJ7-~M_B@?f0FiXVBS76U@LR> zDPup27_V_ANgLalwqES{=wI^!cH?hK%4rBI1S8o|3I~_$HX*fc-C_D%gX>&`o9;(W zK3O%M0Dj!__GiSefE29 de3kR1Fru-3Fu<$;N1U`@1Htety9uI%e8E#Vi@0kI zB@_$@W|GPFY37RpwT&3}gY-M$Rz(~q8qUrUP3IvWWZu?iDtWQfiT`BXf%bEJ}3=2TM7(7+C}&sV#2xux~uiiwQuyJISHw z@O=^K!w|@bfjmVrdUz~NFg=_Wd#JD<|EuE~#xoFLlrIuT9%#NVX0>njmMEN%EX4SB z@vD!FL31{LLPYf+IfCcWVXKCj8y<~N1u$$SxU($vB%LZr3S>J^>m&e1foNONhiq@5 z7iLwlk`}isoJ}mGjLt)eMhS;O=KzEOA14RDV_FHph9Vm>JWC&X7xsr<+GP|hIjrX# z2>+1jE;mfT=Jh v56`4eqZtlV=m U 4K<&~(*F{3<^ z;%!L&P~@%SBXX}5a`EXrk-g;r1{B%ZBX=l~f*ar4nU{W|v2ZP81QgjL4h$2kgO?`~ z4K}lf>)WjG?VUp+3OVz#w07z!O)b=9&IAEaZNUFj!r`Km;89G&PiJE9Fn0p|%yF_K z5*LEf!j;R=x%O&C3Y%`cQz6uUF)5PeYLsIx&KPoRDvwhH0eS`B$3{H;6?5_XkYFpT z`MQ!&Y|aBT_MO-Po{o%UMKMBLB+(Aev$N4f<1t48%S_4C_3*@WBd7zjuPhcJ4$X2+ zKnz&iXOLg3i`dq2>=w6cD ik*f>DQ7YuedL~QUsVgSEn t&?&k3X7NwSrkDQ!e|(70KS93b+Ubg!R46}nUR9%UXC|= z%OY^?HpkaNbck`RH5mFNMPzSnMrpT!XUsQdu=AWdaWJ-#^hZ&C_IZ#K-wxU{QNqJR zct6#!ig4#7L#lq9#)jLHyGCb7Y 2-z`qV@= H$s6TbU@=8Q!7;3e5Oo=2ZK1qzLbaF zFv7c$!y@$<*%U%`ga2qh75`H)X_>4*nuDCa{D$ocR~ItN;D5m9;FoKaj22jcbc~y~ zcy|{|PDv5lU(E5XwNu+fMAM!sS)Po0HK^>M+x%=wN4FVcs-bR)WgFUEqq}zqXBSK4 zKc 6t4eg7B1DEZ =m@QUIdN)_ic6qQS|85Kb%?Igm>ggWs=UUH$QhN z22m|za2_57PY%nm8yvbpSn_0mB1Pm9#6E-~k{viaLr>I)V3C11#agiTnKp;fGCY7T z$%M3-kHIUfWy6&S6gCwr+vkvh9Yk}Qn-1)a&Mq#ZnqbUZ3@PUpqfWO5n+zTvW$J|} zF~8Yp%i>7MHP=)VACRnJPay%%(?ZUCqrXiF-}6A4B28Q*!iz44mbE2lmH$69Na8qX zAhK)Ub}|#ZVFG@cY;P5}h <4xKfB|k3f_x y^zC#-Y 4UzBc<&|pL#_r0Os?@ZOFn99xExQ* z%|PK#32^aCh&Roe@Fl4dHLMP^(YeY7B!x&0ea=@MIBZ#cBQ17PqZb*d2GvEcD*;~E zF*y dahuZ(1r z8dhL2rJAD}bj~YJ^%)#g!we8e9|Q*HG_bs*iJeE=sXjHr21 ewEb`@8%i-c}7NRWwf}b-4(RVQ_E!2*D%0 zt{|z`T`a)i=H yUr#;Y>9rd39eDuK$nMp^%>@oI!hbF1)Y?IkW!5n2B3{FNx!pD-5#b&UR#v? zM@9N2AD8juN4^PIy78B$`*Zpa1>KM50N>a0PweW~e$G0j24jBT4bczl-`VeU?}k zq4d6DT%*(DjeEaKalC@i(Nny=EX@5YmraO}`jC%!)&QSIx4J>MCL-Hq1mqfAK07Bb zo*mv4H^3a >P-c{P!6|uLtGP3S%XFRnNZ6k-FmMsuzaZGm(HcVuvq%PXgRt6 z>i+Q4018&@_(M_+Gg&MZg>z}dh?05|kYCtB{U$X43iv5atQBOT&_wI1uFBTqstWnN zWididKmiN#NA)5LC9OhSxl7hVO_X{*te%&k21}?ewnMcL-gw19Y9kxP;oPRw2G)Gm zcZba*&6GZ{(~mv9^gS}**v`N7j4wX~0NFtsq1UeyhQTG*l2259p^GcOOB4zrk|{W{;K0Exjx zDXfExg(TNvb=?CE>0#5uHiV?fh5@d@K?ss7H?TJ0fF*M?5}C@FFs}q9Jg)I6lrq7b zbkge5=uVnALH7X_VgT_Y_e2; 8|U^@|6d @n?h^~(G8FVP`#Jnem5DuJ7zOJD2&?LK%k6AKKxuz$+%1OSosMAs p9zQG ygOC~B6sBlp)i;K)~xZ=ArV-4hs-Oy3A7s%4C4aKX%&?^vzkOQ*7 &eaDg$;PEma+A$r@i%p=Z?STrT$Sc#=#Q+i}FWM~is#o4p1ng{Be z0ZUzatjoSH{Pl%VgZ?fahz Hxx%08LgW-ccn_p;o0q8vpEV2hx z41?S3?7BrvOA^dp;Z~NXM_WSYE0p8>)G`t*>~9c&8b+};L l6nA_rOPr7@0hIB{gW zwgc>~$f($8F!;GFJPZt{* V zAaHxDknvOL8(C8Jx)J7s;@RR8>4w#VW7Wg0s%=xvk&SJ%LEs+3V5>2A5_|M6N*hg0 zve#1=643|x+;!&m0fZ_d&!QWxJ+cQE7d7pq4Fw<}_N1^Ze1k!n2?}aHm<0RtO>*nP zgdwfwtVlVoyiDko*K3u@v&C4T1EJ2kaw52^OttHdaf$P;U-AU_9|(oJr8B5b^?m_C zjuLRoLBCWy5N }6C4r@$Ar>WBIF%3oP;`$uOv#pBlk%<2f! zh;HdWo^tUl*?m`sdWa3`F`{uM5T$dJ5txB8LB)Gkd7YvrZy=szYN53v4^$1t y-|IybQs+>L#rF-)3o$|FHS??Q1?`h%6YHBttspOj&}pT= z5<|GUqIgV~y3Rdv3kuC0IY4W5P&H9$78&6()ycC#+nfe_Icz_O$`%ekK9uIjjqcaZ zRVz2}R%I2jx%hpb?bEhvX#trBIqMDmW%LUiN%u*FI*&(lO%lMNyB=k0F4V0sA_Ifw zPqWR`F-~9nPIJIx*t)sKLa;aZ zi vmOQvGkgG z7E<6k_y^0k+=2dr%;G;XUu!J;?NHu-p1>btK>QZbgv+V$zB5IpQYvBPM6Dr&`hqxUqVdTRk zq)D09C)FTde23JmvmfHu07B-0lAuuZ=~!{{LtMq-{&tZS2Jh!=Hv>LBxDcIQy}OPG zhXQL)s~o3aC)e5C%I1^SFopsAw~PUaiRjPh1~RMmn5@*z${%xVCW&CGj# F24{Lm2nvljkPEt>MqBqtymg{6ohj+^7Sf3B`Aa7o$em3cqd zz_S@g7 Gnl_*3FJZ9e7MB=HoA9r&O*c4%$~fW*wnUS}IlX9e5o7TxLe0JhyQVN5 z82h94y2g$-^SK=fYB?X`QXP^jmltrU@u_OCYoL^*j*JqbD7pGJDwF|KIFJE=jZOe2 z+~k5p8>K*hAswpE9i2)-*^PTMV%` ff|A8+R3&2AIS_@#nQS%7nj$Qx*lct3rU7!PJi=g5QC0_ZcfGZ7C;f(u9 zFned?04#*Kh=!++s}jQNY2?rSq8;MqE-1^Jg9yLxWs1qfaL&UR0=RSJ`(FTXoo+Jd zyCI7o&kK{NlT3 &NL*w+Z-Y8b+N6Ww408Y-FH#ZHQpf%)cpA9P7j?tBFi$4M8HnU;*w za+kE&b2Am%&X`M|B@DqE`{u{2E2KjhBy8>-P^ayuq*^KoJJ>dC-530B0c@)9Ob{KX z;Zj~yYkoA*jSCTF|4>GhI{ gG^Jo6$N*zPyB{(*n6tEmy)ZQRUz>*Y5Mqc_zY6$94BOK7eEz6L+{0svUwIB~Abj zHAyCy4Ia`C)}X}rcY>ht8)Gg);X3zc)Ri;Ry1-uIC%b=n`*}+{H$3c&oTOTFYXs1? z?*V@!fqJtz&H$VmtrQBd{x}Llv6K(jL$9q~gRPitVc+)RVv+ZQ_23A+k%vl9!8f2d zbT*dVIPj&FQWDDekl%_r@+`%GRVpTBY)W33q$%nqP*LhshSo4QA>lKQ*Eu>`{d7NY ziXqD#b9TK}ABFg#z?kDaBGfZ!|Bj-<7fDBE#*F@B!WCt RvmvhwFvKkGzCIXy7^mj+pyS#2Z5*4e0L3z50)@~y~(3Fx?)AKlo8SLi7 zb4{bE4?o>`qCyowv>z;w=#5ZtNXK7usAh`PZt)DZ1S8@jg5wk>pp+W#$#em-sbw@F zqq;KILS4uK({_)tFnMcMU8cKr@R%6pvfv|B3vrkJGj#^)0_HKR_D9r@2X!P tl7H?Z!{qCLKn|2d;LcX-O$zk@yPX{;V|=q! zG}I-nWMxV$9oMy$)O}D+A>1BebQWb1URosyRIND=X}zP<8f7y{ECifguFX$DNtun0 zu4pd+E p{vn89? z1(AUS@U-dV09iRIy9#~FMYhEdEa1NZ0vnc{PzT*tONDO4%C>dB#!Q5t!^-V#fw=(A zpAMb1uF|E@yl%7Y#~7^BU%hP{tFS&zs!_n%-FNA<@2HGc&Ny;G(iC+8O}IdOLSf)& zNGclWce9|I{av(DiVpC_@|wuzT~)X#TVU|r>a&Eu?Q`=4`!}+`jnbMtT?-EpZh*;Z z&TDb#8WpZAS?A@LzU+7*JixdLxY!8vNsKuNyV!*!%dF !?66N zGwGYXsZ$BctCP+&KxDj31b#qxT|U+~^Hv*Lma5r{c+$qx^!oJfsxX|ku52`|ZXVyI z13}wS@yR9yS!MWfQ7bR66g*4HTs44mWP>K}xmTz(_eV@yV@akv2byhKW!wof6w;RT z o zA4v{J{25;)@ZwSWiomS>dq7-&g4vvMFdeF6+)>@#<_YY!0E$Hi_VL7;QpVvx?>K|4 z5`7xrBOk&r5PhI9kj&)lW(~Tlue%*66ITpl4>i2l?q=5fU-}&(viy_4hN!mMs>bY% z5I_a-^T@D`WNCd_J$3nxXmn>qerjjWm&D)m4gGtXOvF&`C(63Klff06agLw~QhB$E zTvxoW$n3G`C%2ei;lro0d?jA)T2bsmjNH$#ehGYY_qi@X7glP#hmN+b8 IR|`qrj5fq$x)xr?<)` zkn`D^(|$e2z<>RrDk+Lw0H7vAIOLMAYxNg8%ujB}Dr)uWyx%k5O4ZSK6 $VCMRIAC=btnZ!^ zbN#>`8?M0j+_~YiquhP?6s5|_O-R*`N(%$gD{rDqgN530^sB{Qk@=qDYzipjttz`} zUmTE;r52&PV_kDMFv(5A^hW&%hYb#hi`F#RRi=3T*sD0gYtl^_r!rFW>RIvj z+qV_yD@Y%v{x43onnvS7&@RpD?wi*XLqBnp_CWRi^})7*c~IVWXGwG?h9Dc*N X zL3;KFg=Tfeiuj~&xL}Gr*QpTXla;1Td`F#eK8Z5fdo|&=jD)dX^z~|{EWQq+@*atR z9D#Q-;`0R^9wl`6s3&5*1H^{hN|bpfPwr@dm!<$93H12I%nS)k>1%#|(mAX5aopvJ z|Dl@iL=Q&Bsib+6!XRAW`7O_3#UGOL=4e9Fwy%U~I zqy^a`LilIJ6fTFvk#+{6-+<{w$@K0Ol&KIaxgmpFlajd1X HOx@(m{b=Qje7 zXB6&;nO-OkHtppO_Mj8(OMTxC<7`ff>+PoJ{#ZD~rj2~m9K7Za(i zD7-h9#agmhGKnIqGHOUq>qmUhc 0XprcR% Ngq$Q~+M$z2(bdq}*VYz7z3;s-aAWRV`4k z0!(?%;}I5Sw@=)G|1i+T1xdmksM655$QILE98Owa0Kh>@c0Mr3-@!RhMk zIuf2VSF}c7Hms%*rG*P4za0W;Jdr`VS4H^d@&D>y$RTQCrV5={UX zFvRA{n0i8`d+u_qS#iA(T9m=|Tn0f++JUqWH!mlJMOCcE{P6^Juw{ZMN{y)v>uC_T z_fc1k^tab-y-Tct5u+TkmWNjyqKI3uIXe0u3;tyqQT!3RM9uA 4qH3*G^?T})2cV# z2k^t>uhXPsV)FcxSS9(w96K9|knn-{6};$3Xkc8e$K-_E>bENM!8)fb8tzGndch;y z!ep3Y{NpBIa4<={WFAm`31VDH2-KXcw}S?X@Tifm0a;~B1}Juf8KzTnOrIL3x$evS zE3)nH`ZGHB?mOO_r9veY)NIwKFQfXo6o-v0P!4 uwX?E3N^`+${{m}+di>S%N^qxP{I}4BWbh%~ zd!=o4TOeUBiY8KMzDL#D>lE!=(^kFR8k;1GUy#>_44dF5V~*efKnIjEQ-SHOdL@}) zQ}ExT{6;WoV%|$Jvi88VJW)~Q6WY3<*ibFNyy~ehFlqFhG@d%8y_u+RZds57e(;<0 zQk5w|U`dn#P?pfJ5qGy+Cnl4Px(kY5KHPO%k9}_IiL1uIZ9+Pbd6gu${ &lA6309R%yJifVTV0An6Uf%S!8FFcSOl3gEmUdK>{Z3271MgdW5 z*d$Q|^+i7 #f+jj02&96H#1n(;sy}2zgG8BI)VeW;Y zHv(Bg&5!-MFcSb*#Ge>k5V-QEf{>2S$0b-=u1_G^V>U|M*5T%vSUXww34+pUX*Tz1 z`eC|;=zkJM>L@F1V5$^lCx3f5khX%#$E9M}@Hs_2nz*ta84CH_YtYYhSsgmZWDDfCQ5(Ah#Jr*uwqn>y=(y45ANu=LSCDh|HX63Apdm(+Ah>XAc=e}gN<+QrP9xZO zo0pvl;HaeAZ|IZra&HXcHA08*4594<&)hfu>cNX(J&3%v9@&i*mJQ0#iAf949jnZ) zN#Nv|aWK&jgxcwoFsD^E{BT-m-3NDrhXUJ47B!GwN~aNIKa`%1WDo4ZH@H|Gb{p0# zfzu1$EcFk$DK#TNO`7#{+yV$fATiU$YbHZ=0|gCd)3%KqV2GE}UrER)(zbGvoNr>( zoZP!PHc5UMUR6@YN)l|RP9@(hnY5to2Aoiq{a7(g7btIQ?+AO>&bW`NIn%u=Bk&$V z?9mH!BosLNHe jm ZsCy6uUM1?|rFvL =W2i$MJ)c2$RV8k1LnpU;0@J_KUW6|{frU`5dUgR87 zha}dchr`rx=qdnVq+o?E-&G7I)_arw0_2?5v|2`mkby=FU87ms5^xsu-r31Sf3*sa z;OzQcm+TZc7$*oi)kg{vo&lW#n)ML_BYo;ePo=;xX-S{5n%srSK#h+ipq{GWVux{c zlGL^E$S8R}6+DOy3&)=kC-c@@W5yarQ!6@lK3`RcDpYkioSj23_vxSOqjbG<7w;@8 zyKy}?MQ#U#n2M{$;rR)vf9p-c#{?vy8fUj_l)Q o+}O)$Q7jk3IJ{ zBg`?@wlXPj6hB$| IXoSMd#d!7*$$&2x0sKP@N}r*+ zl6~ @>HzhY>t|+tTe&5uZ*PKRY&@z<@gS0el{3{D%{vd z>~OHPb{+Vnb8(qc#PEW((zw7U|2kzGPdZcfh(^_w4OdqI|Cn~EQz{x#