From bf44f36f0b02119cdaa34b6b94733d1326224de4 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 5 Apr 2016 22:21:23 -0400 Subject: [PATCH] WIP --- _drafts/years-of-code.md | 88 +++++++++++++++++++++++++++++++++ image/years-of-code/github.png | Bin 0 -> 18763 bytes 2 files changed, 88 insertions(+) create mode 100644 _drafts/years-of-code.md create mode 100644 image/years-of-code/github.png diff --git a/_drafts/years-of-code.md b/_drafts/years-of-code.md new file mode 100644 index 0000000..495c5c0 --- /dev/null +++ b/_drafts/years-of-code.md @@ -0,0 +1,88 @@ +--- +title: X Years of Code in Review +--- + +I was recently going through all +~80 of my GitHub repositories, +and got thinking about my old projects. + +I think I started doing something +one might describe as "programming" +around the end of primary school. +I remember that, in the first year of secondary school +(I was twelve), +I had a little notebook +in which I wrote down ideas +I had for projects. + +Unfortunately, +most of those projects are long gone; +worked on several computers ago +and insufficiently backed up. +But from December 2009, +when I joined GitHub at fourteen years old, +there is a quite complete record +of everything I've worked on +in my free time. + +I thought it might be fun +to go over my old projects. + +

+ + My GitHub profile + +

+ +## Before GitHub + +Before getting to the repositories, +here is a quick list of some projects +I remember from before 2009: + +MiniOS +: Really a sort of shell replacement in Visual Basic .NET. + Consisted of a full-screen window + recreating the desktop + with a task bar and start menu. + +Filescape +: A file manager in VB.NET, with the beginnings of a batch language. + I think I also started working + on a Python version on Linux + later on. + +Fireworks +: A fireworks screensaver in VB.NET. + I remember learning to use trigonometry + to have the particles spread out in a circle, + years before I learned it in school. + +JoyMouse (?) +: A .NET (maybe C#) application + for controlling the mouse with a joystick or gamepad. + I finished this right before + completely hosing my system + and lost all my work. + +Minaptic +: A small Python and GTK wrapper around APT, + made shortly after I first started using GNU/Linux. + +## GitHub repositories + +To get a list of my repositories +in the order they were created, +I used the GitHub API, +HTTPie, +and jq. +The command looked something like this: + +```sh +http https://api.github.com/user/repos \ + visibility==public \ + sort==created \ + direction==asc \ + per_page==100 \ + | jq 'map(.name)' +``` diff --git a/image/years-of-code/github.png b/image/years-of-code/github.png new file mode 100644 index 0000000000000000000000000000000000000000..79542920b77d1b22291770cefbc74c39f9b14322 GIT binary patch literal 18763 zcma&N1yEc~)HaAiaEAnUNN{%#1c%@b!EIo0hXBDHf;+)A=pez}g9aFEa2qVR?d1Ko z_OIQl{dcG8cHioIZ=ddSTAruRnJ9Htc`WpI=x}gwSPGwHKf}SnAHXhOGz3_QagGrI z9Gn8af~=I5H~h&wJUkp65+dibk|yGYboB!v+yE9e0G0%U;Qvc-1z>l$0&ozN{}M?s z><*Shl1YO5*V`@?q8;F$WOhI7Uqt}24WgXufU_tcPf~@D=>8A zV<6SByR)+c&4GAYvo?mAH({0j)LJV~-@s16Z$hz~&UwEBASOUwj4S(_V}r=BEM)j>6KJryArFr9@bn8CpK*)Irl1Bi=H&RJ0<*iQ4=^Gd zZc08=$sTQd0y7^AOgKGa=0e1Ud{BVd?DD3ly3fZy#6Q^wG6Ci9hnmSQ4+w8ZM+qVg z1qcJU^leN`z%10zJ&_o)k7I$A3fJqacgTY(YCs9PGSHSGUhoWaQs(=yB6YjIH!Jj% z;FuT@QxX)1Q=S;V!M3|Nzk3^!DXgc5{fn4*(9ikt(QUy&iY~?2DF2MpF}ljnkhsFt zb72UI%NYf#$k}Qn8A&l>g4g@=XwZdbbT(ms^?vq@rw^m5DiE;+;Zx3%pb%wV; zJdjGyv2ZS7AyUb!e0Qc)KTgbc|Vu?OXx?5g2rp_O|>b4L=!&HkfuWfZhJ_*`N$ z^G+;ClI(UbYcH9{*Ml?+n3O(=v&ws z9)yd5^ns9F>F&dG%YoBZuXha@G^U@5JSUZnOsxnXQ?;&&DAI9NfoD{#DfT9vZ$a{h zoZg|o=kJbCZV+;g3mOcGb8BDgx_dtcZ%T4o3T>)0wu-V;4Q^4Ar$H`g)iR0?nDUJBt0f?WQ?PdiHcnBp1E_-K z(YAiC1_H4th>H=6nb3Wkjd+^z=@}Lt#*BYDxhLg<8xVBFh;kF1mbkLex^K-)EU-XhDL3XWM>QD^ zuPx``k3o&+&|oo6R+Xg_>tTFB?9a!D1JC=z6x-hcnkemlb<@iGbO4u;i*1?0-U~L4}9GEN4MiX_VIXV9BUn0{H!}aPS#fcOj=wP zM0aX}Sz9?+0OVF5d8UTilr%y-#5Hk~kJN!3_F`H3sFp7V3R}IKco5I`efeJ5?+8ts z6S_h2-d${!c5Gzqg&6v=P;*GQME7eYTb8FO@vn3xMBGrPv@$Omlz1F>m8X5IbX$_0 znNt>3V86z-D`dzhGr|LP9zWVrW5V;-AYg#@C5;)fYm0;1+I4h~>XGe=JY0og+&Spv zhJr)r8E!i}F--@!yXwy+^f3=DB8g`Q5%$0O$fV-vHaA>Att~e(gL9XY=?2+WbqNHB z=VVsf7vD&6^5Xj}hXFRp)v&HY}Z(Sc+VD%i`+bmpSUy63XR~ z`h#!JRkgJnUBY^4t2Hw!QmBZUa(88_z*y|2r^)9ODE!cSAmq8v$I$hHa)$l@tJh=3GeP3Vj z;A9wBDf!3g$&C?Uy#o%2D({>x--^@SlY`=fnNxZT8Ijs*Bgc)c)WwH&e%q@jlR-*A z+I#s}W)Q39co>L0S+V^E%mif@E8?{%h8tch^s%%~qZ`DM=kR~|HQZ8KqRzd7z~S8l zQUe+y*S>*-`q2RA=0#1wF^F!+CY<`qh=W+l7%tp3LC0o%?JmH_huxPo`2K!6Be2Wg zhe)y*M$5lxwVkYc+>Z z627KE!ZX`li+!;eovyz^Oom8#$e98bY^F^Jn zd%W>Us5&GR$bo{^Yu@bnh9K*FG}z=jm;1mp9JSg(M$d-&*mlqG5m#?M@QS-S*iaX7 zJij{~WVi{ht`&Z%IRc{7tTD zP^Mje(|2~&KU7KNra0g+gFjme0IW23G@W|O=MS8Q*f&8 z2lBiZsQlHzoyi{RH?*=#uLXVyWu34z@qFftm)YPeQ4|ot)?BVun}jPLiCBIL3O&OA zv$gpGk<)OviCJ~NR?QJO{wgYvc;e?*4(eqmP-hYi0Xus@0U55OW{YW)lhpL|CJ44^ z^-h0GMw|M`BNPPm+b!l)(q2eNS@g{t>Z)-Y<+{v%qNE0_(WC7(3~iW#>k)!=*nqSI zy^*iVP|klds1EeC&x`ckU{tCCzH=PNMJOoeVJvQTU3O1#H#1f|z%39Ef*AA2ZaZO)$amc&a@Oa%ATnfrS{oT023$8Z!Gb3gnF&V3BoI^YkL_xDu|2;(#}AVY&( zkJ{q$TvPdn37jerb+eMgwe?Avy*AcaL!c`HlktWYava35l@{#G!9z^skae{@tRp~D?o*?x zHIeH*7?}xpt=NB-0h(Z8dS7#}mb?JDLv@oWt~Set- z4^z=KRx)Em9&|wbhkvlzCV9Cl7aA^XGr%9GGw6IIS*{Er5D&E!j z9Z&v@%J}(EJ8Ym>>=m+K(eI@`H3+_3e<;+*+4(3I<_Ow7`O{i5*7%pH?fp^9lBbWL z-1MBFyVL5E!s^SylMCq($Acq)a)ma9D}l5)6+a|M8qJ&)U!ii$H{7NfU& z6qhv1{V}ilP>L4cv(PYh;Pd@xSN6E{!J(4XDjimlmb*h+)|p{FvBXUw$QI3S;8}N=rVuoaa&oOwIcQ zyI^=_P>Q*t;{w9SVAms15`+i%ci}?W{PvGeDr=E9U-`N5Ng`y-T}UxezDb#Jq9M^T z($dl*^eQ8TWJXTxl?^d_?cS!aG8$NpJ#L|Dp90*%yH)4zP2Rz=)GwV~7AkB`c5ip{{Trb&NoxRB^Ac9aUa)56w_XDENX#Hs zjHg1I?-_|cBc4#$!gkX}9P22u0ovITzm27gmP=3!o|Ez@Vng_<DR4^@Ymn7k3lIj>@zoMBDc-pO!9!>Es6%o@QEZxI5o4M93Z%ES<%y zs(K8K&@`Pi2hpH~K*H7Rz!RE59~j?##ACRnZ~jBzbzPQia2}0krk2&9a7HHEeeX-Z zjl(I*Xh;pt_SP4Aw_xwVR)Q< zPir_kMY+pW;bSUFN?HKf6M^uHE-O*CecSzYU56s24kjyV+VSOa`{J%!(z-q)4`C!* zniH(*kor_2Fh{7Fo}{L?fMHP=;p(Yl@w0{~#dUIDy=>7mmgSlEk2#?jW}_`*XM4Cgd( z()}ge_G(l-i;u*kK}bQ_Gjj9d}r%9-_5xo#h01oDEm}@)92Kxs}gKL#q&%V6btNn`9jg2G)94-hI%K;qP zuvAle*P{rm^-1JrN2;U*$b2=zMkv)kd*T`&>4S)4lDcTh*Y(pm+0qv-e+6Bci$64c z&5azMr1;e5pqSq|WPh%WjJxxPd+!L8-!g1227}DI&}y5c%Z1mq5Ya+9 z6~RB7_6I1aqR7~{5Fyy#!)9!rOVnm`+|PP8rKG@H!7|Avu{y5g52dx2ta0WwCZE7I zah-QOlLNlu3B3d^lHhE+3-83wF17g$P#&v>FwS0S+i>}+7M|k@_S_UZ7L!+}WxC74{Jy%(?+%XtH6C|Es4(wm*oR*GR ziXww)Nu%wK2Sk%V8P!49OR~pQCNzP&Hf^meB-Z=`NnHgW*Q=bqiSyT^6k)o@aLMeP zW!j(tD%SDcDI{Dpd}~?@O#B}DgYWo@YNOsh9+J;@(DY*c`Sqp(FrqB`>-Jj4f@>Yy z$~4s9_#P3M4bfb!CeqZaI3v2fy&}zf|22g)rkJLcj7hMudFdbMNS>62B_z^dSIAYMldcei&u94+&(u zvBMEgq-GTp)jeuZTnAu9aErn@-e5$FbdDx294~9G_zkMqiigkD9-UQhqx?qI%MLRE z5XgLZc|T2u7EQKC_0(3BEPH>~iMsE93^}I-=w+OUa^CXRbCA0jD+VzGY*Dmd@ig;O zZet!VLZo~6xqQCt(_=Dr?)<%P&{%{S6Cc>`^tb5CWklqA@%Eq@1sqjlbfzeIszYtZ zGw$6R;$+iLC0Oi8KP0L^p?cdq*55|yBHdr9gz{nGQ3Ph*RwWE z->g@=>+`o71YaigX}BI>piOZmD!1{zIoFh z-Rp}aW%3?ym%7qc$L+g$QvEJ%W^E6m_`oALr>ie}6V<5rZeNCU*~U@g5A&3tUFU6O z^p;$M1lpg!yGeCL)zG+(?5qe)gh;Z|>rgq>?^rR9ff&h}hm+WWOpnnN^xUIlzr@=a z#}2oWokl1aP-PW9Sih=$rDg{7Oeta-uihA4blLe8mM+|rm`(l|8c%wtby~^8_@(zs zSe1GAr*-mM3mGVfq{A2k7?>Xb*I_&Q*m5|u(cS#aeCo3t2{qe%HESwcj(m_j|R}@^N!RNCfA&0eHk|2~^2#M7hvJ@`i?R?4B z@W6@aj=PiE%nBnFQgw`p-n*(DQgk@KJn0Uj5)M@&Okc?##kM8c_wx5uT5-8!@C%le+y!@u`9Bi_y{1 z%*@QSwY7)0`Xiq9_KLMGa+Kqdw6I#=w9&;z%uET&iM zDxV5LPhVe%Z%JF55F9tVghmj8$Gh*+!T~OfxwY=|(=r1t92^{o^{h&3Zhh-MyyNy3 z@OSbTBzK4>%Z*m!$qXW%%3o+zm3yKT95Z^t-(&?NVvsYZSH>c0r&aAVR8|Y!UK+5u z31@iuI6o{uh_*QQ|9*Sj7PzsXtrWr~hjza!c8=U>gzSI4pzDH>C6kPbVKGs}9DNqq zSN;yviBy#=<3hO0_I=}{clID2?!K0&(H}R%(k=%>ha65emZ0z|Ev7;$q`-_g>35hL z_&|=B*Y&_hr_R*JVTqTETfR*OlY!?&LuWP&q+LYwfdwbL)=Pw@2KDn4dFAaHM8scM zi1qV6TES^ztQw~6i&iI1Z+Cg#)F$_ypTzjx$6j1bOPCtJZd1M91t1w2eG9l*wsE0I z9zpGkvN;SR5&ga2RkFn>D~>D(tj_)nHx8CZrp7s#R&KZ^UA^jOM)!B-d%~`=`Mm~G zMCotjfDVpu9{y~v4PO;@!JAHFZM`9G{qAv+V~;=Vn+1^*b02M$18deS&Bk3Oz3~b2 zu=?VlSjR*M2;H)l1Dgik?`}tty@LutTG-6)(+T+Y_Y@o>UGlm>9ibqxzHSOd$Tw$} zB3D7(bBmv$ilo5T4K7k(_rp<@*?NM+%iTq(VgZd&1ifFR-$zcgs6!rx>?;T{PelxU zplp_|m=%66qwjDN7-F%M_AyXiqeYC!cSrPhSA7j~#{mnkl~R})p;O8ZFTw<3FA;j=n=gXPL_mZW_<0^P~ zD92Ux{=&!cn7g~I+Ax~TQL&b!tv0%$y0Q|`5w&3~t-YeYPc~>afF-g-b-6{)Yt+(x z#sFBw=jjVLCE60!BY(sMrJYhgj+toe!siE_4 zL+NDb_S#K(a98Xp!Tqlsb;n9!<7Dcb0?I$}5JtseU7i_qX{XijtiMLbQl`l99?8@- z*Qu3?EN`<0B=GXRKL2EB`%+F|v;(TvoYpx5%H%q~4aK_^j5jk846~ebl|<$Z+e@_M z0EWJPdMnOts8v^l#C955Gd?j4fyVT-%g%7ocVU27WFRILnI07-Uk4_uMt)8aXcy1h zTI{<i)oYp5N^n#5J9cC-_j2M&^_i9Fo0s=1{0afpv%CA%`ILTaQd7lr} zf*wfA;w1@e(I#m|0T9ot%;u@y#$S4qDWcJrF?bl zbShZ)m^AxyLB$Z0T>5Y(<)J*U=}>r9<*6z8=>Xtso%#N46BT_+e&Sc|DY?(SX?^S! z>MgF?x1rVf8Mq;nO)T+XxtxgBf>HrsW0Jh>6E`(8oinbkDi#vxg*hMS4JMcntb)RN|vxNh(!)#n1WWo{jTY z<&-`Vct!Ta1wy`Z_$63f(4g{=TRed?t&LfLl3!B`)3Hu2h0G%-z=~<$bf{TSNY8WD z$Ki6}b}iob<(hW&6FB?WkrVs_ByqQicz!m{(akD=pi)4?yP*qKR;;vE>N8k1(l@|R zMc^{_CA>XKKlb0$zWnS$b;mhMcrN>J0l^`7U$ES6CsTLjf zFh=D#-!yJ-1ic0R#wlYv7rrTMj3>i_faznE>OmLi0kysmycV&0t?e@r_J-&U6PwU2 z#zCykzq3jOW`gd9ffm%HS&}kuPFMkJeO*~>hunNv>q_*16DbPvx|ljE-O#$2RqPKy z#wZFtY4lpey0Vp)CTwaXn>pFXcwTMj@*-9g868qKlkiO#uTN*E13f@gAP#-Cp=R{@ z%uiHdg0yJLvAVI>B?Y3xl-3iG=*@(UlK;7(8^jyMw$>cFdt@$DHm7gLVNY@_w%CcZZO zR*F=}gD~{egP#;|FNMz0bw?XXO6f+|4Udb`JA?F2{0;E9G0s!HSBZ<*J`ai4O$zL- zz)kt?j0uXNm^D|mZgN^kB6DI8&BO{wYu9D?W|MXb;iTZw`C0NuA54~@lDx~)=`lWDlDM32#AP9v&@$?YqmqYA(j zEwW?_S)xA?k7_dD_irdM-wSqx#w?`yei&J-u%$RR*$`~I8`?J=aRtcLBswkq zpuzt$Cau_su=NOY;3@_(WOKH~w&ov6ekuxNlX&UnS^QZ#1q}fW%3iXLpS{#hdz0dD z5&?dzcvH0@7l?7lE(n+Zh$n3pi=y0G9sETjB+ND&C124SnXoq?u(WIj3IHOGZ?A8C zwajs=fage$$dL+`Jz)bhwMwhh=Xo82hYTF`Zr$@rfz~o0e!WkVu^_DAXQUdpu=xcdWhQK|yZoas5m=aQ-K7FvO;J;+HpZ?58(@ElvT;E-S@8URU*-?h!G$}&-FG$XJE1L>Q% zj%sW5_M$FxQKO<3eYgo!V^-OAb=?D>d;6to$}vYGGiIi_c5}y4SYpx@PsALgX#26v zmu@u$u_$US#{B*Ljqrvb3LRjODc`?=9P4gh;?<`O!ITvhsjr6VF#|!s!p74YbvIZy zsysI_x=ZndM}7=g(LdkIl-vF_x#}Y;9MyZ0=ZZb!mLrsqT=B@Mi}AqIZ?%#29(~nY zpXZYr@dcm~p;HI=PebaTAC!E2wcJSB%Ig4sVvX1^G4S%ymQ%w~D^LQoT5tzIWN?@hIgtSXNcH_B|GE+nVA-Ys|n*%A}3FXI9_87kc zZ|%9?AI?6{bk!&pRAze?C=7tb#OzDvYbL>o7Y|4BU59NcEaRCv7y5-kJQLeXsO%scp*YW~h@qu!$~ZZC+P}EI)Hyq=1YXb^g^KiQPypA`C!=|S zklE}cFSC5cJij>w{h#|eMO}P?D(lsuQn+D=(T`_AuaEclLeE>nR6()49iK4fWDdUm zb@5GhHUzi9M`hk$-#13`WT`Fc4XN9U>tu)9`|co{+??1EGB}6nQ^J_AK)I(N`O8gf zcZo#VXBPdmQL=(TTXSDDu|!I2n;0vwer40=%#OK_$&Jm!>vEIw zd4|l-BKF$WKWW0)sh7s`MW^bHzunhPvNap98Z9gj2iYBzcMTR$ZI=`OyqjdNQDSbX zeZLmICpl{7UDeEMu^P^K=@FW1x4G7_(h~$!&8ib`9W`$MqrDkLDyAxaAyBtC9m7^A zsZ`nY13ESO?-Y=56t#FIxZ{TYbxw@++LwF=(RsP zgm*r9n)N)`VV}3G_=twNy=*Af6Z@uKe~Ik?yKK$pdFxxC%d{&jI5k8uk=F$prj%{Q zm?K!z5quW*YP~Hw3RflOWgj0$xSb;5i!UCjnt0A(+(Uq8B8t(`NDN_8;6o%*m9J>b zuGdMHwV3lzJU}}6?WAL_Iv$p;Bezh0Bg%@6hUH)+Q9VphXkeq0 zA2a^fr^gWVBsx)bFdSxf4{YJmqQ^`)pCZncqnVHWNP52}%!#F(?^iucE$+fh-v!#j z)d9O{Fay6RX~~5RE_&)JvSAkzczWpgL)TjKI=8X0%~UUEsg)-7C`cvjwP;`$8BF3U>nbK?W^dQfB!jIVE<%+Yxhjns@yQ1o`3P)<|rfRY~ZWfs;ooJ6#>?0 z#+@ZpkKYI{R`6p?ij2{u2pI*pw3_xq>8Vgl?lib|8jj9!#8490Uq3qJ&Y=9U@BC8^ zBpjPXMczx;{HI#pspqVFw-Hz#W0Y|K-dr91>*y#aPy`)Q&tV6dJwpJ4AdwUNvn%ob zdN2h-z!y=S`6EI940VvA4XD>hUf+*>LpL{A^+6M%{Nv$$RZj}59#h^tMPI?vJKU%? zmzi_80e3rGVlNlaE{4=WPK|WGcbC`V@hu=Pf?q*08z}^dL_RV_Ms%_&`h54W#U79N z?K}7vxWsbU5m-BZDeX3i*XEgcjrR_N{ROd(VRzZ^uMeV^X^5@^SX4{0GQc-6?5*EI zXbI=nd0h;wLDmemcf8U~e$xaQ*~5&MAAGkZ%QpJfAJQRG+;TfZqsqy7+KQkO&c)V8fR;)mGW^wTlI%=LIUmMq*zO^^HOmGSQjr*g zQ=<|w{f0+?Y}yC!)6`66N4^(EAg?jkV{Y4$=7l5XL-2$H!-k@)(^iL4T?Vlj3PY)o z!h?0vwn}^G60c^y^*#Ba?k^KHu^GcNpObP;B{-REoOFq|Mm^RSg^a@oUBsATq9FEB zv(aES!LgzAGXkSUDmvxC7Anu9I>7V|8o-$B#6oMp&JE8>2Hg2z=hM^Mo5s<&Yo_%D zp>oRw`K!vdcRVG;g+SUYWcFwdKnC|NT)>sCrh;z-NQmof_o1$~IDvG3n4iO6*PHLu z5;LR|862E4YDqp!;~Y#}{LTE^DAOUZ-v>f0uz8#t*hNi6?tHU}{eiy`?ML&ND6aer zd{}aa&8+w^oqMIzkaNzTN&H{K6ng#*Zh;*9&Bq3}R}Mp`Pcvp%Cc9gP43>p|vgXoSd5Cs&$R zsdDlD_UBZe%~}n}$A$H`-3seQotl|Abp*>=Q@_N|NliV@z z#jU_D-sB`iM2GyqNor4njRVK>qmn6DdT%Ow(5XiE`&#K>3-fAWM8+h_N90 z6{X`ORP!KI1P>uD#H%B#OfStTb2k5Z!9sg9zP-JLZ0_4>1^zcM*`5b{TUO51Q&6Jp zPP09<{SuYzoVBXO13N^+hGwWJBO=F<;kL02Kz~gnJHo|2tU1^z<(xG8xk-JycAbsF zq{VX1FKAm32mOQ;(-0nCj{wWTtl)QW1%>D6u6qEfqZ}90H!*PsA5xpm2>HyuT6f!< znp$pQm)Xdy7fPWGR_=RcZ&_sV(Aa3GWOXJdFLm^&a22U{rnBqCt$c46ly1%bS;2MGMsjM6eY}u%>)^Ole5`9$kT|&?koexhFr&t)} zoyQ;+B=nLR`pg7OC(D-xL+!r2o&KGBU+Vu)u||Qn9UB@L65`^?0y6(Gm;6sK)Lz|59C4Lb$av^U?leUrZBf+jK7_m42?U#=yaJ|F1@-H)4M z_Ir1Oqz2NsK*Wa9Qh4Y!{%bR9Lh#mkb|Uvz+1mHHS1o{!_EVw1-4q`C3Sa?UieX*~ zn;Z8?7(-b#G_G9dy8LM6;i~c0sUvWsrRuxR!=-p`iW-k=%a;R9{5Q>dhRB%<{wCs_ z9wmw&zPE{#L@nz1o%Eu;Ts0q;%A_>M4sb<$`8Y|O>iCn*BgbQ>mTqBn`AbacvGs;! zU%VDYOvUw8jEMAf#jIO{7m^FB4PM@EP0@iE>EFbUq!3zB3B7geakY26*1l}b@P@P8 z54ypUzQwA{=`P%_KA`x^uBD& zQi%G+y-!O;i2-pC-(xf@g~S_Tg@w*}$f(`g|M=O*3QR6;b?A09#&MFyODt= z&DWczs!6OhtlIBixEL$9j3j5$<)rsPrG-B9@5;ucAP%T)<9&xpZHn6YNT0lz)8eXK znk2B0(xbSP|Cl@cktR7M@p`Z3J2D-3)9B=&`j55#k_Q(g&(Mo{Ck?Wx_0)j1+WGwt zK1WGMX$oq*{T3qvbjCwbGMr3>T4P=s1Qx4r&!hFrKj}bB%@$}is)}P_WMscdK5pGW zCeP)`fOPm4dn*lg>KiHpt-y{!l#aq@B8fzGB%?XCrnJBa$AK-n$EL4}+K*)t&rx9) zbwSTD=vl;|?(U6@oF7??@VqL9LTest9K-@YavM92LY>+G#jdSW63!euN5YC_`Qh5|E_$nd9%Vlh_h&3TnPVcpK^OOaLG!+j*{2$ac$zB5*({`o>1E-q zTX%FgU+$x3-R+D@eOU;y&~FGP{yQ}mYdEMq!6Q zO2dsSGKJHT3Ov_mg!%3iC+838F%2?^3#LQ8q8|%pm@s{7umRs*vOc3_=j41-Q*D5V zSBQl5I$E;k{PvnEH{AGy3|jp^y(Tj3R7YNa-c1 zqovFVfHWENTBJOmdAf^ck>v1e4W(Xu6n_~G- z3%t#)yD&e3Pz6J-D$@%eQ+2Z04vEX7Ux9_dgR7(tcsN=H?tBlc@irog{8MZumv$rN2-EQAPVQGu~wr zV&~tBn2iRANHvlTES?2tB~U%JqmRx!k=rVRpEQN=#cE;-_o?jPO+L)xCJoS0DO|gMO&kg?!*2Ll2$AJLmc(k5aMlmrY5CrN@=Z0yQzazOCV?#cd;h}^PC_2MWOD-b;byJEDm`(ZT%Q-raB-h|mn}}< za0CZ{lx~F`inefXeH+(U;0F&BD2gKM`XnX3EgsDG*e*FB=u>}jwOHvoK%vG72b+rM zt8U`CAoF04>=iRlAno4Ks`%H(w@%6+WzJ%M!JB-G21MQy1#|=??teWSf8?dsCY#sHhV;@_z*-)WH`> zh_HB~x^wi(X(s4gsS-kY(LmlQj1Xw_;;+(13EO)BXbl<;&)NKP|DhvqFKs z0qW?A)Fr>M7X;TU>?mWX^Scc_<_1t~_?u_63i!~%`fVWGhV2=r8|ClqCrRKi0cLOk zsJlpY*VnR+X+dv-f)sp_C%wZh*!~M=;ox5Ow>)AUuc;4GfYX_`Z`~E(+Ta|*(v;5VhVL&R@ie4xQotZckTp#^XncAX z)f@wLe0336X5!h-aJS%Eict+;Yk3G`?v$HSgo!FE>- z4jxt~0rxUBYKc#E6(=aVk9iv(ZVU}Z#~EdoWK)1;gPon6(jLLZcIS$s{1ir>HE~cI z*DHQ_#h)mM>YbOYP)-lxo3XMm`aZ_u17P0@PK$k@sCuA8Yt3?u^zdVY87!LW)hpI% zsYz_ymBQ0zdqSWl%0lg+?r9QBFb323IHuXNYqqPF?C1uIFJ7p6u|xOEhYo)quP*Dq zj`{w~JZb@)1JfEcwW{{c#=+CWh9Dy3wkibj=1piXO zZ7dWiAl->DAZJYeA1wb5T?30j|L|rpXnZ62zdJhnlAqbkXN-WlrdR8-+TXNjMa;3# zpf@0yFcDTWYn-(=#PMojM7PICO#Rael~u>T{&us#^-;iL@&CV~p8jvK`amzQrBlzU zO8eH;$H&K*IRBlje4jB%_|1s0j@skq=H@6ID{2em;4>_*x~0{Xl`QWs=H})W7TZlp z2}VqLBQ84Va2xp0tE($mj8l}HxIv9h_XbDZj!j;ks`XFU$;(z(dwUk_XPc9g1B2t2 zg_xF(MM;CzBye4<;BC~KsUM@p;HPblG3T!WJ-H&fwd6vs+j9I3$#EFVpI+XOSkuHL z2aWW7%YqbT&VFUBWKsE!UHP^M(4J2$QDs$idNX|r5$SktuHL`63-xZgi{U6hxr8Bh z3vq*4Od=w)=QciVJ8~uk@-kceE2V)|(WsK-kjVSz=xs*yK2EfTw27ti3T4ZpJWYet z$>2l(W_%;X$Zdb4oafWGxsilJ8Ol%fxpRJ82ctqyo4F(IOk)H7F)KaB+6#RfudrYK z?O%_NS9v>1X=RplR}PUhUbh8Eztj1W#CW%8`MXVjvIiU}u1xAOkF@9m^b#Dqgtrbr z;ACGe-?g?7GmA_)zX~@lkq#>4^<>PlW<{TqiPYD6A3q*Eb{ytA^a}=?~=cD zcE4QL*{~?ND2vcFS8!^0QNQTbnl0}|(9-f9i&Z$WlN3xPc zPf-8sOF9S2@+M#Kqr21Ql&{#rkg&#|MAb9CT$zX??gWI*@8Yeom`#z*T7jV`F6Vu)_b&TF4dKbKXLA&E5p^oQ8o5W2HW4u1vDL%!_s$~5~2U;`+(HU77F5dnLO4Bknsf9u%n1d|pK%S6y3TWMbxtuumG zddNlRCh;U)Zf-g8N>+z~r_BiB*pjysr3`4PBCU+|x$`z3_FuFZ-V3@}0&ZvD?M?P* z>De0??mon9Koa=GPm9&i8}l{0!06Q@7M-?<4{%r1Ft1NJa`ES`eWftmph?Z&X5)Cc zBs|7n`F1jJg}(wB#P+2r>frAq*@bMJvAXLc>(?Ph?X?1GhdaDq*YSv6`95`s02HjU z_LheU-40oeFUKt%vnB3xFoR1Ayj^rId;Xs5I zVtO%t6Pr_$>!m~8u~I%ot~Cx_j?!IlTg(=*L1_($y}`>h%8+Jpp)O9-NAU1*`4TPY zhf9K4iJnD*K6Mb9w6!8c1=?!RthGRFkxt)~Xzq8@10wA-UpKPz1k8Mi1r+aqzLFLE zJ5bJpiAD1^Ap`rfdQuC>Wkl=OzY*~HVOE1b9I~nqZQTP4Rr|2XB43NiDFra_Ah3#s zyua`&D61ppAR_kx{@!Q??#P6N~B$X7pZ_>9zIh$`B8P_|~Xt)CACTuRNI$sp`o z)&_2)-Uqlv1!Q#JE!dGd26$CO906{xkv5PR!aZ`0PbBu+X$^}4?8}#J7Px%ER5hyR z0nBE&*vDua(dpo3U8V+Zn8h?cc6N*6cDi10nxW(fk+4gkl(e?)rs7Qs!2TAgNalNLTB$nC+7+52&% ztnX$k=a{(a-4L2@UfblP`H0s`Pfn_(JtroIzrbd2dx)7{zBj8QX2Dg-{{~XKcYc<+ zrqLpge4#=uimNfO;wKyH`HF5E_z%A(TPEE{>D>l!U0Qa(V1muQg z+YLis7YelD+IjQZmIHqF*=O=VR|B{&yc`ggLc4ME4E4a!9t3xH2y=qe&hDVV4`X4c z#9UWt%n!rGK1Q2}&R;6&m~ECIz{69fZwK78&7<8)PTGu$K?U*Q(uciYidT`lGi$4H z-}nX`v(CQ(M{sfX=aJwx-1vjRiR#nA4P(QDauTF0$?|*t@(nn)FN&2jDTRtl05vuEo?37Tfp{Go@Kwf|9~uafSnYY8^?sBK$>P(NUL*Bu-xl)qJNhfG<>{*Wp2Mh5yE zO0tfvZqnUUhZa$X&g1i^gIn!@-wVTHVh$}sjoSoVGq`PHygaxmO4Xf{_E}N_bdpJP z-6{e<2z)}F86GZjvD>UovoQfFk9|1k*0{1S~>^b8F+|PFO?mxjDltMpHHN(X^#tVa6klJ0J zRbro|)hM+X#olE}IauSm!L1w*;v;JI!kRqo4H->cb$7eHpZDIQd4EjZMDF&wJa+0z ztgsyCGl6@a8iiI~(GHZc3HL?p>DIPPDp+9e-GgyDvyx_(;;#iajr`QP=k<58bE7V0VnYAEi&- ziHep`$|z}zXuYC*(;2n>STOKTFK<1d5pC-23<^uGDWH3Z!6SC7o(+fDFIKg8f;8UA zXO)}~;|btqK%xT*b0lVvU6w$79+*FI`0Bk#M?HCJ!#W3-RRJk@59<9b1o z*P3HjEwco|ZN6{!!fc?kt;RAmZRysW0pNFfaOY|j!kDdMXO{lw5m=oD2Ty!_p`VRe z;Ofjd=JTf81UIZRG4Ga?k_Ks;UqO5t+qx?6Rn_f4sL@UPwl0cdaie~ue11&{GIUGt zD%rVin7G-Ds;59q47jEkFPbG-yVkT_-=P-u&PLn-h#NrM0Eim^aRZ2Z0YKaUh#NrM0Eim^aRZ1O0C58#ZUAuuAZ`G}4Ipj+ l#0`MB0mKb}xB(D100Tj@PeE+xc%c9Q002ovPDHLkV1h&;l_mfH literal 0 HcmV?d00001