From 3042c7c08e8aa3c65df35a0a7ed29d0c96fbceeb Mon Sep 17 00:00:00 2001 From: yafeilee Date: Wed, 8 Oct 2014 23:29:34 +0800 Subject: [PATCH 1/2] refact about page --- Gemfile | 1 + Gemfile.lock | 3 + app/assets/images/download-bg.jpg | Bin 0 -> 110981 bytes app/assets/images/iconfont-douban.svg | 5 + app/assets/images/intro-bg.jpg | Bin 0 -> 88321 bytes app/assets/javascripts/angular-scroll.js | 589 ++++++++++++++++++ app/assets/javascripts/angularjs.js.coffee | 4 +- .../angularjs/about_scroll.js.coffee | 6 + app/assets/javascripts/application.js | 1 + .../stylesheets/aboutme_welcome.css.scss | 148 +++++ .../stylesheets/foundation_and_overrides.scss | 1 + app/views/home/index.html.slim | 68 +- app/views/layouts/application.html.slim | 99 +-- 13 files changed, 873 insertions(+), 52 deletions(-) create mode 100644 app/assets/images/download-bg.jpg create mode 100644 app/assets/images/iconfont-douban.svg create mode 100644 app/assets/images/intro-bg.jpg create mode 100644 app/assets/javascripts/angular-scroll.js create mode 100644 app/assets/javascripts/angularjs/about_scroll.js.coffee diff --git a/Gemfile b/Gemfile index 9f89c90..758c111 100644 --- a/Gemfile +++ b/Gemfile @@ -12,6 +12,7 @@ gem 'uglifier', '>= 1.3.0' gem 'jquery-rails' gem 'foundation-rails', '~> 5.2.1' gem 'foundation-icons-sass-rails' +gem 'font-awesome-sass' gem 'mongoid' gem 'mongoid-pagination' diff --git a/Gemfile.lock b/Gemfile.lock index b601fd2..3347f6a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -73,6 +73,8 @@ GEM ffi (1.9.5) figaro (1.0.0) thor (~> 0.14) + font-awesome-sass (4.0.2) + sass-rails (>= 3.1.1) formatador (0.2.5) foundation-icons-sass-rails (3.0.0) railties (>= 3.1.1) @@ -285,6 +287,7 @@ DEPENDENCIES database_cleaner factory_girl_rails figaro + font-awesome-sass foundation-icons-sass-rails foundation-rails (~> 5.2.1) guard diff --git a/app/assets/images/download-bg.jpg b/app/assets/images/download-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d109b8889094bbb37cb90c15a16fcdb183c6a84 GIT binary patch literal 110981 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 z zxR;01^wBJHS7b`MOhVV~qb#(avkyoygBm^8{n_1!Mft8*qFbCS$A9DBcjUpWUv0~e zdS7zA_#F4y)&>VEW8_@RYg37jkTVy@deq627MamAS}ILmvp7WvoI=2Nvho@5m!8TU9DJ=B+z<~4l+6V z{HeG_-I=fP`7&njKI2-9kpp%0uYB*kiq**&+gP%8X0AX!shXIqXZPo~<*|C0O7~Mh zTR2)C`^X@nFmJT2Na^D9_bDb`C%jD&R=l-mu_niBs*-XJet`>vxn^Qxj zk6wSTK#uCJo_yqExDt)3rC4`eH$-G2dvgU3>M++bdvN7Qvv4tB9lB&~+7l=ATyWZ% z=t#iX84J(GHGptkik((oLcb;wg<8hpb1s$Dy7RDQukY5uRsq!~iMVzSor7%R#B-b$ za&YD~!)a|Q&Bh$0Un0h>w#@`cU92K1Heh`YaxBV&(WgVV7IAGUKV$v^KB2BV(A*Z4 z6wgysj=Br8#*BM3VuA%y=5aNfrE@6~<>8Y*KqzNPfOpj5=cXOf-FV+9!^k4QaQiDJ z&PeO*_m=MOI#*}FlBsi0ki^BCzCXd9TU3Bi556}A@m&PpRbqmEoR?1K` zRN%qzW%zRM%zc3jwkavb(wFx(FnSu7J#xbi^%q}@MtSVRVb4i$8}M98?};(F1ALmj zdHM+8;wyGdRIC<|Mzhb!!nSfwiA>IK$7UYwGa_57R%a{7Ww^U?wLq6)a})D;ngtd4 zx=c|?NTOE1bJ!_3NWKf0Zd!OrB}fLNnpVmcJ4Sk%pA_q8_8wZ0Z(haHlVf#|1`1tW z<1S3E@*IJJ88a!$NMrCs>y(G@!$rJ>$+^E)an&vg#y>WKQ%qKLegO-7F5^tVB3MT2 z?Jo$YnYU4^&7?KL4V9$x}2z&`o+#1?`J@_ zWR8d0^%2er<6u6;Ja_I5fg`FU%irm5X?vvxH!_G6Hu1JkFdN$e0c@?J*d^Aq_>Srj6GWw-3(&RFvkZC59lDWO%ZCvT~Cbx1wet8_kDk)picr_je`s0f244i*PnG8R9 zv17an?qH)HSC&@UxO}N2^PLYs;W{CU>I&z6F(mMZ+CqH(A+tJzmhoD;pkefy@sir1 zlFMml!FMYno(o$!ItkqYW`gZ^O9m1u&YK6gkKissV zBk2VTdS{B$lp)JT+I$<`Mg=p?%emujOT`O|KXN8wJc3Wb%)X8M8yk)&Pz82zJxgi?jh5~wE>%`HD$Kf5ISp|3*k;{US`RzU2yTsXeG$@jsE%byr?2N z{=Mf>L60SsJ?*~{_AsAh!jzgH{c6AOkT0&L*|ceAo@>L(Bjp9kpIH2vznwpzVf*@T8pj&fApI~YI^$>OtYem~ z(@mKrbBx6l(&3gI5YP5hs<^g6VMEWSUPV&A8IomC3lIXLRIqbSMrUgRnlB^3;n`R^ zM;x-4vDl+Aj`7*^OVu~!ccW5%{)I*Y$>vfFk;RfP zEQ+MX8a|$oexYrFKAyik4P8HOof&l@=YgY%G9Chfy%n4eB^$8EaRN9UYojcirpdW0Yk>X5y`OhrnR;$yY7{95%5%P)@^tM|)Q`i;! zrPn{o>QeVZ`1VaVPr-tzD9siJbGL;jA@>}wIO_$J2Ym;tKbO;+ZbjS#ua2nl$LuCr<&A>*fA`~BG{s3}h$=oqg0$OdV z5Wnvfr@S@GqYduxn~=R2)=n@#sPZ)#iBGM$hGB(G^zWR09Il(WimRehQpBw6wzeq_ zU3;q_G3I$vk{WyCI<87K)GDGA^2mR%&q=WlL6{`(O+t1q&inU0hxULA^O{h^b{)10 zS{?;^^eOn-k;TJiMGFyCd`Z<}Ty{qQ1ab%`N4E*|BFElQP##pGyBLC5MmtCX zun>+nV!iG?Hyj06OgOr0$oduvaK9F*P|?QpZCnFFsBsePY_OQ_piIYJFe`jFjX@(! zFs|Vsn56T#3s`<@byk0EQm)YZ))Lln)ie2RRI*sz9Aw+)Z!kXx`DF`3P|bU*NpO|s znjaA-{;W*745J;5Vl8NP&5?v%aPN1dm~8P9nI;8-$Eel0Q6^Ci-{rAA17^y_>$n)a)H^9#=QXG~F1zSjoWEC=y>FU&dJCJkaKdPj5cMU)6;7|6r7E)4A zZqy`ntM$lPoUcjCK4Isi!vlqEueeWYc3Ep?*v40u>t!66- z{=xPtD?Dd=8SbnyoCjb+e;(Jo+;{i`gosR53ne4x4sk=fTW2;fE&KyMbXwf?v%U?! zvVY+SibFrZ84KWemjBBTT4#;w2i>W}NnteeGv-+1fq%i4M@P(WduveT?_{P{Nt8nMeKT$&IOkT09gB+K-u-h72WfT@?+GL}nr5Ef!sDlgS^=2C}%mHpAH`^wUqfD$vxS z*f!uv4sQ*2al@P;I^dRJEad!6t@ckAoxzYMQ|VSF3Xjj3BRei|TcGNB5RS21-w~i| zGz~INE681oFB-$*FoDZBGLb|;J76r5f~wV7oQZQ~X6;WA)}NQrL5}kf`eq%MzFeuE zqy%gDJG_*%fj#W?q25mF_J+wjij{x0MMu|Ra@et(x2xWGB%N+JckyP3fQL-uF@G%( zB4YDl%q#@GA6cCEAdmn9|6<4IbYrdB&QnQOXK9Uu1s?#rUo|F&ks6o(y~r7#Eqdos z_Tn>tXlBnFN1Aq&Jy!cHNz+(`!vP-yu;I4N+JHEsy7L1!d1*{IN9d;!#iF+1mfqk> zBu8VT^yo_vCYpXu&Lp`I=zsb~i9b~cmU-H`%Ei1y;$Yr5MO!zV3k>*~Xdw#zF5_S= zvU+&0imTSnvM?dNwwaGCE zh~+YR!6Rqhb?2f1vhS?ME5dAC6e3!z=V!e9qa=M}SBU~%A_l0cWitGRlIFVjY0G@i zzbLkBdB09%`G$#VI4jcFuQ6Z!a2Wk%H~XchPGnD!p2oyW9ki6I=Vo%nf6bfLQ|WfK zSs$|N|< z8Sj~N#&qgtbK-Nk@hjKvx6v{KJ4ozkmCu@}b^7(D&}T-SUi)m_(QS7u{jiN6O-)A9 z#y$P;g|#VGz3tP#4QnZOBjo2V{YA3AnPVH2arF!LOF0NlU3-LEf?%IWIxx;kxWQSy=(lH2{@kc2C+y!Z{r?wI&f z&!|LfwEC?U3!6XD6Pv)kjw_M?EIp_FlO`bn~XGCOzA9g}B#ko;Qj zP^KvHP#8bW%t%RPRAK_<=JKtk-qikRR06!s_#mPp1~UBqm(gEpD8HqC9_aM8Q_IC8 zpc6mOq@KovRtB6PTs_3vFxT5clrXenLlg;wSb@Lu4peE|Wl7!vQ!zC%yYPNsK|k0DwWKRpfE zCB|B075t3=BO%FhAoK-Nb9Hj-n@*7Wp#oVkMNQ#J{S(P zkqR27gn$^oZ8Oq&eicWgftT0ZaYf&Rc)|ASLS1k9F$ckh*Im#o`^^;V3tOBtXuFaI z3P$^5<_pIcU^L}w&k(hmWW5jumgS8@)U*`Yu5Jx^dkk9eJWZ>s?7lc52I)`R_VKY_ z(`eYq!yV8~L*6UE*o%(cLNfjh@;or&O{@HzdeF)XLPMum^U@;{c;@^W`6aW7%z3-;B8o-y~`;fuTIDH%@sDo^Ylk=*@NMNV8{5l4#Sd4r`w?{Js1iqmP5J0hz)tw59vnm<@`D5W0oeP= zyWKg30^7iM{$wIw8B8V0{u4}cUes4XfDd@!9)kV_=CwV&l_`!b&{8FJ)JmbQvLE|DaDjP!UYXjxV3DJB;WXoITsda!MaMmD@(mkKa3J@j7iUkbka1A~#UutVQ zkW(#|GI}`j7G`^K67rm|8uG?fs~iPaP*2_ASH0!3cojG~mkrc%0zv%5Qr~D6awf406!CGWm0EcAlwH1a*c!F2**hd)sJALXs@`E}-i z3vj9}bfgp0vbPn=eHk>~E0bW=KK-9fD>w9j8fXh8>6}-?C9LUyva1Maya#JnFrwW>GeT(43m*d ziSV<;f7;dl4T}Du(*Mig4AhlFTlK%7)nQN1KjF|nywK!-P%eNb0pN&)tNRy!BI{XO$vNjL-p7t_OvWaj z-}Qq>L-IvRvc;c-VzuNZ%fn^isY)v<^1IrA&Vz4TMek5W`LmBAijUL{*C*GH@^WfxC4#guw(c>^pH zSkL9)wF@ZL6rM4R$cZEb;-{DgP`GW^MYG`KahGVd)Fn6O=`KF6yYd)jS&k{%+(>1{ z4qlR}VTP=0YtxKdZ)MZG7pxqsLTiF&Wk3+b06bEs2+SD!mqt2XD~Rr(2UdklCmzSA z$)>zFxT0z|fLnZeVN9-CI#BHB?Mnt$4!^E33kUw9U?iW(y%M=vubM)q;{Yr<1d?T0 zI?Yn3KpgUe@gVmB^DdJtd|Tm-FU2M+a7VYG%NH~(HTAmn+#K^zmxt&_6MliZsBG-3 z+rlN5cf1TtqNe^+T%c1e?VT^tLxsRmDq}yIB+mMfS2T0BG@$~SYv-o+Cihw29nW4z zQFjhy*ZJ0>i{Aixt#+x<@j8Z1^*Hw0lI()+&D~eWc!dG-U5TkZv-(<;ge7gLQ{*K9 zrZW;TTU26Do&8il-~1BZ7!m5Pa!xHLj?l3YO3)ZCG*5Ia<3>uEff*jf71OhN z{=-VIa{4Wuq(w83+NX$N+Z2m)oi*Z5#UCQ0FYw&@984u9Hk)#}IcA0INIS#L?y45Fa_N(Ij32 zQ{nW=ZNv8(?!Z%0-BAC`|5yvH!CA|X-`$%*Md9wXVk{cdiSh*$h)JUMM#X#+vh)_| zRupS8$?ieYd-jh@?S}8b^yHjxsLjni-q^>oJw2-jAB4ppJ4?T>v%V5y`DP)6{MGaQ z8&>jQ@J})CxC79AxG^g=B<@LJfMDe!!9%n9v$}@1B*E1*OGdn{P(0Iq`Qk4sUWDLa zze{3x#+zz!*1oxn+8}OW7;zWoqR-0OFcnE1SkpPWogn5RiVOTR1Jjh#7l<8Gh!V}Z zo>Ie?PXNHqvioBhdnT8~C6BQhkvWhMxC$-kUL+cxs${S}1|6anLZzU(sAs!?jD3CM36Z+yd84A}pI^bEV1@~8VIY56-C%qXONr9APrm}5;z^`E~6$I5LYl#xx|LiTatf$Pv4 zf-{B9;=B3F-)w*+u&ZxV_BZk=$&uzAiZj3BJsc?<1;Ruhqn^;|+$tz-)Kpefze8ib zMM2-zS3AyLR$Ogz0Bj-_3gxGszUu5|mdKpG4L<3}>=4)h4VdQ-raC=3fEd;A{N|?? zi^XFbK00FGDHfwwrr*)KiX|nQ{$QX>bXHnt;hFb=t>Zrv&BEW&y1zbLP_OAr(fReDKJ@_LJ z)3u&)Dt)TqUx8q<(1(&b$Zvy>106X=*A4CpHeDgB(TMx~JKBps0e#~SiPJRo`Le=w zekVO>_2^7E^?{gxRs|iR%6BAJ3fdxkkY7UCn&v<{w5w_U-w4m|6o%iub%HUf^AcAbm0d(>p(8tHp{uBQTxllp0z&5pNaYLlcuD2o;sK** zqVkdzk~yX(0jEvWU>US4!USl_fIHL6=>pn!h6}Lh7KpPtqcha%S7!xdAWPx8)Az&n z>)>(^sqV@;kcjYIr!skpbZLEx6|UdpB^FlM;UC5K)7O6M!38J63eC@KdFazlD;_+$ z+IJU*9ns-RmG{~FusvNX%3AbXxVFOIqmZ-GPD&pD0OK}7%_fCx8`cV`IyK})5JI-W87!7bu ztbIEaww`HiT@1PlTnq*ov!#8IZ(5BNuH}^(#Y`PQ7GB&Y6Xe!HTT3FjplSPi8!BG)aWBXa;P6Wdp(wMB6l z9NKpX2M}agQ)|*LfMPBCR>o?wbs5(ru3=nbHIYpU2VwJo^Koo99|PeY2A>h?cqOG7 zXY#Ri@CoN8j*vfUfX2L&IqirVkV^CAN!-@*B;;i>{$;G7h17oA$^u6|7Bu$-*K~8b z8k~*U)+K=dZcl-G>u&^17z_BrOEQx#M}5Y%-kkDYGgc*q;|2N}<*h@@)_-iS1C=av zKtsy~3aV;HK!D6R!Vp0RFkX3(;x+)aL^m}+kcAV0x2nT^5(>h%kXpf4v$3vwGYM;Bf7pF^$Nt75(Q>W|Zr$MlSFsm0U zcYTzjSDD<2h`tJBQjXE;PXFmM1JBE~X^Mpr+S8DS>0a1){BtW+1K}zY9%xZduLV$1 zcioYwEr0D(_s$J4Tzt}(j4VIpyY(O)9iL(}uRV*Hoc0H;qU*9FwYqt#$0#veBQak( zJCK#Pxzno$8LERc4>m9igJ)Tu4coHOp7Y3=C|gkmt$0pqk6qcx#Lv8R8*(ZH(CTHc z`+a$sP#4NI3GP=WrP;?E5;>-U*MiLQ@h_(#d$v5w-oZR=!X>+?A%N*G!<@~Q&ylAT zl(Ymf(=DJK+tax&QX;!$Cw$6DHwf5Pc+&d3kuwH`cKWC7)R47bwv8m4#wgbO58K+; zTx_m=Mj0^CuQnYtui~1arjiuVD~j&~r)N}7SFYZnSj*w!drajTZu?8-w&3Y8O)p z3`$I7@1TeA)eqF*+Da2H962B;;aXD?YqA^p#gnC=O624j{a(?=~j`(*?W4oxCT1EO5l=)1Q4VoaM1ISo3O#(qTZBXu(-3<0F?$=BQ2m>%j_K3=^x~1H#S-SoJ-}n; z7bJyCqw9EeqWigL?et3kBbo$InDgcBxuI!M1ICi4OVOSU)h02Zzi?e)ru^*_Ma#^v zcmeSMU45CR@oK|UaLW6oX46aQ{@6U@n{q$cT5yj*x8>8gx4U9Neqt~9#-w$NKU607 zM280xUERwUS;xMder2hn@Twn;Fha066Y|@x;ACR>PuoJ$-T7f`z$)^fqV#*tD_$-^ zl4$eUY_PlqQIs4FK#|pY^_8pOxIvh8k26EtT33K!-MAh-Ef;MzU zrK4nRLoatJYR$_+HJ>sCu)+Cc5-C2-Xa|jIf7dEpto$Y{vZM@-*(?&;VlMn;ZJ{3-sTaz^UNrNl<#$~%sL z=#uKpx`EDmY{95x=`0+rVP=ke=6Q6ga%;r+i(G9&8O;gbg(Al(B1!xm-@98C($X7J z;&;JNV%XxSzf{=<4|$7X`8uP;+fsEVd*0^#lj-7$kKt*cYwn(w$}Xjfr9N}#q_Xfa zJ#-84T}_G6NFSeUGKWN^iFd6yXc=&A%d0t_|3N{Y2dj;8jO!#p<^d7%CRHM>B!hPp z8w>>em#esX<;~L$i=tcP-b{*RTf00}A}r7yL2ygDfF50upSfEHM^p7}#tgL1Q$kXi zYkYQyr$3FZ87I4yew$2>Bulq@fFANr!ymduS@dHk_M9KM^g9#Jkm#d`G!jwfeW0WN zd0M3oWtP!o<9fI{d*(`@zy{`6m8FTKj7X*-7n*h*Bz@G-KW5%a`XFpDzik9&$Zo(c zl_||^eYE2@WJA+Em__sDF($?usSM#~f8-b$)1RC626qI?@761s=hqZXiq1c<)c!$j zT*Ot`I&t^Tyh@4^9?cAzyWOb+1_eI1JC~-T>%L)~1;QiUgK2ricj6H*#RT4m#h}_C z{U=BUW5IcUfMFu><>5KbB+YR4Mj?+PVE(m-?Vn%6w1f5d~TEp81eT`r(@2(Uw24ZqF`mya*``seo$Z@ns)80 z`O>%|vQjqYN0VTwWr^;^z>DvLcI9DSpEVx|QQbIs-Ht-J{UA-??|%F0=))U&NCf7> zX-~(^LoWA$Rfw35;wANo>J#sIHV9;7RkBF&nc%t|+jpZTRQ!~jgX|%$oiXCrCIYlqrX|_7q-yi4c(B4) z74(rCw2|DJ!2I*hV6FpMS3TbBQwmZnCPt!7YLxIrJovp0SW5v*R$Z@E2fI9x?@Fxg zu@wzmpX*+L*30lIqD#ePExhdm1Q_b5yxIrX#|8L8^z02v=|6 zH+z`u7d=CiLUM2$j$VdmJ}=OCaJvsp!~lT9dL7Morx@sSYQS?Z$dG{l4bWNq)8Ic< zaM1W-2S^HS=+>5-Oj)54@A0nhhdPtm^+r=GTR?0nohp3*V9I9H?kj>x!G)YI8^FSJ zxBucX9}tGn+@I3WoxhB0xQ=!^0`Y?9$9 z%Mst$)qbwa@PP2Du==QrJ$$QNvku!C$RM+3=mk4nClm|am$yb@h6+BiBU@9ec@>5L zD6%SN{{{uIL^B-m1t79Fy0Whc*&K5W-g}GuRAc9Jc%95Y;Q@+PZP`LCnufL$iU4jj znRFZCBhUuxCPVWBKMkUZ1*;L)Xtu!_=(t?kvsvSqO){`viKJGCR;fo6e#8-(G~JG9 zwgL3_-UxBF)dMtc;#zOquA?n&my(C6mipTKJ3#C%m0n`pA#P=GdVrzfjf3d1QNUsv z#bxaKVP9z}mdj%kGuDC@aV?ML(SV}r;cl$>R<3pmerBrIG%E>tiLJR`UBor^Bz4V! zk%&zpjB}9N69O6~1bR_-V`}cgw{Ak^K|q#OQr`p=;Sq$u!G`q_4&=J|6me*)8ngd5 zVi0KLEc;^NJ0!>Ain%!CoCMP zn-*JK%{K>vt5Tq)VLYIE!w69y`PU>NzqV^euEJcei)X;II~v;VivNuuvI9EuXuAxM zYuTrOf(wSh`z|Bd-0hsJk7kG#VOvPf0YB8Y!Lp#?A65xR9)}9GL2d&@qdm^m378x@5H7h}^ow!@D_L$N5J<68KwDNWQtZwP z;H?+IT|boy`o5N|w|sHrZz7XlE+?f@kkK0HEb-H~m7BQrJ%c^E~ps{Wp?UzJ2vWxbh+2 zy_eACxnTopKk;k1Eyf$DDzCR4v0u8_4dXTNY|4}?z7|epqQ*ys;u2bF2C|8n6DjxZ z+~yg&G+Zjp&2*7{!042FKe)xn56zx&Asr0A3)(wmj5|cUTGPq{Ey^xX_gk&qjU+6u+(aby@F{CaP`r6Y*4*=$^^YoioVT&YW4Ln>UNTAK5efuJwnP zNbgv6UJ@UCLi0}q1Z*oPKk8FqK1r6sQ0z{)eaiV&dJgk94a>n-S7cs0t&?nD{_!qtbJPiSKvir zHc{4$fq;oK%u+3_#IL?eQaNL@3KGJb*i78Dm=~fj5rK)B;%rUSDPl5-C&)lCYpS3B zMgSePoL4S<$P&bG8ICoy^xvtEJ5C=tJWYb6*Z<-rz9NgZCS=~=Huw|?>sE&rq8yi^T^sM8Y7z=Ra6zK=-ZGOe*4){%Cmd9CSC zUo0k1o5|%qH(}^{FXd(=ew#<@CFHbUdFiXyH+{>a$4-7mZ8d=!WYlQLcm24rY99;U z6`S$oXx;ace5M2n#^-Y`O5@CGSrgBntrHnas|HsA1Mm@_AQ89d$}rOCurqQ$kc{kS z=p)g5zJQ$>Hsct@5h-|MzKpN7kvq2cb$$;4Laago`C7F1G^=}$x6WsWU1$9LXYAo3 zEmPcwy>;}xc|-;k5+5sEvAGcc1b6YwlBcfbTV!iC7%ib#90upGEc`@YJW4Z3BSq3txbZkovYMSIfem!+vQNIy~YB zAWg{5?%emIE6AYf2+%s5&Z#0Cpzcge(8!HeD+KjROWL=`36*r)*}l#9{V+olMVl5M z^8GNK7Ek1=zqA@H^x`QIP<4bJU=%{a z@ib9B=@NW78!LRYbQ7gyDjs zZ%3ngaQ>3GLRQ$k_T`4r_jtzDewJ`ml5dqZkn~FXSt}w9C ztjJ?=(&|YMQhozi*?z7!CUoVZBeLFTsE$5h2iVvkn~9g(44$o$({rG=t~?!I!zq20 z`|zH~z0Py0)w))dL}QcyEw(fgX;L@m)8KKH+?PmMx?fFE+Ix3YKI<43To0p92M%VAsxkn+&7W zO>v6VFQ79-7|+mbJKf;NbQwl$)ma;dgh-XeoqK>!QmxxH2BTn0+HDHA;*jmGm&{hF zH#Y8kv4=xiqEhx=dl`Hbt=#xQu{&{&JxlrdeNUT1f&7gcC*(~{@%?27#yM489+Rm4 ztcPnhic(UXo}rS>B^nl|a;U^8^W}c45BZ=A%l9)=L}#@hJiNov21LiLl#!>AK1!PlpZc z0W<#SU~X{l0a!|AGqhJ0B2`4(v~X0?>Q^R3gGjsm?96@0@I zL5|PMoW`u{D3}~?RZMJdT9JA*xCk4|^@fyCdblcu7ImM9>xHWnY*nMh!1K61=vEq= ziuxw-ocm?4j1rc0nvnA%0wa!u`L2MCHaAzONja-^n$REazEtVv6k_`5*4Bn#Iu z6uB%jZf+NGpq@{Hc1j24%OR-qBBFH!Uo#zn_Xb@csM~C)wW%39qE%5Rl(dkaljm;f z(OB~q1dRJK%=fw9j_AEvN%1^sV`}vn0=+swz~KwXH7ZRvt_Z=%8T(5iW>$**Fb_9L z_UNO&+L|YIl9~jxzYKB91E$?>1CnTiWMu&6vk*!rc#Lg{TltJtAcw8=MshdT@p^N7JTh|IQL&vk`6(LE*XZ9;WorCG%3eUMVBS( zm?{4NTvHIUrzQU^FaY^x&v^t=u+3#=G{8I))Xg~PInqe6N7`7VEQ5BRF{gDD-zMNu zUpcg}1n`pX4?71U*k|VqkVCD%Plv?-o}xAX4dPb?aw;S2-X37T)qd?nF51I2_Q|=E z9ypLVLf=EPKG%e78y7&bg&pfa4yO_79A52^z(Zr@p62bIII;rWr$f6cW`!LT6uS@V zQ+)5jy4!QhEZio$H(m5vYrvF^4@N&*lX!G_5Xw@Yw&=O0A;)KzG5V*)T$*{MDt+2X zqmW}3J>O&5Hnv4wfETK_97Ut^P#?&9iEydc!&jMHYV0P6nj|pl!NtQzZ5`NI-C~no zDOC=#QS#*TPWzi z-dCkuwQx#`vc4rf7XA)+v>I+b4&qd`>6ckbdv{ApnW+gGn?CaU49A2xw%I5BK2_N+ zZpVD?M9MI(rg2`aavhL-$W*kvB@LCV0^s=dCL+M)8EO=-Omfkkn$Eaa^X{9FaH1pkWn^h;H6t#pR(5dRW7 zt%29uqThnZ$aKfwJ}1j=MmC&IvPbjK3zb4Bv$lbi>p8KLqpnkDA9!zI3YWglwkfWS z&C4ql3oRs15npXChqYe#n8iFjAxiV1$mivB1+w%^44;g>`!C%0(tv_UfDV);zu`)* zwRdtiG^1as?qs~;r&W!ydJ2P(71x8Y$F5mNE+6;mBz5G(SYs4gv&0P!Svmx!HvlL^+^WkVZD2{j$lplYiUd_VmEP;}mbQ2&1%zq9we zi|joPm9nz;%)ZarWX9Qw5E2n*&qQRq;jGML6j!Le$quEC%8o+5Nx$Fw`+thu=ktEO zpRech@$`&XE0nTfOuKz8cLXG&1rd4A1o(tX(-LjmzV`xqZ{5vE?bo$I0vh$a?ILTqG!MUi_B8u zP@=(6EDr62bctpTLS|%SynMD-BGt}t7hoD4e&;Fwlfx{P?=2nE0AQ_%xyMVUQV)y^ zX!nZxVJ7r}dKJj9M29$w0OoPHr>aVg&Wi=&TTk^e%l(&oJ9|n7!rB0hO|oXFp2z%n zDaBF4W>R*UK6Wx$8J%Dlhy?6}jC~|T^cO;J#hA%PoLL|g|JaSStc;}C-0WSR{xAmbC9*)&`|Ok5e`oR- zEXr)@_%J!4k^Fu#^(h9bstbpIBAv{_nX*zI)4|U3X>T%Ss>*(+INb8^RB-z?9gyqP zZ7Nc7$P5E`@JEd$6vya6{pB-Id~>_r~JfzCc;wFzkqSnlv*OU$#B|J15khiuk9t$OLbMZ#(+?4%4RK~m!7&R(R6(p zSehEIF|nCbf=`&=^S`x)LFU|0W+>(Ze-b>x>S zwUSgu+;SW9v!E%nsQ!zo0vdD6uoM?;%$8z7_U&G$>$ilhE&;Br&LVc6Ao7P9x1x0TU1FeJuj zJWs?`Svsk@p8Uk#@<$f}%@QEfA97(kAJtfdDaiK*4gVpUAX>x(oN9Q&fT&{=uW{K{Rskh%dFV3l%0J?GoE+M2dBherlHg+AHDP05iES%-(|w-(3891!1C>r8|9tf0L_Xe zrE|{k!!y~;bX?Bd;EJFSsXT|#gI(>_MM6Pc^_?H!*1+gwYuet#+qVLjGjxk z15hvHykae;?=OD;{F7q8JC;R(=|1cJt3ezWkQH+0Y4WN5AB-DUGaA!q`252?UW!W= z(Ei-bg^>e!?od;(Pa{DVby~~#c@ULeN}XkR8^JCYTjRf1Ef!*f`W#!BYZV=B^y$n6 z^~PEIBe457c$t0k((ij$Wmuk9N8<&-{=V+ktV*GQL^)(hEKh_-q76Ot>0PU*fzZp5<9>FGmhuEqO)8n8v~F6$$mlVQarHFP$#wk3$gdiM<-glI zJ+B`^_Tz$wz+zPNAvqQ@SjU17{`k!Rr(e^Get+Ld08_xUN8qO_b?jRB{zW)gXc8)& ztnHZlXcrVJ2k+pBX848ip*de&q?GXQXovz8nmb2fFrLdm{Pl057}>_a{?_3-w{a+8 zfx7KN6qs#^39~&{`~L^(q82I z%95cRF;;$;6II!}#``BUK@j8qsT3m0$7Xwt3SJyrZ_%;_g=PSR6q%O5gfHadl*6@BN_@ z7<^1^Vd?*4IIyXIdJP#Fi2mg}MFi(|jkZ=)QJ(#PbtLp`k_(x`=(`jKW;6z=6d^~l z!r%hw!Sj?UE;)cF3PvHch1wX~mNu4F-jtezp1hRx_#e1m}$~)^?eOb3l=$yz|J(;NPefF z{RVoRni|Kw(&Fezj^P5p-Ps=O>fT%uZ`nk3C1V5W>6233A-+hdi>M2q-jx@AHq%%8 z5JN%N1vAERhuQaX3F3I*It(M=h2?Xv;9yW9kX~VEqL-B5Ysac&dI*;FT~FEQQSpDQ zY&lC&U%N5@18v6$jJE=dV(gbi`q7|xULZ=vfv?NF6-c?ttpWuO@ddcf0z5%W{1;M# zxV}SI(frUh>=775pWK?kSQ8B6!C@C#fN5STvIK?~r4q9d%bR-B$m{P5X*C$v34bD? z+7AM?jf242n(Tiy^;ZHUI-H#M!-QZoo_$zXVLDr-sq0pVp2< zJ_7K3jk1cf?WnnUd8ID!dNT++Mz#qL{((N`Noxt@ae$lUz*%|@Y9$A%x3gM+cMK=M zA_UpahUa941(XQqr~@xco7NdsoqZ?PQq$^-Q^jPt0q_@PcP+$h^&C=MrTgHnvvt=Er?*1@l3L|t|r8U`Q!{5T%H7F7N7+00K*(KrHea>p}y2iIN7GEz8J zvP}zKf^E+GKAOjmKreOZXKs1j;yhOlzfEg=%RX9`ljWT3{k*!lwBQw$6 z0tQr~nTbQZ$Q58qu(wA{$Gem3>LY!eV%@c6Itjk&UIn?&Fc7R1lYOp+|`-i1-2;6@9)Tfuo ztZG)6bl(3uOOILXUoKe7nlc6RvRVI2zL6fjAmPAk{QCu-VDAhO_%Zr zkzhgl;T~WzH6L1Eq~596{K-H&T}-#U3nP37XG6`7a~iL)t?P9p^%mfH>CBE^5Ra2F zw-c%7wbOMbimag9`<0dbq@w%_E93-)m$nZm_N42qF9c+rjN0N;*c0Rcc{WOmeE^6| zNd+)W*M=96x`pP%e6qEhw{2f6-5@hJz$j=LKIQ)S_Kp`xqlEn?+eOr6@Daj#EdC~P zQ+<2kLc+tq7S1hXYJ7~2T$jf+_g`29DAP+9a>ZDaQNdoE4=8S><__YTH1_lP3&*#W zz@aNwY@*o~dp59B3)Am}G#U?>tO|RzjwG`GE59pm2?RUnMpr4*zhowl$rPB>Of*1m zExWkCih9SH=DSj2E1F?vm+%5bX1I%ERmt{K!TWaILfXlLEzY%QR@KWE{E`tR-oHSp z=*U*|ZNnE9?o%yLU9|}P?^CeKZd*2T>P2H{BX(9N6VMd9uNrIT+W-Fc8KN!FY2w+l*e{TGA_Fr)++)QN}JqM~;X)V|BP{TXTUvj?q3CZfSu<{|Og`!gE_u}f3fDYhHD1k9{` zUC5Lmi6EI62*yHF-TgmUXE0cV{(aP~Y9u&nE?6vt)eQ&Gp{}i<43>94kf_|)S^a&G zuWmi}xfffT7DFE_Y+@UpG5HXp%R4VGaZT!SgI5HK9`guWOtD|7>GC(Py_Fhw7{wyr z>}@S?0+uMYN+OnYz380!RwPD>24&6Mh{}?~Kdek4h|vHXoySe0>+=G!hj4{Rhx#xJ znk<`6aQ26Nx{#c8)=o__FWNB0s`g3P+QA)#BH_R~nir43~R#p@dZf>+_WR7Um}klr=w@(kcAUUE0yH7TAp zmNU*Tj(@}_UnzOu)OO$GqVUa$IlRm-H_y6w{>R~Q4@gm` zZ}=Uj&WH@p+|ZRpI=PfW)Yt*e_8P`PRJUL?fBQb3;=J_6oYHvTIx7ms1pFLqL{f6`HT zIriv1!W#Cqbuc(oG7zd@T!GOdLvYy;XtNJ7fqJNc8hfqz zju{jJKvxPJ(j|(uq71A5kZ@#{>?ITaUo3FY^-NmrNoLU&n+FA<07Dts)pa$AV~NI+ z+Tz9^gEDN}cnALP0w}CJz&q2nf^-blK+MQ_v2YB({GT17E3FV_Wg)hlYa@7=4Yec8GBIHlzzb@Z*4u1jT^|%w&-}M-9W=tn)iSo-}EdARcQ3&(V z;xS>rxleIb>nMlVIg@39iPNgl7)AZ47S>P(i}|hW#OnNR(+85QalJ`#vJ<`Qv;e+V zs%Oa%LutachY2Lur})3W?T%VVBHB;XfJ zTBXR1(hQi3f!lzI`e5z(LTg^KE0keCS4gJWr6#sWPOj;*R%0>=M=gWdSR(&5cj? zp&qnwJA0Vy$1-BAMeyjHvS_<7u&@N{npSg}&VZ<9XISXceI}ZmO%u2Vhyqy>XmGn=2zJg?Y0k8F%a$1v3mn_o0;?vV{A&52Mseya{NX714$tJfAHMiV8CUOxdGLPCSjb|zZJY7c zun(cD`QkG_-xR8iNv1&$7o5>wgD4(Qf^;>n@(+-{BkFhlHXDRI(}XboUGqE@pu%ap zKnU%P~Ki!|x9R121QHrA+e6|45ZIDD0~ZJ0Z~?K4avhE;ch?3nAJAFttZ#_+8D! z8$d!CIlVgzAoXK>y-(h>U@UaLSMsX@uzGC{ekvw`QigULLieG@ z?Vomt_FVUB69dy$YVK!I^!a1Y*1XE7EZqUBLHJqC!p;0 zePXmV^RDAsFQ$94Bw#0IRzOE?r-RKJVapL*$BwpNe(DXYM$|e~(T2|f?MvxeY^-Rq zyy9@=aas(RY{@BjB^CR}0`viPF$>_l?3wjWoCq;Nop9Fn68}+aFC-}H5`=J3p6&n+ z_JZl*KDRs;?v)O21&Y7hfd^H(O4Qn=^S#piHbb=WRsHZx5*@t2|_rOe27i_OU zK{%xN1*|?Zp7mNJE7)2Hkw(i_zHI)BCQW+Qg%?@RXhkl?gN^aLTL;3VtJheNk9xxSw^g1Tviq`>O}Wmf|&bIGXL4O?h0yqSBk$r#)x* zyttA{6b0piMRnPu3}np`()!HiWjh^~7jUWWQ5HafrTFSgTXmF9d(;#s79OLCLVy|A)Qf~Xr zmuN-$!j?oinZ=k+&=Dl{X z#DrxVJW0CdUm#2y`Z7Np5i0&P<}Z~DQ&ssLgd^PvL&ePvFaeClIT2Mh_XMp3{TYyB za+UkTn&6f)v&;=h=GCrNl9!(QxV&Thp1K$CWiDAb2XuV71q&EoI~7=dzFSl8=RB7R z%01C`GoNCZg&YM6Y0o#p_nJmIP|J&H*$yg>6BrYu+(^7*;?_%~>#rxb)JM0UCMP9W zDFHPSpDY%D@@z1W5}?t|?ImVC3yyg=BDC(R#$(T@_juK&ik}q4>YU-yDyf3)=qFbG zLIS}JtMx{c?%Lhvhl4P0_?wrVEhvDBp2J_mxG{2`;UIqxS|VIrWbfU?C#GB!TgF<*V(i z7R{LUcAZB;f$lIv9_F21eq!oN?KJ06-|X&{H$5496uXXPmBI}2^G=j`A$Hf9vm+HO z-xo3~ruCmDi_QEGRx}Wa79m6h`1%K8(UcGhwVG z40kIUq2+_0nf=qGAvHkw)_?zCZr~Ris6u@kytYK-IU=HGv>lrLM9YESZ{@SJtDuf$ z`+R<`zl-VLRbcm;e^uV*DXlcVZNJQNynF9<6VggmPjSn^Vv`c`x5j&-utBaGHj)6b z{I#EhDNV?($NuzL*#}NY=@+SlrHxl<)~?TPoeU!i4EwMTZTLnAAqFZl957n<13anqauQ{vn*xsRhO9Pz4-@P!z$8kx z;dI{tHsE}zk`2EH*B(5Dc|=*-pmoHiaiATo(KGwSdwiGhvPhYSqp1r{anukW>dBkx zmvNRleUK!pqDnIW3~H;lUep^Vx6zw0pJ+WAK^jYc_!G>kxu4UgU64~=`DAAvi594Q z-Num1lRaT{4>c@W4PNgxZs~^C#9sADqxf3?bpzGbPxWVhZ*mO35Q_3Dodp<42W7v5 z;{9(YKGkX8_c_W)qBDxEYn4^+t2Wi7_|IlWi!dgYfKk?;yhz#1l9$Z6S=$!5f17f3 zewX5?BV{;nXE@ z)x1~wI!dyq$Wjt5qZSmddR5d+KJ~Nb0&!ImoarEgX^}STEQYGIYHxY@uPKT| zJ7y)dyj~rde`5tN38w76C(gUIb_%b}`wxXc!Z64`AX>r!9|TeBg$FjlM*ik(ZOLk> zIrTwrzLW`5(BSi@87KQr7UG$9DmlYNW&tNUa;&04P%GJdSQD2LUt|eptM)*A(^Nf9 z?Lmgrsj3p-AO)c#>@?u>Ngw39QA1mFiNrfUHgKeR-1BPir>iBAA<3XISt4`Yvsm;z zuwlnv04VqqFh;wUH&Ua zKWsit(K0OvNg(voh4fFo;wWxmVj=73@Vz#blU&qfTJYGu9w4;;55{h84^}J=2X&G~ zN(nT%$HdxNZew_YIn0M_U+a0rz;lgC((Px`3J3m#))u!?syW@Z!s>qx{O^{@@YY2( zvps%N>8JUK9ct2~=tb*WKBU*HPs|en6^6o&iS^gniMgD;FwRkGOAN9h32-marLpoy z#cew)yBeg>7=1BRk>zwgyKRXwr00oYiG63VObfyYxR`)y1Y?6O5XxRj?0-V%KL-M| zpKgxX_K$6VpaH%qXA^EMJJGLNAUhp_p^xJP7^=56QVWwOH&4=0(+0FOt`{+t!1xui z?d&x5ZTtD)0`bArClo9P0bh;*_MXWpr8_?EB$2Il5T%vicr#IQa(grz3ZMDL7DsN+ zYjRRLPEmFOg&A~{PBp^d`Vl)_hmFLZ(gDlDBgL*eUVwR=Z*V@e! z9MrucJAiACJg|TLg?W{xT}M4Gaj49Pl$Ki^h;c>;lO+0NDuDCCe&d|MVOVv`nu82Y z@h`9&Kbq3=7BrRWkHKGOnRV)2qV7|i+=KS`xn2?|;qqP|nddI`37)nnDx>M&lu#o+ z-wcj^<-1|;%>4Bi z1Y7Aj#t3BaQL-Mem3c0?&L~L~YKTtr*!ADRR5PSfmjINZrjIhw1)J;A&TIlPD&jwz z8fNmfGYtB1-#^Vz>@kI&B$h>s>tTV+2P>r?*_6?N{R58UO6Tks>jEphZBhUukg~yc z=AU?JngU*)rI{jk$htM!GWC!dnYk{W*n7}mgK9cCq6$pK9{(}5;n0KQYCnEbs_l4r z@yUFlN(le4Lq(DXG3V*8S5i6B1FsB6(pW`0TTM4`wJl`TI9wv;1MULS$=`IbL~uH6 z2~c7c|Gd1aA>m2x*lkz1WM(wO&C3G(1SJEMls4SgZg!)w4nEK-*{R1jh{_7i5xDev z6TSr~)B}1>pr_XfW2o^{6^00?{lQ4kJA;~^tF`lE>X@9-)Nw0C;X=XH!?=)t1pPZr z{_`v`5^Zq{GEBwVpzKNWm1eB& ztc7P6Jt$nQUNqTk_rYTo^jVdcs_BELI!e#&dVS6njQYqPeDNfv!plm&acX~ZJ1xDAcZ!X?T0u2^| z?$fKe8C#NfOar2+4Kb?7*3fpeM6k`Z61QnN=!$k6y0B~cpdsE408IPepL?Gfkjn!l zipBDZ(G*K20dtMnjkgy<-~+_aB(h(-LTkSMr1)OY3vnzk?6g zt};sG+4uZpf#b+oRs+(0anVck@ve8dBt;XI{hsGu5kHnXq@Slom49Vmt=#p>AZ=A z_Pxf1ve$*_>f)Sw01Ej`9cGnYAgBkHwci%`t`=8&}Upqkhw(=#t#e3JnG*7 z-4lJCZB=?;fN1LYWUThG%Ojp7` zY*A(Jg2#&wb@cTVAqNi!m)h=w*)SRSN2lAF22v5r+~8!kNW8I*Y;tzYJouf9R`pk1 z0y+Kg=C0AI?9Cx2F@~D|z&)~s-wV@Yju~Ea?xc_8L@rc) z^SU{_KIkl)HZ3Pr8S~|*aM9V4kY}jsQfi4VLah8?35n4>&3gXRV6$Vt8CO>%$54Tr z0s0K@L9^!&f$nE#lwA{_K0V`mxh3{?$obC*_G^b?Dqad1_6UrIUE#_uViFV3VFrUb zMA)&@UjhS#U}N7*NMUZAh+)_{#+~+>2HPVaLg-Ngf><#6MO>)l_|kbXy<*2kRO+ns z;a8q<<;s`OYkHWNPLnl-K|O#(?;YQ-q?507QPE3FxhGWOVpyy0qs^y!yde0lN=76z z$%b_;Aq`)~-8vjU=bvw(on*a^9l? zKx0W4>KJ($IIN zXu2w8GII;+lihFMsH0D92lnRGEmT4i}>ku># zHg)HJPVR*#OD8(u<+S7(DjWgVt%3Y8D9S~!ti|r*h^-DMK|WriNtcU;5GD(@L- zYE3D^#QzJYnDb7bL=|{OJa~Qw$2=+FnVVsG5XOX2SqL%sA1oa_o~C&!cAiGzQhOF` zo!%NMpLh$X!Ilu==P!y2^3B@yq1hdO3>_wjdyd$26>&hm{k9QxXJ{auN#rAs757N0 zKa`wtsn5t4nliokp^I?F^;jMxYNT1%*@OH*N> zd*Nt;bc#KfW4kO;{|(-QkUw%$;o|o2D`|zvzmtF{17*E-&0sd$8h7!#Zd0AJ1qS?q z!JgP!dQ6%aP`!KTp%N2Re^oDF zHpEXE(@A`VB_Tzcab3Q%poSQn@B{q>nxGPkPkw8!>9u}@9g}<=qOW%R^UAYT9HPzh z_|>Ecxv~e<-7lYzZm>Xb9&kv-`T!^mRlU&5+EbGUrdz>dfRqA=NP^DaB01+4uHJyt zWREzRll{M-uzhH<$<}01^{zcyGY!^bDSxsL?QLi#$k`HKFbyt_zr4db;93h-N?AC* zr^%N5W^|8)bjzsAwuZLWpp^OTlpW`2GTeh;=|hxZs(h`mp&XteUx$tb=%>B+CNyUX z{j&?1S&{?}szrgn_()KapT6LEB@w>z4J&aU6fZ+gGuc}$$`grstf`;PA{ux!f#W~)3o?CJx{ zWeso9UkU$m)wR3;AMyO|zI>Ird2N4x`b{~(_{fO5CV*x9xMYtpF6CB^C;K?8s|l8; zfmMcYlg4e#=LO{kpHB`0W)%AYknQ^6Cbp<&50`pm@xW|)bQ&4yXTh&!Ii?TKjAz&} z6-L>hY7#~8p@U?epLeS~@c|b@mQ$*tfh@~>uArF}QyAzQr-r(dej4mB0|Ta8s`_`? zCh45Fns<&+U7}yM!L_()-@Lm#{sFn()YG8W{`Ksmu#>|U&}koRT*YPhC+BQK2@5Jk zPoxqc1R`3;%;WeFN&`W*No7O{9hbrjgQ?@gVQbZ7ZMmBi54G0IV#XP`c&*uS#2(^1 zc<4XYjfGONB++M2!IO~N&CaQQ88NI!SC;K z4UWpJ^v(6f($3KxVc^(Gxo^|&T&^zT%*pjw?v#oPe}!KHCTz!3+O(XLo zNCS^?NNm@l+T-_eD6W3?$=|r!15HbMAC9T`dwlvzR+cuym2Y#uAp;fb&jfDFM9Oxf z2ChDdh%Gx7&cGgl+$VIwGKueCT5>7=rc28{WYvcWSQwkl8YdeR)Wg!ruI^e64oNU0UXohYi(=AQAlsm}oSxWz z7aHTAfiz0~<;Ia-NuORe{KJ)4%ccDLGI-Xho(cY!G+2*Dv5X*bQyyr5aC^?YEaeMU z%2DpPNal<9jm;F!B=F)Gz}ay~|MT&fIL{N|E0E0aG9L^y4&0?kJZ(*DI*K?(%&xiL zWSO6U0zM?;Uu%+h3#S3*LCqa@%Tz%0BBJzbt8vpU3#7pI z$CdM;M17q|=xz9)rlew8UmRYArjg{hSO-D}?gFYXRm4<5 z@J#N#MWUGue|j5D-OYx)qiH%wYvc+tG-YsI8?I*>%}P#_~Q(Js%sMUDXeWy~zftrf4Inz%&1YD#$s?Wkus~IhuOcZy&()4C@-lEpdPe4tHvY)V9j|WzY>5Cl& zqGwv8087ohXVkDTzDnU#*-3?ko?{k)V39w#gX>S9VHoIPiTSqx*H@=i2pKF0oPP^k z9vKA&&B-~SArD-Pi;P@LDvL#F-zE)*A%B{2#2Nm$?4A{?1{IwCO8Lk^jN8 zp@>{bPm@eW&}qERK$gDRR4og@A%9z0x%ZuhV}VWc{d4qGov#B39}&ynKL?GYKEpBl zji^NfZiaSAhNZ-}?*>uCWJQ08LnJ5qqADYhdF_4%9Zg%h?5xJ!?;gXXp z@~K0oYK)dxtVzQ`5$vd69-sv0koA)~tZoJ-V&d9lnOjD( z1xvd4KMjU~EJS5{gO|RPAy3poa4~dHcW6jp^KkDMjj!BCYg0FM-t^DNOQ-M*ZRY`7 zo5hXI(RY&<7ICj!qmlpm;K%B53hHImy>xpnUrMXZ8Bvjl@B)g5NDoV?ORbl6Ve`A9 z$Ccf5kLGb*YAs(lnFmFGxv*PuQ&EwS)PNsMuv=&R(DpWXmv+q&Hr>i3TeimQV~|+( zCn6;p#FB^l0$Cw zF$Lv!RyhRASRhVUWjY_?lbdx38l6{F{5aSJK!>eC4FFeP;j_wjoX(D1aGY+nr3D_I zH`zG#XG{}GtY6516RqKGi912+g=x6xN-Ur>Uj3lByq%g4IXKWV&C$5dQ zpls2rG}=pWb*#;X-USL^HT-erV+&==y0dF~PrXV}jpf=FVxrEyO0H9xLv0IGa?W{+ z%&c*@ZoS8sQmUsaxt)-Pw%#E>#xFP*m9S8FxRT+PxkI{TB+Oj7qPxf@>x0+Et+l#u zI1Xtty%HeNChU<~&;3G^rm_5vraFow+}`Yky8m+DItOZ_^=Z#d*~0py06PmwAqCDXcP|Zz6Duc2Gq+8+5fh>#tozG(wLw+-=nEZ z&&=294fu)o8AKV8IqIL_^l3MjA3`^_1jQBjb26KxRlk5+vq@al)$ayF=aL=U^}hJD zaF4v6jD+pDf<1dQ7t37J_0Q8`3&bgFmVMcsNL`g*6njmNodftAf@*%MrX0cFYp5X- zjcLbk&X2W!;3*({Jg1mER}65{NDfq;;-Y)Zl!*|#>UKr^<4A6@8WBb*&sxRx$d*N) zCl1sHv6v25mpD=zmkw2waMht-d~Xz<75t>#m)k`PN)Zo|eA4M<7U7aAX#*}ydXJ6l zns!%^7GY)Dd6E25<9!A_0wJ(vfX*wYzsk7i(L?}{c(Id0;0#+&kvd`QxgdD7S- z=xS|xG2lHvxGaaVEaxzIQpkZK)3rgRv3|w$#Lf`znW7o>BOiQ}q|w-QeYopo3;+>5 zk!H9v=WA|HD z9u-7_hXV9!-eZCe5mf8QoCJ>9gL@TvBf?8U^YLV^Bvda1j_5-G<;)`x( z+)U41m_OX#4qu1@)Pgvg=UEOWj8`C!(DN8Q7qUOs#n}M4XMss?DO1^iJd|9MPvd$a zX!C+rGCMHi$WBLB(0!45=m(vg+pemXX*g132Uc}a%xp-P8(yrfTb)n8m`{^&QFWh}2*7|i8|_6rOUK6!Ltcb%CsmcoP|AM2=XnS6QAW)c_#DO- zqEgQ)@64|pRs4s9)0~Qx$f?rz_#(d%=`bvCRK3f9%9#q;ZIKPYL0!(>%2%4nPOUkb zxWD{FLHj3t(}ym#X`~GVrXbBK3ZDDT_vooITJ@jD*RKmk6}LqwjM4DENO^e6hnPd& ztUpuwrAkHA+YD}#l6`NKN&=82@mgNX&V}BR42hE6NGJ<$ebzwG0fHxbyb|6z$|Qpe zQ|nFh-asxH%tRq0h(e8IZbB!b<^>p zGIg!AjBKr5UA+ZZ6f%##hN_L)5FcNW%D*`FL*Wvv1{-$~q(hvZ94uBUerCr$#lPJv zgl#gf1u|(6&m>+}ddu|kyPp)v6w5GNIo5(obGm=sb)O(k3}ir!t8|ttFpVlBS;u}L zwC-a=aW%VAbGrC>M;rXUIURv(6Q#kKwfu|XK$(rT)&5xDs-5j35zUrN6OYERWJ8yq z&Nfff#l;=%>$fBsOj9)SvdT!*k`)}2t(Bb_Xca*5rN+# z_vb)}z5)4M>U>Q*pxF5el@N(7{a zv^*InahqYsooS~SuAIgB&+=0V3Hsx1QouKJM&g0gk@5*1oZCdWl-$xNPcuY@!5u9jJ^_RX?9w>Qvr z5TD*`yuiimqTuikmj1R7gy``x*@Yx;m^{T&7`}eR1cFX~W2KmFRrtFel=iw92 za^OLErepRQSL4xGa_33;?Yn>U)nRtOwDo0Dksh0_w<#YIIN$GqrjC8|%#VU39@MQK z&@mRuH7TNhJa-RiU(kp%L`ON!9BqKWSY{mTMY5>KP%ARjK-BLD*o-^xRd0RA5mZ{o z&^#mFmH<>-(Sl%0vkEl=D_+u@clnV^p!CDjg>fN6N2|2S1FU z=?2Y24U*?WvZIN}H-M^jk?wk3&DrvXon1d~y748pPyyGH?=DtT+31bd2tsfQV;er7U8V+41^6i znfB2M&X2CW#A=pDJnkyhxy`}9+cC#CWLIHffm)S46gQKMc3;b*)*~t@+ovHJDHyc? zmUV29p~=novuEyk4+tWSvYgF{=N*qSW%q$agPJ|_14z#scDG;qklt%lu3=+P_YS|~ zdczo*nXbG3T%fkZ1>os4b}f?=!7uZ=Os(ziT7i6<_MM~exc=P6;m-Msm#eFZWZi8D zBY)n>ujGvhEQXx)^LIN$1^ZiP&=jZ);0^$xmFzD&`af6~u2-c~56%*JIhvf<4(-~P zr{N~#CJg5~DVWDEGU7@R%ee5*pyw`}WKJ`qFzxRRf-c>ktl#jPep_k()zwwihk7pV7XvH-o)dPr&}dTLIxMbNYsZY z%p(JHWom5CRRHLYA-yG!Ryps?^cP%b54KgGZ}{lnFlDE+cHsb%`49>z9AL&V`Y4=W zNyp_>ViNfk@0Rf$c8&a5d?VoVpm|4;B`Gj1?s-5g&%4{DOuS2$lb`tm)T+DoDOmGX zOI*$=3D=#)qs6V5DF3JPZyE7r>4oQdEfmjWDE_cD7xf*JLj1Ikr-K=sv_lV<=USiL zOVa`{`(tJ|;8zX@AJ_pj61g>W4xqrD(V|&bH46q&jpsv=IetiyPr`pdV<<%b8m)a( zR2Kk36ig@dBZ8;u6TpS5&qZH5&}jijC7T<`V?%dvow@QxNP{Erx}doz2RE=j-j2lN zRSz-K{rRN_C_Iw53dR*5b3O4vR9hk>@MsW2Mon0PULb545fq553Htut039m7q9q?` z#(;e++V4pYREc|$W#|u}fY`!F^b=d61vz=Nuu>#dg;&L7yh5tw9<3`>-PU&9==c7?<$Ye%Z|B{A-HpYsfrm zFL4FG*pGG{Wf)FiviYFdf|?F0kH?*21pWtmp`s;v1R8#)Ldw3=p_*EEeOv#SA>D5b zs8tw*IVZhs;+I`t#dRtkP^yF7A{{OHrvO10tr=aZE9k8AKiG{&z_C}VM#Ofv|4|hx zm!fUL%2A-5tY>F)&Vc#apC=Wx0lc7MVChmNCtBzC7?I9r`~FxOJ&FL^Z_eu zrYnjN!3ecmPuy`8WjO>cqpMED4iPQ5{p5)cu_c!;!?WLU z1Y}=`G>NKgxAu`I`MjYyz58_Ks`L>HlDFN031Sj*fei zRVN}~)F>599Z+Lzbv->Mez%xGUx1Y>-2%N#m`*YY19k01@K6&B8qNY&QBoeLl{-rqE@R^U7rIiUw{Al@9j zAJWJp7}iAA0&lP&#a>#$RLP#_?P3gOp+_*z`ePr$hoQnO`TKTH1AQ9K$Q=_{mx{Pw z?){F0TI=F0nSFy=*ZLfmG3T(G=G(?tEh;JOUWsh)0lC>Tj;nCRNr+)IN;F7e=Enay zItzy;+ct`ikPe9NO?gh&ZP!a!O= zWT4WDQcAqv?e`D7FK*AC`@XJo&hJprUw?Hz4r2?Vb#bGjV8xNSU8JsDS()eL_V1i;aJV>s ziK38TSWY`CnAJH!K^2z3Xgb1qRl)ga1M!%keJE?ISu9AcO_f-c=Us0-n{@ap!~q6B z3%>w(%?E&=RvXfzaVn2M@;&JJ$H}4vdv1?KNv@x}sxeF@*H>9tg7>uZW zvq@*!;J_t(o8jLrtWU(`RTOd`Z~!ldHihMyE3xs{5JXG|+|Do8zY@VNxJ~R5Z{4+59v;lijXYg}I7k*7;cSP7Z9Z&Hkt|RK04%N+^RdU^ z!D%}eq)wwUYR;EqpPRmj0k_|I$>ZW=0>c-cu}b(CdGpiZBt{!t6N-3hX*lEG)dOu4 zc4xJQ+gkh~OO)|+DV@(*L&xfdvb=@^M|qfAIF+ zK{0!?)aexqXzICP)OzJmF{cmEJsVBcQQ1ss{xhTG;%y>bM5>v{+&XQvE1p=`{-nE&6 z{O)-hy|<7|G6i9Pnz#?BBL10~3rAcuQcx88%U^ncV*2v8(4&{1LVd(IZgQZ-cBg+B zhJzrg)NSe9N5e82E*V?PS(dWQ;5a4Dy#Kfhq4n(+#_fxS!|}zA?cm{3RDz4!SG{iE zbO%PZ2F(1hw*6X4_LayQ1tu6*yXY?y_@Kg3agc3LpkT&)VlNqIZpRN zf2QdXp1@Ze4j*F;=Uuj#?4qf%Y(RJL2cOqh``VX2fh(0Jf6N?qnQ_iQoR>E#zO6zB zwd)wYTS?*eEi)|@x5<;PfMa<{zDg+A%S$=vUa3#yOxX#<__H^EjN3i&Nw?;?S)&Zu zaI=kn4Tc|VM-KsGtLUFw2rEeb+vTAogt-d$2*8H%%(E@gpy?9)? zFY19^i#eznrr)M%Gj|ML>SM`tZH7{8A_QMOR;$B)F{vfMLI#JGV{QkHpl$)Y%=q^V ziJ`XvOUUXV0hXGmBBN+>EqDQS{EYX+If=z-ZsRmq;yAvQd*Z{die0}YUHNprI4Zmv z5Wr^^z1_~rK8-+z{}ZHEBwPR1yqGP26!^%=#~g{A(D&I_C!BsD&f$Ii`uvmRYgMs; z(;+b;vgM2MCw_91oqiMeG)ZBc_zM6&XYz?8vb;Q^?enkpHrCbW{iQhkp%+OB^&ez? z^6ewo&GVJ>q6H&hkv&}%J5B>1K(&Y{RE1(0-hf^mrJupR6M;*;Tc8emsZZzrKXlSB zBQwI8%%#P8@Rr*YhCWGnU8v{}%uhCw4u4BB-VV`8Dk;2qEZGJ~Y<%MKLQiCQS;qIk zaiKr&IvXFBnp86X{Iik!*Pp;F{Mev!I!_7{p21_9nT)Mp0G{(%zsF2X370c@SxhB< zVQ6sp4}p)Fh_?ev529RRrgtUNhd}k=blD>t?1Bde6AH;S?MaAs%35(!?U>^>)#>2L zCebN6rpa{Zfi|pyEtBtWj{4zEzbfv8%^m`I_C3D6O}h9@h}ArJI%U75M94hix`=LR%}g` zc$GEBmt`Gq+n(Jb2?}3uaRP4kPO?ITA8m}#h*HkOz56Y1s!x9Zi2|+IbaW+4GH+&m zU_l`Nu(L%|V+ch?aNjKX1O6~pt0BX`%5;q?m$P)!arp!RQY}IK9XzP3U;o&VFqLp1 zVq*nPJy;``&0;GERXyv5hAFtbiA1Ise78vD+Ha_wV4%@DUYwpTnYENgVLZcYg; z{eTl@s9Aqe=ZM0KzPv=iHfEM$=mCr)Z{b(#QO@|+s4dRKO z%F$B69U4$r*gB4M$zGr9?8kNos_jiGXk$AN9^Dyb!P}N#X`YmKN6=N+m%W8*xLz>*o_D)lXlqi3Wq& z^Y0S}{K;E%BYnwcyB!&{6`8+hhSf7(1#6QlvhAX@24GDp0pR#r^Yyxg&NO7U%m%Hn z>S~Hh=D@5aEb!PY85HfJgRGS7kwn1ru_Z(4MH?}8P@7#dEc}=JC*!EQ3GlBuu>%Rv zmG*S-E?TIS%;1*xYL&{_1d=+HWb12f>xXN-6h~*iQ}^L68ilJ9i%RVQ8$G-xgT9DI z`Hr}0`W3V>3y+Q1zw)3#cnrLIyHp#igjTOg?U^3g0iXkL5DGdsNG^W61VcXi3lO6E z4_g=Q%tOV3016S7X{P6${t0e$>yIZv|0Zx(!c8SWwQRr+K!Ri$whFV_bUA{k?)Ym) zE`FWYS@K|bzf04aRr*fn1Q@@23WJc!X~zIj|HF8}gU0>4%nh{v%;nsbHyyG-L$4Gk z9~0dlbr}rrQi*-R1;GZw_pjv>b3Kq6Kd~s}-F?8jlY5Y~Y93$%RyXhCvHAziyn7Uv z#}_i+JfhVq$^|lQkV24~6uKamRY_Z^n7K6vawlmsmC=h z(Rsiv&)U0QK3Y@EF(}e4xC{7*o-?!Zc}m8T8uX9dE^{r~0R_ZrO+J5GTge!rLgbz^ z)+~^N+&ds}Z{1NPKifK2Q)^B;d`9dDmmVL<9RYy5a;k>|8|#9`19!QM^@*c7>pS4= zif_qhu@EKs1<_mT|LPIums^Muc_t59KrLU3l|?Q)d1Y^ywO7-1A8n&cbhXv?3(U*4?u}<3oP-e>%(e;sl)eGVgUm;hj%Omv7+@9?J${Z=J?SYJMv5A zA4)2uW7>1ngupJpjbpj{9^Sl;Y;1J5k1$@2n#$Ze6mM{lF7;AUJiFbcZ~o%h2XmmG z&N;I$u}ZRRRhD%bgOc;dHqCVc-Z)L%k$36bST!Jv*WG$5}pg^8Fo=BiSIZ>$HZcv5imL^Enp@c?-jY zP3x^w&=pgvKYs{x21nT5gV`JaC(Wq9a`erCF*9R2jpc6PY7^k0p?&JBo=ZriPlN5~ zf$9Js40^ij1-J4g64%am#(=-oj6ftH4CJh0jwSL5h0e~;hU};${VE{iWIJJQE|+Bq z@@dr`%L8S~hX@fEQj~pXYpY&%ob|DeL{KGF30ynD<1YN`4pn+ESk=ry`$noopATl+U*|$w#86yiLNtX z8=Tz!sw2<#7t?aG4X&RVn`NvqMFL64i!<*o{e@$~<8-`ANmT-T^BnaPEcd#U zNQ~ivKlN-28*n*#t37W1nDo#_z~gDAWCA3SAtn}c*R&VvtdS|T+gC~zDI31A>&;t6 zf(U_SbcGW8Qj&6sb;6}NV%o0ORJwUM#fIJIyV{ zZj>{!8tuI-E}EcV0(2s?DAjG#f)EC97Ft&JMeK?^sm*5ToBn)MwXT#cHt7KgU)o3KE1HFO<7mN5NpG!!O@cEJs`1*oHE zG@F3NX}K08m{fZ5R8pMr$#0~>ZKKbbJO~2m?-v4}_y@eDoJo!`CF3^$|7lSH&+?$5 zLhJ6o^~7}hdN@HqEx}mr^x6YcrRwpTpa@#0oxJ z(E@RCNhwsOzGj9za7=bQaXO_tp~fK#VpKGk60xG(sx)vKm=>~xu?P@P?kS-wW@GJa zO}fv25~32mdPyZIARwr%=zq8g37NBAGFdMg@HbuYN@!7p!CV%@F7JO3@Dl2#RhP|0 z%hZDUZcxf}vBCY}d0ND5T?4qDG?X}XMPe&oEeYKKcGvUk`dKpZ<)`FW4Cm1N_i$sI zNPsLB`5up!z#AB|H-GPh6aDF^K7GUGN^C)b|C=F=QJ_GHSnfq6m*vYk zaEfAt?!<;CjGt+Bpw%-@g5<6b<(3GC*gIE(BnweHefQBPPPssL>Q%COwN@;y5>li( zE!?c-0Cf)G$z66lB}^leT)S{44W8(qOr2eOyQbBR%3MNH?gK&*0zcd5#cl(uOy+w# z@duRT<^7s2Qr0|^eU)bq6WBP8{Ti(A zqR)-ra`rDY@i%*Gg);=;b%k*)&l1(|(Golz zE*1;AX4DC4Yd`rZui%o+tbGLTigfhX&LgV>f*TDct~`O)b@d;RN~yVhTs#hD_$Y`* zQP>0!80-2h^?W_?th0%ixPc2oOXM;QhDr#Yi~kapBcy6+sRg2^hr^BineLa}ajhw{ zuN}FKogYK2KvxZF|4L_bw2QBlXSs}sOxhP7y9H?2*Wdm9##V^_qD)(mW!bcU0Cg9s zg6+NEYyPpDk7v8}2?0Gc@@j@RTimyQC)w84dQn4a-nug4xPTq6gt}B!HJvo%%J1zi zpkY45TtWp?&c|`SHIG!4tn-GPuOFs%dDHC!g@e=ZR;GAH-%+&`WO`@TQwcq}r}UDu zc38D9aWDEc-B_R)cyWFF8+m_L$`L}qC*G@z>l24Zdh z0G>IgtAKw_70#GbmEn5d7CK92KT z%C!DQuFaM3{HPHNt}u_Q^7i+tub>eaHIEocZrPF>9P{bJP@C|V+|m1E^qJkX-7NPA zQ{Qn7$M?~JdZ^}NPu7biRnbp@%#u*2<@_cfklrYr88+9|J7G|_c^0kOV1}Wi&$IH? zv34{1Il%j1F#p+q5PNv4lgfHjZbwT3-?Z_XtiI{5G~nbr_;JIm?6Y%Mx`0C+NT1EE zN8PYqRoMPb`-)KE{~O%E$|qGS+260J(#JNI;Po!zD$bl-3ybEHjaNHf=R0^6iH8H8 zm|JiwdP(QS!0WEFq0s8hMu5pgeR#4})t(H6#7;lpf@R4qxqY4{1l`83G^cF4q}zKe zr(51elC+)?M_UPQs)}l^wpz);ONP;>*Up5yDZb4f1s>j;!pocvF>fT!eIN6V2DyXw z_3Zy3!!n02iUV{%q#w-!Yh}`EA92o7CMMKUZmWrcoQet~k1DIwBGyqF|#{`Izq)+Uwbqgu?<=lVc8$fW#^32?(#4UO`9YTky0gjtj4Y zm7T4WUc0gRE*9{+z}ZDe`48fddYcjXrWQa$o~xDmwx21B-M*`EKLI{{EG!2w70%Iy z)-gwTU@)F+46Q3IX1B$uelhZkVGY)>EmT*6g9@>|yjML7D)RcgU%Rg3-a<~CONWs<_%7FOq2(?Abcv@7@K)Hn%;KhMd>8 z9v3% ze^j>H#~Em4grF~M)Ue2!2Mq*(qu7b-CqeWaDAj;*}c|@pEFxL-Q?5oEEjBq5+3g3n}lU*T)zf^*8hC>F8 zHE8W(XSV4R3Z0P2A z$ZV#})egok;7u#dv6-;Ek1gN%GY0jmJWG(I!_NVADx;nDZ4UxZ2OPIIPSK_nselh_ zFo3T9TI$)IZ%eD|F6dI;B<$1EJTp0ScFpkFMujkss(*if`RHl+mxp0sHqOG?AoKKm zg=4nCf20EK$;yWj{iK5bw=pMq;EZS&e%eJp+ozxl9IxDIWOUz+%>J!K#cL5~{Uhvy?2)r{L2gF7Y-r=% zce=90Yt%3E$S9>D_mR9h~zGgY2y z^*tKgA7Qd(8G@!HIjeFm9APeBCt7V&Jn1ySn}wgpGM(jt5w5K1ndhN}hva?RNyFRD z4Ha^W?v1z?k1VZ(>OVi)j*N*&GmMS-8_fr#v0ItlXImSz@}js6fccv&`6SgYdEp*_ zJ(iriOYyt0Nu%UaPeR*`m&_F>yhlx&ii+r|5T;vww?95-#*jWf69_rSl0%qZ`aKvblJpQwMOS3f;44qL93^oP}Y+ zg+q~Z)<%|V_l}g%cM5sikuXR_6!7CJ1D52fQf4>G{%Oolw|o$c$(A@m+!~>ckbD%r z0#~Eh4_D05BF4A!o4=1ej@we3X7MET`m4Cy9=MhQ(a^4V`oq2&iv;I8Uo|8AbgH4+ zvQXgszx8F6*cEI|R4(l^kWyPVlQdj3qbvO>x=AJACWkcZg)jYk<0#<$dy*@x4K3w2 zaV2%yJr&M!?lme~x})8%lJ*sm;A%ssR{c$Wi)(fJT@Y)U>{roj20h==Rz>yjd#Md=8^h!<*STYzS0v_bXH7kH!)Xj<0>{ zkq@@+FDpN~o2r)vAMj`$+hW|3NeC^;LtRBOMtKqlnM!33Vf)Kq{XqEET)NDIy!dz{;AzxIi<>jlYFimi|cpPC%+p$?TfJmsEDMp(AU*CyBAYi>Qi9L973w=-hcN z*pw#5uv0CaEBqc_6cYLH?}0s;q_0kJt(~hNmBw9&ZVW9~ zWTHXR*u#Qw4GEsiSB*<~H*~phZ5Sl~nQ&p028`x202bN6@K;EeABC|kKYPDupaWPC z7VemS0lp@DsY(fO;v^7WpObC+igXl-DaZti$7pIi*6h#j0*JFdaeab-p=|s|0kl@m zCrw=Fk{H?76t7>ZvkF**uBL0ha(5=i3)*Z+&2JhQv0zm{zL=&GCufGV>djzYs0B?a zispaiC^PNaG25`Lp4g4PVvae~{pL0sUvt8?$ z`UG7)b+Zd7U;P1tH(Nf*+knTO!-dP8vJ-8;e0aSvT{9&Gpl z0-Sns9aLztgu^*t9DolhnDt|Mv#^c21fIvvM(x;zt8{nrX~yTKFhAh-=N7n04B^XqsP?sq|5PgS&qo_c%ZO9i(Y zz38{~fAsg-JT2c(<u2u}Vm4W0uMc6seLjjTe)PGO*wy=3 znj|~`8%@^-l$j888B zvCaz6OyBh>cu=9Uj;s7DoJ)S??wBUMTgy0e)m#=|QfKhFV;gmU(l!OR-IU4s8GhQl zXaX3;KkfRW=gT^A->f9ZS}@#>n+=$3T-p1^Al|cEUS0wv(X#Fd69DjUsTIkyK;CojCa#Wx}#!srScosE+X08o}na_5}9XU-6TH?MaUq}HnOK%f+?O(o(_Xdi;p^1 zClD6qh0rm>L-YK2+n5Kge^cMX8*FRLJ|&-3Qyg1>nku_q8Om;`h?Z7`$gW>O4_7A7 zm&Lo>oRJg2RwPW+4FH>UrCZ;S8?y_0zJv}E^Gg z2%SNIyeyqb1Yt3*04-yb;_2p#RMvF{jd$m=w)AEE4EXTsLdyK6ttr zIPp+eNF^nQkmgmQkn<=QWD$q@xKztT~LY@vhCti{t#>d(T0p$%?c|)sJix%*Kqw zZpZ;gP>d+Y^4MM{;2va&92T`xYcE1`)lNmgg22T~aiY+!<)tZ^tK)gU(HX;Wv8m7| zaPlCkt)|#sKv~5w7Tx25c5leMo_O!hNN+`B_e6kjK}~|hhHGW5XNL9-nycF+Gy6Zd z0#E$#yx|&^^3}HfA=VgXh04>>6mj+>dOSiEN!@DolsfrQ_)F+U^v7EGi+zJQRvVS9 zHrT@y2HTR@HdVJAegf(peBk37ILYkn&MXpJhHY#I0025a4d1K%& zMsq5UHGxa`_k(0wUTiVB2MamU@+4lV%uSJ%E*UKX@#&jz4tiOYHNUamLnSmbT~?pk z;rPDR9tC9}ly~UL*$gN7NRo!s*U0N*z+M{F?W8d%Cf{LguMi>A3&1+LS4~A7t|@IX z2Qy0)F9%#f3tg=-^}FEckrpOrb&hr_)#@#oZk3;K{>aq_45zEnQ&oHEN1S_}H7T@F z51QcP#l;%tgAtBA->(-(AGJvS^hDD+XU6(|02zCSNu(Km^E>4pR)WX$X5^2SzJ~(eQ z8ytd8d2B9wjp5=a{W_|)l6|_aDjTM&30z%cEsft9b|Zynvh0h)lpN@yP0uLB&y<^3 z>aW557iXb2jcvMI*A1+}O5Znqu|%N*^gmnD6Xe${-kiuwgJ@pmJ0Uqz-*=L|A;ZKE z5RW62TaAmI@tNN2TH`02z}mShtGpUOxN=pJYXEw6Aq3Yf;Q?p9`o)amK;dpZ01ndP z0V>gw^fFXhMfE?3%;R-_LP{!@nXN)!T#6yhFDTq=pXQcJ@qeOGT!Yg7@@suILXtDKQ19+8u-Npco^wZX&4nU+tx(+pb zeB!Dvw5?h)OKCt?hcQYbxb6sU$SR@hLijVp?kC}5%BQA}fH&}Cf^E5}= zdd(2YR|#DJ_2np-R!P;^Fx&j5790AelWPJ0Wkt8A6?%9%@M&lF zkjfm!TA1Bxm$%qy7SiD4vPs$71RID#!-L6Z)wr6SU1P{!6Pt~?E&#lEzd5y^ca582 zcO_h%P^uhbEgZwE6N0Yvug5m1#Dt?2|0Ypf0$O7w-vrkz zQUH6{D2~_oZNVK6$SUZ1Fk`^CLQ_dq})F>F}5^=PWoO(`b-r2xhvm>RA|aGSsB7Bd^u)uz}?|SdC&lbs<1Bs zIj|&kG?y_dtqOYMS72GYZ6_VnfnLQ}L^F4ud5vb%od!pA!bYgM#L;IAb*J4OpfSbB z@e`C+@AlqhePXLlu_$+;R+yR`+_CEf_3ShOp59Fl!$ci-Ukaiwf*q+kwN)u;xqya? zt>Oyak>l`EXaofobe05vNdjG?8 zV7}9Nli!p*V9eH{aLK`@$2wIY{T$dyvF`jS7${;~rs?0LA2dNbqmir*R@0kab( zcQgKpV>tp=5Y$NTeGz#}0kmmah)t;K=)dAq3oUOth}`0>5160kP@Tyq_;BXkeWTcv zF~8=kk){n%KCOA&6_XAsMXD6^{leeg#|%w;FEaLK@4G8;Oic-tI%I}?}Z|Eh0ZHBnP{Bq zDBr)RA^>yqd-e^r>nb7zDNX*@{!_OsK~tG zKkWFK>qIhvF>mEcsVNVW1d?3gR$;P$pg7SgWOs;7EVb)3a`U&{=NW@K-`37sW=)i> zfmGWv%v&0Q(<0dAi6nO^TdHm4Lx-qadJ1UAdCg#2F#{D4?fMEff*Ak4)Kf+{hpe(j zC7lG&)Jp_@Wf+6m|LJ>A(Ip=*unx4G%VD>@|0TqJ{IU=g%VQoVgx!awpd+dU zbc@AEwl$7Wa3VfMx7ZCv>(X?3#Vj6rDGH!bm#Sha32 z0*iRfFM$d_k%Vh=nO&C603&1r)uLOTZ- zdcK+=&LX^Q1=?@?i*Ub^39*@cng}@BObqRJXRqQ~rgKYGw(Hg?E;1P``>R%;g*=Hy zQ&g|*3l+?zl2DW>tun7tRwYS)$XJb^Fw=qXAx!6$ekI3#F8+tl zotzvF9)C1OJTlJT#&7e^QArm5F!(!(CTt;3Ph4vEdTS;8#Uo@NLsd{nGkhA7Hgsl zA4Fg_$8SVb!s}=Hp}3fCWQHumw`W%H+D;cl#y~x0WC#1}@I=s)5PCasnlo|jYxg|8 zzpb^o;5m5i+TU|E`;X2BtBllK^^)($X*0oS!?!86*zVL-YkKMzyMhKZTwC^a8PM>{ z5z@owDM+ReH&rP3+?Why@e5VrBM&+O70ma#Q%Po7rseJ0S!CEY1OUfKdTxk5zepX{ z!~+fbvUVPQo%A$#dcJGx;+l(rzJc#^2IItDZPRSc+lF=+LkP0+HR3zZ>iEh;-c*z_TCD@Cm}iT?CS*kjfk7L!g%x+at4qFX)UV$P0mD&aqwx_AQw5Tkal{+Xl zv{vhAT?Z76zOKSHWXYRWRs}WbDZf%Jme1hHS=n9i0F&Aek86D~;bH0_7r;Y=vROt5 zaRF{4D$Ab-W>9)+h~&-w^K{7w8sNchCr{wl%ovkY@OAOvVtW+=@vGOvCW4l|l7_Z| zN-1q)3xwfmuFef0#}z+^=^GSX6k7!*nRey$=TN)Wvc%LJ&5%-$2`DLCg<{j--!jNI z0kqeY2gN)XyHK@RsF5Z9v-!s8&=<1^u0}$7Le3X}Ys zil@AL`r;j1gj*b*K`6HVls*t70U^uqlYa!3(vxK;$x?dovZxmNjswCleqwW;HH45s8>qiNa<{>r|JSK_*XPoR z82IuIT`$y-@0u#hyFQ1^}=gRN-V8KL ztA5nXT6X&M>HD={x7$Tp-JZ?oDCE6S`1fmaut7B(#RsY)JA}{tS*RlJna-YA@9Mp8 zB?NZ*q(Cp$xOC--^_O!#0`t_5Z~hVH3BDW)FDl!|_RK$9LxR303c>3SrDX5cl!(D7mX7MKl5rfV**eNJh2T6ChGT+~WGh>H{aN>x< z_f8-2U5+)ZgY{T<4yb|Z#NV15u$GLVzNGH#uH>s=8|z@Ls~3Whzrz>|Uqf!66VPRfjc_*kPG@+WMIgnPn6>xLkF1%Sc|gePC%)PTl)};?%5T zlS>dNXt#NizOGJ?Q$=6hhSG=8IG&V&o8G-jv!NFkmZNT3cJ5Wet9J_};59K0oAAsd zC5NcJ%K>r~ckTzmE3ezDAXrB1pF>?vW{+1-2;N~G8-kw zz8#fYOCj%I~_V6DB)eB<1|= zGsKL=2COeywG!ip>$Q8Bt(%!xt)Bq<{Ec!;lQUQ3+gRZv$KV-_HO54}-I<-I4ng=j(ChTVS-#2EPT{0xPY*x)mI2vgGY*bwYpMklAb2YgWsexB#-%0U{(D;X5)w?A^n zlSImaprp)J_&K@&$I5IfT|~@*%Y0jN&^LuR^qiws$tj%7+W$OG-yArvSvZ&J-lUNE%xt?V5;sBdFKH8G%Gb#_Ia*yc)@ z@F=h$vp{;kB2D14rFLb5 z^k)BtlSy|fNH&j}hKauB|GfoGuKU7FalSu#7AMKQ9OHzTJBz+TTFHpsLzsE}Y*4lf z!sSrVnE}g;Pru3al+cHW>@F*zw16Kz*&$nc0vZB4}I_~)f`Ozb^$kX)I7*x;OpIUo$ zpC~qyf58OKEGa*JMw)1gg(GUG3I2+mq_ZJiGp6N9KR+&s?Mvsb;%c0>cym!%O3y*F8aQW3U-`-WM#J+~p~DLldj)@4B!Pw|=dV}? zHY)bbEYzmhl2t(3zXF2%txvQn2i8A3se&~5D5=0T2_G?_fb{#06iHdCF|-4xid*(9 zExSTn>;}!`mE1-*2EX{h#l&=YPRDPRuv^ImREL8l>Xy=RH$Geb_-X zCS&|=)MA=^aM#WanDIhlG^u#G%_Wa*BgV=YJ_AgVVfz%+_>=2;h-URG;}p>Z4WH`3 zd#6k(?kt(O7pp$5gEOe=bfo8v?VYGnM) z`9BE4J2N2Hj3^%JnsyY4eD=}-iqyq+B0I}^25vdF*;jo7YYQ7S%tWE#i@{schO7hG z{Jqum<4_u_`37`=VSt2Vbi=8M!VvAaw?k$Uh2nOD2)fz>f?ZI}YW?T(k&3a)6Bikf zbHFxg5e}l#MTRhJuVgUHra~o(lUv?R1t4V5-~VpdJn~PJo=>mi(i40z$0!dNBc%m$ z{Gk|J_D@;qrVY6U3d$vtZle7%d z{b;t#o!<5OHY#Jj0kvB&pFasT7m>!W56+F|f_CP2uY5l;2I?(~m+F~OP?LAuN)Os} z{`L1YDy_XLr>Zd&7C)h&!b^5bz}KrzWIda%)5ZXBB~z!=!I)nKhb&@*v-BUYt3zFf#| z)N1Kd2znLz@<=zvHUgf+(A)nAS8FJE*=%DuBiqPWB4^cBA7sDEsz&Q_V{j8N%yE}P zvZzvTCw%75HP(8Q=ltSkO7yw!IHLz~_;<_C6uqSBuVrG<-kEV(QNXci>z@k$B)zCw zopyO%^4ix1p}jd!3{O+F>Vlmd6;0xdDIrB$*o=X8Q$TR+(x#(`B{104hy4C3DRhjY3xCe(-;qsjmb9)qL zoQ??drBSXlYNeIGd-hp0`WzUWRz4XsXV|287KVX4Zs&`fYrfO?*=tqUT^%I{V{Mw4 zuuOdwZSxV1s>c9_5=&CKgYXa$pcIA73w0+h+1_BdSu{n{4uoGQdJ z70_V+c4(H?ph69Nm-o#mJU??ZDrm_Z%K)G;OvAaW>!j$f1)AYRTZQ418lp7>%oN$BskOR;s^-txG}{)jA?XugvQH_D?_KIa)+yIiIrd;c~w)nuYXXbNgC*jy)CE%dhW^#YTV zC(*VL9I;&rXpX;er5rHbC%l;SuA9KGDR8|tn2#~gJ2>xxdC<`b?Q^I_7;&m#%UKIK zXSW~9k9{X8{K;60W(sOClhFrS;0HF$ROtgF^t91zV;A{KT-%=w(t%1Oa)F~1M;8Al z16g0qv9yV!5OmQKe4w@&uUHT`xszM)tKfE9-BwyRHVxt&6_Mj87M2VIXcBXH!!JCt1Drh0Dpgu+Lqd3n>omuiIBv`ahj)t#lypkDw)CFRE8aSBl7}>{v3*Z zB04pr;%dN9g4n$YFlkm>2L+vOCgU+r$`vdbTX+D+9bflklh4B^nK({nXP8*n>vSYY zA0kI~X^knZ(fV);EACh;b984I#kPGx1)$}>?oola+C z&EiSm8hR`JGUsieaEudgy#2l2xV!2*0Q{=;M||hc07wSg^2$WT$(jJDi$q&{LgZqW zRj@Lg*q~%He)3M}E3WcPi_OfZhfdE6jDBXb`_N>dW9c@2?E{<%^AFzn_j`4UO;#xA zH)I=KwXhP}adw^4kDlwr;|PD;sjXZa`Qv+!t$L!5MAd%D9U`a_ce z)N_?4WA1IMud%c_B>8OzsDo>SHD?dAVG~W!MMFO~P+V5zC)cml>Y1^FFoQA_o|X+k zk#?(f8&=<(y>x~f@j4gg(7+gCZU;pd?mRNu_1h2`y#}kG)JgJ7{^_`Al5T-m#~WDhg*{+Uw!9A=?pdF6ZfmobOfodJne)UmE1u)0SvC8NS4igmEoIDT ztj9U3g!*x1^vl?H<%RS8y!mI_zLX{Ay-8&U?x5Y}pK_2{4x=RIHK$Xs+pi*u8_S(2<)_`JgVWT`GP|NPeEY$gIZTg^7&I2n8V0f?2 zInx+rJGg#%h~apdUw(cGd<)d7)MO*j$WV@>;|nDxR+yKqqK%vg=l$I0n3e7wg**!nFL~ z(l^CQ5w{dDRq@HAQ3{usC&yDH&iE9n>-q$3%J}rS65sx)qx@zc}*sVzm zIy!Scej>gu5{ryhCyXrWm(T?ygM^HOy5yp&j~1Pg5w0eMzew3G>p7GcCRl%*jjIXn ziLqIYMMvVJ#z5;!osuo4MqdjD&aqqdH!tT3zFMPA(Bdtr7ACr&gPrk{YShU361++U zlh7VuXuWSxCMHXAGl(ZaEAADv5_snxGvH~nF*Hk^3ksmOy7fQE{X1aU>>hilABbgM z@#Pq&IK*Q!n5v>~FoQVTDcCJlVZ>?+Fgn?FkK72KAzXB{e_09z=64i4V5%;Y)Q4z|2GS zi6T4?gS{C47wjw8$>@vgcyK;_3|H&iTm z)5u|k%W=kjc9!j)weBRGY?~*`*!VZp@d05gVx#i0GCEx8poNO_ z2nKn4#G!$~vRsQHXzu>IyNMmmyXj`^lNqrGRVNl~KjExaz^N(NUti(;0JY&MQ;Iqx zgZ&#{7&4m&uPvAhsn8MN7eoIYfU_Pwl}8;c$b&Xb^5u6mmGF1GdaraPv;@VZ$BuJqeDhz>7C|-#Wsrbok4ha{ye*8h0qDJ8Q52ZSkcs-W?nlLf?oGuZ@Bif zlA41#7J7>2&I>W&SeLwik^N;Pz?Aw<1t0m1oQ4R2I@G2s?NIm7@{>9+9_N)luDNml ziDYTjsP#I5=Q8a%l|>X|2Ub1lS!wmzw)RushTW+Z|9jfeQdx*+%2@^ zHlE_ldgjyLr(GN4nSX)lCElRo5yR)iv8$VhK&2fbFnd0D^XSH1CG@2NscU{7=SY~0 z@^l*aP4E@B$K{&E*?G#|VMCV&L$sr^G5<2G{*wpRmGJHWqkl47*~Yh&t~0+{Bs+k} zkdyx(B!U~F^$S{4e9g?XS3>BCARJg_E)@|(P3o503exfjxbPg7}rnJLDb zYU?d;M6KzCnmqbu1V({B6J1X_L{1hP&~-$0Eyu>R=Syi#B5$C`Vz-xQTK0?M9+x;3 z%o&4<;JI^_-z@&(aayv(pEaC<4J3B9r^J1*kG^;2?eC_C^wYMD@4clv2<5=VFsR+| zP3%lAK0mEO8hKw3AO-FcK}|hujI>CV9~jc$8H*NgK+9j^_}=2wO!W@fU@6*9oFKm-|>a|8^KbTs{WSTs)Roz zRaJg${5Tr#CN^hvqWI4!{V0&1?yzTC`28%n9ZAnPO89oZET6f=m#6wgFos(_Sypqj zbDDtV{5prX7>0#HOTS(FM&3L$Y$e>jT6){lKWOJv%d^)pQc>1B^|kQQkmZM&k`jON zBB$amJ!jJAbdN=A18W1@-E0L|{RFp^&M{L@RXkP+McB6>#|i+4r%^Dq!Yh?d?R8U` z+B|6BnP@JCh>&_RGPf0MV$6hg6y@MLnk>4%Xps2iIbpx>L13-`k-J){3e(RIf| z{l@V#LdtfMog*A7WtHsgY~Q0Zs-rS8%ZTi(%U+er9yc5*XN0Jnt&B6W9hEJ9NLIh6 z|9Ta@?!M!Bp3i$K7Qw~y1+0Csg`SFz=+#ksbi)%^)eoG^C@{BMn&kf>h`A`AV~k2y zA@bA=PI0%$o@YQT0wWhaRZ4|rtN=x7-8@W z|FLvE)7=Pj3u!kjsW8S?lRNDfHRACVOodR49c+&L&rnCsyqL8TGSKK6eh=<4=J0E( zO!;+TJ=#EA{Mr0xpBd~56z+t4F+RS;oid^Dtlo{65IB1OxDo}@tEsj*6$?*G;f5)e zr~p#+!c+74qUTy$6ND7dzUcHYzNSc3O(3=m!~pd5%RTZ#KJu44Zv7W_;yP6H{ZKW{ z+|mYxlL$NeLA;Kz-dCf$LWHR?-#+lQRgNorQ*@0#=kawT&!#;Zsp2W7dQMoT?o3W| zs4r^7sOIK7%XR7j!QI#9x=%4Cz96&>+3Y(FBK#wD>k26LIEvM(^Y!E%jwc-D`j2$B z3z&Z>pf2ug7H0V?7!A#NwQh@^n}gfkX0&|@BBZS0-b-I>ex)_gm(%f<0eI>;%grR? zrsI+ZlH(xk$lLX2YGTx67;;-3k0tqZ*Q2a7-GX77odAmF?kFkrPYuoJ%H=2Ev8&4B z9Omw_(h?CMKgWK=M+0ue#^8f>LUjZ)ti>gBC2<*CUEikPB6VoX#hs-$MC9_G20#rC`fx?dGtXh#v zhkz*1pf5`-L$`}O-U5c&0<{6j@C*wS2qkIqOu$%Op;r-ZJ_!|hwKY;Vl$aVoTX?6@;Yw&5TnED*OLvhImqwWQies1EdInN*o^V)>yEkx4?mh zY%j4O;pCOIvXZL?ACP_3&-1>itxY5VlZxZ^4P6+PL;fk>f*OVprB>oI!(d9?R07B4 zO3tFe9KRAh4jm0ULSp0AF27w#J4rk}igP6*Z76nmB%fksf~rgQn{jwRvio)Bvyu^> zo($X=uQa)qWMzD)j7k9$+alvM0{f>dNGRL|zaxD3o<>-d>*I564zz9^(k7(ouy|HM z^7zlrTHNG`900!>p8jUxyW7j4u)>^-tc~>2L9;rFBHF z$Sh;}uK7M3UUB1(HC%7eS}~B7E?ZUbnFjK^(M*8sP5=Vr*<8v%54M&t1}4%Kq_(ka z?5O!uEV0AMU)%EKVSzBeikav`Ur3kN-q$I*RUia#%9F&NwPV$<*qA>>KLC-87Vlht z%Vl}E*|ZIvR8??K-UkWNmTvF!&j{DG{Y-o{P7^k~-44$FrkGegG_j$}fa^@9_&;M$ zesUJbjIK4q1@%42cqzj>XVnO7er8DWL$$X3i}uoJo1wYIBTC#&25iau7##US_BhVz zjN@~@TY9#@AyFu{Ows>I*cLSad2;B{OV=AIVn1HJJjkd5tgCzfcx0*OH*&1(zSN z)KSg^7ct01MMNIyG52E&W~qmWU+I@oiN*Nc7`Iw5zl|@?%AI+#jgdwfXIQ@}0QJe< znc5PM&6VitR*o@mQBb&8$Q4wtrax9-!5KXutM9L3i$<>3KRl0HP!T2K2 z8;a$kv%k<;BdF+_zSG589_=QROTxq&WTt5#Plr%9_md?CRuP>i{@@Gh-NjxurYPRA z-~U7j%6;h-T4jTA8~M#OEF*uY?7oQ#pHT)}t7}dXw^hiUyH-#3(wS(%*eq27{GgU- zAjm(1huOIjFx^2nUbC%v6eosHS(N#~He&sO;B@^eoe5LY?WBgbw z09dHQ>F|5;(ZWcXTCZKg=|Vs9tVOu%!$Uhlzu^9GHQ*qe#-^mwoU^Y*C@7{I#|Zyc z1gGP6uddT`>6dxWOLw@32;g@c0S+PI=1`#B6`f$Ezi)dV@^7{16=%F-oZ47#4dO4a zfY8OFkl3?IF{4>qai3nY@*PLh2+tmT^;LZK&f*>GX$ysXONv&BTa&Mi#8avBKjf5e zd009?r`_a>xeJ_;7yI77u{gfk8o4V3$x_8N9bQHS-+tAvC(ZC!i`A;h*VaC2X7Dqu zq8-Q3-VVP$Zkl_{XX$zm*5)03X>pD<{8|zpD&n0cYiK(E2FX>60j|>^-fHUTkZNk6 zRT^D^d;&U+daikXe2&aw9#r#elED^oBSiTp@iKCe4pGv~z_MVJP(`k96`h9FFlGgFR3uH z7x&o);wY#u#}h=DPNsCck22?$F&-=l-GI2f<(95#>v4z|3#4sfh+#z!4Q*4NT1H4* zshqNf-`w{23!B%xM_nKM^B#~TfjCvI`4Qba)fGmE{s##+pThCA;GqOmr=fijOU0~D0mw;w+QkCM}TXrk9qYo=U z*1*)8dOU7sE_E4OH{LaA$=9$7>Pq*n)+v>khk;!Xe&3B?8$OO7#ZQ1lm&rJ)F-&1%TG=!B@hyuspy* zx|QFX)MBJcib*Isv$ zFd2v_MUD(nZSzIn0Uee+Pr~7(U9u8WCdf9)QA)f(3mm0-z9E4M;mvp-%hQY_2^NMV zu=V}o&EKV~^l3EO83*x*da{Qd61I3LpnRQ5e`C3Tm6`T_3U|1r+i{pdjXpBlB_1AFTUyKr29r_{s)_ey%6-tPS&-xQu-Tr@51+dq5hk#NjJpYnE#xV{Vk$O%-w4%%W7(m zqwsrv@K+^F+ne1c7j9OLxmbjOmQs>Bo(?s2u|2rjzu-6U%LC-95V6g|dQ^lh=uLXZ zC-$ades3T-8m!B2wOK7W^?#Jz%g8dXMPO@HB>%!v{H>1+SPvP6Kp(wY#{~XOmb1Fk zWziC(Mn@Ttcs~pzN#ji7dy%@`l5SR49#AZgOVUIv_bQ}y&!i=VY(1D!unpVM-EjLE zUhQ&K@9GuN&u~2!#ag-wInwi#CwyWN%nhK~rg~s`pLDUmb8&DRyjxpxyg7@?PsfU7 zR-Ik}5&clyr}uaA@g#_ey0NPObp~i#WiQ2qfJW)I7&lNN?j}|zx_H4zMi`bAFQRxX z6N3+^zRzQlhNz}@8`UqpZN(hGmuub(h`ceTW!uwasV`6 z{pDnDt16yXb|U#z8~|m>T-@g{gV!6Xv!_N(laD79I`~`@6v@xOd!S&Gc0k5&-sRHKFu%4)r3Zq|XI<}` z&z+U5Opy}L+@RUQEgSl_1#N!%vLx8Abhucfew8p^hnN>C1)?oYySAp`_KTO@xjk0V zps>ghwabk7l`-uunu~0*v?TP`fgv4c>!$!s@cfP!ftj<*&EuEr$1(vsf2w=rB3@x? z6i%YsPGA_ny^1B;E#{C)#(F&i?>ZXL7k72F9CZ?C_%~`}6ZKbRk6DuSg0eM36>KgHpMyqEEOZNhxLoZy})uNnQydzl!b=+dysIQX@PsaehP73by)~O>dabPbrVa|#<38tBhe5+J< zvLM$l5N;%Nc-0P|M1z+JFC=MhI&A#b!1$Ns$29PT`Hvn4usB2K&cn(y{1{BCm z0h00JY{s*SL6yy7Mx3ZlE~r7a$*+x?fMpMCSigf!e26mjg#xktofl6elMB*y2gkEV ziGE05jTg7fwN7WQZmJU4R-)AmO}K-zy`Zr?@`?gfI%$KA3iw5_S6;Gr5lg1k5yNdI zT~*fDk^N*Vjx*@pU67yRd3rLFYpVI@b*QH5P4MPB{S7Z^WGGl^tqtEMX2%GKA5*4j z|Dl2br)LX(=XdE4Fo6!=%O2p=W8D%5+)4Be2Pzf6Y{l$-AL=bLw(HB+m;+!zCEvA& ztdD_Py-BVG=2;sR2{yOBpqw=`GLc#!&EDeO#Eu+UAZdE>r3sMrDY1uog7=~3{(!{+>4b?G zmZ!$KS*6H^E&m9(>uo1BZvh@lnlX*gKmN^N2a}|Fpo3N3e|8^obkewL0|Tvwuw%f= zO8jVX+#*x(;Y|>ij6hS7DLw>E5Za(U^>Rh|=s98bv;>)V9o-i$1a&1hc$(9J2;=@U z_^YzB=Aj#?C->R7BiLg8{Q_3E-gtj|9FD$?LnN68M}xsBHtIL`Y3Jl~_uVO-y0zwS zpX>m)MMD0~Vk}g&Ya|x6;$h6%&xFL*4*0Xk_dw?nm3$e4-okjm&$#h?=HF(~gIL@1 zD--03J|L;VroYneCi9=g?MA5e1}Rc8?{t#I~mY_}X|?x$Im-ig)zYA>Uri zgeC1pwlp;bA=O_fiEHdWa` zU!N&GOe zHlp-?m9Rym&Mk3H21?lUVF>!aD31_yyq#ZX(;}tH+_xy!vLrRDtZ2PUf^M9ah(I`Q zIz6dw1b+S2cH!V@ME{VN0VkXFQx&so8DHIVFnGp;{)pFF8S!xU3ydI%%;KC#0Fz#V zPVV)hXY!yd9x7+Nnr_r;P0Z!KHd~+EinWO{h()G6_ zsCp5ddd$u2UNFzz21ve&)}tb}Ns0?Mpop{^ycct~Edb;Ef`m`9k#K*Ds!|SKwe3s%>?gcGssi;vgc=^Aum*-Z~FjXOs7R>SI#a99s@RoD6 z6l_W7k0ztk6REX=$vQ4*|HGVPfCjT(`Vmy8=gA967W;D7isaoJZv$;!Yd;(27_Wp@ zd6Sp)P5}9Of)SAY5}X__qV@Psoir3O6tbm!p*<(crF3Q2@bQ@X`VE%5-bh9I7Gi&& zH2Q_7*d25i7j=0$bTUQ}h@xk|PtXT00f4Xe%~`Fkx5qn*#*I#};+IT#Oo58t$CQ=y z@m;!2_5?qd{h(Md3i6isJ_@{Oi&80oW8G*q*WQ$4fk3%A3n>W z*w?MN!W%zu3h74HfU{@{LB}OY6I=>8J)Z=NI!`CGi@Y)_+(y6+K8ie(@Lp&F=>uDZ zscl7|NM+C0#(-1U*K4!!mM z!m__ur3RxaK1k?=_6rV!*jPGIOzq1Tw252XRs z=^K3hw`LdY2#{06^RKt=V}WHQcuWC3@H#jVdSHJ+odw~Z(hRrrjApHdyXC#6#FM&Q({;BXT;UEDl z^BcDgbAY1Dyy!kuT9am~y16<4yc7fslUTIy6;4CMFI8gFlT0BUvi3J(Qy|#*&(lGcpc3G|{3!dmttE5E6tC9`&|jFPcrn~7e`Mbm zGRJo@w{#S}QS%>vLqRDOM^K+={DqxbM!+59Wt}WJ)%peU0HZ=2?lhri4*i;pY+Nje zU1AY`3E=dR1>6y$WL#STfE z8z(~3R{HQ0=DyfU6Gh?Q6kAfEz)Ja57Updl>Gefs_|~V9_n=_nkiE=5?ZdSwP1?VI zNRm76TMIbD?%Sqy=N<8up!I#5r^!Zir^;6N9N%QopHNjoT3@-AVp6T(AxL);00x)E zU$UNpBL#|@6}e!Ne`i)8_}w_A1+bCzE-ETJnH70Dw44Bl@i zM)q4I!*(RLzI)axK=*(N*?2>2$%uD{ zpO}=xrE{4B+>{y*&w|S!$>7+@7>ni8n>F`O4%J|kP zs^1O=BdMT%F?~o5cr3qqs&MyTWGee)m)opGageL9gUUqprz_#Ec2|bq`u%cGo?h{_ zd1p7^wZ?m8f^YUs(gL&B(q(pVkqpO8hcI`)-$SrH%XH423=1O0E&3OjYCv9+kN77B zqO!)}dJ|tCg`AX8&rE%J2kA0<=6gpJRS0<{h(o0yVW(>9;X+6Tx<;MLT*}_(v8Ef3s-&$ zeL*L8oP!LTCiy}Le**FuU*Zh629vGCW1`dRDjSKZ`^`z%P)l)m!KHR7B;Cz-XrR@g zpXX!Z&nqzu`57{VcCLb*hMdl1b~`;;M*mjB z!v$aHt^R?P3#)Z_5=ZPLC=p4Km_5}7^D9<3$qLFo3vVZf8MTRjiYkD0b6~$I@QwA~cLZ&|>?PfkO_R9}VTdWzlM_u74fGl~9Y8^?mTi!0s6JfGuC#~61*Jy<}7%p zzc817XW~A0G>e6%@%0L-;!DE*VXW8~gm zSZ2h-4Vo`>sl3JcyRc&n5}WuroL&Z7X=?SzfcITmgreLrX4()1vbEG??RB*vKYHvQ zG&m0uK(7=VlKs8ZxDi&px~srmHfZ_o{R4q#k%Yo`5&6;9HQR@;ApT$P+a$ES5MfCi zJQg8+c~oB;p2=y6h!Zlb95pvY)BgCJRDk-Odc`+QPG@H9NXiO^_JS0k-`9t72badZ zCZd0fc7qVm>z+F)qJFA}+n`MCP&W84tVy8~gX93ljqRG+2frqw+W)8?@`5rLPqkTs z*-Y*e0@toI1tiJqciD-S%hN6J;C=z15pA;Mvo$|=a~)Zozvr=wA&^R2?f1VK#G~k& zfyZ&cGC}r%Dlp)uYLLWwISCodGFg?Dv&Sp0>p zyof(AqM&N>yjp$kn%@!6i&rIl?Kejkx4n*L%>z5{4o^t{4mYP090>IDX*FR60n22| zWNR*v$Wyf z&2U4qx$KfM-|Tl+FK0O`obiW!BIh_yt(LEi@Jt=o*I^!+vj^!Cl=4t<=W2C78 z!w?v{_GTwO3b|i-kScN*#s${iFBv~#Y7DJ52fp!gUVj|T*;YiOxtUQZ7MC79u-{F5 zpD0(h%9QQgj0vDv^cG$x$P(Pz;{{JA1?(x<)Yr}#bK6|v~aLWgUDGn)6x)AOW+vqYq9Nv$V{LF;w~t!C{GznNjZLiBFwUJimOd#>fCH zvCcW9p*U8`QlgBuEfm?8VI^yvb{$fSHW}PnxIQu#J=U`YyD@R;G%R1xcRrX#u>Kk@ zmPTSP6^C}Ow`uhrRf_!UE7G-!||AGdnMS_S1aC)=-B$*~MxVo4@{x8c4B54XzRf%BOE?yw-W9D`+v0$vYY} z0@t0GbUSa8Go`A<>rH6Y(hz$yck{n-xL3C+HsI_hlN2Lq%AazNkFi7J!6~btx<=)^ zcR1qwF@-v5s{FoKWLME2(3f~ke!DwEm{f1#kv-F&AdqNHo1ft`x%K zle|56!PObqa_jS11xplA+NI-WUos{eo+a^JkkLZNrA_!Ll2m|dOQ59OR-C!kHHT@N zag_@c&=m*;XmSt2br<&(x%JaOUXuLy?a>7~S9h3@DacGaHH{ivlgu^3q_2oPb}7z- z2cqe;v4uImjj3~XI{Fz*Ctb9nEIcf1BF)BWI3Dj~6TNUkc+mQeAGPeQ{yrtWBe-EI9s zhj-VUkO6Q6VCueXo~3#gJPbKuc>AK9`%1s?m-ZNGjb2|H!37nr@q|Ag<>aV0#4s(Q z+(E1VRUjjS$73|!h?I$8PCkk#&Ai?2K3qrmcJB^UP{&c1mVgr{TdAyouq5)^rG+jG zcEFsN9rRO7#Hnyy*Rm@b5Ljo(mB8AEWi0B}iQ-TB#M_q_-xsn;v9>p97{}c^Jn!kc zd9C>AgTon^D7oX!RCFn_&1BJAR(<~g@#PfZ@k`3=Y3 zh*w0a23JtnGe_U(V{ju{H)KYm2L%e_`JXMb{2F$h!wkRVbHK9gQ9Z z+~Ti7+&|5Og6#eNq&+OAf>W$=EvtFhBHRvWAIZ(G&Q`%2|Bi;Z5WgQHE{g3%fMvN7xS_i$PSx{Bo$5h4ckzs*rI*#Z!L_eZZtZ;K^U*L z3<3f*kYN(U42={|cT9%RVe9M_CK?{s0D{0l?3N6A6^wYqr~u|gpocF!o-YoHLLBfJIK?lfPJEVWTzS5K?I5L4D#8)u=cl@erF@{LZs1-5zj;%$l$zaLG`y=oN z1~Ln$JPGK$78;S&v1%73BK%cF>KBj&hdTbQ6m{nYx4>~xa})n(>(Bu1@uW1%aN#OT z!O<@Pd;bfS*KeXlLIHR~ha4aVEV$AHW=7yo@w@+WzurICCHW(wZ2 zZ=ztYz8=6&tRn?uNE;&H4=Hq5vL0yiLA5wQ&2i(46i4kD=5Dw@6LRPjn3N9G@ea^9 zrUFD+*>^I3U8LATzP9Y@9}b{**z&s~fU)HQ2{2RO{x*f*0~F~@a~BBu=H0dk%fQyq z|An1J&gAC;0QgEyG}tFTFznGP=FFnuzQDTd5uv_e%gO9cBR*o-himK-V>oQYFhpaW zD{bW8^x%7Zvo!Y2|HS}zZ4<~GU*IP?J?nxf}{#|M4*A(~avJXGu z4|ILdl{~1XB!fY0b+3IY1z-w)Zge9-NheUY!}b@&HuxH< z+`fL^2)H+R@Vkz-p9se_gD94ow(Q8BiRMmL@*e;khFh!kf2VIk7KgX`LU|S`xEwwA zbR*W_f5*YL0SlE^MjsB+8-O!GEt-L6RMPARYm?zH;ZCXu>h|8sHiuyksFlP7+lARRA^(x~&+r zP!YjgHOQ*+^Yp1K;+YISngE7b@#ii^>P|p^ywn~#K*5V6C9cbCZnb>3fsB&@TX`s` zuEAuXPsLEdLV)XaY3W}VPqe;swz>QyROiX{O3u2t(l|Zq?w?f$$hv=qBJsmv%Zc&f zl0FqMx{aPY&OV_ZD`)D6xqW`Sb_O#pCkX~$o)gLiuD*p|Jv#%Ij4jtW zcfn4TN#@Viv@71&%JeBdYpZ4JeXbPIZ95Es+y0xcrNpHP`te~!cdm&ceIx;h1hDE- zuEs;Qah%c|I;tQPuw<}u#N~nmd*ky)m%LzRAeepAG@bn7^f|PO;&hEZifzUZ`l84hHpfnGYq-@*fUe=w z?V<;;UDb%--)z|TYVvOAbcZ(%q1lXBhk#u>tZHLRPOp#n!E}t{QyS=Io#q$8ogek-5M=9|PRerPlvPI+OLj zR+Pp8o~eue`Cmi64V6w$6j)3tayDtw46ziROA$!cOCR z33&1az<{d=A30|u<1(y{<<@_tBQhp*6+feMOZOdSEI7^;C_g*{muNa#T_qFbsL9b4A3T z`REkf!T&h%y?*lw5Lwe<@xmxQ_$|RhJ&8lXbzp3%rtw@XZe=iI61O|ZpNqdlk(|rQ-g9f@>;)0d3En8ugKEfy zNhvr}W-#B4e?HGgC*QXl+^ZE9!%v8)s*}6i$-1@AU5DQTQ9nmdWA(iJzH*7)OWXt( z{3K8++&qscPx21*Nskd%42e_7UhUrb01QO(jU+-Rg1lBBVbscK^2o(Kcm9Qf%{lz{ zmroy^O#Rl5Yqc1f4`VNf!JVP+z=YB^e7PUS^%iD#arg<>)=3CGtdc&LNZ1U)J-Q$MvV{3h!2Cvt~W2}a^3y+=&!0nR#;98N%AT7IT3{Y)o{se}uC z)~aRY5vb1^4*pVfn`niA-)7Q%~iqov9s#Il^$bP64T*sjd*SH#1 zqS*-4G|U`va9`|rsz;_Bm0nmR3Uzz78=T30olu=py42x(cT!9$ZLx{Hg@%tDC`aCt zS4z&c#>({+>fbiI4pP>^(2s8+@pSXOxYUqddOF*zg|1DDSpd*<;TJ}~x=C0sU9T8X zJALM=TPqv3k71-8uIK7wPkiBNKeW}KTAzk~b<}I)bp?a#_f~BV!3PvS!7!*}~ zOD_QAMJsu;9+t>A>G20Fqt~(drtkDT7svH8b%LIyM$lm<0+`D{rA2Z(gl-iWTuPpu zfBI7Cv4I}N`e#$J-Qj6a6J^CWir;#{#y-wRvA9Cbw&m15Vel__{a$L@TWPcb zxWDjjcU(&^W9*XDdAgbwtv-V|`|t<80skFO#7Mf>)t~2{Jif30^36CLj7P=w;;3A^ znH#5F^zX1tuqh)zSa1fkx%ES@?!pD;r+Z1KnG+QAEB0x4r5|M_hmP}uiVM*dJw0g~ zWnwIZ3{Z9OR@7;1lR4J)v#$6?5QRl{&hlmv+_`2AiTN`Jy127~(*03)J4c2h|iMQRC zUv%vmoyIDP=lf}LiA7WCu=$$$e**s?j=Y*{!LC1ekPE70rIjaTwEqJDw4eV;86da% zYW_|03TQMn{~^Y48#FYMlwzt#j}$bv4s9q7^5Tm+(N+9JeTu<1zp(Ic;OBMgkAOAB zNzP{Ecamfl}Twe_2ZyS-p3DB(cUh@sNKPX!15UEd zRxk_0Db06>zh ztpPI7mu@?dnu5||Z*v6_mz~{_FXw#dT)+Qimypz|ym2Pbjecv4G;+HS$i>nSZRLqK z4403b;WxCMGz#&HKqXVGY|N7L9cs?>m0AN1l$(UHC*SK6v3W6W=Ffzn+tqik7D?M; z806K0QWmjza>-9i&*STjNdPRuRPc>#P4UxBdwGS=0gA-)95x+vNbazr^Gt1lRR5CQ zRJ7&Ax9m91ls1rNEdP#GmParEen(VKA6Zc|;=;}?e^mvn_ciw`0(J+Qj(C7(@$55& zGT9pR@P`~io;x=?l3Z;*<>!`Iy?@sDo$U`6-aQ3qz1Z-xM?E))IAWfxK^DJP5cc-s z-+zNxlf_m#UR*R^TW3w#Otas^5SokD7LT@*9sj}t>Ij2wI7#V^p5qf2WVBb!>RJh+9~u(l{;o`L9pHQaf?A@LO5yb@jtsE>5p{khf< z*27)m6L!t}TyxjKmmaK_|E~;4uR;uy3@tc1z-d``={LNr^i_z6!L~02(jbIH?rorY zpQ}rABrzeudep@+857Rwt^h^J4q9NK{LyT+Ja9Dna*E8*zh?qto&2KY2UG3ln6fw`HdUOyiXAZWS2coc*l9I zJh!`jHyQ{;MRa0s&}}es0Ja2}^1aN~WrQ!+O#9@6W&wC9=u_sec=T9Skb|CLzNAVR zct;N}R9o$|gNtg!!EKb6RJJAd*uo@7Lo?|Epr;WP{YJ3OZ4}S!Exd?*uQP$f86BY`ft1jOo9rEt_s#ie3ONzq z^UzQMX_7pd+#UjT+d*Q>L2FO3B9s!5`vh2`L~LYF((7&*-S^1$9d zcX^@jeeN`iCMbcd{d5W*#B|sJr`WVqKfTrHF`lHcsQ|UvMdnWou0$9Ci$pq&+iju8 zXo>FX z1c5Spue2hUtluy)9Dx6~>yi$k!mO=8fBFJY0S!I7MSuYblO5|8NcrnA3*6Qmjr^C& zblM0euuB~TO@jR2^VzJ2s|zTO+cKj=XXniR!QEhz!hJnD64p%h2N@Q{w8qmMk+%#$ zc;eP%z@=+KZ0)8;84i%E%zoen8TH7cVhrg)jj&gd=2;5>tJaisY@Ln#DCp;&*YXO2 z#2OL4Y#a~e#}_CNpTM?w(>|>tsPHCP%=ot==-!4teTygbxCUD%h;9f$Q%{rMUQqKY z2nXS*!-Q$K`4SJUiEx@CX!riaQJtHA%fspZKPTtHj8$oID*K%K>Ub#<*KeS`*vh*L zgs6oZ^4cD*)9t}|tr$W_f29;w(Za1G@}KFpy8f_8RMgYV-Urn(! zdgNMsF&e@C>X_LsVS1n%zE|Cf%5$+@`;H}r-nEek)u%-ae0UA`9s4Vdm`~@7>#@c!?AMhY-(<>U&K1AOODLFNDh9#^e44 z$Ms9zNP#oZ#6qNp@Tk+x95B$Us9x~FSjsfn_dkF`t8Bb=40}&<{l~mlaUs|Z0Lw=W&esmdE za{62Qpf$Gg6nliF9<$Z-XSnO6krq_6L*V-hONvF#2Kt-kAUSr+Q+B7}KK1X=o4Qdm7I88Z0N@vrGUdc`Xn;J*4^q zM8y^_C`c_mY24--V#5YN&_VeTZuN`D&psI}++LrCTi$Cp83b97LPoM&!RqLt)Z$&U zB1U4@%-2<6{ctE{%$@O#uZ;7nwR}dkGUfOANR#+X(yJ)!Hw~MJTAW%}pj ze#_b?I7&^m<7~TR-u%y>MH<)?{|lp{l#Xwx@=o8?1lZj0rOOhNzV0!+Ownx-;B7q= zRlOBfLur0~-tj2J7PM7{#3adFC7F+n2Oshi6ICR<5lUB9ss8ZsDj<7knr`1|oJ=W~Eo=oeyHACH}|tuzNkM~BAd*JBdu zRU#Rt^Hm9yH?M2BZO z7J)oq0}6>JAJ4kBlbTB2y>WMe*%4%ZI4Uo8XcnyMa_zhvW(ck2rC2WC@yTZzB&GZp z`^Z5wRoWMFT|uC;2S}$pU+^jgj$@7~pw>d+R`#YhqWa*;iWNt2&<8l!hH-a$d!Qew zuHe)Jl-`jiNbIlNBRv-V5E)kB&Eq0;_KDh@&1^=KUB7>c4+1Xq<90 zXyn&8TzhidfImONyK0M~KPd}F%cN?uzb@qkooxFvZO2~bSY%OPpszo|{v;ySiK>V%tD{I86wSVG1%4X)3@G7?-)&k3X?>cz(jdL8v7iGt;3V{1%P6(lhr z4_W8t;>EH5-8dac(qoy1-?)0#nU^Le3B&s^rytSsQ=3SJE`zV?QEngt!57 z+drdV(>3Y+xhh9nJn|ZAq@Eg>_R*&YN_wPZrOhtn1rla z+3u>jDn#hf3RGD+0o+MJTdN>?!sV=tEJWkqQ3Aa34Vev#yxZ9NZn|F)ASzbku7nC4 zF&*9jM{jhrrdVV1=s?m;byZSUiQHo(5(s5OIuKf_m*{Fgf!lrt$LPh5{06K(+0(0o zpf%PI=wznP&=gP!J5q3eX>bmZu;@8{mv;du#7j?(dx3lwF$e}Dt^%}=KEE*Cpk4~p z{?-f7DkL(n^~E&gB=cj))SD}blTWlq#(V@z2#(4Er53N!O|;vt9P}#K@?}bCl~pY< zFHx-OJ;`sr+}>;8Q&W3pWl#r@OZz2?+m-yXRRhJm|ICmHH8+ji+sq6CQ1W7;;^3?d z^ufIA^}8Trl~`gpZ)_M*iM~*QED=N_GPq$sF_6lhD-iZ5+@ z0L2+R$rB9zVz8OTyQd)lG)Ehw=|c>qGohn|f+F@g;5fT3B_LwvwnZbvT3m?&w*5+r zGz%HP=%LZ2|I$`wHUllqb9ae}nU$YRfr{z_Il%FGz%5^BTXDDfB$U5oN>>S>+%5&y zp6(T-EVeGiydmdxTx&ZR%!;xrEsx$Hz{P$4kRD8OPa67c*Hj5drsgLh%GY=bnj36R zaP;7C!D$orRvKw9J%|LhjX)_xKELJGS0wMINoExV&E~1=MaaJ?j?5o(KK!K?Y<= zI<5GLPDuI<18}hZbd_?y(7IPPp#aT} zCK0!yG-Ht^+d0h~rkx~>&vd_2nUF;in|@ZFKY2;2F=aEpkY4WM3$2(wZ>tv34^IHH zzbxf#XtV9!7ghw^#FtoA;hG>o;-8M=V^^b{=nrny!)q9lQu2?OZyXjbVXyZxumn;? z>thqAgXc%@u$6WW_j|iPHLqew)$m0srh-fL*A4|$Zia-3iIAPK71A^QnqkOliO(e* z4gM5|+W|+v5a(~{0oBhv(Tiauj&~Mdt|Tcvmq4kS_Znm1TE?nd2G3Ev_tY;g7-ph9oeg zXXMZ?e_`rCXZ6PXz6v^b`lkaFRR5F=eyYv&Ms55-2k&7JVH!2zy%;ha4fh_7Escs> zqc|?h2f!Y0*dC{tvVemac}Oi(9fUP_OX5UXD!;-XIGX6{$c_pCo3{t?{dQss=JS21 zvSO0e8vA;QALQVivMnv>67}f;!~LAEQeb|W&l*tqT#D*#g_4e!*u!ruWwUh(de*LQ zQc!y&ouCN1=}JI2mF8iw367@9#0%pGIY5~4Le+-p_BdWWU>xr8%3q8Lw+4={qiOsD zFV}+C0phn_t{+G$i;L$-mXR5U9WB&;bCU?xPx(<2s{Ij~v zsG}V_1TTdFwPM9y%Xe)FDzp2$Q~(OK`5BB=-UhvYAJ60qbxe~yu=RI>=>-Ey|4B^0 zrKOhK}CsH(20lMrZg_7C|zMhXYl*||Fiv}OKcUy~8sMVhTv)elr z=1;NTJFHV1!~svp@iwohW*e~;HOol$Gw;Lr}_av4o_%D zlDDxEuHHPBy8^t{Ss#pn5FelO0R>4A}A@ zQV`h%6R^+Ty;o(+SgS7aoM*I2tITr)H8P+?>$M!KUf!h<7Fy*QUN?6EN6y6*ZXKcB&`>h_120^a@JYOqbET<9 z3T_=VM^wSJq_Sy)h#wDqc#`DRcy+U_WguPo(pXy1z_r2~n(nSuv0Zr`Qpswqx#QrA z+Bdx!JP6kkL9!N?=mCM2@}54jT=KU5HglC)QhPVt)o|OgM~P!)5biVxhsBC<22_Hn zSHQ@fxGXKg%M27-nC!dz#`Z-QWX-@n7rv+{+N32zJ-8Wq6|^IKHT}jQ@`OQ04e;`W zz1WEUOyN$a_7)mpV!~Uy*0lNNBo-e$;CIFbm4BZ(6a>osao}{%A{{g2Cp_^r%#szQ z&p&DheS0$jiLodRMct7Pt=4dNL8)Xjh^3IsilvhX1kmiBoc3-c$)nctH)v`rt#&dw z4fDJv$QfD%bO(~*Zv&@iMF2VWkxQ44g?+kFNJaA!Hs7PH_4KsGlab&{L=p8C29U{~ z5cOpZbq9M{NYx}N^-QAAT@skj0&Txd=CPcDYF8`U^n9d_nR+uuy;%33Y`q5$4 zqFLVdI{fbaC%+Nj!NweEobi8MZypa-|Nf7U>I2Uq?vK%oSEaC*Y&)f z*YkQ_#9F0ciXmsrZzgSNi0b{5;V9ru-~mLiz>4*bKs}7hohs0=v`1(gcxS+?E?}i0 z=2<5+4;Ky3ld^F=sbz>Kax1?aOvCzoSMox_5K$teU_{&cj4oqcy zAc;ZX;XvkYVZA@j84zo;;wNH2w&3|>*msH=o@9Xa^mBD5*QbO-L|kLkP9NN+5eDrY zTt9-H-Q3M9z&!Tf&Z$xWLi=zGJ_S0ABRwd;ZjCA9xzBH%2awZYU#-g7mPH<{yYBs} zc0C&q8P!2NiN7m)fJno~q!}uV_F?_|?>5PQCYG%+NIGLj#*}f4zv|YNM2AI~l%~@w z@csUnN5q3 zZ^h4@CswIGbp51}F~uTjd)~Gix*2PZE#~POSByq3G0@ZB!;%Mp_^iF2hns(A3RYRo zl{f7aA~mDx-Kdcs`1KMGY~wdqMJvy_N~Eb2(TR9fME6{=c#39 zG6>7mp6CbPw*3&J6BmfvdivbBjWrbS54+!|_<{3{SPQfqIL})Dver(Ej$z;;FU>F6 z-|Bt2x(i(1l;nT)ZLzd`Eki3VtN(;@v1>FW7=wpO-edp40A7M&vVkWwpX$iy3<01> zPkgi`1gqMyp&hsMa3FBW(+OllPN_xv~YL!eb_)t#~GPbj>BZ0pM4Vr zkgS?bOH29Z!IpBYqo6>oq4>vLXysFJ688cEH^$8?y4q%dNrp|XlZ14Fkq<^l54Te* zT-V7wo2k{v%(nObPVsbzE` z*m>=66nTbB$imV@Y7Hwf6u>e~BrXs2 zH_|s5j*y-WrY!-5ThxCzC1Xj+<(C)vrUV=^$EM0T#Zf%~Yn>dAjCiT(kuGGE{)jE0 zvRi@xYf=+KUn^@}k`|_nY?Ptq%WPjxt5phe3QR4q)?9(e;%nhfJ)EDXiu=>=gU&^p zmQ$#gmqlyu2O(mQOQu`7>Qfw1;o|`UqSi3T0A{=O6I2KO9}v zL2TX(wA;Vv@a)JRpWTex@}5gaYK6hN`XqP9+kRl(mJ_E5Rw-c+JJJcU_^=pbJ&>%T zguqdM!px_i3<73{u9X^V3U(?Ge{ATN>6RP20d9+SxFQRwg87-na)kdYbnnuNU|z$L-{$luVqK)3OL8g! zV?x^uhq;C;4|liPmQO*p)Rb^NhCTQlg;*uy#xBR8n7L83JV|9jN6X{K;ZHXZlyOC< zbbt5^thc_V(%qq8wBju8qplgN2jI|gv66l=SRC-;=g0Q8qy^3BoU^F)IXPX6O>bg( zp<|SwK`7+5wnge-xhKp@xDGivvx@c&>r^K;`3ZD}{p;It=Kf`iZ@%%!`+_|L{tSR` z*dKP{?QS$KInWiOZ5mrWW)cF#s)Gjof??4$#HwziE`2r0#Fc4S`m2OWcpK#~47S@*NQCG$&`C*Cehr^HVjClaEG(O>{5qvxw*%`gIe7)SN!tX zw@$T3+FFdkQp8Cn{vnbS9Qaq;^|NH^YDyrww|B|iO~xA4H z35&udagZpm(;A(YxueQu{%X8jYJ}69k7EwtB>O&<_YsR)nC0vEmX!>UukdehZoC81 zD2$V)$+HRbl+J3#YX3mTnwOYS;n9w0!HF${mE>t6eHtbZ82_C!g!LZMW(BL&X^F+C z4YcD=oj;R7=~*Xp{?}`8x1X~M1{V`@By@ti&+2N`K(uX?14^SftFLC9NL?QB3WQ~; z{jEg|goBaafw+XZcb?lgzZ`x0^mnu$(x)k6qt8#*NkaNemQ^k<3XNa`Lbfh1^#L!u zFO4oJ@UutXn>{)V}#pqjL&M1y8Eh|3-#L#=t^& zN@w?PeuYU=Mwab#ZLO^h)RTC;$>rYwg%4!Si(XZO$g69&?7wzke{1%D6X)=1F5xSP#vd5h#8ZgfeM@6>~(YQgjX0 z|K62yP^DIM`q?w7nb7-`p$Zx2u0Y(2M=0&8_Gce-0A?rDW)}ZNq%tkOW&p6}P!0vNAx=<7r z+iE*YLmFRb5EfRX9>d?D+w>O;d}lAl3E6D0lB=8`HcYkU=h}q~GiiJGuA_Rz%)%SZ zA6OXHe4iUI76VWOc+D{bcgK+RSj#&i)$?AS>nV0{mD#t`Y>_P#;Nmi_Atez12QJ5h z-_;12v-P?q0r54X5lWGl`%+*|UWmGvb#t~GRats4zkm*NHJ_`N2u7~vKm*f0Eul@x z?V4o%?8%OQFh}VOhc5%U`0s=tO)-jZ)uMRH5=6yn=Jjtw3K2d(F&#o{Vy}eY=dRxDol!a2)IaN%Qgl^Kt-DOyu zJ{?k-Xq8y>hU@u_e{TWSp)IVRYm?Fi(1>&4-xh=berNE(l~(DCM!0C<3~S0#xUQFaSAr1_`~}az$Z4aU|vcohk}M$-TSKCAJOlDkNMVS zvZJI4{C{yxpXWBm+mR~H?QWO&nL6Lr^187s@>|*~x}bP`L*ifq+t)3Y-=MIBmMBs@B2eoobr?@bNG zB4<>7K$y*c&-)o7BP6C+VofA*lXMkHu)M18_I|i;wyxU!K-h@AD z+#l=cuZk+3$x!@->a(*>?yo>AoxIY8>Moi^*dYoQ#f5fwtV73^;g~7I)Xxp)(tN9= zhgfyte%#Im9>Mm;1k1khVq}i8`$?*7V0W4xXH*F`XvC;!q>t_Bj>0|jL@SY1TOYLL zL%a$HS^ZS_707Ac)yYfj!-U9$r+y|@-_}#GDfG8xhQP=`Wx57Fz*IEGvl^MRDR5tR zGM9I0!TLT-43%TQt)n(Q0`=6gvzD!D-}O|>FN07oAhGvoSx1flNrTMH9Z2*tM9k%h zRsA;4uZ55_XIyrn&p)K|GPqe?Il$(Fn4QTMtr|>2dJ5-3D!#O*LQSKXn&Zs-ER3NV0gdVZOx!8vwMQH7=d^; zst4D!zNZVQ_~PlDBq0f%{iroAW8}gnz|gMVlJ;PRqjhbj823nIQ_}*j|LCZQEu;!H zSOQx6b2N?vG|q29=Px*Phv$R3s6?(C`KAfCH0x&qB&B{AV>D9Di2cx;J5Oy9v4XK` z_%Mg=t0OH*BTQveHD_aT?WlMOo>Wp>2$T!+}z)H{~5JNq$G>eLLGiZbtg|1!ZB zcMc~zHG|hkcM{`PTOXf(x_lGoGbN;tExi&=l>C+XrQ61&bW)aPmY z$D%(5;+H2|Y8g0bL|RZs8y)p;<*{WhFmNW4H&qhkq}WQuIQ?SW$khw_JsYR@3VF?H zE`y=zVD~Y*6jF&>3-|g0uCQ7{u!BV!oM(+CF=O$d^nEU8J9&_jQ|a)Du-+GyMW*Q9 z|JzhQMgjWi9Ag57UC+G0K0$yZx4^J#-(@9%s?0POe@@c&u2D=J$@|t@Ch&dGh z?U(-2Sbi@gMq)HV3Cn}Z!0c8&L@yO$5X5VD zJT>hLG|L$xR!0Wb#+xU*>cD(fO-GY5me|itCU>%;z*g>lsVrG;3#1xvW~wu$@&?og|Wt#eO7U@b1)|;x0$tGtge{)MVT2iG_ZNpf~Y~!rwFdpkzqa4SKl4p@VE@0ha6AXLl3L@(Ho!;uiYQ+PRgxw9a0rmdrGZtk z>b2SLv6l#E5aSMTfH?&7g>pg4O!x=Wr89&75xlStz`K+6jq!?LZ&i7l&gb*QdecI~ zQ)y-x?l~yECz6gSp7#5|#bO?|G)*LP(}?kV7gI)(pN$XG1My)sY&oN^JwNW-@`3_U z&!qo>H7h8(I~@8Jy>w14Y{NQd6$)44VJV7V%40tDM?YgYoKxCq+mkL4CBaxg+efpL zDW>}BA9TJpqR&g-r*yWQ6p4PZA07RMiJCQg(#mSt$Rt|^e~kGxB(X100*P3K1l!+s zb44*?*Pdu7`1FYJ1;R{V zbE3uck+;1Mw>%gQPWqe{CNhD{r>~7h#8#o*x&9vvu~2|!}HpvL3+Y|yR}o|&1hn(Ms&4sfbM=G|~UZ>e)MOfFrl z746l2$akqJdH|{q7Un!9Z(&{x73YpwNVvCUJ^vf@IUz$USLeS*f4xVnBK&lP;F{bA z_uBdJdOLl-_1IS5&k)$Cldf7qQ`ZDHwI>)TDywyllP(NA;=>Y|_1nUfs7K8Qw~dh3 zF5_o-Li?~G1@fxLShqTIpkiPkmv;;w`KuV__tw;YHcXG`1imnSaHBuc^~enb2FDP4 z1NbQciy@>{SPL4aN>UG=)4HXU6OZ&%rT>F@*?yyaL)O125WiEMGyKlOuWU%N{z-X+!%{ppOn%t@(JxK#!G{O%ib z?`z2kZIU{TOqQ|Yhf89C=%b6WVLs7+mTYG(dsK~)JvB-nK~TIiLRaHLJ1%1$+OAYC z^KeaCG^s-yRB4X=p&2W6Y{?YEZWEk$Q#fv29TqhAghA>0O{1j>FJ;PRUbud5;TxZ~ zC(|3-Je~HQkU~epI`zDEL=7Uh@1Qr7GwHHf9Ct0&A1~lwC|qor!zCp(A;~4#2_oI; zIa@&9sqh;=g~`lO;)&59(R&7cFR(b%*z2g`{4Y(bIbyZrRacDG^>SYTGIX0iR@iv> zVpxfJZ)9_H@O{pYb}j&pay;*>xM1`ek$+9Mim-Gk7%s7En32siqHu2kXH^~fi(vj^feeRl3POER~FkJH8`a;UN+QtqBfCv?cujwU4@`}j zIDJ7&8J!Tix4^d4VUUqc`9>aVTL!zoN@PR699o!4rK=ntuq}uY#^ba;c?)HVN zlo(H6n1l#hX)$nz|8)VRKQe4dLM0$ls;%U^ji^!i-(tP9A2*%c=y(}{4w%seGlsLH z%24`8!%%)cAQZgr>a$(k!MVrG7iwvZ?B(y~i^qg1F}mFHhDD}D5E1T*x0cFIj>7Om zU4bkG4f9UIkYDRnhSlI&(W6DK+|YM9SFMjK>cZeQSuZ#8!suQKpIOYp7yg(j&T6DF z?8k_s4wh|!hh@CT0;$~{X8QI{-dL3erS|D&zWl7F8(Cd_cN^(qwkn^AIEDSY!Z`L! z!Jwj_|EKuB3R2ydwQSy?b{(AW#6m!yuH^oxT~73litQhVGQLN65^1MS_^|E{Q60_! z?Utw$*F^fLe3D0h)I8CswYSP|i9|yv%am(Ehc7dZ9C?@cyC&I?VK>oF6WC!aplDO_ z*h-o6yp?GA9T;b~@>bHFXSyxjpZ>>iPFyuro|tb?W}W0`-yj%iggtDoi=A9#SOpRE z4iKsm++^=^d@(eRtU%d3Y9lPy)BO}))2SYYTnh|BeZtw<3YV zkcA-EWS{J?2R&bU>gK-b5Kx{@#^X*J?` zaW3L-cdzyw@yh%cUOt3=>O+C%n_{b7GKQuopM(F0{yB?PGQB11@Sor2O?Nw=BIxd@ z_5b32m=B>GqFhWra@d1cR}tX>osIyJyfdZim0e}dopWX>#uuz0bDi+k=egIHIZS>L z!Y%o%I|TYJ9F{3zL7rkU)2;n;pIhRg#Nex!mljPd_*2UDBruLgBt?5artss$suviJ zs&c{PvvigHx91i$DA7gMUZHilrA6kE@ks4dLpN)GvIvtJl|fqPb^30uopfsi>oXPj zq}00k3l9$ZUDps|zQ4ui77#@BD{{6yHw@Vk19#re5v9{s@+#jcAX5;-n^T2r6?I1ktotKP>y z+J9uA(Em2+fFXMbSW)VFy$?BL%}F`fpOtcFf1g)?4aEBW#=?JmtE`D-(`97c(Cbe+ zU^4QJNM|3YbDMuIwy*KLy3hy=9Jp_1;e0bl;E3QT28;2vH2~xOGnb=8LW^(q?`AF7 zaVC_a7=D!#YwcuUQ(tq8P)d|XNcfplf+}WLd$Itr#+x!ie=PfFT}muxv0h5ta3*g% zkx6O@*MxpJp_hyoiFH1Dyss#uU=sO0ZZz}jcprQ3rGVZ=|C>AHg0<9(k$1Jo-0si^ zdx@gVua;p<+S)haCR}pAB*)Uq?>;DzXQw`K;O4eIAgx{`X7rq_Hs02xY}c~X4bzKS z-jzhtp^;^1W0F{zW6Yq;eTJ1&6tr6nCNpL{P{nex#9x@x+XNZA9jWSMdP^0?MK9hUS|Lmh0TC3(twi^ zfNt=b$?_P6)AI<>HwaUjROjI_#P?n3s1Y)&K>=XAz;JrG9qU^ePG`~n?H|JwdrB#h zz8(8RDHV9w2eAPgjQoIKRN!r4TlnFX1)DS^ZSSKNdcgm$hj2Wg%Rx`L%B1B&t$6z} zK2ThkLOR8PO!339jpLD7Dd-sgw?e$VM_dK&dm!E)MgzO-OG2j9FB9u;Vf}7xALhz` zK9@uBzaPM!a(W$XX$y|*u{PUOVOV`dx?=`@T>wEq2uG2#>nYY)9e~>YRF;L~wj247 zG_iFE_Xk^}Rl9JjofRP3dzlKlK$EI^LLrAHhzOu47O zhbcO@YKsjya@UP-G#T;~D*>lRBD7_WhoBuZNmI0&9T-l&>;D9)668frgp2G)>3FX8 z$E~@n0bHX@>Ipv~o@;z16_7(Dx98^)d0=Q>JDg~%g>~}}25mmI4*vcA&JVAMK^2sJG)O9Ucrc67#Qw>uU2Lry z`Mm$iy7?lsED)<~B)$G9C0uuz@`ig#s`}d`+&Kk#( zqFlmpp6^Z93U{N1y-}#%g8T#PKXf1_H*fgy8ju~%Yt)T+dnU0*?4;SxqnKnY!taB2 ztzFSyN*kcX;O)CRr(TEoi4>H?BNXi4`9ruKM@NUBK^rrlgKk=h__aTaWW^fRn#>w# zeU=}6xpP54#P?Ti|MKiGx#9h3S<_X+sRiVaYtel-ONJQ?)yx|}y2NU@1&akGtLm1X6FV&0B&hAQ(w||bZw&J17?P*Ers|Sg?WFGdB5$u^9^X7ew!QY9=8EiGj_59XR_}FGK)O49S)ji^ z0y-{BqCXRhm7SeUSv=aMe=-vYhGSK%*TtGc$qkKxqbGl+6y$yqowpGdk+^O9y_8|~ z(@T3Ei_BS3htR1#WH_ikttCt+tfsN+wZA;SE0dk)T*=Q*x~xy z4go0ceLyqmFw&Sc%j<=QISrF!_UyHwSZDml3$C4pmip|PbJYl`df`DqPEQ%FO!}J8 zV(xbke&C%7dmK!RHVDrpaJ9U1zVx;^M zlx)28JlE^K#IgiL9n|Mp^qsb$(~xS1aLvlH!3vWICr$((d7FV($|y{inySc?brU?Q z$MFya>5o!Qp}FRZT~@EH1`Q@VLUT9{fHffb#f9Q?jlG7P`!4^D_p0nqGeGfCRDvz$HwoJoGGj_IJsM5gFLvLZ0zHg1UpRu2@ zpCHY2lKnbvTqYKIevQ;0<$ADJU*3|cf9;2yDbm&iMxt2}FLuY6UU^;=G%8hf2gwUw ztrNfHri^xdHPq;=r46;+T4NqYBgZ=d!(w(GB1otu<#*@K5P-<>!-N_HRajR6E? z5*oKw&XY<0Nqb3KrMOtp*`7YjAkZhKc0|YzByPJS?xtaCYF*VxOg-8%7K&<{!f_tH zCAqtb5{T?t-ve>?EDf#Kt6gp+p17gsk_yfnhjvP32P73eeh@4)<)!IQELy><{VI7> z8AcJ4%h+$9V)B zNlY8=@7%$6$9xO9szLtipu$DL56%m2o?>EmcXQ>g>OzvY@Q32{<$|>;GxP(w>PN%% zjRv<;pRVs+XTop4-yL^NDvjbq>c}GddX_&x6`cnEu+|Camh-qS8iYNSG-8W2c>bqk z`l(*&S;lI;oY)D8B;d`NPrm-WM>WekQFUac=LAb?Olck=1;(T7@fyVMHtK!Q&XTd( z#@Qz4#a)ir!mvKE*~g0A4%boz2D0Sw=dP7>(G`gGA5HyV`#DpNO5Hn_Vyg1JF#=j4 zrtWnuyxeu(wS;o?5~?G^QA>VXE+Mq_^S(jf@8+R*8_GER3xKYY499)gKu5IRjkX;& zpK>5$!xT_kgUBfch<;_<0v%r1gh_-;03@y81N_FRqF1S#{79$V{o17GYLsNbzZ+2}{gc*vhXF?A43M zP>T=Mc{Jobt4(M({(_|+h>WWFg!;n#IQ`(P9;#yN|1}OGYQ|q-{hMH?9R-kP;SiQ;4ALd4z zKof<`ren-muoB!rI-^+M_qmnCt-nFeQEGpuL?&{)73*q8S3E(qV$%E=`f3`32C| zuRTtYm^&4|dq1(P0$-*(3d+M~;ZjC2A6m(%FZ(jBYLYj&d=p}8J)SUYxB>7%voEbEDJuf7XI zSQl@1?|t%TE~n|{jZyUXou|uzR9w>CDEzdut6;^C+k~cItT1_H;PCmXYwvYWv*WG| zSMHUxN-n{kmO38m*}eowmZb2&hq2s?6;CP2 z%jTiPE|jOoWr}N2n0T6h*hc#6Nvze<{5aP3p2@(0%hF~SYAle0K|3q)K^i+azCu6Q zooZCXs%GCo&8uu-w_op{wJ)-0?ZaBtHN~6CWWD8ix+87C<)K_I*5&qw_AvQSmzBF+ zy!u*g!d`Yaq&UCI%CmnzDwh9>Wa;DQ{~$|qU-h?kfjzd#l2y~h`YjJxOVhz%W7phv z(c5BRXjJZqT28OnK$#yc4BEkR=H>-@^eeAq(D(@dbSM$*jXO>x$#^{vIR*TPol5trOCt!pTChurb7 zROZQzFABt5w?2BEZ=vbc6PZ`#C#8=(C3HU%kyqVOP>dA#`j;~l$_RzC9tu-8Dt?3N zgg1b?rdQa~RL7O8V7@2Foztz#Fn<76?U3SgZ##!|H~M2cJmvmwLiRCdJ{!Q~w);Un z`KJzO_q;Prc_#j333ht@Fh^1rSSFA?LMl+d%Dx|by2&XyRWt`sbLN5lCJG)OS1Rgxn zMxQm6c!5RZW)I6AKX)ot+xV{1RF{E;-Kses(&?l6>2Sr!SV^AdU>d5wXDGlNS4$4y znlOJp%Qd+LX^1>WjKCtqu-{FHSTH9IsdYSB8yoRjEZ7E)AK8D_Q7N895u+?0KuT7h>Q4;xb2O6zd> zv1W1*mAD4U4t`L^vu-VbA;WVt(JWi6bO?(J?{vFuE|S(IQTRGc14Ki6o)#(FG5=b6 zM@_kGeK1zTK%qs@P^g>7jV$n%G*VF2pp&$$5`L6$s!A{#W0A%>h|4sWLEIV2tpNRFfupK;cvL@CS zV6Phe4}#c!rps`0M7_=SqX@F2$9BT=>`GzYA#g)T)>Z+w#+7hc3?|` zyq2>I9ncmAk^$BDmuc`PHhkNT^{bQ`24SogUbEAN;jxEIo*&+S{hjrrO%^?d)2=QR zeM7#yhLe?Q9SkgX_ce2jQ>UPAbH1_>TW0q@X7Lcfma5@V&I{i&F6ec+SwgFi z$Gc9$vr5`ArVAhhzw|cB@gjTa*0k*C6^5OAmFQE!cuje(4=d8$pwi^~l^-9A(?7xX z@zX6YmY06^6t_2vq+@cDDa{Z08baO3cim<5STjPb41w4`^jOB*>|X7#FUU8q{3dCO zC4FSEh)t&bdr#`)_V)W zdt_+*x?kwvV<;u8z4q~F?w>gea(^DNm|S4g;)aV1`PyzppyPyt#j&wB?>W8nLGywQ zta24>OiO2aYbkMkODeV&!{mhsigma6&6&Ph=%Q=-OUPGOv>N#oT$m!1y$t=tj-Y_{ zG_WRsT=!U~(Ud}8M}serGO5)A(2wCk!Eg#jU>LaFBg>pYJS!3w$PhO-mIP7e>`0ec z;@dC)8rkoq4$a#RVKY4*J*v$6a;v0OHB<7#VnR(p@o9_ zsC7e#?J+|QnkDuMb}unKJLn|rcm=~zWm3-2gwrdr36NW)(Z`@7u8~A9;DSB-X8Dy) z?>744-xTF?7%ez|`R~G{f)wdlC=G#uL_m}XyY)P@r+If&feD8Lxu2ZWrEf7XpUKtDlH^l@wY)5OUc{g9q>+P0*PfA{uS@xwXzyJmH%s(%ciSz*%s zv3X%uy!A|q>Tjyl?T3}!&ym2xsXs3v*W{E=@V8)%C&TVE)|d+ZvG-)e9+SLlu@Nk? z^9-wBXRc~7mTJtUy$*5v?os6AdO1Q!1YPDa6Xv-mR}Jx*PYUApKfIm$CA_a1snY*3 z_xjI|KmM>2Kjk@Wbp@)YJNq-=pP`^f89Tl~>n_s~KYfJ`H*(h|YOCVTcgE%y22Mk5;YjR-(mxmv z={=H$Z~6nAI!B4bKCJmo<)R1AmYoK#pL0md_6d#8)k2g}`6i7E0!QRh6r@ zOY01srP7f`sFD|t7Z%j)5TudJ_Zn#uXX-ZX$#VF1k4}@3Vm;D`x%4OQQSo{%stmlQ} zfiJd<)Z;uRZ>qG8%*1Y00~QrjABBZ&v-D-5bodGyJ+)Hr4DY z+ma>^la!~yntCV(gBfoLbEAk~A?F<`%vM_7UU3w3f9&{ z+CF94G_RgY!BrLUamY&s-LMA_In^NEeZYBrJ$U1zER^1otvA74&<&Tj)2f@8y{&6( zPchyrG;KELh??G{x{O(jk_r#sl>5zJf^|52xtDUdl)m$p3`skby#M=RXOu#zXzGEx z3#ujSdx)f{m`f!mOxa7F6}o+bf4h-`uDRQb+a&2%t#V;Evjc@G23?n9td;P|ZOBHV zo@ny3VJ6jZ!aHjUH>G;Yvg6V9DZX{y3cD+r*_4jXq4o}M6a7U3kB^r;lzh$14}CX# zGbgGkapz5VcG6>*5-{S`>C$(F*}fw^S3zIzD6?*u&1{){tJBmXCpYU%dUTmCE@>q zi~l7(;Hd+H@ZbFbZ$bMPMAiJ~KY&kEH;`8ZBZI>fcqb@^N3g-e|9%hH#W2NAm|`fU zg<8IGqp=vZVxVRMZAd`W0F~l{4v1?|pqxoSO0eFsS7rc^rS`{sP6N5K*%Fjpex)Zj zfbyN3!Y_X!R4g8OC(Z^uU)z5E_?t-?8su@}Loz4{21|>uo-PnXa8mv^pFrd8TQXg{ZRnTtdS{uud2=;=;OG{^-sb zAXdA7Iax#ZfGZFrm*Z^jOU69xvHYR0YZR5~vhEII^&5cHEBX?V9f7MlmXEe<x zZ7JN$d3q{Reh;GnxjgKnA+tvDFdvF0>o>q~>Wdc7qL8&H!#SDAR9+sb6!^zKBD_J! zFiyJhwDf%~#m!_=mopxjbEYE&dEl(Jys~}}THtyfg(^ltpG9ryYB2N@;lr3!b0FI$ zpS%t&Kuy**a(qjrQ01249hnoRMBIw+2jV7hjz}@yZ+LF}qDxgU;BDhbf2y;|^qS$! z%*27RCRQ`K={McS@tZ!VM&{z*C-N)QUo9639etLJz7-)}Z!ur6%l(TsIu$b5^P%JE z>55mp2J$wqO|W8N;%NC2nsO%Sv_WkAgBp|H7!%IR06_E99$dJ5P-~#^xEZJTS>l(F zB6~bYNU6a>d9U_t6@t z2R=3oKN@qYGl5^X&@Ql$J1xoOizSVT@QRWGY=V^0wKRoX8&yYnf4E(PY@eruN|2 zF-xIiw*F+i~Q=W?JyeFTFzLXh89j-hg($RWPU+WmNuw;iCPoQ0gr%zF(_g&A} z*FuN?c6Ti!Yskt>th-G36N^QHYkU+%&Rxv3$=lOS=jtM)XeiBf<1Z5nW`9sWUN3xB zdosN8`aYo~?Tg7bkEPIymnMltHG8~*mCJ`tIBx8EGjlqRjeiee7wT-3?a4Yx-6O7_ zsO%@5`0z(k1N6@FAAP0ux+Al?LQeZ;yY+{MP1x+mCm*4fW_H!}(dAttXN`A1iizvQ zWZUsR*C4yIWG0EI@^JGItiB|F9WRPdAm+)W7Sy;KU6$nRqawX0pz+2n5cltGP)@uOTC`)qE_ z1nunZi>f6TUOp4F(~`5$L*p`=s-c(JEC$+r?8;~Aq=VLuHN@r~_9%++I)XqmC8_gD zm&ec#4w+D#nR4!$T6qM@sn~xIA0K}151=fRy!CqOSoGlbSE@UHxbimbt2^efa{NU} z-_Gtp*+jVD5FI^$U#3xL;3cfMM!u8D!7&!TFWtI zj(w1wa|djZPCp~g_!V$TCtz+|N3LO5a*ID>@yWO+s;lnb`cGWp#g&I0ErB8O9y!yV zf&1@HCpq3Vw)vJT#CByxgM4BCU;(kwb?B24r&#Pz)CU;$h3hCulk<)F;iV_Whmguk zSoH`JHy1wJL>XY6D<%)4nHQLQT-8Tl2nD^SLh4f%iw(bG1=<`}-(S|*uga_%Y4uUY zV@Ef<=dX-jnFFH&iL-Y1eyU=juS#mlA?1BB9aa>ktHt=C zyb9faIletKm_hKYT{7#AB+q~_7NMZ5=PMN8e2h~gbbZcw6Kv9fZrxKi9LLL~e?O%O wT{vI-8bcSToP=Z`a?|iseynOavJC6@gi0P^@S#A + + + + diff --git a/app/assets/images/intro-bg.jpg b/app/assets/images/intro-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de06b295c3122ed5c3bfdf82bc6adb46f06f86b4 GIT binary patch literal 88321 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 z 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 N%HIE@|Hl7%<6re>H(>w( literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/angular-scroll.js b/app/assets/javascripts/angular-scroll.js new file mode 100644 index 0000000..9d22e9b --- /dev/null +++ b/app/assets/javascripts/angular-scroll.js @@ -0,0 +1,589 @@ +/** + * x is a value between 0 and 1, indicating where in the animation you are. + */ +var duScrollDefaultEasing = function (x) { + 'use strict'; + + if(x < 0.5) { + return Math.pow(x*2, 2)/2; + } + return 1-Math.pow((1-x)*2, 2)/2; +}; + +angular.module('duScroll', [ + 'duScroll.scrollspy', + 'duScroll.smoothScroll', + 'duScroll.scrollContainer', + 'duScroll.spyContext', + 'duScroll.scrollHelpers' +]) + //Default animation duration for smoothScroll directive + .value('duScrollDuration', 350) + //Scrollspy debounce interval, set to 0 to disable + .value('duScrollSpyWait', 100) + //Wether or not multiple scrollspies can be active at once + .value('duScrollGreedy', false) + //Default offset for smoothScroll directive + .value('duScrollOffset', 0) + //Default easing function for scroll animation + .value('duScrollEasing', duScrollDefaultEasing); + + +angular.module('duScroll.scrollHelpers', ['duScroll.requestAnimation']) +.run(["$window", "$q", "cancelAnimation", "requestAnimation", "duScrollEasing", "duScrollDuration", "duScrollOffset", function($window, $q, cancelAnimation, requestAnimation, duScrollEasing, duScrollDuration, duScrollOffset) { + 'use strict'; + + var proto = angular.element.prototype; + + var isDocument = function(el) { + return (typeof HTMLDocument !== 'undefined' && el instanceof HTMLDocument) || (el.nodeType && el.nodeType === el.DOCUMENT_NODE); + }; + + var isElement = function(el) { + return (typeof HTMLElement !== 'undefined' && el instanceof HTMLElement) || (el.nodeType && el.nodeType === el.ELEMENT_NODE); + }; + + var unwrap = function(el) { + return isElement(el) || isDocument(el) ? el : el[0]; + }; + + proto.scrollTo = function(left, top, duration, easing) { + var aliasFn; + if(angular.isElement(left)) { + aliasFn = this.scrollToElement; + } else if(duration) { + aliasFn = this.scrollToAnimated; + } + if(aliasFn) { + return aliasFn.apply(this, arguments); + } + var el = unwrap(this); + if(isDocument(el)) { + return $window.scrollTo(left, top); + } + el.scrollLeft = left; + el.scrollTop = top; + }; + + var scrollAnimation, deferred; + proto.scrollToAnimated = function(left, top, duration, easing) { + if(duration && !easing) { + easing = duScrollEasing; + } + var startLeft = this.scrollLeft(), + startTop = this.scrollTop(), + deltaLeft = Math.round(left - startLeft), + deltaTop = Math.round(top - startTop); + + var startTime = null; + var el = this; + + var cancelOnEvents = 'scroll mousedown mousewheel touchmove keydown'; + var cancelScrollAnimation = function($event) { + if (!$event || $event.which > 0) { + el.unbind(cancelOnEvents, cancelScrollAnimation); + cancelAnimation(scrollAnimation); + deferred.reject(); + scrollAnimation = null; + } + }; + + if(scrollAnimation) { + cancelScrollAnimation(); + } + deferred = $q.defer(); + + if(!deltaLeft && !deltaTop) { + deferred.resolve(); + return deferred.promise; + } + + var animationStep = function(timestamp) { + if (startTime === null) { + startTime = timestamp; + } + + var progress = timestamp - startTime; + var percent = (progress >= duration ? 1 : easing(progress/duration)); + + el.scrollTo( + startLeft + Math.ceil(deltaLeft * percent), + startTop + Math.ceil(deltaTop * percent) + ); + if(percent < 1) { + scrollAnimation = requestAnimation(animationStep); + } else { + el.unbind(cancelOnEvents, cancelScrollAnimation); + scrollAnimation = null; + deferred.resolve(); + } + }; + + //Fix random mobile safari bug when scrolling to top by hitting status bar + el.scrollTo(startLeft, startTop); + + el.bind(cancelOnEvents, cancelScrollAnimation); + + scrollAnimation = requestAnimation(animationStep); + return deferred.promise; + }; + + proto.scrollToElement = function(target, offset, duration, easing) { + var el = unwrap(this); + if(!angular.isNumber(offset) || isNaN(offset)) { + offset = duScrollOffset; + } + var top = this.scrollTop() + unwrap(target).getBoundingClientRect().top - offset; + if(isElement(el)) { + top -= el.getBoundingClientRect().top; + } + return this.scrollTo(0, top, duration, easing); + }; + + var overloaders = { + scrollLeft: function(value, duration, easing) { + if(angular.isNumber(value)) { + return this.scrollTo(value, this.scrollTop(), duration, easing); + } + var el = unwrap(this); + if(isDocument(el)) { + return $window.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft; + } + return el.scrollLeft; + }, + scrollTop: function(value, duration, easing) { + if(angular.isNumber(value)) { + return this.scrollTo(this.scrollTop(), value, duration, easing); + } + var el = unwrap(this); + if(isDocument(el)) { + return $window.scrollY || document.documentElement.scrollTop || document.body.scrollTop; + } + return el.scrollTop; + } + }; + + proto.scrollToElementAnimated = function(target, offset, duration, easing) { + return this.scrollToElement(target, offset, duration || duScrollDuration, easing); + }; + + proto.scrollTopAnimated = function(top, duration, easing) { + return this.scrollTop(top, duration || duScrollDuration, easing); + }; + + proto.scrollLeftAnimated = function(left, duration, easing) { + return this.scrollLeft(left, duration || duScrollDuration, easing); + }; + + //Add duration and easing functionality to existing jQuery getter/setters + var overloadScrollPos = function(superFn, overloadFn) { + return function(value, duration, easing) { + if(duration) { + return overloadFn.apply(this, arguments); + } + return superFn.apply(this, arguments); + }; + }; + + for(var methodName in overloaders) { + proto[methodName] = (proto[methodName] ? overloadScrollPos(proto[methodName], overloaders[methodName]) : overloaders[methodName]); + } +}]); + + +//Adapted from https://gist.github.com/paulirish/1579671 +angular.module('duScroll.polyfill', []) +.factory('polyfill', ["$window", function($window) { + 'use strict'; + + var vendors = ['webkit', 'moz', 'o', 'ms']; + + return function(fnName, fallback) { + if($window[fnName]) { + return $window[fnName]; + } + var suffix = fnName.substr(0, 1).toUpperCase() + fnName.substr(1); + for(var key, i = 0; i < vendors.length; i++) { + key = vendors[i]+suffix; + if($window[key]) { + return $window[key]; + } + } + return fallback; + }; +}]); + +angular.module('duScroll.requestAnimation', ['duScroll.polyfill']) +.factory('requestAnimation', ["polyfill", "$timeout", function(polyfill, $timeout) { + 'use strict'; + + var lastTime = 0; + var fallback = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = $timeout(function() { callback(currTime + timeToCall); }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + + return polyfill('requestAnimationFrame', fallback); +}]) +.factory('cancelAnimation', ["polyfill", "$timeout", function(polyfill, $timeout) { + 'use strict'; + + var fallback = function(promise) { + $timeout.cancel(promise); + }; + + return polyfill('cancelAnimationFrame', fallback); +}]); + + +angular.module('duScroll.spyAPI', ['duScroll.scrollContainerAPI']) +.factory('spyAPI', ["$rootScope", "$timeout", "scrollContainerAPI", "duScrollGreedy", "duScrollSpyWait", function($rootScope, $timeout, scrollContainerAPI, duScrollGreedy, duScrollSpyWait) { + 'use strict'; + + var createScrollHandler = function(context) { + var timer = false, queued = false; + var handler = function() { + queued = false; + var container = context.container, + containerEl = container[0], + containerOffset = 0; + + if (typeof HTMLElement !== 'undefined' && containerEl instanceof HTMLElement || containerEl.nodeType && containerEl.nodeType === containerEl.ELEMENT_NODE) { + containerOffset = containerEl.getBoundingClientRect().top; + } + + var i, currentlyActive, toBeActive, spies, spy, pos; + spies = context.spies; + currentlyActive = context.currentlyActive; + toBeActive = undefined; + + for(i = 0; i < spies.length; i++) { + spy = spies[i]; + pos = spy.getTargetPosition(); + if (!pos) continue; + + if(pos.top + spy.offset - containerOffset < 20 && (pos.top*-1 + containerOffset) < pos.height) { + if(!toBeActive || toBeActive.top < pos.top) { + toBeActive = { + top: pos.top, + spy: spy + }; + } + } + } + if(toBeActive) { + toBeActive = toBeActive.spy; + } + if(currentlyActive === toBeActive || (duScrollGreedy && !toBeActive)) return; + if(currentlyActive) { + currentlyActive.$element.removeClass('active'); + $rootScope.$broadcast('duScrollspy:becameInactive', currentlyActive.$element); + } + if(toBeActive) { + toBeActive.$element.addClass('active'); + $rootScope.$broadcast('duScrollspy:becameActive', toBeActive.$element); + } + context.currentlyActive = toBeActive; + }; + + if(!duScrollSpyWait) { + return handler; + } + + //Debounce for potential performance savings + return function() { + if(!timer) { + handler(); + timer = $timeout(function() { + timer = false; + if(queued) { + handler(); + } + }, duScrollSpyWait, false); + } else { + queued = true; + } + }; + }; + + var contexts = {}; + + var createContext = function($scope) { + var id = $scope.$id; + var context = { + spies: [] + }; + + context.handler = createScrollHandler(context); + contexts[id] = context; + + $scope.$on('$destroy', function() { + destroyContext($scope); + }); + + return id; + }; + + var destroyContext = function($scope) { + var id = $scope.$id; + var context = contexts[id], container = context.container; + if(container) { + container.off('scroll', context.handler); + } + delete contexts[id]; + }; + + var defaultContextId = createContext($rootScope); + + var getContextForScope = function(scope) { + if(contexts[scope.$id]) { + return contexts[scope.$id]; + } + if(scope.$parent) { + return getContextForScope(scope.$parent); + } + return contexts[defaultContextId]; + }; + + var getContextForSpy = function(spy) { + var context, contextId, scope = spy.$element.scope(); + if(scope) { + return getContextForScope(scope); + } + //No scope, most likely destroyed + for(contextId in contexts) { + context = contexts[contextId]; + if(context.spies.indexOf(spy) !== -1) { + return context; + } + } + }; + + var isElementInDocument = function(element) { + while (element.parentNode) { + element = element.parentNode; + if (element === document) { + return true; + } + } + return false; + }; + + var addSpy = function(spy) { + var context = getContextForSpy(spy); + if (!context) return; + context.spies.push(spy); + if (!context.container || !isElementInDocument(context.container)) { + if(context.container) { + context.container.off('scroll', context.handler); + } + context.container = scrollContainerAPI.getContainer(spy.$element.scope()); + context.container.on('scroll', context.handler).triggerHandler('scroll'); + } + }; + + var removeSpy = function(spy) { + var context = getContextForSpy(spy); + if(spy === context.currentlyActive) { + context.currentlyActive = null; + } + var i = context.spies.indexOf(spy); + if(i !== -1) { + context.spies.splice(i, 1); + } + }; + + return { + addSpy: addSpy, + removeSpy: removeSpy, + createContext: createContext, + destroyContext: destroyContext, + getContextForScope: getContextForScope + }; +}]); + + +angular.module('duScroll.scrollContainerAPI', []) +.factory('scrollContainerAPI', ["$document", function($document) { + 'use strict'; + + var containers = {}; + + var setContainer = function(scope, element) { + var id = scope.$id; + containers[id] = element; + return id; + }; + + var getContainerId = function(scope) { + if(containers[scope.$id]) { + return scope.$id; + } + if(scope.$parent) { + return getContainerId(scope.$parent); + } + return; + }; + + var getContainer = function(scope) { + var id = getContainerId(scope); + return id ? containers[id] : $document; + }; + + var removeContainer = function(scope) { + var id = getContainerId(scope); + if(id) { + delete containers[id]; + } + }; + + return { + getContainerId: getContainerId, + getContainer: getContainer, + setContainer: setContainer, + removeContainer: removeContainer + }; +}]); + + +angular.module('duScroll.smoothScroll', ['duScroll.scrollHelpers', 'duScroll.scrollContainerAPI']) +.directive('duSmoothScroll', ["duScrollDuration", "duScrollOffset", "scrollContainerAPI", function(duScrollDuration, duScrollOffset, scrollContainerAPI) { + 'use strict'; + + return { + link : function($scope, $element, $attr) { + $element.on('click', function(e) { + if(!$attr.href || $attr.href.indexOf('#') === -1) return; + + var target = document.getElementById($attr.href.replace(/.*(?=#[^\s]+$)/, '').substring(1)); + if(!target || !target.getBoundingClientRect) return; + + if (e.stopPropagation) e.stopPropagation(); + if (e.preventDefault) e.preventDefault(); + + var offset = $attr.offset ? parseInt($attr.offset, 10) : duScrollOffset; + var duration = $attr.duration ? parseInt($attr.duration, 10) : duScrollDuration; + var container = scrollContainerAPI.getContainer($scope); + + container.scrollToElement( + angular.element(target), + isNaN(offset) ? 0 : offset, + isNaN(duration) ? 0 : duration + ); + }); + } + }; +}]); + + +angular.module('duScroll.spyContext', ['duScroll.spyAPI']) +.directive('duSpyContext', ["spyAPI", function(spyAPI) { + 'use strict'; + + return { + restrict: 'A', + scope: true, + compile: function compile(tElement, tAttrs, transclude) { + return { + pre: function preLink($scope, iElement, iAttrs, controller) { + spyAPI.createContext($scope); + } + }; + } + }; +}]); + + +angular.module('duScroll.scrollContainer', ['duScroll.scrollContainerAPI']) +.directive('duScrollContainer', ["scrollContainerAPI", function(scrollContainerAPI){ + 'use strict'; + + return { + restrict: 'A', + scope: true, + compile: function compile(tElement, tAttrs, transclude) { + return { + pre: function preLink($scope, iElement, iAttrs, controller) { + iAttrs.$observe('duScrollContainer', function(element) { + if(angular.isString(element)) { + element = document.getElementById(element); + } + + element = (angular.isElement(element) ? angular.element(element) : iElement); + scrollContainerAPI.setContainer($scope, element); + $scope.$on('$destroy', function() { + scrollContainerAPI.removeContainer($scope); + }); + }); + } + }; + } + }; +}]); + + +angular.module('duScroll.scrollspy', ['duScroll.spyAPI']) +.directive('duScrollspy', ["spyAPI", "duScrollOffset", "$timeout", "$rootScope", function(spyAPI, duScrollOffset, $timeout, $rootScope) { + 'use strict'; + + var Spy = function(targetElementOrId, $element, offset) { + if(angular.isElement(targetElementOrId)) { + this.target = targetElementOrId; + } else if(angular.isString(targetElementOrId)) { + this.targetId = targetElementOrId; + } + this.$element = $element; + this.offset = offset; + }; + + Spy.prototype.getTargetElement = function() { + if (!this.target && this.targetId) { + this.target = document.getElementById(this.targetId); + } + return this.target; + }; + + Spy.prototype.getTargetPosition = function() { + var target = this.getTargetElement(); + if(target) { + return target.getBoundingClientRect(); + } + }; + + Spy.prototype.flushTargetCache = function() { + if(this.targetId) { + this.target = undefined; + } + }; + + return { + link: function ($scope, $element, $attr) { + var href = $attr.ngHref || $attr.href; + var targetId; + + if (href && href.indexOf('#') !== -1) { + targetId = href.replace(/.*(?=#[^\s]+$)/, '').substring(1); + } else if($attr.duScrollspy) { + targetId = $attr.duScrollspy; + } + if(!targetId) return; + + // Run this in the next execution loop so that the scroll context has a chance + // to initialize + $timeout(function() { + var spy = new Spy(targetId, $element, -($attr.offset ? parseInt($attr.offset, 10) : duScrollOffset)); + spyAPI.addSpy(spy); + + $scope.$on('$destroy', function() { + spyAPI.removeSpy(spy); + }); + $scope.$on('$locationChangeSuccess', spy.flushTargetCache.bind(spy)); + $rootScope.$on('$stateChangeSuccess', spy.flushTargetCache.bind(spy)); + }, 0, false); + } + }; +}]); diff --git a/app/assets/javascripts/angularjs.js.coffee b/app/assets/javascripts/angularjs.js.coffee index 8e95b06..e07f15b 100644 --- a/app/assets/javascripts/angularjs.js.coffee +++ b/app/assets/javascripts/angularjs.js.coffee @@ -2,10 +2,12 @@ #= require angular-cookies #= require angular-resource #= require angular-sanitize +#= require angular-scroll #= require_self #= require_tree ./angularjs -@app = angular.module('app', ['ngCookies', 'ngSanitize']) +@app = angular.module('app', ['ngCookies', 'ngSanitize', 'duScroll']) +@app.value('duScrollOffset', 30) @app.config(["$httpProvider", (provider) -> provider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content') diff --git a/app/assets/javascripts/angularjs/about_scroll.js.coffee b/app/assets/javascripts/angularjs/about_scroll.js.coffee new file mode 100644 index 0000000..3eabaac --- /dev/null +++ b/app/assets/javascripts/angularjs/about_scroll.js.coffee @@ -0,0 +1,6 @@ +@app.controller 'AboutScrollController', [ '$scope', '$document', ($scope, $document)-> + about_id = angular.element(document.getElementById('about')) + + $scope.to_about = ()-> + $document.scrollToElementAnimated(about_id) +] diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 72811fb..d849a22 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -3,6 +3,7 @@ //= require foundation/foundation //= require foundation/foundation.topbar //= require foundation/foundation.offcanvas +//= require foundation/foundation.magellan //= require angularjs //= require 'jquery.html5-fileupload' //= require_tree . diff --git a/app/assets/stylesheets/aboutme_welcome.css.scss b/app/assets/stylesheets/aboutme_welcome.css.scss index 20f6785..dfa8824 100644 --- a/app/assets/stylesheets/aboutme_welcome.css.scss +++ b/app/assets/stylesheets/aboutme_welcome.css.scss @@ -20,3 +20,151 @@ } } } + + +.about-page { + .top-bar-wrapper { + background: 0 0; + .top-bar { + background: 0 0; + padding: 1.5rem 0; + } + + .top-bar-section ul{ + li, li a { + background: 0 0; + } + + li a:hover { + background: #666; + } + } + } + + p { + font-size: 1.275rem; + } + + .intro { + //background-color: #7A7A7A; + background: image-url('intro-bg.jpg') no-repeat bottom center scroll; + background-size: cover; + height: 100%; + width: 100%; + display: table; + + .intro-heading { + display: table-cell; + vertical-align: middle; + text-align: center; + + .heading, .sub-heading { + color: #fff; + } + + .sub-heading { + margin-top: 2rem; + p { + line-height: 2; + } + } + + .circle { + color: #fff; + width: 4rem; + height: 4rem; + font-size: 3rem; + border: 2px solid #eee; + display: inline-block; + border-radius: 50%; + padding: 0.5rem 0; + margin-top: 2rem; + &:hover { + opacity: 0.7; + } + } + } + } + + #about { + background-color: #000; + color: #eee; + padding: 10rem 0; + h1, h2 { + color: #eee; + text-align: center; + margin-bottom: 2rem; + } + } + + #work { + background: image-url('download-bg.jpg') no-repeat bottom center scroll; + background-size: cover; + padding: 10rem 0; + h1, h2 { + color: #eee; + text-align: center; + margin-bottom: 2rem; + } + + p { + color: #eee; + text-align: center; + } + } + + #contact { + background: #000; + background-size: cover; + padding: 10rem 0; + padding-bottom: 20rem; + h1, h2 { + color: #eee; + text-align: center; + margin-bottom: 2rem; + } + + p { + color: #eee; + text-align: center; + } + + .mail_to { + margin-bottom: 3rem; + margin-top: -1rem; + } + + .contact-ul { + text-align: center; + li { + display: inline-block; + } + li a { + display: inline-block; + padding: 0.5rem 2rem; + border: 1px solid #219AB3; + border-radius: 0.5rem; + color: #219AB3; + margin: 0 1rem; + transition: all .3s ease-in-out; + + &:hover { + outline: 0; + color: #000; + background-color: #219ab3; + } + + i { + margin-right: 0.5rem; + font-size: 1.1rem; + } + + i.douban { + font-style: normal; + font-size: 95%; + vertical-align: baseline; + } + } + } + } +} diff --git a/app/assets/stylesheets/foundation_and_overrides.scss b/app/assets/stylesheets/foundation_and_overrides.scss index f7ceac5..5fadd5c 100644 --- a/app/assets/stylesheets/foundation_and_overrides.scss +++ b/app/assets/stylesheets/foundation_and_overrides.scss @@ -1190,3 +1190,4 @@ $base-font-size: 100%; @import 'foundation'; @import 'foundation-icons'; +@import 'font-awesome'; diff --git a/app/views/home/index.html.slim b/app/views/home/index.html.slim index 6d6b9a7..cc9c884 100644 --- a/app/views/home/index.html.slim +++ b/app/views/home/index.html.slim @@ -1,5 +1,67 @@ - content_for(:title) do | 关于我 -.row - .small-12.large-9.large-centered.columns.self-introduce - = render 'common/aboutme' +- content_for(:main) do + /! 导航 + .about-page ng-app='app' ng-controller='AboutScrollController' + .top-bar-wrapper.contain-to-grid.fixed + .row + .small-12.columns + nav.top-bar data-topbar='' role='navigation' + ul.title-area + li.name + h1 + a href='/' WinDy's Blog + section.top-bar-section + ul.right + li + a href='#about' du-smooth-scroll='' du-scrollspy='' 关于 + li + a href='#work' du-smooth-scroll='' du-scrollspy='' 作品 + li + a href='#contact' du-smooth-scroll='' du-scrollspy='' 联系 + header.intro + .intro-heading + .row + .small-12.columns + h1.heading 李亚飞 + .sub-heading + p + | 懒, 是人类进步的动力 + br + | 所谓技术, 就是让你的生活越来越懒 + a.circle href='#about' du-smooth-scroll='' + i.fa.fa-angle-double-down + section#about + .row + .small-12.large-9.large-centered.columns + h1.title 关于我 + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + section#work + .row + .small-12.large-9.large-centered.columns + h1.title 作品 + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + section#contact + .row + .small-12.large-9.large-centered.columns + h1.title 联系我 + p.mail_to + = mail_to 'lyfi2003@gmail.com' + ul.contact-ul + li + a href='https://github.com/windy' target='_blank' + i.fa.fa-github + | Github + li + a href='http://www.douban.com/people/41759170/' target='_blank' + i.douban + | 豆 + | Douban + li + a href='http://www.linkedin.com/pub/yafei-lee/77/3b/505' target='_blank' + i.fa.fa-linkedin-square + | LinkedIn diff --git a/app/views/layouts/application.html.slim b/app/views/layouts/application.html.slim index d96371e..4c8d94d 100644 --- a/app/views/layouts/application.html.slim +++ b/app/views/layouts/application.html.slim @@ -13,53 +13,56 @@ html / 增加 favico 图标 link href="/favicon.png" type='image/png' rel="icon" body - .off-canvas-wrap data-offcanvas='' - .inner-wrap - nav.tab-bar - section.left-small - a.left-off-canvas-toggle.menu-icon href="#" - span - h1.title.middle-text - = link_to ENV['SITE_NAME'], root_path - aslide.left-off-canvas-menu - ul.off-canvas-list - li - label Menu - li - = link_to root_path do - i.fi-home - | 首页 - li - = link_to '/tech' do - i.fi-social-evernote - | 技术 - li - = link_to '/life' do - i.fi-torsos-male-female - | 生活 - li - = link_to '/creator' do - i.fi-lightbulb - | 创业 - li - label Archive - li - = link_to archives_path do - i.fi-align-justify - | 时间线 - li - label About - = link_to about_path do - i.fi-torso - | 关于我 - section.main-section ng-app="app" - - flash.each do |name, msg| - - if msg.is_a?(String) - div class=("alert-box #{name == :notice ? "success" : "alert"}") data-alert="" - = content_tag :div, msg - a.close href="#" × - = yield - = render "layouts/footer" - a.exit-off-canvas + - if content_for?(:main) + = yield(:main) + - else + .off-canvas-wrap data-offcanvas='' + .inner-wrap + nav.tab-bar + section.left-small + a.left-off-canvas-toggle.menu-icon href="#" + span + h1.title.middle-text + = link_to ENV['SITE_NAME'], root_path + aslide.left-off-canvas-menu + ul.off-canvas-list + li + label Menu + li + = link_to root_path do + i.fi-home + | 首页 + li + = link_to '/tech' do + i.fi-social-evernote + | 技术 + li + = link_to '/life' do + i.fi-torsos-male-female + | 生活 + li + = link_to '/creator' do + i.fi-lightbulb + | 创业 + li + label Archive + li + = link_to archives_path do + i.fi-align-justify + | 时间线 + li + label About + = link_to about_path do + i.fi-torso + | 关于我 + section.main-section ng-app="app" + - flash.each do |name, msg| + - if msg.is_a?(String) + div class=("alert-box #{name == :notice ? "success" : "alert"}") data-alert="" + = content_tag :div, msg + a.close href="#" × + = yield + = render "layouts/footer" + a.exit-off-canvas = render 'layouts/google_analytics' From f66d32113a6cfa416bb106a503df4205bb6329e5 Mon Sep 17 00:00:00 2001 From: yafeilee Date: Fri, 10 Oct 2014 10:00:09 +0800 Subject: [PATCH 2/2] add works and etc --- .../angularjs/about_scroll.js.coffee | 8 ++ .../stylesheets/aboutme_welcome.css.scss | 89 ++++++++++++++++--- app/views/home/index.html.slim | 44 +++++++-- 3 files changed, 122 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/angularjs/about_scroll.js.coffee b/app/assets/javascripts/angularjs/about_scroll.js.coffee index 3eabaac..0c8fdd4 100644 --- a/app/assets/javascripts/angularjs/about_scroll.js.coffee +++ b/app/assets/javascripts/angularjs/about_scroll.js.coffee @@ -1,5 +1,13 @@ @app.controller 'AboutScrollController', [ '$scope', '$document', ($scope, $document)-> + about_id = angular.element(document.getElementById('about')) + + $document.on 'scroll', ()=> + $scope.$apply() + + $scope.is_top = ()-> + $document.scrollTop() <= 0 + $scope.to_about = ()-> $document.scrollToElementAnimated(about_id) diff --git a/app/assets/stylesheets/aboutme_welcome.css.scss b/app/assets/stylesheets/aboutme_welcome.css.scss index dfa8824..ed7f495 100644 --- a/app/assets/stylesheets/aboutme_welcome.css.scss +++ b/app/assets/stylesheets/aboutme_welcome.css.scss @@ -23,20 +23,40 @@ .about-page { - .top-bar-wrapper { - background: 0 0; - .top-bar { + @media only screen and (min-width: 40.063em) { + .top-bar-wrapper { background: 0 0; - padding: 1.5rem 0; - } - - .top-bar-section ul{ - li, li a { - background: 0 0; + transition: background .5s ease-in-out,padding .5s ease-in-out; + &.active { + background: #000; + border-bottom: 1px solid #666; + + .top-bar { + margin: 0.5rem 0; + } } - li a:hover { - background: #666; + .top-bar { + background: 0 0; + margin: 1.5rem 0; + .name h1 { + font-size: 1.325rem; + } + } + + .top-bar-section ul{ + li, li a { + background: 0 0; + font-size: 1rem; + } + + li a:hover { + background: #666; + } + + li a.active { + background: #4C4C4C; + } } } } @@ -111,6 +131,42 @@ color: #eee; text-align: center; } + + .works { + color: #eee; + background-color: rgba(63, 63, 63, 0.6); + list-style: none; + padding: 2rem 1rem; + li { + margin: 1rem 0; + } + + .name { + margin-right: 0.5rem; + font-size: 1.125rem; + font-weight: 600; + &:after { + margin-left: 0.5rem; + font-weight: 400; + content: '--'; + } + } + + .brief { + margin-right: 1rem; + color: #dfdfdf; + } + + .link { + margin-right: 1rem; + color: #dfdfdf; + } + + .time { + color: #aaa; + font-size: 95%; + } + } } #contact { @@ -131,7 +187,7 @@ .mail_to { margin-bottom: 3rem; - margin-top: -1rem; + margin-top: 3rem; } .contact-ul { @@ -167,4 +223,13 @@ } } } + + .footer { + border: none; + padding: 1.5rem; + background-color: #353535; + text-align: center; + color: #fff; + font-size: 1.125rem; + } } diff --git a/app/views/home/index.html.slim b/app/views/home/index.html.slim index cc9c884..3cb0b25 100644 --- a/app/views/home/index.html.slim +++ b/app/views/home/index.html.slim @@ -3,7 +3,7 @@ - content_for(:main) do /! 导航 .about-page ng-app='app' ng-controller='AboutScrollController' - .top-bar-wrapper.contain-to-grid.fixed + .top-bar-wrapper.contain-to-grid.fixed ng-class="{ active: ! is_top() }" .row .small-12.columns nav.top-bar data-topbar='' role='navigation' @@ -19,6 +19,7 @@ a href='#work' du-smooth-scroll='' du-scrollspy='' 作品 li a href='#contact' du-smooth-scroll='' du-scrollspy='' 联系 + #intro header.intro .intro-heading .row @@ -35,20 +36,45 @@ .row .small-12.large-9.large-centered.columns h1.title 关于我 - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + p 我是李亚飞, 一个在中国深圳的网页开发工程师( Web Developer ). + p + | 曾经在 + a href='http://sangfor.com' 深信服 + | 工作大约 5 年. 在那里, 从一个菜鸟成长为一个资深工程师, 还有幸带领一个很酷的团队帮助公司进行自动化测试方向的研究与推进. 掌握的技术大约有: Linux, Ruby, Ruby on Rails, Testing Automation + p + | 在今年 3 月份, 为了那份创业梦, 出山开发了 cywin.cn, 这是一个股权众筹平台, 帮助创业团队更好的融资. 借此, 也将自己的 Ruby on Rails 技术全部注入在内 + p + | 现在, 想先休息一段时间, 接下来做一个自由职业者, 接手一些关于 Web 开发的外包工作 section#work .row .small-12.large-9.large-centered.columns h1.title 作品 - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. - p Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on the preview page. The theme is open source, and you can use it for any purpose, personal or commercial. + ul.works + li + span.name ATM/ATT + span.brief 测试业界领先的关键字驱动的自动化测试平台 + span.link 公司所属 + span.time #{time_ago_in_words(DateTime.new(2013))} 前 + li + span.name WBlog + span.brief Rails 社区正缺了一个独立博客建站系统 + span.link + a href='https://github.com/windy/wblog' target='_blank' https://github.com/windy/wblog + span.time #{time_ago_in_words(DateTime.new(2014,3,1))} 前 + li + span.name Cywin + span.brief 一个股权众筹的商业平台 + span.link + a href='http://cywin.cn' target='_blank' http://cywin.cn + span.time #{time_ago_in_words(1.month.ago)} 前 section#contact .row .small-12.large-9.large-centered.columns h1.title 联系我 + p + | 我目前处于自由职业状态, 如果你想给你的公司或个人制作一个精美简洁的网站, 或许我可以帮到你 + p + | 不要紧张, 请随时联系我 p.mail_to = mail_to 'lyfi2003@gmail.com' ul.contact-ul @@ -65,3 +91,7 @@ a href='http://www.linkedin.com/pub/yafei-lee/77/3b/505' target='_blank' i.fa.fa-linkedin-square | LinkedIn + .footer + .row + .small-12.columns + div Copyright © yafeilee.me