From 4a9dd7098e9364953d61d839199021ac102c8aba Mon Sep 17 00:00:00 2001
From: Marijn Haverbeke <marijnh@gmail.com>
Date: Fri, 25 Mar 2011 12:47:20 +0100
Subject: [PATCH] integrate page design

---
 compress.html              |  22 ++-
 css/baboon.png             | Bin 0 -> 23299 bytes
 css/baboon_vector.svg      | 153 ++++++++++++++++++
 css/docs.css               | 158 ++++++++++++++++++
 css/font.js                |  15 ++
 demo/activeline.html       |  71 +++++++++
 demo/complete.html         |   2 +-
 demo/marker.html           |   2 +-
 demo/mustache.html         |   2 +-
 demo/resize.html           |   2 +-
 demo/search.html           |   2 +-
 docs.css                   |   9 --
 index.html                 | 317 ++++++++++++++++++++++++-------------
 lib/codemirror.css         |   4 +
 manual.html                |  44 +++--
 mode/clike/index.html      |   2 +-
 mode/css/index.html        |   2 +-
 mode/diff/index.html       |   2 +-
 mode/haskell/index.html    |   2 +-
 mode/htmlmixed/index.html  |   2 +-
 mode/javascript/index.html |   2 +-
 mode/php/index.html        |   2 +-
 mode/stex/index.html       |   2 +-
 mode/xml/index.html        |   2 +-
 oldrelease.html            | 103 ++++++++++++
 25 files changed, 771 insertions(+), 153 deletions(-)
 create mode 100644 css/baboon.png
 create mode 100644 css/baboon_vector.svg
 create mode 100644 css/docs.css
 create mode 100644 css/font.js
 create mode 100644 demo/activeline.html
 delete mode 100644 docs.css
 create mode 100644 oldrelease.html

diff --git a/compress.html b/compress.html
index 9d9609a8d..7d346b78c 100644
--- a/compress.html
+++ b/compress.html
@@ -1,12 +1,26 @@
 <!doctype html>
 <html>
   <head>
-    <title>CodeMirror 2: Compression Helper</title>
+    <title>CodeMirror: Compression Helper</title>
+    <link rel="stylesheet" type="text/css" href="css/docs.css"/>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <link rel="stylesheet" href="docs.css">
   </head>
   <body>
-    <h1>CodeMirror 2: Compression Helper</h1>
+
+<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
+
+<pre class="grey">
+<img src="css/baboon.png" class="logo" alt="logo"/>/* Script compression
+   helper */
+</pre>
+
+    <p>To optimize loading CodeMirror, especially when including a
+    bunch of different modes, it is recommended that you combine and
+    minify (and preferably also gzip) the scrips. This page makes
+    those first two steps very easy. Simply select the version and
+    scripts you need in the form below, and
+    click <strong>Compress</strong> to download the minified script
+    file.</p>
 
     <form id="form" action="http://marijnhaverbeke.nl/uglifyjs" method="post">
       <input type="hidden" id="download" name="download" value="codemirror-compressed.js"/>
@@ -30,6 +44,7 @@
           <option value="http://codemirror.net/2/mode/php/php.js">php.js</option>
           <option value="http://codemirror.net/2/mode/haskell/haskell.js">haskell.js</option>
           <option value="http://codemirror.net/2/mode/diff/diff.js">diff.js</option>
+          <option value="http://codemirror.net/2/mode/stex/stex.js">stex.js</option>
         </optgroup>
       </select></p>
 
@@ -55,6 +70,7 @@
           }
        }
     </script>
+    <script type="text/javascript" src="css/font.js"></script>
 
   </body>
 </html>
diff --git a/css/baboon.png b/css/baboon.png
new file mode 100644
index 0000000000000000000000000000000000000000..55d97f70b817ff2b78ebb409bf34a5147fe40d07
GIT binary patch
literal 23299
zcmXtA2RM~|*nf^qWM`JWx9se!jBH8STe3ywi4vlWP|C<CvJzgKqfn@XtU5Tdw<LRf
z_xZl->$=|2+k1}Z{KtL&)_oF8uIf@zuu>ohLUlz?%M3wK;qdQRG7|WEstIZd{y`L|
zdBuVZenpVE#KZ5&{q(K}A_$=c{x4Jtp~C?DN0uOM>mYMqx1bQm09Pa=Bt+cP=T@Mz
zqo1p|Z-D!Yb!Aor;Y6-zX;_55T+IoIV6Yth6df`|pO&Jo_lj4Y`xQxw`h63kq<l`k
zAgwS{Q<OGQ*N4K5SmhY~=%>1gdQ2wV+9`BOW&{MU9$qEjO0G3}ueiaHZu{OP#N93A
zj(hr--M@--A-;+i12@JmElh@s^Kc6?Ka}c5EC_LD^53!yzKpLNvkN39CVucnp|=A4
zQnDM1`awivv9(bXJxWAFh8d6X$|f*LYK@7BDYx)&?q?1pqM^ulOt`Nxm4B`79;*@R
z$SXFC0e&T!aV4oZe<4&SRF++~At%Q17J4DywdM~P^*fl$&f;7VQ?2dC*aJbqvBUt^
zRTk$qg!NUqX%!*5rzBe_ySGB!^|i~lxw}Z!Q$1dU5zP~@T%7N4YxU>Y#qJ|i5YhKi
zE!N)BC(rLocVpuPjeWF*&m>j9MVv4!yFSPf6>qb*c`*ZnOLrwag(z~+t#b2fB(Em%
z`t8}L*hC8#W@p+^rLbren$Y-M*O-Wfu#4<YQnmUb+b&7Kva>k+GASE=ohI|ZX_fDR
z)I4#%h{DX|d2CTLGlO%LN$I=NY6<_opl<V-lb2#E^$hm*_O%`Z1UX8<nq^iMo7lj9
zE=ft6$B!SAojuzfOG=&OYI(Fnhhe@&`R!dh0VivwQJZ~+mJsoSfSBQA73cD^=r+U&
zRZF}u^6u8r@i8q6OTy#xmkM0_GRe-Ixtz=@i~IfCNyfM@Q|!+tj%emX8>t;PllQ%E
zFXlG6FY8$!k#~=IBA@Cswd(mq?KL_o-z8SNCq0O{xL%F3QXAu|yEUp~VZopjw1}Sn
z`l2xE_@KnDRq5r+PHN^$!OJeaV<LSL+8E})M3NjB2c$dNQS9S+>@SU=(y(;YOUw`l
zx;;U#Pye5Y;21*>tY<knEC!SM#nRq7h7A1&DJe8sy1G0{O02ZBv}EMu8g*X7I2=a)
zp}@;bu^ZV3N-0uS$?+EqtQ?6SNR7~8l>FFm-bM&|RG$cmm%2l4oP0`-EX0@SkxVc!
zh{jx}V|ysIqn!H~=lZYxl9Cd)s3_%mr6BcR|J@#_^)&xcYEG)Es%lc&dG~Q*Vxr&L
zPuZit{b~(<(*)vnE%6^dXnx7L#Pn}@_~NsLZ#kDr%s&-nO>1-il+aJrCvjf2MNaRz
zP79SAT|g=h7l;&g`;D&4nwij`@u&F=sU#gn9qAY`NqmCCIkfEjyyY=kd7f3?C+TP1
zt&e?uXRs$M(<Q@RHyZ=A-M>q~&%<JG%J@#QYiMYE?&;Cc(TTfiA<XF3pPLLX$Py~c
z&&L!Qb6}daYSpnBR%i9)`oumB(FWh;A;yGq9~k*)!%gA(JeDOI$VT?<bGyUsV*Nt1
z((eV@XDC@^$ZVVMXvdOJ;pXT0-zFU$McizQxZYo4-{6NDt+IcpQz(=^IX=!}YHAv~
zRGcO0_Jx^<h=}a%r~ZEG($doIwv*KO?gX<IICqao-jS$}+kfBcxQ#f+d(>kS1qGjd
zD5;hhcbg=~2>L~ZhTIUGU0;99WFJ9GNJ6O|6eJT98%umR@^@=1<=L~6|NF3P@;><u
z4P&B_H*enDJXookiKSLm4{cadv4bb=vX4G?U0re3av9>#508_2O(1z5!-ShcT%XXO
zIS@m>0)YUL!hDP_3x1_ZBndEnNN`03y1iX3?BDVOyVkH*mSt9(J3DbTH5aQ4=9h=d
z6z;4ti{EU>zql;#J1O(4<ZlP_$Caw~$HZsOVSfGk<&YhHykft%J!G8B_=gBB-xG>f
zPq;Thl>g+Wk_G1vWSK5?;432q#SRe<H<U6=@}zFejZyEqd?zY4xlS~S@O!ZV6A>xt
z$4{R~b8~a~|1vN#a&d8?9-civctu}7vCcx~ik=>sRh3=xowc7C`#x}>7AISqOIL&E
za=(b&9XUkRW|}{t_@K-kX79ttz;GXfh$51d=;`UV#0r-#%{*YT!<1FECAxjheswiR
zsl@!vS!HEq!}-3Ro{nngPeF0VW7W=|zkSQJQL$roRvI-53sV{#8hT|_HjTrfpQxQM
zUv&R=zi?(~xJ=#$tA2d&&xmoKmG*W`<;am_w-=&7!q(Dg=@)?9r%4@1U?nCF@1RvD
z;+5W>oSckLOw@#3WR>;0|L&cnjK_E6+qc)(22~>VOniSt&3|EGVC-psswgAFkQaTT
zc(A)s6(}+{KhLeAa^BO^Q_sKvUv`3)2nh-I6TK<a?>JNYFxAjK7z$8E3`sVt@h51r
z1BsyUNi&p*ii(O)O453CPV9S$DUb5$(O-}6Xtm7o;j(N0k`6OOJ{YeB1_j-Roel^L
zOwGwjhFcnF!K4lASsk$-&=$Onpx;`SabLVRG&Z^t@A0mvH=&3(qRSq4_KxYhm!e3A
z)>E!}ZVHOm4#-cGLT8pqu~`S4a;P^RBjqf1q0_{*w?@yNoWyB9Q0t<LZmz15aB_0O
zKa7mm4>H(oEo<v%b_%gEF$6B|?mQPS(lbfebw0o7o|2M+zJH$x+u%=V_Vr=d-MfyH
zEq9q!!fJbh1_lNcBKF=@S4q&MdcUIA|6qMY?CJbP5Xqw(XrHyx)VN2j>sLrG&1WC^
zk8y5xmWE?|e7x4Z|H1*(qtaWWl@`VNjOlZ%X(c6sHjM#%b8~ZlM%)v>d@=l4?M#|{
zK_weLGQSP=<-vMidtpIANt*?z?cT!CT!=e&Oa-yJGeTX|K$`e8)dI1c4XsQR<hE!y
z^^0;zrwZGe?Qw~J`jp||->AJO{Dy&r<qC8gw~%bE%W)=}nlT+=qQ&ptrNFV(cJ5B%
zg8uYKX*XXZR<Ce?x!iqaq#|Pf1xq;d2%X=jt>T~eOv^uS-K)qe<4%mHU01_|M<gq9
zbH~)q&dm*!m=-QJF65>c72dyp|2tIF9xE3&x51(->7oaYVSm5MQ)Nc(Z@IR$T>hL%
z{VZ_Eb?ly0`QjFWE)&bE_`mnNNoJRx{9H;0ic%4ug2LGEvjt|Qi><qpg{!OHX|d5K
z`wx}wta|)+0;gTn-0jXCIs3Ng^ok4O--*@#JJ0-~mz$nSnUEBbh&?lY#E4G7?bK@B
zdnCs9=!S7>uYmC>4X%Hp!Jo&IMat>E_W6$k1F3Ljjdn1zJ?UTD9&fatwi(`CUtfQ{
z)tM@GLG(MJdfRzsOfPReN+AP#I)b#3rigOd3!?*(JNM3zT|3a7CKgnqNYvvrK1Hnl
z%JvRcKFScemOUW^RnG&K&P4*&#WXau;ri(B#YMe@goLm;XnDOBxi?(a9#T*uCJv<C
zRnomxxW~%1I^+E(f=3(;91pCOk4^om?;M&HMf47-HH0egv)u>{Rq$+#Jp6AwSx#L1
z@oF-U?&B2wV(FDIySsCYt?yqOKL3#Q=|%ZJ^~MEj7g8N#+I?O|xm-50&Xc(%j+^n<
zC*y)PCRGOMSXqUexWYn1P5k|(#(A7SJ(g{bUHe&QaP8Z{zm@&LdY)U#hPc~E*Bu9M
zhSY281b#I-Z01EriR)wn+)ae&5RsL($itxM_PyVaB6|8#Uc7kp@+JGgzIVr)yr|v~
zB*Aq4TTa<wv;RzYL=T@D`lXZ{6-LuqDn3WE(eWIu(6l7OcIZw^n@R-B&iX{z;V*V)
zV=aa7o$|$q|MIOWY(n9f5Wk@YC}YhWVzE5g8g6Q0f*>Tu@54y0gbYY`D-k>sbA3*6
zQy~TJL~li$btS>x6{x7I)Gye=k-g*Hsjt26XWYI#yC-b<mQ26Qs_aj{+9~cKN0hp{
zI&!kVz=5FOyb-Y9lrPoY31I(b`^wMXUjrb|WcY@P;R`vc<HOyDWo07L(!I8yUpy~j
zkFRuyA5=Y$SfV^IGxRO~GbEl;?u-UdVS93?$?xV1w4a__qV*RE)356F94tyGjqv1s
zC2{s9=cUHu&N+SPO}dxkC||+Z%6-hCb`{RR_FR^|S)op{%jj2vfeR@-&C%Ahhw1M*
z5P?0`;rFh6dVM#1TV1U_DhJL}j*BcUEzPd2i7hJS+9njveU+b@?Yog)6c&%Y)r^hn
z_UZcd>qXO@HT}GZE%MvH{!6}~8lk79)zi}>6MYf^s3*-<mwb*0u`m6Z$<3(S8-=Nu
zkR8vDqh!&vk@LZNSQQ@a%{=MJeJ<r3m%ri{5K!>t%NOZ=xM=QeEfacgACj&9N66#M
z^c#m$hZ-v5gH<?KdXu;K;lY`(vUcf<7d^WY85!v5FP}Yo_WjB&K1EWD{o9>ly)K%|
z?%(f_Fp-Q3-n)0NA^KDm;gpqSl=b?7shQiPJ$H^@_;G8+6(b{UKR-z*^>>FV?b|N^
zp7?$!3Vl_~rdBdz?K1bl6IYu6$!>8JPEAkU4e%0Nta9$k%E}VUvU4_dUd17FHg0bG
zXE{`p_Vz+MKYf~kn=GeD*m1UjAYa74Y?Xn5k~N$OSwgUet}UT|xLM`A$q?uS&wT>S
zD8qMFHL}EQwHE060C~TQK8<2m@Iy$cFLb607~@t~%P%s_bSHnjPfp)E`$F24qV0I+
z#^e_C{6uJ1E0LMGxo4qVnvX~E7szYbC2BA`D<arp!M>X|wI28O|1NwS8XC&yy5sLZ
zaOuN<jdH{u4ZOEjM1=C$3(D~|?)^4vGzS3~F~l~0u?f25XXEFSx>{b{V~&Wekt?=2
zr0Uxk{+_w996mV1WHT`)as54!Z|lFz9vR&y7i2wF)%I|NqINCJUUffRPT<^T?U#EE
zzxDI;L+cbuWg4Z;WhGU6rHp@X2Xty(<3<IDLeh6qx#-QC%Y_4Yc!q0#-B!bEWMy@(
z(zcm@q2ir<42s<)DVVR|5dbjGi*XT`kk|J<NsK|?8RX`SYc@SyuDDUJr=K`{K>Fwi
zT8is36*>8<b7D3o0J`z5jDLZe-|!jdqK&>T(eMX)0woSK;q}Fbgx|3*!zD6WPEQWQ
zs*icNxo3B-iI`bkKzVq2-Y_qUcr;Dj_)*+YjuRGiqVt-KP4>9I>uck@tC~Guz7$=4
zcy{1-*CWq$Y@=&i^m`|jiPGUTif{IVk(sHf8g_PeKgzC2*t~Zk=i}oeuY3|OC?s^n
z1bf(ia!_Vyhf3A>NHq~HMUel7oum^=e$?LdL+Md=dU~FENAu2iE*O1BB?ci5r@hNQ
zHN(zrBtZw;o`Zw$T@7kjU*+X-%q=XWOW{v??^7WLI=X_a{+^x$X=&;B_!0$)JhQ1>
zjVokDyhMYyPu(p1{v=i=0c0thJHsU>m$|D1B<dRf6kO`Pt$$2gDTd_edhgo`Z>=iy
z{r&xejt_!?Y0;cl4A2Vs`Z10w{a1;Q)6MrCMn8LfLK&)Cm78PFA?jLP$PUXvrHt9?
z>&WdzS~>4Ahs|c$TO*vx%ItsVzkdAsLjGTyh^S~M5J3dlCw(&0Q!v-GAtUr;)8n(b
zT5B<V?Cqbm(?)?ONBh!w@WLdC7Yvs??>b-9GlC8pw!L@{YX3}5$fQP&5_W&?(-V$Q
z|K0xOUGX@^PZ{Zy>JICzh>uy5@>n&XVN`k*xbV$Q<dy7C8$5}^vjEtgF1SD2ZDqF2
za<KX6h6aW0<>503j^TpM>n}0)&j>a}_Iu~(54GG4oRkS!e`-5@j*jj_R>e)$!vby}
z`KbO}75`0~#*gyr^oP3}x}%l0ea@lxdgIQZza~{{1c($kI44o<qwdEn)O{ZsGGE~C
z>Ft$1G#rIPZ|(`tevSX@;y~fj>UfPy%5SHpB~$x_?g9Og-;5;b9I6q|M#`@{4@O#K
zKcwc^vbzkGw|7=VSeU!}S!u+mXrwHmALeDaPif2UWO!4;_}Z`f^s=%ttT=^sX95XE
z(BM}d_nfX_G&y$m7XIGxiNRt@l}&ebcbj?MSsi<ISP7uL*7?)f-!pcPvU-^hXRp~w
zr2D{GZF*l=P!QTTOb7D97AtJJm!$nfQ}Djh%jW7s2`vQst~eELYd+lW<x1b7*G99m
zv%K}wW}V7HB;QBUcHZdi)0+FRqum9>IFqMN#*HMTq@?iFAdZ^j@!y61!W;EIEw0P~
zbF&*NM7_h*E4E>Ohkz~gej#R#?axS0O?C9EzYRFV$kiN$ql)sS>}Do3>BAm5{n_5`
zge~6O`Q=N9K-+zAkC4<V^L!~IEr~-eR$p+8MAg|hJ>^qpvPqtBvDx(I^hfJzrw6#u
z-*HJQb7iT!qg<{1_@^*d-6xugIuyg-dEOmm#4#%THd(@8t?yK>#0$QtLj<{cZkEXq
z5QhKacP@Y+=aKsBw>#r$U&|#6J*ECBcyg#8Q|hROX2mJae;XdQTsZvJ(<8N#aZ)#G
z$5ZW*W$V>rcY1?G{wf`TQ1H>if<8I?gNIf*pPn4MZUNhmmzb(|nZLz?9&y^JQ``bX
zJp`pNcvQyy8++pfb)ufg6_c~VRhv!$F2-8asAoyBDS3HM3U!|lAlQisVlnfGb5hj?
zTU%Rrinq77mv8>&DiAFaMBxFOYCDg-PrbwW+A>4RflAv;es=UT%&g<1W!Iimc^T;J
zSlK5GRosw=zQY3|4zfA!o;UrGTCMg@9mRiqM40dZkyj43dsqcD)lEgGq+=lZ)gc>p
zG_+^g70{rx5Fjr<EEBwapH<kHl?2y>zwgVpZ#o;3t<`}GR|`EOA|gWjGh0KdR?Upn
z)YQ`NI(+I@<>n>;ZhgP`5>uEv6r^Xew=!kR%4HN36h2pcsQKcMWSMn?oOp$+bL>WB
znpF~rJ6xQc2rv{f3W~wo&zyWJ{mRXU9CCkrjrN$h;5t_0PHpp_cLG2MM}Rc^E5Hrp
z_FG@2wiXuhc#X)EUn7@gc9u0f=gnTma)?GF-oO5%vV3cy0r0W=35SFrK}n1xtBePy
z3#WrY3o1gqo{qxmet$oq&!{cRaPR2l%a?+eF1?6vnAz{FY>c{-)7r=z!shhdmxE(4
zP4n_)&+WwlnaG2n12~CGrzabyCEAb9g@uKNg_+se<qm9JtFpVjr34G-E;)6ps<k_W
zTIsI}DNny!?6X5r3oI79*qK1D)%hTsSt+Olt2##^G!^kTx%GU$85#L+Ss|x9?jI$c
ze`TKz-kP?L_@ix_?ESklftUD+K&03AF#)cW54T2Xi~6eCPrPc6Uda1y&A0naYd(*F
zH=(j`+r6($O4vVF^5cB2ln$&qFE@9cjZtg(Zf5z-OOkGP_y|eQ76CQvt^9Oxt6A~3
zDeWN>mk&FpH!3_jI@)w8dHP3w+rWn1olVIDTTjEr01!&<W_g`#ex!C)y*2)x&%SQ{
zV6E)=^L|15sC_;tWDh|k+Fl)}hl^d;@MUq)BYfMm@7rsm7m^;|IqyGw*jGw|+G9cQ
zpwn}cr2dYWh>Xc<CbwE1@1Rhq7S9XHp$-9clnBFp<|+Fh`|~^+O`Tm`Tmk~07I!0}
z4uQS1?C<Y~<vn=7Vkcxl5ttmQfR4jy@>_pl^KH4ua?uUflP<70Qo(j|^w;=NuX(A(
z9$Y8?-F4eZ_iHQz9x~SN98e(CbvF+hkij945?~|TWTSl$^Ma6-BtNyQS8$9&Gwu|3
zwYE1VVN@+cUmL)ymX?Kyi8_#~82j_lr^g|`XK)>{c*Gd8jurZA>*XbUyb*m`_`NB3
zN%-PwcjG;Eil8cPy*#)dti#R&1==n9pB|qt%hIi|`a9R7(?gp&PlkT3xlt#T@c1!5
z?8g%hwb!3N>phx4`S|$M-u>&w^_MZj=BBN!kfP%A$%wy3S9+HRiytZ8ohhG|GwE#8
z3e|LAvo9Qf?|R0QHZZ>H&&;QUCq+fP1PzxjhV8B!nZGuCWvq7mR4I75NWQ18*yl`P
z)S*1PveEMN@86n8Nyx^e&Oe2a^_Tg#K<;BN9rm(Sh3na-{O@a2ygIc(l2&WjKWIm~
zPhY+?G<qRdH?|lW9zK-Hqw4{Rft6GWqmk;tB2QD)aTBj=@akCV!Ooh9oINdCy)ikJ
zdxUYCywQk>pY7|Vjh4$cC$KnYe7rRu^NR`!(gd-N)Q+qrvmOp_ilw&&JqIqyjlOvB
z{P}Z|f8RZ1W>;?f$9`EF)ID2Olv-3P{&|c7lP?dywG@()O7)p)`x=r|fZMwIQb7ZH
zERVdrd=I6Q_Bmf)Uws3EAu2i147hy>cDyKux7cny+Lc6;JQWAN_SV?gSkAoG^mKZ!
zA2|ERQIadw0~<dv#CF1@ws(>GmC@m0MkFOIEhavm3?$D&`gGw8it6g>mM{bZA3G@e
zVO(bN#9vA`4)v>AyO^Ad!W6o?y586Z+N)QudQ7#cRNici0r?5@>C-1s6)1b}KpWB0
z(QyK?<#S)(On(s?v=BT|DY2j0BOsKD*y<6mZVD0toXy4mOYe&CwRiTNN76_rl1r<p
zuTMeizfz;3V$^Jem}qGck!#0GjCXY0yZUizaj{LlVSwK`36H>#6335mO-CwW+nmUD
zuSga1@C@c2VT_K!w{PE?LQkQ=E*P{=rrF;{n(r@K*kp>^>T7BJ`ST}e`G-(%Z*KwM
zytmhDUM~(5J$m%W=XM)<hMDoM4gn!yY54AXT86y$m}FDP#sy*$lEj|T?o1vdZEq1L
zogFlK;21bG;#a7HqUG4vL{?18GXD(A{T!xbO(r=cY)yXs2qm8=z#V$`F6ukAXa0Z(
z4Ks86M03c@ALoz0<N#1~fizXMf&0=Bm2+cY2QKMfzWVJSZ!bF08E4Co&wP49im}Ce
z0MkoL3CV2otdxhCPc3)<(tukqJL?j$*+E+H_u3t(7ieHQ`c{*`QvcvO2)!p;Sm48J
z)(90IQY2YBOYECIa7t>ulid8)f|7kL;G(_#)EoV#lmTg_55(fQC}w396_nrk3QzNI
zBkRBFsX>9(badoWJ=t@Pb(QRvjM($Di?p@14d%)wF0YGzEH(e(Mu|TW+u;S3Fb4og
zNd6h#H(f7N$bk4^Zut7UpTN;HRm}cwctM43E#V>s?KBX2U0~;#qSv`)esOj`D{}#K
z!sKK}h^hD}yD!Yl%BpVzf~l*tm~#>wa3d}3)|JbB!Uly@6*t0M4M3Dd<&#jcE~*BG
z_`lL3Vh*08B&rv!1-Yw<z63g0Ri9eO`pp18KhAFE^9p{Ld~p^Q7K_%f;K^$<ATlp)
zc}(c=7d19kc_6tnL&S*e?VnFUxiA0$stAsIwpw)C)%K4Msb9=V>*?unau<N4(zAZn
zRLj0rWOg#@@b;^_B)>is=f|&UN08v8?PCX6{gQPqgD;^o6ugdo9v^R2dGiYJ$v5zh
zDMC^Eb4&#4{VKaJ#eJf{AR<F#JqPc%w6+Gjo|17CcApsU(TZHz9W;=jMY5IeO5Y6)
zr9oIF9gu%ZLl2R4-OjP=bp%J7+XpMgPjtNDYS|w+x~b{;1b(4cjnuE&D={lhoP5i3
z+5L3u3Y3Ll_kk$5OYhm_wYT|1MUyBfC<G-Wp1^Ss;O)-~VB^y+=W&`)K$Bg2tY54N
z%s1)vt)bUcN+Ih>(;px5$jWAnQdb6#ySTb8-6^)J`ljs)wNDtYvfBP^Z%N|7F_7p6
z5iLj!GzILej>l@mHV}sY=R5USqHT`=Xj?<XzVykzs%REb_Ye2U@wEI(4m~}6aCFG(
z*no?THLhNOn;->~b+y83<>Z2#_cNc#-y;<_#@@R=S_}iiSr%BfHdcK(D2jL`;NP+(
zo(qFE@C^1OMbwtr*-A}7qhrT<c#QD%@ec6q5u?Shu&^!h{lA;I-@lZjj+jC3{V^AK
z=T4kW#mEcHgzYBLYXX5MsB2bHSI>gJ6bCwp?weaclJGuFu|XCAGXLdyEHI!9p^rU1
z<RJYt_wc;}4Po$c%L7p<+3<Z=@&bO(I`<v|ObqdvFG@}(hlDSnG7h~le)O%%Arh#<
zgYE60mV@Q8#qk;e`v69?ymx+POtRFcu?<4QpQarvYjrv_=zQ7kpO<AQ&YTHOuM-jy
zYPzglTNr_azRY_#1oE%drG|XkmwtYyD9Q`U%!nTl)(QPIV0O5zxjyDgcSPZZQqTrs
z{db{sSG)F|o3J@{2T`aa=TZn_ef&dM{eJbvkJ9w@Hdl9dXK00PmL<u<(KrmMb)nQj
zt*E%zajrK5K`#xxInyKkA^Sk^bF2p_bu7r$=lX#F2yV89F(TiKuF$LScvG6MUl6l#
zrdF5FZVOy^ye{bn)xDLl_Y@ta{@$JC47IZ9!pulU8QvfRb?^*eqwSSZYGkvE$v!`L
zWyE9b9oNapp>MfOU9W>8Aki-1b;&v#c)bS6H|3e!Gpl2Eo?r9$P2;_4@MJmqU`YUk
z<!sAWJBlwAd6tVcJGzhlG1YrzZ`9V&X|gyUt-NOJWt>l1MbTEWcQZpH@4Vq)Xh`YH
zTERvd%6e`eWX1UScm%Wm$)IZO^s7d)CNszF9W)yO4t+a%9e>VEDr{s8bCeiUQ&W|8
zJGYmHg4>RuH?oM8K}T2c|9xMBqiw|3{>|0%t+ym&_$pu4Aen#ppdIi7grGuS;xo*b
z80GxAkdlJAWSh^)Lwc57-PDw}rKN?2fq|E|k4&Vj$icbXXBBnwogBKLCcnf#ot>Wv
zUEn)RIF5lz2&<JNZq)ReEIdC>iXD}NT$``|JMRdX-yzBIXRRl*v<n%+iH!;n|Nkri
z=xYxiJV5Xz{Wr*sayEA0GW+dqPD@9bRsazoPq6h_;$5>wUKkd$sYSJ{D|~{*UXqJ?
z9(%{7iaGpn9^hY-(T(8cAGB$%h_m4s7Y)T6L16N+Bf?LZxB9Ezc;VyRubacKE|Y3h
zHyE&m!#+<`UcWsF*!XFJMh&WwzmJ_VBs7N0zM>myNN}@0^#$b;Hk55^nB_J3DUuA(
zWF3Hy?g0W0&dab%Eu3g^C3tkSqg8~GWI%Te4dvwINP)&Uae5=Hvi!*tYBMvll$S5P
zO%*9dbXR)){b_4MswmJ=BR_OI{(I)SnxIGZ4aYVIU`rwTL>U1^1Usw$^h!EE`P=$!
z>KM4y$L%{)M@L7}^u?sFbflB2r2oWF_{R3-J$ptbARqun1*f?9)rGY2w#a7jk{?aM
zD=E3TK4!*XRs$(u6|pKu*VNQ}bEozrHTvtY#48qGf~eagq<P2Ua&lG+VTz#9o@IZx
zilt{_Vu}^X03CYm*MI8H)PmFW!VL3|S5XN!6~AW7UVd^xg~)Poak1nEQ{IagWiOH}
z%Z8i$$onhF29UksZ38kL454g?_D3*o74h;R5CL27mjcGQcubC<TUwOMt*bRt+Mv~Z
z0wA9N9xq-{M1l--j2xD>3=o8N?%t!oD*5NC{=c;*rlulybGrWFt;OC9k(faW>*OK_
z?Z@njG4MjE>HsCl?xzo}G*TwU`kzT%wkRHc>;I{8et!PLuNP-RK~#Hn!#OW4t$=Ba
z5|P_t4rh`yB;Mso%gLz-Z1%`9B*5S)cC>_Tlf|a=N06PI0BhijIievF&{F*Kho;tb
zqzTnPhJcWZx8qR=6d&t)pB(METe|U@Ns)&;YqX4vuBMR`nW;d>;m9Ul=k7x&>kITL
z<T~k`qe;}WONjt%H6<&>B}H0WGZz#T&@eFxgzmn+Lu4Q3l9!uXd2t8KZHXGU({qV_
zA3C$ckx(ih50uYn#fapaqN2q%iSwwx@ac7UoV>0W8;@4>JxNFySOQ9^!c{eJt~sEV
z##9)c#eV+$##1|=#?U`b3=GfO1R~<4{<m37TqE9B2%JyqxtK{M`SOatdS%S&v)ii)
zCCpe7kwO<2m&FnLhjDSsa+;ovQO8P}nwsBh+>Kl75%Z^VJ8?QYfUqw%Xso#BCfJZT
z@Vs><ju?o&IZg0do<R7x9uCzy)kkLVPw}>-obMzhw<btKD8Gkw%DdRWh%BM!)uae_
z69+5n!C(s4<y=S+88=@VqpMv<RGsm4M@w6Kda&5w+-Ru-%Nyf7ar&jF4;_#XSGmpJ
z-4bOPCp^~_pueGa9-3x8#eUK;$k9~dGuV5|Sc&H)!%sigD4@^WQ|7SrCy<q-wZuJs
zADf+@&$&r;XL+=W8qRWOcQ?1RG@ZcJm)|1=Fd00h)uiao&dxsISb-?<kw%8;Aaiqb
z|LsLnY*TQbOB0Ha1P7L%lkQUrE8Lgo7oCz-@(q7jkwIF<hMk@LKKnXKeahYbXL6yf
zVme$t;2y2db`f{%8!mdD)HpZ2?!Zv=(r2yQRHJKlCex9jPHJ8_#>J}5X|~~8EC6s2
z9OO9`f7Ms52coLi_~du^zVH=1G&B6-#Uks);A@xz64tVqnq|t9M@$l1O`KFTeawH~
z$Ei~M_mLYq*C_IgeFWqpy?UXZXVtsAyAPo=<}20l9F~`hLK#4CBh(>lKP}ylqL2RQ
z#-`tUnBN^$GEK~wi6K3WlgCmfVGU+T8RtLh_TvP2d2u^yzgn7hHm2-%N&LWA0|bPk
zsXdZ@DK-E3#=X$@hyPYWj=&^IWBk03O%6#Hz;fG}dBUG{9UWgO`Ud+TBsLo7iP@Z%
zK3~8ozLgXZAO+c#6hlmPvG(XHo1p=jjdOeOiWNRs;ujeB5ddPf&xF#11`h57iSCrJ
zU!UkM#yCXz71y9?(npgSjf9#{D9rBWJ>Q<SK@XXjh)D>x3?;AMdlP4hnV$KEJIj;G
z&~5!o?8bjB+`)~nJ%-;hB7!`JTm58>j3)0Wg_2skD%tN<D<SIgPW`>T9{@=Nx1C(C
zaa&4KK_=qF#geD*SCl;N#}QN07w)GEs)rQ)4la5{eSxQr7xRV(eGsZNX7``>b35-)
z=ZJs9*Zcy0TkU)3);l^nHu(|rr~Jq;r*pV1MoS+4AdT!cPONJzEBvQ)cc}dp##N?L
zogIFr^(~h03MmFns29Opq~}Df(HgNN_oU)})%(uC(=>5B29}<4hL7UgSd5nk#n3-*
z?F%F`QeNs0dNw<waTRP|3DxV&qSeB-$yP?I7KZB~z4T1dkpTUMq<?(;`sYPEul8eO
zgos!>m9C=t8diak;G?50V=wVJws7t+G8~7wCzP_d7G)pjbS`Im3k%-2S1bN}`TDgB
zG>`9~^C4K9^+9@I5xymx_IsFwPx8@htfCrnR<Bs2bc0(S342g8wX$tfQ~cW!z1d)r
z(uU7u)YsQfE?Qx(+Tin0-je7^vkZYaexqzoHMKnX&igSFf0>oJ%otYLgmiY0CsTG6
zRx_K9l{rMj#2MG!D|0Z6y^v$6Ji~Z2b$Y@CQu_lC=AbLSyEQ7_nxSw!O;VNC*Fs7)
zd6{HVQ^}2!o-Os!QCe1-u)`kJ@E-z7Uq0hFlHJ_v@Ah}6qR%8UFD)!Q1R%T25`IIh
zU38r0Z#9GK^H_MufRZa+oRz$vb2SyUg`Ir|fcYi2W@Tl4yJl}<f`%8{GvysaQx99&
zCB=CbeX06G6s~_(ru2-iGHRN&p`OCN1n1?n-A>~=$}fLw#PB=$4Fs=R0b9PZu)yT7
zdYRez=#~2Z5|#S*1jZ2@s6dI;Rm|QQH&DcVDZOK#2qitMjrP~NSi{kQ;~rEMceGBu
z(E@5EG*(__|EL;fh>oh6RhiFFC&iFvZ|?m;;Y2B_M=)oxo<pw_2KNs)+DC7z)8V=u
zQ}_k5y$i$8;p>Uj61%ggJ#(;!MK9Aq5g11v1AN_@y)vQn*WI|1Zl#7)VHX4PS`b%q
zp7LEY{t*MV#ZUR3#O~=L{*-^}&851-XR{Q8>U}1fm=#R0gU*n}oapop4Gn#sY)|s;
zGeiuVP&EJD_^L11-KP2OMZDoBHq&?EMXck5%9ZTNI<eqNBG@IJ;{Fd``sE|7%B8a9
zeSNk{Ft-GyX?rGRsI8^W$(1H>bv;Q<Gaq?yF?iXcgRKL|X>p*KCsoUf7cYFwpOK6H
z`_-rPmbAfIyI22Zz?0t}N)bKJRimqe1l_iZ5!IH4QeHm<lUQYYaUoeI@p)Xz7y2$U
zIP(QazVqVxIn6bntCqlRG+zHWTlSXItlsprrXA2s>B2ow8UMtwpozP4rAE%G*Ea4K
zy8!ABD9d+H?LvOzgDV8_dUUAz4Z$<m?C@ART3QVoXjSFAwmLc_&kgMCF39>$VjXhU
z9b_1DgHWia_c77|6ert!EkYFEiU=;gy@UjWguDR~VICING~P7X;2#U7!PTVam1SBN
z67G@|ohnD2GifvG938!O=RAYdjo)8y$0m+t>D^#{_toN~W0EPzgS50NQAgJOxMPq4
zT*&dd73ftnB&5QuNJutH;(#N<Q?5mbReY8+zXL*mgL{8wmViLGtz@O8X@XsPPEk=Y
zVa*%ml#BB3?_k0fWn<$sQ@12G9^H;k9D4&lYx9Er%y_LQy{C{0>nWJ?pUwXB9_RMF
ze67?%#t*076fl=KuEfZ|@EvY}@r4T)<`+}Q^HJBQ6$K08)k`J*JI3qG#r+rFVSJ;3
zhCUM6m}r)NeKp6+UlHgivs#og9X&n1eBXcYAVIvap@A8UQf-JM;4=q-PK{NBG*`9e
z**9dqB`H%-^atd|?}bnaKcy}@`G;&G{5llV)6+$+P!^l|n}e1#%}lJV^}sDEgxmP&
zLYGCERkG^wwz>Y5D^krTkpBGH7$`7Yetig=`ok5m?KwK+xb4=;Xa#D!>*%YOy;<}B
zUDjSTE|Q?J{yG}JKGCeJr3ISDEI9lKBoliIuKaX2EgP<N`^pMffP<Kbh<Ugea(6NT
zvw8<>^-~}a^cN_B>UtH}vrN779O@Z4=7DJQDZhZ**C2t6TX#>7ckw?-U&P>N0rw8y
zAk*irR=M$beALE<n};VjugbPLv%Kry%BT=zSw^btL2liq7rWVz0>+5Cwzl@UtjMK7
zzOd;BOrlE`mpJeFG7#{)T?$&{tVdNhf=91@=X~!gED9rfJ3VpiiJm>D$%`s32%#m`
zMu4~5)K5yqsx_C;9I{~suv>J=Bm}k1v$U?V(YXp3Vor`*E(`E<x^GA#^HXiJIs@(1
z%SE~Q#IzGAzb*?_=k(f3cUC1uu0E~+)c6TfO(tblVx3*j>!ymxFv@=P?_Tg)B!@Wt
z2h^3$%KcP9N$JDzaGl|%3bEZ&+Zsm7p5#b!{>uW`mb>&<u3SOT02NlwN`Q~u`P#_r
zr>ZBOhu3-z;h+-F^<}-d@r4%Yryn@%>|#hG>b90a(qGBoH8awhYv;h=K#;1ogSTI@
zpNdGMR`K4BXKL3Np|S2R97KrH{fJZr{Ys?NMHS@0z4;fuCZJsb{?gTZMtE77MDm=v
z3~f%j)nx<|+D3G8ast7LOvbnW+1K{Jb??uG?922O+q*bLq1%^e$4^E6ixDh$UEM{w
z5@;_we#r;~rE_(veM;Xe0TKfa5cPo7Ai<w(AB-G92(N<ztym%5Leo=x#BlLbmN-NL
zLFwQ8^C#7YxLJGU-1heNj~tKJNXwsYw%2V|Hx(FZZyABLhN7oehg?XJD>%PlQ=pc|
z&K5N^JOgJ>2c9wWYCsO*_s8YRe+Y1Dn!)-;M#a!DKdbD!n-9DX`{y+tTutg97+7eK
zCC+kaM}-;sdE1KiSKm;&N|8G?TF=>@UqFCIN{SYr=7U@FXMZ8@<LD?8Xl|ST{%QO8
zh=cK$>{`#N`<T50oDZ(W1`YaIWRD#aqQ$Ff-A=~r9ED8MWvdDak%Pki0ibh5Nk*ip
zwKbkH=7{Kq+gQ7Hef&sB#VVtYcQzrM=-#fXuVp;@-Jqk%`q!8-pi^2$F!J!y2J9i;
z7`$$p@jjU8+&Rq(D-hn9AOY9_;xOd4V!&{`Zgb>@q{rXLa5?jufaa*|+0&=@p<3&|
zML&7+#Fj%aYGp+1eq7uK$Q6SHJoex17g*t*#GRvgon%%P>7CwA9pbL+?h{FL1X9^e
zw>r_x<lBDy-#8=0RA1%iBX{rK1xvFVSQfC`$F;RG%7BqTR>J3UK!%Nlo5Bt10k}1v
zzh!#U8hWN7hP(x9BZ62OC*6OTq14u=N$iSrpoq(_bV}X$U%lzR3plWABV*KTa+FZc
z>JB1BZ?6J^{<k_h_?U=cm86U%oZIYT_gU1Um*`h0$f;Rb50jE8b5ci6USwv*L7=ap
zv5`wrk!5#%;v<OKe-;OLKzQQf;rWQQlrl3%zPX<;($0-HtWzVQ@jWT9Bnx?2J4KqH
z9|1dY0=qITQ-l$?Pd5Z~5hU_pTcg6J&JWb7=XJscE-t(f_K62q%epRC*s>vTHTh*M
zJBHa=3+s}iN&F$3o&b5>ahAWRTrj#LiKdfo;@2|rzH1qBA(sJhW^Jn)X3HczzMvw!
zTO%n975M3k7X~)^q_`S^eK0Gp6b?XHs3^C2a_3Fh&6_W)Wn^b_4K1|7sz(M5#9CI?
z`h<FrI66}%X$highWHD^ga<w^A^)E4zDF?!tAP*QT39^oa=ji4$Jh~E$)?kdfkILe
z>I<TUI&omOnUq@K-CfHS&mZx>!grzavKr92SQ0bLc4W8n;zs_c#hp*e=B1-TKR{aM
zjvkQ6zm0bKCJU5*2;6P(O&)#AQ!@rd=m%usAFV&Cua}4HV=U;W0=s{ug!-~11jML0
zRAodc|C5~qj5)I8?&zSB{@#B^2Vdq5i|<;lo0cRWnlmC_k!=!5;+q^(XMOhfSP&-6
z1N0RFrv7CvbdaC#NGWoaV2lXIhR~y0DDtHc>c%Rg4W-+DJn}sg3A}0T9S;;!PG6x6
z#2Pa%g{*&vj^hcAUajLtlAjI!g<ZP>($Z-G0Rbfddq~=Mp>`bZr@nZ>22$nYT0Q>>
zv)*g=k;Ox65aX-0Q33kHz|QV1{MEYgS3}03F(=v-i6TyMnp-${SCmVO9J#dmuwlo@
z146jTd8yGg*yP&TC{=18+Xdh3pl?E#D9BX_H}m(e=4GpZvZ4iH^tz4>XmGB7*zPkx
zKvEwZK0YyefvZn#1uDK|%No2H1rMd%?4f>f0ay)xiVqFf@Ay23q9?~0Aa6R>*0W|<
zZehB*S*bB!=XWtA@`@JgS9w!wt7A#}5caxl8@$4Q=A0-e`jX)>$mVIu0q$S3T{qEB
z0alKG)l=f-y<ch9s;`CRk}vMJNHJGET)jB>-gip%#%LauII9S1uL^tH_JiusdG!`-
z{|H){K=O<_x?=r-?C3Zl62Hjm?0r$8-I}X`#Bwi5`S5v)Oy<*KlpiDd8K;yj!p;;;
zD*8}rghpK#sY2d`p4)~dXx$nni}+N10KrQV^dcG0!Oq_~b$O9HEFhNkzHAKtJ8uM+
zOyBHbF}{z%_51`8vG3*AFM5x?Ljj3=8tH7k^zR=a<M+Y;b}=k@8G;M9)>xc{kz-T@
zQGVl>W#&SqhV&&>m!wEi+?n?~gSQ)_@46m!O(Fj6ozdea^)!fY)}mmeF=P`=H%@QV
zd1-5DvB`PA`>EFr0V`0jD{LNG!*;)d(@aPE$H@Ap7Tz}<-0EiY9cwxX=ezAIh;E--
z&pWrBqlBF8ITrnz!iF?m|2O&h*w4kAp-@{jNg1iM`XNAcbCEC|HCxUHvTEA?dU6l6
z-BM^bVBd;{d>Tx6_>lA%dW4o1K8bKW__<OrfKI@B*2=He=H~e1jNMBAW9A7tm8qfr
zM_8|~vvbGwUOA!3Fs5$bIwE>DN?lqm$;M4Neur*_hJb}C!V}VzB(&E<f~Fvr24uW8
z>Nu?N($ic8MMZp!4NAv%$odPvxBvy2pSu7Ky3I{1P|!-@JUDGJ^h^kdE$UKYxEp_^
z-cO4+b2p295n}D}Co=6&qX(-eP8NxPRMdRK+PYz7=80P6Eyo<Lcl3nzHp@RsFL!ly
zS#eAlKbP)W*V(mU0fQR+&G-)=Kf0ElPJ~SHaTk~t>Ri8R1y<emw~%v!R^fql0cz*i
ze>byV5k^1e8x28jE-ukLT2IGP>(A>*8-GsbPzn-cWMmwGRqGiV`b&#u(jK8FxFoaL
z-wQrw{O6{^aHQ6yhpu@7&3OL25o8>Tz&rWbvR*$G_2T{e_mq`xbRy753-Bu6*K0=W
zs-8L=QP<YxoVA6}ZOJx11FdO?jy+ftJGncBmconx00&+w29}hR#K-sU1=SNQ5)m4_
zK@<=VVxQp4G3RAiHKYNHa&wnGX@UP;?E3rrU>@@x%Ce<FP-F<Ig|=`;@9TdMx6Q@-
zhU2m{v;dA0dYD8*@)*XWZ+!fqA~0u|h{*|k!yJB*^$}Y`!ZiYQ@S}*KrxY@ZSbYbT
z^-3S?%VN5*s+8<f1~HBSt=4h7O#EGJ9G4Bap24V(-qY87CtDg<N4*W9#h1VYmRv>P
zmuFIG6X`HU!OhL89Qy8AMDpBvI`^UP%jDc-5=^k4Kz|N_A0<Y^&yh~r8!IROEV6wz
z$|0Z+QY_Kq?;J1pLcFp>22vW^knlIjQ;q!G(b4fb$L=Z!F;uiy<eRDhzpaj1*lG3F
zmjZF6qa6Sduxs{~SV%O3cLVyIRoK}^9Jb<=c$2>&Qfyth$%6Dd31$V!B-E>Mx&*m0
zY<W2U?&TW7{YU!v_J0iK@sBEdwYOjluIAXEO-M{^Drw~~OIp`WV&*!OwbV&SO5)`%
zfE9VvGdh0upwPtm^q$u4GC4XAvnJs|gwY_Fc!{aV-{&Z=VUYPI+BzHMAuV?<1gV1h
zvAzZ^4Gi$!NsTr2_b3^z0^j&}8P;U&LL*XAQV8&7U`H*4ib2-U(hB<XTU%;Btam~}
zd)wZ?3g>}&V9!C4YuZc{c7P5yNKv|Ad}E;L^YM2V4_->FBd#$ZMDNnmD8Ah*+FH>x
zsoG_3%Oe#AprU0RW($`;JK!2w?`{R^_Dq_zZ$eFbdq&X>TT_O(Athq5ZKf%As=HMO
zl<;rYuvGPV;>wyun{Z?vM42`NU?Ai*Bxu8j4S}Pngl?*@ue^O1usS9MT}pay0{Cn~
z{Nj+Y8l$;eBl&GgPWBJFeWRHDAxr6%Rb+izwbY8HmG^B_BS$u+e8dB6&X2RMh5zv&
z%;Y#}1UOq(+~@ZL$Iu2v){Y*^f*2#Nr9~o-c@P&zM{5eC8g@THC?pMgZ0=%za&IAQ
z9bqQLnEKe}4TO_5pp!EHi=8Q0&N%$w+AuIWw_b9G|3$}n<qc|w8%rC^&QDWP)H7l8
z9<zH6pKr{t{QdiPe7vBr@Y^pT;6Vy-7d%lt(DQE0`#hocb+P}V>7Dy|1P*kop}LX{
zL*+$&e7kfv-(Z=<J{tYEVp}ekS%I@U`-7P2_kV`js*wjYwDL_M5LkpdH6YP`qzTno
z$Cj)ZpFxK;n{E3>!3RLe;^s|5EtgHsG?2f(L;mB-b!p`r>nEOWdFyA^xBn}~-Ff?K
z*dNWmy^e4Wec0KgCTe=)((b_Gv*{ZUVs$B%3P;(hrjYl#BPdBqDSSuNQ-)Rl>ebhS
zcvUfG*=*#efdJf9{0G(2YHV!$0oSH=11u;*<6PxeaP<Ov?KwkE%e@JF-bDWQV9klF
zVIMsp`R5M*VOOtTVAkge$2Ij6Vjs&id7^Tf_~c|hF_7V5G*7v=zh3~nd1y!h_6EhY
z?(XhCAs$ETf3lZl7glPR4Z~z6?NP^HDx4d!$2HOv4f6B`nQoIrer>ZGvN|iNhnlVp
z)fea1Yo+xspt*|IyUua#Gdtts#5N6nT#zP6Mohqlgb5%MGqW_s>LEs2p(LpTP#ogp
zJpfIUESS8tDAl~^_T^pCg_`=`B2MymJevoUX4~{we3owogxq{Si_*_2JcBzgwGU2N
zU&IJlarh_-Or7*b-e$A|clt6YB!v)cVKFiXqr)J!o<)`+aja9WB0ax?UCO2n%Ov=b
z>R(p#OfRRqi5CxfLj(7|+0%*FMr``V#%}<bKI&b7DZ*V9A$h1QOsvu_@paBJuCLfD
zYO3N1#3g5@&Z&MnqtlmlNZ{I3dL<ylfvwl=sZ9=op}*;JwPzVZPKvfoK?z<X<w6R^
zQ1-v%Xjy342$3+glo^)zXuDJ!$#$H->9qd0#l75{QCQ&NoE3(|1z|SQicAoE^J5{8
zfGque0gPI0ul-^=J=tyVV5Wb%04c5bgoIQxD&jxvq%_)EJPCr=eOwv9A|Z8nPpoYr
zYZ+Qhj|`+lYq^RE5iA^@k@1^|dKd9L%aojosu=nd#nq|CKzCMrOmMf%3@@riaUki<
z62eYDbk^SC_LW$K(=!-uE;%HfM{UM1xDHp^9xg)*Xd`AC{n?MUAgzBrk&Pu{diyV0
zD`?7upnGf-QLTMV2YmH&Z?7iYTVI=QW^e?a0KDWD5$VhJ5_(zyM%P$dWVjAEpAoYo
z+8vTf)ee4rLS@fVRZ=KhN-f=-r`WKAmupJRiYeMo4sNyV&%b!V?0kH8xr|~)jpzc7
z-yLgkA|_U>CW0*V5B19W(JMvM?;g0nJz2&@(I|guw7Mnb+RFftjx?R$DD6guzJ`ej
z&DA{BWC$j{#%HGfU76~7<De_qJ&BT>N-FoI8yJ+%>pgDbp1DOwxOwJFgeBBXHc#Vv
zNTeNz>G>_*%cu%TY8>@4Dz&O$g?xayme&2%CJWxu8};Ii&CM&3^Q)_dP+(rchof~)
zLhkoYh%-u!yIbPsnYvU@iDKt^A~mF^3`y2a{5s^Nm6WpYY)nEhXZiw|lIInbl;#N+
zd3XP9-dt&)lT+_@fgDN@go7(k+{o<j-`vf1bCwVr#RofO?ryoX_GgJ+*Mx{0!2a^%
z@>cAc8SP}$FB+`!%dtD(UmIQzuuoDUL#yJ>(#!q4YZtb}my;^MtpvVo9h9k{rUwD`
zr2Vp$S-;3w(m`LKqg^`h7z(-u>!my8lhkPL4=#{Q(bC$6_)|b|FdzC65P6x1z0E;S
z($Da@Xn%xUdp>YBGfPN!{Y<q0is?>}ZBWqmF$|#&K*-M%21K4de}2UVyf0mdyu~Gb
zR~h@WOk&-3{o~t!b*y68-X_=n-d;*`bF=tcXUMiacd$=n&H^yKylxv6rP_M9-n<Px
z*c=Yf?a7w?@$EU`s7O~vKhnB*l}%nIb<5U(**2O>86it7hRpkegWt{u$&WZ(=(`<n
z*aLGy0Gh$?dJP%wCE~fr#|Xmef&X5BiEv0pf=}G|`{y(*q!XK<)zi`*FQ}cqf?Xbf
z4C^9{Cg2l_;4DSU^^XSB8)y^l+6QV1wUk|p!!kKOp<`hgFMt+Z3dAd7x=*6r5Jq<y
zm#;n(s9)D%O{~Yp#T!GO0Uz&`VWkqYeuu7|ou6MmxoT)wboRW`=gP9y#2xi?j;KA2
z-Er`565>lBJ|DMLp4NO@n7e^m{=weoXJN1CUE0aQ8T@K+OKw38Hv(3CX2W{5mGj|c
z_i~Gk^HgD4o*OVU#7Lp7sGaQbz-sE*)XQbN-^~b_nzPdZ54ehn^6Su0IzD&iyub5#
zLXMGk_=)_B0Xdtct-eUqj&SIFyeci7Q2jbdWtX;(Gq2W%4<BGiBtidT=%xdKI>-ii
zaJsB&41ESnrz=(=!0k(*GrylA420Nk%+}w(p5R%>T%{J_(}{Hxa*8I%FJ@VrF}ICs
zl)%^#WB<6#2enDej!b<1r$;w8`1AM7%;omu9X3y))(DtE9r)$jZUic8(?-4TlwFt*
zR~7JdHcHHE7;l8J1&cZ_%khnS%>E#k!*-fQM6@WTY7Nc$WF^M0e~M0s=>AlDSL7C_
z3>P~?>JA-R5r$j$J}50)8^&QN$hbgugWS~zQjQ2T=)XiHB+G3g;^N%}+K;~HYY-l7
z^+_OTz#B7QNbW5bJ~1h#IQ_N-NfXGWI)hD!pHvq2y8)4IIF@k`bGg3op&W19{{dHp
zM?!)cC<F~d!EcrbX6MS0??xS7-gM7Z)1>A}k@u%&<7MbauIYpy+cUM1->3+L)6mD3
z*sh<CXVfXH0G7vVSh&#B4#L;^hK9WOR=W+kAF{1>0Dwa<`G6lKlYy*KfWQAMa(aFm
z+5u2=T-u|Y@grvtGk61422VXaAvZF+u;6~>dGMUii^TZlPxollOb?Z4g}QSWy4Qt*
zKfXsDQ8*}|mjhPZy6f1}f0-ntLPC$58}jYXdx9X>DC68s*=l(Sq_-ap{?3z1cpP75
z31(VQv|7~BGx(|smv+*)BFJdL*HZA#xz+p^P;aEIwL8bdo%hFv+bl_?-zbO7K?r>f
zY4}|6<iY5BbDzt6IwX|L>RJ|VeeF_U^uB^fO=>1wsxy@$Facy{ZeA(_s>jpg3uAf*
zJ@}J3k)=knpTt3L`J3ib237Z17(zHZa#;|-QfK+~8X9`~ScrO_`L_G*(uM;}>_D#9
z<9j{|#^b~V!HJ{El(4T1$=3&CBrPosFN#5Iefc;X1VUJyM{VMlW^K7`I3b4r!7*u=
zl<AKZrN;YHeIcis0ZcSkhn~soplS^ujwmkf0t`ld;4TbF-QwmxfDE>XFo$yzjCUKK
zVG=I_`6I=qg5Q~ei3vYXvGh5W2k!^~3RD6|;IoRpyzYtd`hTVI*N^whKQCZSS;nu?
zF*~1<Y^D~^;b+KU(pw>DF@?y6WdUaLN}zY(hnSTlobhU*HZU6#fG5~ycj+JPrZCk<
zLrZ%Pq^TJgAdZFcOJG#E<>j~OU{N{3#>1F`@!j)FRlEhXFjK*KwtK7{iQwk$vmTFr
z#ZW!2hojPyVNH7Sgekb8K`|{OLmQB(+d>E&DKOx`a?8c?xQA!i;<xk5a(}G0>OxgU
z@J`0V=ptbcP;d8Ok`2P$+?J_f;JZQ$iGHC!PrjM5&L$b6VucXtgm1xUy8qKsfdHKE
zF|I4zLuzlB4|_jq`#GA4xqW-72nhQFQ2S!RN=i_L5#$k=<{)OivTu)Kmhnho@Upas
znYB{y5bb0=H0c_<Mi;L~g-c{`1zzpAiR)M#E@Q$+)rAs&T)wp`akIg}|2lXFV|BNf
zAf6&7UKaDak2x?C)PH{(Q;LRX|1|$tBt_0?N?(J%6C&x<Nfxm?5fcCSapqfV#5no5
zF>rxbXal$gJXcy#IRzOZ4gN^D`I~FmWH_ygFb!Jw(*ZS*gdtJypS9!=9ei4jg`6xW
zXx<<Lr)88n&~;^)t2T0Ri<#qp()-lbOwdyCe+~yO)BA%QjFq^5dzo4!N~|H6UOPuG
z6%`I2Oq%!nIH5X(fZ@&XUnkJR@9jI)CKkF-7Q+i3X+*)fR4e}(3uzxzDEHl0u)DLL
zQ<)*aF&VZZ_NdRCvh}MeRsr6u-v|yAfBdgx|4vrdQxIJD)|)qYpTBE`0bIzF@D3Vk
zAlCy#@*U2>U=0uaU{$N@WjOGH;cFQ>ev|(KKA>LQ67-YKHKr(nyL)WP<bO)I4o9f}
z|9|$%ID6B{CS*lcMkSPR_Eu&>BAG|w;v&gRl8{akvX48mXLdrQ@sSZ_L>%9z-|r9L
z?%wa$csw5~-0Hgr6UNk!(-HJ+FpGd_GhWCr4ORhJv54tH-n~Ef-B-A928MSKYPMzj
z;5EPrYxBcAt`^a@4VUGJOtEWHli_0-c#sROxI3UtByLDga(TFD?9$E*Cs}`)bcyMJ
z(`+FBt-O@fkwvP!ASaIE@s+4u!<C}OQ&kl>wqY)Wu5EP+tIiGrh->)I)_k+mIBKw9
zC?@|yjmnDcUF_$X9~`e?^sV7Ps@H%Nj2%a9Qe_=qZ+A=NA3XM558{nXXUijf2s1_A
z7|?`+Aq6sDZF6%joA=7ySNs#)SNiyHO0)%8Sh*N>I38PWDzlPYCSJQj!Vp~ZuNE1m
zp%6gUx7b`?6FK`B7S-@OO3@$aJ3I(@L+qASJxk08Yo`ZFfWGpyBdo{n`S<u}F-{o$
zp3J)3dH;e5B9scG`%SjtD8!3$yYqlz;0VM3p?|ap!O!2UT4u?Xvd|{&rPvuqaf~PJ
zy9!d966$ae7;H4%+xFZLXhop`mwF;Z3Lu3n<#XX%FN?=9kTxKJ%>D$;H<hL9iD26(
zsPjEM>JZBO+bZPbtqM85yFjz#sJfN83ZmM8lnn&jcw~W{*?%hfI4w#ePRUw?M31y%
zq>vjWKbv`3B<rqAS-^*h#Ga{fehhlUFzgI0b`iqrRrcB$SM2L<n8Afy0us!yi9++$
zQ|0ODmd6q28>aJ6aeF0<dW3GZ%Gz6euZu)!Xb=dG6>Y?vU3JR(dSIT`9d=OQj!e9;
zk6zn36}N%J1c<@t`gJ)-lYwjTbviue**V{ue}mvcTkbBeh*RYCutfB8<;dq^S(ba@
zr|J7#oLE0#DM(aZ&e4ug14btS*039#C=;*o77HK|+Bn~#fqCkzx3?7F^kfX8`Guzl
zMd|VMa7L6XF8*$CLqk$`rk<hv#h7`iSJsT*g;B8F0|V1<*Oa4&VEG~tFoacEb7kZL
z{5rDr+BV!Q{-q2~2CzLHjq;^775Q`EcGTQ}=}!Q=ScSvOWMh<mAY5tM`N9#l>nn6g
zl{QjT$YP~V+PDp*eenZts;APOpF;ufEx@T)A9h8ZRhNk*choK9hj=Yk7*Qo%>WXEh
zc!$jSj}ntH6kYnd^NJ!pQi!ImzfVRhY#o7dUs=7EIgfh&*%P<wfqQTjCv8%EH9={D
z^GCc&j;Ud;m#!7OdFd94^+Z)hYv5e(GwMkqbSdh4c=xbM)@bJp8A*sYBh)AZxpP7U
zkgIC8C8y4oxh6e2mxa)?C|mjVjk?C385NhD%#@V$n%mi>^;ABFDUmFMoXv2^=|y<-
z3pw`VrPAz}C{!d0%V_)1xMoTbTxBR?+ra%W3SuO_W2LcB?laR8<<MIwex&#*5Y{OH
zCa|%wVc_zF4joZA1wrEv?-NK*PY;4i801nBAaHJ$ofMBp9MHLPBefqo<Ro3}xwpcN
z&>rYMU`Cp${wtq(LIaUwN>~09pQ-<!$pGAt5oIt^y|B7!27FjCq<Squs^lvw#U^cx
z(-NV{gP|OBb9WDqp4nNa?d3G{n}|pTlEW`GJ0uM$)l(-c22r0Y<G?p1OJ8`EOcp^j
znxKDx_zY<O_A$ZJYyxVwtG14<rB*UWTLwxAjzU0RR{9%Em<C<+KL<3Khmj>zdQuDS
zJZvNHEh-fZ>wW*uKzFzlxc>KU?;Pt%`CL-7OX^|3+RTeGnF{KI=^kd|0yb>77~u^)
zeYb%uZ(*z*@9#?2*g>|Ek3MeMuNa5ptmxz@o+G929<xlyEsP7f9%3wL&imB8RZ})r
zF^zG@R8)_>jrmU6J%rlKiHL)plaJX%dzvLRj87A5wi{>if?ERS`kMEmy<+yxcKes)
ze3+{CvV-IgoZ2sIYbOS?yv2)2CZq~<P4A6spQun(l(s**isvXithWArzqE279$d6a
z|3Rp`s}Q{ao68ElmE)CP8Bv1=k|!5zt~{^)ZSaKu+s#sm>240s`yAcVgXE~WzT0Q-
zWL1dALy%`2xRj{_d-+U9Q?5?YCf#TLc8b@M$z<IfV~-z!g+YS+5Ac}?<=AjHr-Kjn
zZ3<cP4(Fhp2Qb5T$6l68EG=|HPOKJ{OS<dAIzRr_^R)C9Mef>PVtGQEQm+HF_a3ey
zTZpcov}rO9`k89{PvZn?AU9;z8JR}2;}W7~gm&@kzn@Zh+nXJq%P3dlF4y#4!9ZXC
zBjJuR*pmw+h#1Si9hO>O83<DvHbl|W*&i0yI4ZB|IAtB;-hOOKJIA~FY2?&JPlb7_
znPYL6IM)}F6^_KE@a+}5wVC4v37`oNf@6RxGDLom-Zc?hl+>*qDm%)}hRnjApjuuZ
z;ud)>{lIjkB`T<Bl|humLV1fq>)+xFJiZZfS`LnEU}(VO?Q0Gn{@7~yihq-xr&z~*
zII6E*w;J=VgrHwh^ux3`^YG@~AE5%Dq$V$2%61rP*=WJzJv}{r0SKP_sT{uPEiWfW
zP}!Dz7Fj5E4)=E2>}$n!y3S8zJO6S@Lxc$3`T;khPQ~X^lgm3Xe@o1p?2Pz1+T)s<
z_Gq+;iAfE-D0yET6b8J(<IyhBWg1U!lzTl67P~Pznr!2{^$OMeD7UxTes}tI&5lU^
z2*LTqlV3wwQsrS&`yT|)gqqIYsOxNR_qMaknXq>HP`J}o^JlA0VIT{Z2%zCH;Ez7}
zlgMehlpL!Egjxv-TKDktJA3)oh}$Y5&XW9HtpSlgXZA2D2aY0qd_5q1n1J)7ySv*J
zgxx&dn9ug&75WfG11pl@E&2}SZ8yT4;G1B=X#e^8pXy}{OCt?~bK}e3SIUSl_IZ{|
zr5OqS0a@{v*&4QKw1kh^i*7NpzT8=R_H8Dj<Xf<<qui{E(_O!LgfdYE;2In{&mbWO
zT1$6-Kj9mT-}jaGhHLwEpGoJsva0{+NPKJ+If-B`Taq-(-=mG56Oz+2^mI@1-t7Qb
zzYDEc!0~^3k*ebkxq^XwvnP;RNMII_a;Z)DQxvk5az3i^35!_b`0jMWW1+`~k>fSw
z-RO~37moX3gDP$c<eqA)7U#d^oLR|ljX4%oHjtV+f7s4GCE5hwdV4Rzw>llZDFsaJ
zR#8>eh{aQ?Zzir>Z;dJ}h{eq))JaqIdM*qxB+)mv%WBJscq<UsY*2vh)^v>}PNwoH
zC%`l`3Pj}Ru&>NOZ+bir-O_;01hGU`N#Y!@?<KBrjS06g#X^?Vmd%+bPYrrJHcJ1!
z&iPbBOEVn27w}uS@9XAej*1BUy~N?5-V>T+SAL;if@cGXrRV(FygWT0WoC8)V+S=>
zVrR}w%dAoz7qDgCe~EW~>yY!q(6Ez2K<VlHelg=t8op$wJkeuCh_Yky_W@HuGSLGR
zjw*<1LnTo+-0;SxgqANGS*>^Jf_K*41_KVW3w^4Wh1P04rIAB}G<phQ(!A<9Omr>2
z+)gLi$BLD)<_<w6K0LH^Uz3*Z_sz0SVp{5F$n@LVjkKE`<3v_=dt%DOE6bM`jE&u(
z=s{4+J7VZ}dUjky1>SdKZ{3~^`7<uaX+ZpKcNe2;F8&}u@89Xp&#f+zTu2^@jo5X)
zE(j)mg+TfV6_v+8s6tgx1}22?2n39D@WxF&a<TY5@~@HZZrtMSg(2$mIS;!>bsbuB
zVy3+tSme){v%S%24rFeOe|YwnN$PW@+sK(|!cj+I)y?m{@7JJ}$&6&C=IcPY&$#m-
zH!?--0d`;LtuU4`ur!@lgq%gO{Easvu>^&3BUzF*^olY(K$eULM8Ym8XbLSTM<M5%
zVKBvB0LEx>SR*gykToPFzT>l5#n@kpog4qX<kZ<W@P0X$`tXYZJuybh?eAsL>-)2G
zaZMpYbfz>1$S^kgTH_kuc~;UIW)=VMsag0=Ja#7j)!6`}xG8mBg8<_Uy{?aERQO$t
zT0}h5a&pVBxxojo5jI$yE3)W>!!ToGR(+iZ^LJUZLG+bOoJs!M{adrEZNdF#jUSV$
zk$Bj-jw_b7*QW^O{8?q~s{>8D3zo?Hl+pK;_UoofvZO2aU3lLgN}~NU;^QNqRKz4V
zyswdYzT#xcN8J}X`Sh55;<@9fQN`%p0hJfe>5g6`Ks#{qR7LHD-XM}g`#ObnB2WLz
zk|CTAUKScnx@cZ}bvsU=>jRaQ&16vPEBtx1P1%yUD@wxpGm9owb*vMK0cj_O`n!WG
zTg7&pq5fzE3VP&~D{i7mT4-`?MuKo&MzaAG_JW**Z()b!JoEw?KT1#U0ck@*B4K}@
z6ye3m&CR~cqp(ZWIdO*j)DE}i(363mUe5Gk`DzJ`<H57>&#*X}Ojk$k5tO~t6Xom!
z#u)0*SH7MmW^yPYMQt}P3f-cg4@ebVS6mbD(Ko(iXTg?zk4B~;voBD_<Vx9g!VqNF
z6e<tS3ROV)FTr77@Ed-&L09ia-eRy<vj@8{ZB30gx+#U4z%4Yp<nuxI*Pi3PV0LU&
zG+DN%>-E8HH(bnfG}Yer%T9`zujxUyY`8$K=v2F5b)^$!zhRX>XF-jK?9g<2P0P$g
zg06o;Ts#eSGL(%`E+NoPPR!yjHHQ7(#q-xPwaqN~+;R#>@=?omu6((t^2GWeNU*yh
zA&;Py(^qG)#(1k~;ddx5h$wKFUchglrf7q{t@>3E16w^3+pQ<sDmk$GWjh)4n@Y%t
z0EgTOc`&js<-*N|_3-Ag%*?dO*~TbLsNQ`CZFTiX`zXUAk#)iKA(f$|NnZknZi8x^
zOV=dImPCV#*c3<mryXRZR1(i3(|(bnNMxOc4(A8_o}fHykvB(ANJ=V$5=HC;^}8TA
z(flS+o!<9G_H}Z?=|$_yQABGFwlraqzN@gO$M}~|E41uZs%7Gm{#<oGS>*3xH+j;=
zQGYbd?<o+H)m#@TehfVu0@Raz=JuO8zFKgBU9goBI>%CD+oWbj3Yx*&7vYnY((IF!
z%DfUAizxrTS|ZE)FSaUet5c&!3=E@b1ZfXw>N)nrWO8x%KcFRSz#tA&%{Lq7rvxpJ
zNqvt_+j3`zk{&M3ig>(r>5?z$0mGAHr#GsF-tuG@;W@0fE{95g;oS?xVQ+Dz@x*$N
zF8jo{?37qIIP?M81x7Xj7}T#qFP&MVj{0Q#Wa8(qynB5g-L^3JCG@yDI)rnbO~T^G
zIen!8V_}Q&2nTnn+T(&Ab1cX-bEF+k>5mEKl3LkSX_)1qg=4a)q{Q?3R8_H>re@>t
zq;r2Kb851YzP$t6efh{$>(s*sp#rh^UsmJBBvDZYrkQi)*_5v0fn|7|Qv8`!>qXQc
zt^b+!EVmuLz{J@`6)`#tFM1V(HtiUQ-Ce$R?V4(~9gw)jz?4Fb=i`3oBMkQrgD=k&
zX&T?KHn}8)I-5O@naVyz<$pZszi>y=iLmArpTQ9VGv9u@()KDRl8>>-%|-mZg{k=a
z1KY!E2ZC6eaZT9~AYD5$VEyuNa<&Vf3B5iKx@nu=8}^`TC=3B@wSFBfk$)v<wf3W(
z*baOB`*PuF-@%<;#1KNl<D#<R$6^x>X<D83dXkRyc(vN{sAx)MKo|CcN(tp$$G}H^
zQ}!+%(w%u^f0mrN`ekv?^Z-eTh534X{>D#HJ&}I-{drm8fMTDZ!ShOHq7$l~Tkqg0
z3PTTJDi;rrZX|%1VNhVyvobSj<y~6xc$^i*kx3<k3;Qfh7l|J)GOrgnXg3LHRmZP$
zeG<6KK$B11j@V-QGyUGjRd+om8=tpl@8?$Q2P;895XsOrW06YJvX-th*-*qS)n0$!
zBI-{AKAfCKR4<{}F#2gUd*L~M|HbGm{6vNGgdwy`aZVCr4nM-YDom=+jcdD--z0o<
zoYOYbZO%IEQ+YmfsBDn7VUd_31uyHdRyj6WimeD``}5)@36VOUS2p?9bMV6cof;0*
za2brf|8HY0;T2lszVx;g?*4#+kDqKVExj&zCCSd~fLy~oHddQyuP`vscVkP-tB(Bu
zg=*eep8e8srsEA}`4mILLIV@WLyLPo6sLctYaZ4%j$HL?Q`%->(MvHLpl~j}mK+g9
zMW8UH`c=FeEFu%zaARw~CFj2&@A#v;x%GUCp;^0?$jWTLC7Q|)!^M-F`u)NfVqVE~
z%CU^;@0hz9`?HX;m*`spx4rKOdaTU{@@cS-bA&NfpY>MFAo-EP>%!kO96l7ga#vB7
zY&-YWeBWV9gszs77+UsUn1SS(cLD$RS6nww_zJF5OUNlc?8U~DgiYU#INaD$X>h)i
zVrb-k(Q&i$y6a!UN~NrMEJKL)gDD3M`l6=sU>QWS&?i2aHUjHe;B&dYT8ebKs8iFq
sx1ooqzT2c(n2t;eclj@Tu-}Q1d=)#eD(-6ph1CdSqf3Tw^j+ir2c10anE(I)

literal 0
HcmV?d00001

diff --git a/css/baboon_vector.svg b/css/baboon_vector.svg
new file mode 100644
index 000000000..dc1667af9
--- /dev/null
+++ b/css/baboon_vector.svg
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3181"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   width="1750"
+   height="960"
+   xml:space="preserve"
+   sodipodi:docname="baboon_vector.svg"><metadata
+     id="metadata3187"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs3185"><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3195"><path
+         d="M 0,768 1400,768 1400,0 0,0 0,768 z"
+         id="path3197" /></clipPath><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3215"><path
+         d="M 0,768 1400,768 1400,0 0,0 0,768 z"
+         id="path3217" /></clipPath></defs><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     id="namedview3183"
+     showgrid="false"
+     inkscape:zoom="0.20550291"
+     inkscape:cx="1534.1667"
+     inkscape:cy="795.78156"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3189" /><g
+     id="g3189"
+     inkscape:groupmode="layer"
+     inkscape:label="baboon_vector"
+     transform="matrix(1.25,0,0,-1.25,0,960)"><g
+       id="g3191"><g
+         id="g3193"
+         clip-path="url(#clipPath3195)"><g
+           id="g3199"
+           transform="translate(458.9561,569.9678)"><path
+             d="m 0,0 59.835,69.355 87.034,26.518 133.949,-7.479 c 0,0 74.116,-32.639 74.795,-34.678 0.68,-2.04 84.314,-59.155 84.314,-59.155 l 12.238,-74.795 5.439,-97.912 -13.598,-25.159 -4.76,-40.797 -18.358,-23.118 24.39,-5.561 0.501,-5.192 -14.012,-60.641 16.477,-93.368 7.223,-49.972 -208.295,-51.754 -18.552,4.005 -37.468,8.325 -10.036,4.036 -66.885,10.101 c 0,0 -14.959,74.793 -16.999,73.433 -2.039,-1.359 -42.836,56.437 -42.836,56.437 l -19.719,65.274 12.48,74.571 -7.961,9.643 -26.479,16.187 -12.716,38.309 4.08,48.277 8.769,38.985 L 6.608,-74.308 0,0 z"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3201" /></g><g
+           id="g3203"
+           transform="translate(78.8657,682.1582)"><path
+             d="M 0,0 142.789,40.797 259.74,52.355 313.457,-232.543 204.665,-291.698 78.194,-293.738 0,0 z"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3205" /></g><g
+           id="g3207"
+           transform="translate(269.5122,345.2344)"><path
+             d="M 0,0 18.801,-74.425 40.728,-85.408 59.539,-59.541 40.259,13.503 36.821,15.669 0,0 z"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3209" /></g></g></g><g
+       id="g3223"
+       transform="translate(741.918,109.0332)"><path
+         d="m 0,0 -17.236,-9.401 -16.452,-22.721 -0.783,12.537 6.268,17.234 13.317,6.268 L 0,7.833 14.884,3.917 0,0 z m 172.622,-21.824 c -0.031,0.271 -0.081,0.535 -0.117,0.804 -20.85,7.653 -49.59,7.327 -66.874,10.927 -13.849,2.886 -23.047,9.119 -27.032,12.298 -9.863,-8.494 -12.025,-14.377 -12.025,-14.377 0,0 -9.816,15.309 -30.17,25.76 -7.05,3.621 -17.767,5.691 -29.341,5.691 -24.297,0 -52.384,-9.155 -58.339,-32.223 -10.458,-40.511 9.697,-76.594 49.814,-77.623 1.325,-0.034 2.623,-0.12 3.894,-0.12 36.131,0 48.855,8.572 58.323,15.478 0.027,0.021 0.104,0 0.104,0 0,0 25.126,-11.506 53.529,-11.506 4.419,0 9.156,0.415 14.249,1.063 31.641,4.018 47.989,28.124 43.985,63.828"
+         style="fill:#df0019;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3225"
+         inkscape:connector-curvature="0" /></g><g
+       id="g3227"
+       transform="translate(300.8481,270.0254)"><path
+         d="m 0,0 c -3.063,-0.691 -12.535,0.784 -12.535,0.784 l 6.267,-25.853 43.481,13.319 -9.01,27.418 C 28.203,15.668 7.867,1.777 0,0"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3229"
+         inkscape:connector-curvature="0" /></g><g
+       id="g3231"
+       transform="translate(211.66052,615.85984)"><path
+         d="m 0,0 -16.243,-2.871 -15.462,-9.4 4.323,-10.938 14.568,9.89 L 2.75,-8.771 0,0 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3233"
+         inkscape:connector-curvature="0" /></g><g
+       id="g3235"
+       transform="translate(274.15732,626.4084)"><path
+         d="m 0,0 -15.64,0.407 -14.279,-3.608 2.008,-9.747 14.756,4.208 L 1.111,-8.215 0,0 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3237"
+         inkscape:connector-curvature="0" /></g><path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 436.65625 22.28125 C 436.65625 22.28125 338.18375 25.385 251 42.8125 C 163.24875 60.35375 70.40625 99.65625 70.40625 99.65625 L 175.1875 495.28125 L 327.96875 492.34375 L 337.75 527.59375 C 337.75 527.59375 365.095 523.25875 373 518.78125 C 376.31375 516.90375 383.78125 508 383.78125 508 L 377.75 484.65625 L 504.21875 407.15625 L 436.65625 22.28125 z M 410.53125 55.1875 L 465.6875 393.3125 L 346.59375 456.625 L 202.75 466.46875 L 112 114.40625 L 263 79.1875 L 410.53125 55.1875 z "
+       transform="matrix(0.8,0,0,-0.8,0,768)"
+       id="path3253" /><g
+       id="g3247"
+       transform="matrix(1.199238,-0.02879331,0.02673084,1.0520756,172.41935,498.37339)"><path
+         d="m 0,0 c 0,0 -1.861,1.481 -9.143,-1.457 9.712,18.867 9.439,39.989 9.439,39.989 0,0 -3.106,-2.465 -11.311,-8.47 9.241,23.044 5.338,72.525 5.338,72.525 0,0 -17.493,40.746 -13.657,45.799 8.841,11.65 23.834,23.968 44.295,25.594 17.935,1.424 44.606,-4.953 55.865,-15.284 4.536,-4.161 23.367,-47.493 23.367,-47.493 0,0 6.104,-35.271 11.619,-54.108 5.513,-18.839 11.054,-26.674 21.284,-34.825 17.831,-14.207 27.076,-29.938 27.076,-29.938 L 143.399,3.945 c 3.655,-17.356 14.875,-34.28 27.39,-47.672 -12.863,1.507 -19.61,8.783 -19.61,8.783 0,0 2.151,-12.664 9.109,-26.554 l 28.712,15.264 -1.762,10.805 c -5.128,9.304 -9.336,15.534 -9.336,15.534 0,0 2.089,0.956 7.385,-3.572 l -2.005,12.296 c -4.814,9.391 -11.773,16.752 -25.115,31.113 5.944,-6.087 15.438,-5.379 20.751,-4.356 l -0.572,3.512 c -2.231,1.278 -5.494,3.171 -10.241,5.957 -12.43,7.299 -22.326,21.049 -22.326,21.049 0,0 12.85,1.815 20.513,11.022 -7.316,-2.641 -18.585,0.799 -18.585,0.799 -17.086,6.772 -15.022,30.217 -17.687,50.587 -2.667,20.37 -9.299,34.125 -9.299,34.125 0,0 -0.243,2.149 11.91,-5.906 -7.744,33.215 -35.545,44.94 -35.545,44.94 0,0 2.223,2.79 22.843,0.044 -16.469,15.817 -32.303,16.896 -32.303,16.896 0,0 10.077,2.25 23.611,0.24 0,0 -3.327,3.508 -7.549,6.453 L 35.985,194.291 -77.543,167.815 -8.211,-101.17 17.481,-99.413 C 8.602,-85.114 -0.371,-63.837 -2.15,-40.857 -4.911,-5.208 0,0 0,0"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3249"
+         inkscape:connector-curvature="0" /></g><g
+       id="g3255"
+       transform="translate(204.22134,580.88353)"><path
+         d="m 0,0 c 0,-1.418 0.43,-2.736 1.168,-3.83 1.523,0.677 3.551,1.094 5.786,1.094 2.164,0 4.133,-0.39 5.639,-1.029 0.711,1.081 1.129,2.374 1.129,3.765 0,3.79 -3.072,6.861 -6.861,6.861 C 3.071,6.861 0,3.79 0,0"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3257"
+         inkscape:connector-curvature="0" /></g><g
+       id="g3259"
+       transform="translate(256.3311,595.31646)"><path
+         d="m 0,0 c 0,-1.418 0.43,-2.736 1.168,-3.83 1.524,0.677 3.552,1.094 5.787,1.094 2.163,0 4.132,-0.39 5.638,-1.029 0.712,1.081 1.129,2.373 1.129,3.765 0,3.79 -3.072,6.861 -6.861,6.861 C 3.071,6.861 0,3.79 0,0"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3261"
+         inkscape:connector-curvature="0" /></g><g
+       id="g4174"
+       transform="matrix(0.99694509,0.07810563,-0.07810563,0.99694509,47.348748,-15.348299)"><g
+         transform="translate(222.5098,610.1558)"
+         id="g3219"><path
+           inkscape:connector-curvature="0"
+           id="path3221"
+           style="fill:#df0019;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           d="m 0,0 4.45,2.752 5.34,3.785 7.05,-8.226 7.093,-33.359 17.801,-51.259 13.86,-30.215 26.261,-1.55 -6.685,-35.653 c 0,0 -49.98,-21.871 -49.545,-21.911 -42.657,4.001 -12.553,43.066 -8.631,47.301 L 3.666,-47.869 0,0 z" /></g><g
+         transform="translate(247.626,467.3545)"
+         id="g3239"><path
+           inkscape:connector-curvature="0"
+           id="path3241"
+           style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           d="M 0,0 C -3.044,-0.345 -5.232,-3.092 -4.888,-6.136 -4.543,-9.18 1.576,-2.254 13.308,-4.961 13.971,-1.97 3.044,0.344 0,0" /></g><g
+         transform="translate(279.4419,476.5762)"
+         id="g3243"><path
+           inkscape:connector-curvature="0"
+           id="path3245"
+           style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           d="M 0,0 C 3.271,1.08 6.798,-0.697 7.88,-3.969 8.96,-7.24 -0.55,-3.044 -11.258,-11.329 -13.345,-8.586 -3.272,-1.081 0,0" /></g><g
+         transform="translate(284.1929,525.9082)"
+         id="g3263"><path
+           inkscape:connector-curvature="0"
+           id="path3265"
+           style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           d="M 0,0 C 0,0 -6.972,28.671 -6.972,29.355 L 1.585,2.864 9.999,-10.564 13.634,-32.697 7.922,-11.098 0,0 z M -0.633,-15.036 -9.19,-4.86 -16.478,25.776 c -0.202,0.684 9.106,-28.811 9.106,-28.811 l 8.64,-11.642 2.469,-17.336 -4.37,16.977 z m -6.339,-6.085 -10.457,16.826 -5.444,28.646 6.614,-27.842 11.311,-18.026 1.413,-9.583 -3.437,9.979 z m -53.462,-13.246 -1.437,24.944 -2.682,28.754 5.106,-29.895 1.212,-21.677 4.139,-18.236 -6.338,16.11 z m -4.265,-19.55 -6.665,15.516 0.404,29.205 -0.882,28.169 3.104,-28.396 0.808,-26.697 4.242,-15.972 2.423,-6.617 -3.434,4.792 z m -9.695,-2.967 -7.117,16.885 1.318,32.01 0,25.223 2.115,-25.061 -0.581,-31.259 5.869,-16.429 5.056,-8.671 -6.66,7.302 z m 103.144,-7.97 -6.676,20.38 2.141,11.54 L 16.499,-9.376 4.557,13.104 -5.879,53.97 c 0,0 -8.325,-7.41 -16.781,-8.08 -8.455,-0.671 -15.09,4.018 -15.09,4.018 0,0 3.592,-17.761 8.659,-37.597 5.069,-19.836 17.528,-44.866 17.528,-44.866 0,0 21.578,-8.197 24.302,-16.587 2.724,-8.391 -3.508,-22.911 -14.102,-26.551 -10.593,-3.64 -32.284,-8.262 -32.284,-8.262 0,0 -19,1.512 -20.438,14.26 0,0 4.131,16.406 10.418,19.225 6.285,2.819 21.362,11.174 21.362,11.174 l -8.254,1.332 -7.664,-1.332 c 0,0 -4.784,11.295 -10.973,35.086 -6.19,23.79 -8.967,42.485 -8.967,42.485 0,0 -3.912,-4.391 -14.199,-4.885 -10.286,-0.494 -16.031,7.988 -16.031,7.988 l 1.027,-30.185 -1.049,-25.83 -0.15,-29.22 5.102,-15.99 19.818,-30.448 c 0,0 14.102,-9.293 31.728,-9.293 16.453,1.328 51.131,18.047 51.131,18.047 l 9.536,16.687 z" /></g></g><g
+       id="g3267"
+       transform="translate(847.2637,321.5059)"><path
+         d="m 0,0 c 2.252,3.516 6.693,15.3 6.693,15.3 0,0 3.778,-13.306 1.912,-17.213 -3.056,-6.404 -23.905,-15.3 -23.905,-15.3 0,0 12.196,12.364 15.3,17.213 m -33.514,23.16 -0.757,56.352 c 0,0 11.136,-14.028 11.843,-19.739 1.176,-9.491 -11.086,-36.613 -11.086,-36.613 m -17.575,236.921 c 0,0 12.453,-15.338 14.854,-21.39 1.424,-3.591 2.286,-15.287 2.286,-15.287 l -17.14,36.677 z M -98.574,-86.136 c -9.757,-0.906 -29.836,1.016 -38.912,4.708 -7.499,3.05 -25.734,19.656 -25.734,19.656 l 24.187,-10.86 -4.701,17.627 15.272,-22.009 41.813,-5.356 c 0,0 -8.812,-3.477 -11.925,-3.766 m -74.428,157.941 c -4.518,10.057 -1.763,44.065 -1.763,44.065 0,0 7.544,-31.093 12.338,-40.541 6.978,-13.754 37.015,-49.352 37.015,-49.352 0,0 -40.824,30.759 -47.59,45.828 m -17.833,-149.47 -40.407,24.724 1.636,-17.575 0.026,-0.035 -5.178,-29.811 -2.056,-10.701 0.383,-33.34 -4.982,36.406 6.41,41.45 -11.063,8.338 -17.532,43.159 23.502,-38.779 2.351,14.101 40.634,-25.695 11.924,-5.651 13.809,-28.871 -19.457,22.28 z m -85.522,138.863 17.212,-34.424 c 0,0 -12.972,11.185 -15.299,16.257 -1.905,4.152 -1.913,18.167 -1.913,18.167 m -2.367,66.042 c 0,0 -6.206,15.581 -6.323,21.082 -0.168,7.817 4.568,23.148 7.695,30.315 0.755,1.73 4.103,6.341 4.103,6.341 0,0 -4.654,-24.542 -5.347,-32.829 -0.518,-6.205 -0.128,-24.909 -0.128,-24.909 m -7.195,-114.809 c -0.334,3.363 1.912,13.387 1.912,13.387 l 3.825,-29.643 c 0,0 -5.313,11.967 -5.737,16.256 m -20.082,53.549 c -1.394,3.571 -0.956,15.301 -0.956,15.301 l 13.388,-30.6 c 0,0 -10.639,10.71 -12.432,15.299 m -6.03,106.795 c 0,0 -0.315,35.831 4.637,46.379 4.531,9.647 29.936,30.356 29.936,30.356 0,0 -17.824,-22.47 -21.503,-31.2 -5.089,-12.077 -10.119,-51.437 -10.119,-51.437 l -2.951,5.902 z M 50.121,205.01 c 3.335,-9.155 1.168,-38.956 1.168,-38.956 0,0 -5.451,29.987 -9.221,39.366 -4.214,10.487 -23.014,38.907 -23.014,38.907 0,0 26.78,-27.546 31.067,-39.317 M 54.506,95.624 c 0,0 6.884,-18.586 5.738,-24.861 -0.773,-4.241 -9.562,-14.345 -9.562,-14.345 0,0 2.414,12.874 2.868,17.212 0.573,5.474 0.956,21.994 0.956,21.994 M 19.125,-13.389 c 0,0 9.656,22.183 11.062,30.068 1.235,6.941 0,28.203 0,28.203 0,0 8.477,-22.819 7.106,-30.538 C 35.845,6.183 19.125,-13.389 19.125,-13.389 m 441.487,-40.965 c -3.249,8.935 -6.587,17.23 -10.01,24.928 l -1.862,28.873 -8.857,-4.876 -25.862,49.457 -4.828,-10.34 c -32.69,31.48 -70.457,34.284 -111.982,31.646 -65.568,-4.163 -91.587,-41.63 -79.098,-57.241 12.49,-15.613 18.733,-5.205 40.589,5.203 21.858,10.407 74.937,26.017 110.323,-2.082 35.386,-28.1 86.383,-109.281 50.997,-169.646 -35.386,-60.365 -105.626,-105.385 -182.135,-88.465 -86.422,19.112 -126.078,60.082 -177.675,74.811 -8.311,1.334 -18.347,2.789 -24.791,3.191 -12.671,0.792 -21.6,14.727 -21.6,14.727 l 17.181,-9.327 25.763,-2.36 c 2.331,14 9.395,49.054 9.395,49.054 l -8.688,87.29 -18.668,-27.06 -7.246,10.184 -21.349,-22.915 -15.473,-1.959 14.67,6.596 21.38,29.409 6.7,-13.754 19.485,24.691 0.004,-0.011 16.47,9.525 -3.123,68.69 10.407,-10.407 -4.163,40.59 22.173,71.502 -34.662,91.899 16.652,-4.162 -19.773,35.386 -40.591,38.509 9.368,17.693 -93.671,9.368 -20.229,-7.165 -18.437,38.292 13.22,8.813 -69.039,14.69 2.938,19.095 -80.791,-23.303 -26.147,-19.191 -116.339,0 8.814,-10.188 -42.501,-40.641 -8.911,-78.491 7.344,-1.494 8.814,-45.548 23.502,-24.978 19.096,45.533 -14.689,-4.409 41.13,48.474 30.848,26.44 -14.69,-1.469 19.096,16.158 105.763,2.938 72.917,15.799 -41.623,-14.742 -30.181,-7.285 -104.079,-1.043 1.04,-11.449 -64.526,-61.403 14.571,2.081 -27.844,-63.28 c -15.017,-13.719 -28.06,-55.016 -36.687,-75.145 -9.367,-21.856 -20.816,-39.55 -20.816,-39.55 0,0 -30.182,-6.244 -61.405,-18.734 -31.224,-12.489 -43.713,4.163 -43.713,4.163 l -3.122,-8.326 c 0,0 -18.28,-9.057 -39.303,-11.825 -16.43,-2.162 -9.967,-20.946 -9.613,-26.684 0.405,-6.57 4.294,-19.774 8.325,-24.978 3.227,-4.165 12.525,-10.425 17.694,-11.448 12.039,-2.385 28.101,5.204 45.794,17.693 74.936,-6.245 103.241,-10.321 126.974,8.326 14.572,11.448 29.142,22.897 41.631,40.59 l -15.611,42.671 -8.327,-14.569 -5.807,44.931 1.841,17.863 5.547,-51.234 7.789,9.257 35.387,-70.772 11.448,4.164 c 0,0 13.515,-18.583 23.057,-32.881 l -26.02,25.006 -10.224,-5.964 -11.076,22.152 c 0,0 -13.383,-2.353 -24.727,-18.027 -15.862,-21.915 -23.503,-24.678 -17.627,-78.735 5.876,-54.055 16.452,-54.055 64.632,-121.039 11.752,-16.452 14.601,-18.465 14.601,-18.465 l -51.03,-27.365 -22.327,-5.876 -21.384,-11.28 c 0,0 4.744,-8.174 7.495,-9.369 4.739,-2.062 20.613,1.56 20.613,1.56 0,0 15.603,-6.763 36.756,-6.763 21.152,0 32.903,8.225 47.005,8.225 14.101,0 38.78,-8.225 57.582,-5.876 18.802,2.351 22.328,12.927 22.328,12.927 l -51.706,54.057 -4.675,47.096 -56.605,75.769 -3.038,9.437 65.791,-82.24 5.107,-46.75 55.161,-61.405 37.468,-8.325 c 0,0 -0.257,1.226 -0.625,3.114 -6.146,15.664 -6.986,34.894 -1.999,54.214 6.975,27.012 38.85,36.596 64.029,36.596 12.506,0 24.179,-2.312 32.025,-6.341 12.912,-6.63 21.851,-15.076 27.029,-20.917 3.673,4.516 7.133,7.194 11.833,11.11 0,0 12.143,-11.751 45.047,-14.101 27.14,-1.939 45.048,-8.226 70.901,-19.585 53.676,-23.584 102.5,-61.785 207.618,-45.132 105.119,16.651 206.073,113.444 164.442,227.929"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path3269"
+         inkscape:connector-curvature="0" /></g><path
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 329.26398,723.3082 -118.025,-19.2 -120.800003,-28.175 72.600003,-281.65 115.075,7.875 95.275,50.65 -44.125,270.5 z m -6.55,-10.575 40.675,-252.4 -87.85,-47.275 -106.125,-7.325 -66.95,262.8 111.4,26.275 108.85,17.925 z"
+       id="path3253-3" /></g></svg>
\ No newline at end of file
diff --git a/css/docs.css b/css/docs.css
new file mode 100644
index 000000000..dbe1e0828
--- /dev/null
+++ b/css/docs.css
@@ -0,0 +1,158 @@
+body {
+  font-family: Arial, sans-serif;
+  line-height: 1.5;
+  max-width: 64.3em;
+  margin: 3em auto;
+  padding: 0 1em;
+}
+body.droid {
+  font-family: Droid Sans, Arial, sans-serif;
+}
+
+h1 {
+  letter-spacing: -3px;
+  font-size: 3.23em;
+  font-weight: bold;
+  margin: 0;
+}
+
+h2 {
+  font-size: 1.23em;
+  font-weight: bold;
+  margin: .5em 0;
+  letter-spacing: -1px;
+}
+
+h3 {
+  font-size: 1em;
+  font-weight: bold;
+  margin: .4em 0;
+}
+
+pre {
+  font-family: Courier New, monospaced;
+  background-color: #eee;
+  -moz-border-radius: 6px;
+  -webkit-border-radius: 6px;
+  border-radius: 6px;
+  padding: 1em;
+}
+
+pre.code {
+  margin: 0 1em;
+}
+
+.grey {
+  font-size: 2em;
+  padding: .5em 1em;
+  line-height: 1.2em;
+  margin-top: .5em;
+  position: relative;
+}
+
+img.logo {
+  position: absolute;
+  right: -25px;
+  bottom: 4px;
+}
+
+a:link, a:visited, .quasilink {
+  color: #df0019;
+  cursor: pointer;
+  text-decoration: none;
+}
+
+a:hover, .quasilink:hover {
+  color: #800004;
+}
+
+h1 a:link, h1 a:visited, h1 a:hover {
+  color: black;
+}
+
+ul {
+  margin: 0;
+  padding-left: 1.2em;
+}
+
+a.download {
+  color: white;
+  background-color: #df0019;
+  width: 100%;
+  display: block;
+  text-align: center;
+  font-size: 1.23em;
+  font-weight: bold;
+  text-decoration: none;
+  -moz-border-radius: 6px;
+  -webkit-border-radius: 6px;
+  border-radius: 6px;
+  padding: .5em 0;
+  margin-bottom: 1em;
+}
+
+a.download:hover {
+  background-color: #bb0010;
+}
+
+.rel {
+  margin-bottom: 0;
+}
+
+.rel-note {
+  color: #777;
+  font-size: .9em;
+  margin-top: .1em;
+}
+
+.logo-braces {
+  color: #df0019;
+  position: relative;
+  top: -4px;
+}
+
+.blk {
+  float: left;
+}
+
+.left {
+  width: 37em;
+  padding-right: 6.53em;
+  padding-bottom: 1em;
+}
+
+.left1 {
+  width: 15.24em;
+  padding-right: 6.45em;
+}
+
+.left2 {
+  width: 15.24em;
+}
+
+.right {
+  width: 20.68em;
+}
+
+.leftbig {
+  width: 42.44em;
+  padding-right: 6.53em;
+}
+
+.rightsmall {
+  width: 15.24em;
+}
+
+.clear:after {
+  visibility: hidden;
+  display: block;
+  font-size: 0;
+  content: " ";
+  clear: both;
+  height: 0;
+}
+.clear { display: inline-block; }
+/* start commented backslash hack \*/
+* html .clear { height: 1%; }
+.clear { display: block; }
+/* close commented backslash hack */
diff --git a/css/font.js b/css/font.js
new file mode 100644
index 000000000..31e3f06ed
--- /dev/null
+++ b/css/font.js
@@ -0,0 +1,15 @@
+function waitForStyles() {
+  for (var i = 0; i < document.styleSheets.length; i++)
+    if (/googleapis/.test(document.styleSheets[i].href))
+      return document.body.className += " droid";
+  setTimeout(waitForStyles, 100);
+}
+setTimeout(function() {
+  if (/AppleWebKit/.test(navigator.userAgent) && /iP[oa]d|iPhone/.test(navigator.userAgent)) return;
+  var link = document.createElement("LINK");
+  link.type = "text/css";
+  link.rel = "stylesheet";
+  link.href = "http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold";
+  document.documentElement.getElementsByTagName("HEAD")[0].appendChild(link);
+  waitForStyles();
+}, 10);
diff --git a/demo/activeline.html b/demo/activeline.html
new file mode 100644
index 000000000..7a169663e
--- /dev/null
+++ b/demo/activeline.html
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+  <head>
+    <title>CodeMirror 2: Active Line Demo</title>
+    <link rel="stylesheet" href="../lib/codemirror.css">
+    <script src="../lib/codemirror.js"></script>
+    <link rel="stylesheet" href="../mode/xml/xml.css">
+    <script src="../mode/xml/xml.js"></script>
+    <link rel="stylesheet" href="../css/docs.css">
+
+    <style type="text/css">
+      .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
+      .activeline {background: #f0fcff !important;}
+    </style>
+  </head>
+  <body>
+    <h1>CodeMirror 2: Active Line Demo</h1>
+
+    <form><textarea id="code" name="code">
+<?xml version="1.0" encoding="UTF-8"?>
+<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"
+     xmlns:georss="http://www.georss.org/georss"
+     xmlns:twitter="http://api.twitter.com">
+  <channel>
+    <title>Twitter / codemirror</title>
+    <link>http://twitter.com/codemirror</link>
+    <atom:link type="application/rss+xml"
+               href="http://twitter.com/statuses/user_timeline/242283288.rss" rel="self"/>
+    <description>Twitter updates from CodeMirror / codemirror.</description>
+    <language>en-us</language>
+    <ttl>40</ttl>
+  <item>
+    <title>codemirror: http://cloud-ide.com &#8212; they're springing up like mushrooms. This one
+      uses CodeMirror as its editor.</title>
+    <description>codemirror: http://cloud-ide.com &#8212; they're springing up like mushrooms. This
+      one uses CodeMirror as its editor.</description>
+    <pubDate>Thu, 17 Mar 2011 23:34:47 +0000</pubDate>
+    <guid>http://twitter.com/codemirror/statuses/48527733722058752</guid>
+    <link>http://twitter.com/codemirror/statuses/48527733722058752</link>
+    <twitter:source>web</twitter:source>
+    <twitter:place/>
+  </item>
+  <item>
+    <title>codemirror: Posted a description of the CodeMirror 2 internals at
+      http://codemirror.net/2/internals.html</title>
+    <description>codemirror: Posted a description of the CodeMirror 2 internals at
+      http://codemirror.net/2/internals.html</description>
+    <pubDate>Wed, 02 Mar 2011 12:15:09 +0000</pubDate>
+    <guid>http://twitter.com/codemirror/statuses/42920879788789760</guid>
+    <link>http://twitter.com/codemirror/statuses/42920879788789760</link>
+    <twitter:source>web</twitter:source>
+    <twitter:place/>
+  </item>
+</feed></textarea></form>
+
+    <script>
+var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
+  mode: "application/xml",
+  lineNumbers: true,
+  onCursorActivity: function() {
+    editor.setLineClass(hlLine, null);
+    hlLine = editor.setLineClass(editor.getCursor().line, "activeline");
+  }
+});
+var hlLine = editor.setLineClass(0, "activeline");
+</script>
+
+    <p>Styling the current cursor line.</p>
+
+  </body>
+</html>
diff --git a/demo/complete.html b/demo/complete.html
index 4fd353890..4dfef30b2 100644
--- a/demo/complete.html
+++ b/demo/complete.html
@@ -6,7 +6,7 @@
     <script src="../lib/codemirror.js"></script>
     <link rel="stylesheet" href="../mode/javascript/javascript.css">
     <script src="../mode/javascript/javascript.js"></script>
-    <link rel="stylesheet" href="../docs.css">
+    <link rel="stylesheet" href="../css/docs.css">
 
     <style type="text/css">
       .completions {
diff --git a/demo/marker.html b/demo/marker.html
index 16232f91d..7b3a2ba9d 100644
--- a/demo/marker.html
+++ b/demo/marker.html
@@ -6,7 +6,7 @@
     <script src="../lib/codemirror.js"></script>
     <link rel="stylesheet" href="../mode/javascript/javascript.css">
     <script src="../mode/javascript/javascript.js"></script>
-    <link rel="stylesheet" href="../docs.css">
+    <link rel="stylesheet" href="../css/docs.css">
 
     <style type="text/css">
       .CodeMirror-gutter {
diff --git a/demo/mustache.html b/demo/mustache.html
index 7e0ea78bb..6541f1059 100644
--- a/demo/mustache.html
+++ b/demo/mustache.html
@@ -7,7 +7,7 @@
     <script src="../lib/overlay.js"></script>
     <link rel="stylesheet" href="../mode/xml/xml.css">
     <script src="../mode/xml/xml.js"></script>
-    <link rel="stylesheet" href="../docs.css">
+    <link rel="stylesheet" href="../css/docs.css">
 
     <style type="text/css">
       .CodeMirror {border: 1px solid black;}
diff --git a/demo/resize.html b/demo/resize.html
index d6cf44d51..0022044d2 100644
--- a/demo/resize.html
+++ b/demo/resize.html
@@ -6,7 +6,7 @@
     <script src="../lib/codemirror.js"></script>
     <link rel="stylesheet" href="../mode/css/css.css">
     <script src="../mode/css/css.js"></script>
-    <link rel="stylesheet" href="../docs.css">
+    <link rel="stylesheet" href="../css/docs.css">
 
     <style type="text/css">
       .CodeMirror {
diff --git a/demo/search.html b/demo/search.html
index 38bee7d0e..5fe8c9d0b 100644
--- a/demo/search.html
+++ b/demo/search.html
@@ -6,7 +6,7 @@
     <script src="../lib/codemirror.js"></script>
     <link rel="stylesheet" href="../mode/xml/xml.css">
     <script src="../mode/xml/xml.js"></script>
-    <link rel="stylesheet" href="../docs.css">
+    <link rel="stylesheet" href="../css/docs.css">
 
     <style type="text/css">
       .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
diff --git a/docs.css b/docs.css
deleted file mode 100644
index c2c59a766..000000000
--- a/docs.css
+++ /dev/null
@@ -1,9 +0,0 @@
-body {
-  max-width: 70em;
-  margin-left: 2em;
-  margin-bottom: 4em;
-  font-family: tahoma, arial, sans-serif;
-}
-
-pre {margin-left: 2em;}
-dl dl {margin: 0;}
diff --git a/index.html b/index.html
index 3c05cc1e5..e1ce6e31a 100644
--- a/index.html
+++ b/index.html
@@ -1,135 +1,224 @@
 <!doctype html>
 <html>
   <head>
-    <title>CodeMirror 2</title>
+    <title>CodeMirror</title>
+    <link rel="stylesheet" type="text/css" href="css/docs.css"/>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <link rel="stylesheet" href="lib/codemirror.css">
-    <script src="lib/codemirror.js"></script>
-    <script src="mode/javascript/javascript.js"></script>
-    <link rel="stylesheet" href="mode/javascript/javascript.css">
-    <style type="text/css">
-      .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
-    </style>
-    <link rel="stylesheet" href="docs.css">
+    <link rel="alternate" href="http://twitter.com/statuses/user_timeline/242283288.rss" type="application/rss+xml"/>
   </head>
   <body>
-    <h1>CodeMirror 2</h1>
-
-<form><textarea id="code" name="code">
-// Demo code (the actual new parser character stream implementation)
-
-function StringStream(string) {
-  this.pos = 0;
-  this.string = string;
-}
-
-StringStream.prototype = {
-  done: function() {return this.pos >= this.string.length;},
-  peek: function() {return this.string.charAt(this.pos);},
-  next: function() {
-    if (this.pos &lt; this.string.length)
-      return this.string.charAt(this.pos++);
-  },
-  eat: function(match) {
-    var ch = this.string.charAt(this.pos);
-    if (typeof match == "string") var ok = ch == match;
-    else var ok = ch &amp;&amp; match.test ? match.test(ch) : match(ch);
-    if (ok) {this.pos++; return ch;}
-  },
-  eatWhile: function(match) {
-    var start = this.pos;
-    while (this.eat(match));
-    if (this.pos > start) return this.string.slice(start, this.pos);
-  },
-  backUp: function(n) {this.pos -= n;},
-  column: function() {return this.pos;},
-  eatSpace: function() {
-    var start = this.pos;
-    while (/\s/.test(this.string.charAt(this.pos))) this.pos++;
-    return this.pos - start;
-  },
-  match: function(pattern, consume, caseInsensitive) {
-    if (typeof pattern == "string") {
-      function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
-      if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) {
-        if (consume !== false) this.pos += str.length;
-        return true;
-      }
-    }
-    else {
-      var match = this.string.slice(this.pos).match(pattern);
-      if (match &amp;&amp; consume !== false) this.pos += match[0].length;
-      return match;
-    }
-  }
-};
-</textarea></form>
-
-    <script>
-      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
-        lineNumbers: true,
-        matchBrackets: true
-      });
-    </script>
-
-    <h3>Available modes:</h3>
 
-    <ul>
-      <li><a href="mode/javascript/">JavaScript</a></li>
-      <li><a href="mode/xml/">XML/HTML</a></li>
-      <li><a href="mode/css/">CSS</a></li>
-      <li><a href="mode/htmlmixed/">Mixed-mode HTML</a></li>
-      <li><a href="mode/clike/">Simple mode for C-like languages (C, C++, Java)</a></li>
-      <li><a href="mode/php/">PHP</a></li>
-      <li><a href="mode/diff/">Diff</a></li>
-      <li><a href="mode/haskell/">Haskell</a></li>
-      <li><a href="mode/stex/">sTeX</a></li>
-    </ul>
+<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
 
-    <h3>Usage demos:</h3>
+<pre class="grey">
+<img src="css/baboon.png" class="logo" alt="logo"/>/* In-browser code editing
+   made bearable */
+</pre>
 
-    <ul>
-      <li><a href="demo/complete.html">Clever JS autocompletion</a></li>
-      <li><a href="demo/mustache.html">Parsing Mustache templates using an overlay</a></li>
-      <li><a href="demo/search.html">Search/replace and text marking</a></li>
-      <li><a href="demo/resize.html">Non-scrolling, resizing editor</a></li>
-      <li><a href="demo/marker.html">Setting breakpoints</a></li>
-    </ul>
+<div class="clear"><div class="left blk">
 
-    <h3>Getting the Code</h3>
+  <p style="margin-top: 0">CodeMirror is a JavaScript library that can
+  be used to create a relatively pleasant editor interface for
+  code-like content &#x2015; computer programs, HTML markup, and
+  similar. If a mode has been written for the language you are
+  editing, the code will be coloured, and the editor will optionally
+  help you with indentation.</p>
 
-    <p>The recommended way to get the files is...</p>
+  <p>This is the project page for CodeMirror 2, the currently more
+  actively developed, and recommended
+  version. <a href="1/index.html">CodeMirror 1</a> is still available
+  from here.</p>
+ 
+  <div class="clear"><div class="left1 blk">
 
-    <pre style="margin-left: 1em">git clone http://marijnhaverbeke.nl/git/codemirror2</pre>
+    <h2 style="margin-top: 0">Supported modes:</h2>
 
-    <p>There is
-    also <a href="https://github.com/marijnh/codemirror2">github</a>
-    and a zip containing the
-    current <a href="http://codemirror.net/2/codemirror2-latest.zip">development
-    snapshot</a>. Once we have non-beta releases, those will also be
-    avaible in zip form.</p>
+    <ul>
+      <li><a href="mode/javascript/index.html">JavaScript</a></li>
+      <li><a href="mode/xml/index.html">XML/HTML</a></li>
+      <li><a href="mode/css/index.html">CSS</a></li>
+      <li><a href="mode/htmlmixed/index.html">HTML mixed-mode</a></li>
+      <li><a href="mode/php/index.html">PHP</a></li>
+      <li><a href="mode/diff/index.html">diff</a></li>
+      <li><a href="mode/clike/index.html">C, Java, and similar</a></li>
+      <li><a href="mode/stex/index.html">sTeX, LaTeX</a></li>
+      <li><a href="mode/haskell/index.html">Haskell</a></li>
+    </ul>
+
+  </div><div class="left2 blk">
 
-    <h3>CodeMirror 2: beta 2</h3>
+    <h2 style="margin-top: 0">Usage demos:</h2>
 
-    <p><a href="https://github.com/marijnh/codemirror2/tree/beta2">Beta
-    2</a> was released on February 22th 2011. The code is somewhat
-    more well-tested, and the API has matured a bit since beta 1. The
-    main thing we need right now is more ports of CodeMirror 1
-    modes—you're invited to <a href="manual.html#modeapi">help</a>
-    with that!</p>
+    <ul>
+      <li><a href="demo/complete.html">Autocompletion</a></li>
+      <li><a href="demo/mustache.html">Mode overlays</a></li>
+      <li><a href="demo/search.html">Search/replace</a></li>
+      <li><a href="demo/resize.html">Auto-resizing editor</a></li>
+      <li><a href="demo/marker.html">Setting breakpoints</a></li>
+      <li><a href="demo/activeline.html">Highlighting the current line</a></li>
+    </ul>
 
-    <h3>CodeMirror 2: beta 1</h3>
+  </div></div>
 
-    <p>Beta 1 was released on February 8th 2011. There are no release
-    files yet, just
-    a <a href="https://github.com/marijnh/codemirror2/tree/beta1">git
-    tag</a>.</p>
+  <h2 id="code">Getting the code</h2>
 
-    <p>There is now a <a href="manual.html">manual</a>, and you are
-    encouraged to try the library out and leave bug reports at
-    the <a href="https://github.com/marijnh/codemirror2/issues">github
-    issue tracker</a> (anything from the editor behaving badly to a
-    typo in the docs).</p>
+  <p>All of CodeMirror is released under a <a
+  href="LICENSE">MIT-style</a> license. To get it, you can download
+  the <a href="http://codemirror.net/codemirror.zip">latest
+  release</a> or the current <a
+  href="http://codemirror.net/codemirror-latest.zip">development
+  snapshot</a> as zip files. To create a custom minified script file,
+  you can use the <a href="compress.html">compression API</a>.</p>
+
+  <p>We use <a href="http://git-scm.com/">git</a> for version control.
+  The main repository can be fetched in this way:</p>
+
+  <pre class="code">git clone http://marijnhaverbeke.nl/git/codemirror2</pre>
+
+  <p>CodeMirror can also be found on GitHub at <a
+  href="http://github.com/marijnh/CodeMirror2">marijnh/CodeMirror2</a>.
+  If you plan to hack on the code and contribute patches, the best way
+  to do it is to create a GitHub fork, and send pull requests.</p>
+
+  <h2 id="documention">Documentation</h2>
+
+  <p>The <a href="manual.html">manual</a> is your first stop for
+  learning how to use this library. It starts with a quick explanation
+  of how to use the editor, and then describes all of the (many)
+  options and methods that CodeMirror exposes.</p>
+
+  <p>For those who want to learn more about the code, there is
+  an <a href="internals.html">overview of the internals</a> available.
+  The <a href="http://github.com/marijnh/CodeMirror2">source code</a>
+  itself is, for the most part, also well commented.</p>
+
+  <h2 id="support">Support and bug reports</h2>
+
+  <p>There is
+  a <a href="http://groups.google.com/group/codemirror">Google
+  group</a> (a sort of mailing list/newsgroup thing) for discussion
+  and news related to CodeMirror. Reporting bugs is best done
+  on <a href="http://github.com/marijnh/CodeMirror2/issues">github</a>.
+  You can also e-mail me
+  directly: <a href="mailto:marijnh@gmail.com">Marijn
+  Haverbeke</a>.</p>
+
+  <h2 id="supported">Supported browsers</h2>
+
+  <p>The following browsers are able to run CodeMirror:</p>
+
+  <ul>
+    <li>Firefox 2 or higher</li>
+    <li>Chrome, any version</li>
+    <li>Safari 3 or higher</li>
+    <li>Internet Explorer 6 or higher</li>
+    <li>Opera 9 or higher (with some key-handling problems on OS X)</li>
+  </ul>
+
+  <p>I am not actively testing against every new browser release, and
+  vendors have a habit of introducing bugs all the time, so I am
+  relying on the community to tell me when something breaks.
+  See <a href="#support">below</a> for information on how to contact
+  me.</p>
+
+</div>
+
+<div class="right blk">
+
+  <a href="http://codemirror.net/codemirror.zip" class="download">Download the latest release</a>
+
+  <h2>Make a donation</h2>
+
+  <ul>
+    <li><span onclick="document.getElementById('paypal').submit();" class="quasilink">Paypal</span></li>
+    <li><span onclick="document.getElementById('bankinfo').style.display = 'block';" class="quasilink">Bank</span></li>
+  </ul>
+
+  <p id="bankinfo" style="display: none;">
+    Bank: <i>Rabobank</i><br/>
+    Country: <i>Netherlands</i><br/>
+    SWIFT: <i>RABONL2U</i><br/>
+    Account: <i>147850770</i><br/>
+    Name: <i>Marijn Haverbeke</i><br/>
+    IBAN: <i>NL26 RABO 0147 8507 70</i>
+  </p>
+
+  <h2>Releases:</h2>
+
+  <p class="rel">22-02-2011: <a href="https://github.com/marijnh/codemirror2/tree/beta2">Version 2.0 beta 2</a>:</p>
+  <p class="rel-note">Somewhate more mature API, lots of bugs shaken out.</a>
+
+  <p class="rel">17-02-2011: <a href="http://codemirror.net/codemirror-0.94.zip">Version 0.94</a>:</p>
+  <ul class="rel-note">
+    <li><code>tabMode: "spaces"</code> was modified slightly (now indents when something is selected).</li>
+    <li>Fixes a bug that would cause the selection code to break on some IE versions.</li>
+    <li>Disabling spell-check on WebKit browsers now works.</li>
+  </ul>
+
+  <p class="rel">08-02-2011: <a href="http://codemirror.net/2/">Version 2.0 beta 1</a>:</p>
+  <p class="rel-note">CodeMirror 2 is a complete rewrite of
+  CodeMirror, no longer depending on an editable frame.</p>
+
+  <p class="rel">19-01-2011: <a href="http://codemirror.net/codemirror-0.93.zip">Version 0.93</a>:</p>
+  <ul class="rel-note">
+    <li>Added a <a href="contrib/regex/index.html">Regular Expression</a> parser.</li>
+    <li>Fixes to the PHP parser.</li>
+    <li>Support for regular expression in search/replace.</li>
+    <li>Add <code>save</code> method to instances created with <code>fromTextArea</code>.</li>
+    <li>Add support for MS T-SQL in the SQL parser.</li>
+    <li>Support use of CSS classes for highlighting brackets.</li>
+    <li>Fix yet another hang with line-numbering in hidden editors.</li>
+  </ul>
+
+  <p class="rel">17-12-2010: <a href="http://codemirror.net/codemirror-0.92.zip">Version 0.92</a>:</p>
+  <ul class="rel-note">
+    <li>Make CodeMirror work in XHTML documents.</li>
+    <li>Fix bug in handling of backslashes in Python strings.</li>
+    <li>The <code>styleNumbers</code> option is now officially
+    supported and documented.</li>
+    <li><code>onLineNumberClick</code> option added.</li>
+    <li>More consistent names <code>onLoad</code> and
+    <code>onCursorActivity</code> callbacks. Old names still work, but
+    are deprecated.</li>
+    <li>Add a <a href="contrib/freemarker/index.html">Freemarker</a> mode.</li>
+  </ul>
+
+  <p class="rel">11-11-2010: <a
+  href="http://codemirror.net/codemirror-0.91.zip">Version 0.91</a>:</p>
+  <ul class="rel-note">
+    <li>Adds support for <a href="contrib/java">Java</a>.</li>
+    <li>Small additions to the <a href="contrib/php">PHP</a> and <a href="contrib/sql">SQL</a> parsers.</li>
+    <li>Work around various <a href="https://bugs.webkit.org/show_bug.cgi?id=47806">Webkit</a> <a href="https://bugs.webkit.org/show_bug.cgi?id=23474">issues</a>.</li>
+    <li>Fix <code>toTextArea</code> to update the code in the textarea.</li>
+    <li>Add a <code>noScriptCaching</code> option (hack to ease development).</li>
+    <li>Make sub-modes of <a href="mixedtest.html">HTML mixed</a> mode configurable.</li>
+  </ul>
+
+  <p class="rel">02-10-2010: <a
+  href="http://codemirror.net/codemirror-0.9.zip">Version 0.9</a>:</p>
+  <ul class="rel-note">
+    <li>Add support for searching backwards.</li>
+    <li>There are now parsers for <a href="contrib/scheme/index.html">Scheme</a>, <a href="contrib/xquery/index.html">XQuery</a>, and <a href="contrib/ometa/index.html">OmetaJS</a>.</li>
+    <li>Makes <code>height: "dynamic"</code> more robust.</li>
+    <li>Fixes bug where paste did not work on OS X.</li>
+    <li>Add a <code>enterMode</code> and <code>electricChars</code> options to make indentation even more customizable.</li>
+    <li>Add <code>firstLineNumber</code> option.</li>
+    <li>Fix bad handling of <code>@media</code> rules by the CSS parser.</li>
+    <li>Take a new, more robust approach to working around the invisible-last-line bug in WebKit.</li>
+  </ul>
+
+  <p><a href="oldrelease.html">Older releases...</a></p>
+
+</div></div>
+
+<div style="height: 2em">&nbsp;</div>
+
+  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
+    <input type="hidden" name="cmd" value="_s-xclick"/>
+    <input type="hidden" name="hosted_button_id" value="3FVHS5FGUY7CC"/>
+  </form>
+
+  <script type="text/javascript" src="css/font.js"></script>
 
   </body>
 </html>
diff --git a/lib/codemirror.css b/lib/codemirror.css
index a40f06297..578af41ae 100644
--- a/lib/codemirror.css
+++ b/lib/codemirror.css
@@ -23,6 +23,10 @@
 }
 
 .CodeMirror pre {
+  -moz-border-radius: 0;
+  -webkit-border-radius: 0;
+  -o-border-radius: 0;
+  border-radius: 0;
   border-width: 0; margin: 0; padding: 0; background: transparent;
   font-family: inherit;
 }
diff --git a/manual.html b/manual.html
index f477637e0..234ff4106 100644
--- a/manual.html
+++ b/manual.html
@@ -1,23 +1,21 @@
 <!doctype html>
 <html>
   <head>
-    <title>CodeMirror 2 Manual</title>
-    <link rel="stylesheet" href="docs.css">
+    <title>CodeMirror: User Manual</title>
+    <link rel="stylesheet" type="text/css" href="css/docs.css"/>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <style>dl dl {margin: 0;}</style>
   </head>
   <body>
-    <h1>CodeMirror 2: The provisionary manual</h1>
 
-    <h2>Contents</h2>
+<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
 
-    <ul>
-      <li><a href="#overview">Overview</a></li>
-      <li><a href="#usage">Basic Usage</a></li>
-      <li><a href="#config">Configuration</a></li>
-      <li><a href="#styling">Customized Styling</a></li>
-      <li><a href="#api">Programming API</a></li>
-      <li><a href="#modeapi">Writing CodeMirror Modes</a></li>
-    </ul>
+<pre class="grey">
+<img src="css/baboon.png" class="logo" alt="logo"/>/* User manual and
+   reference guide */
+</pre>
+
+<div class="clear"><div class="leftbig blk">
 
     <h2 id="overview">Overview</h2>
 
@@ -37,7 +35,8 @@
 
     <p>The easiest way to use CodeMirror is to simply load the script
     and style sheet found under <code>lib/</code> in the distribution,
-    plus the script and style sheet for the mode you want to use. For
+    plus the script and style sheet for the mode(s) you want to use.
+    (See also <a href="compress.html">the compresion helper</a>.) For
     example:</p>
 
     <pre>&lt;script src="lib/codemirror.js">&lt;/script>
@@ -749,5 +748,24 @@
     mode, as in the <a href="#option_mode"><code>mode</code></a>
     option.</p>
 
+</div><div class="rightsmall blk">
+
+    <h2>Contents</h2>
+
+    <ul>
+      <li><a href="#overview">Overview</a></li>
+      <li><a href="#usage">Basic Usage</a></li>
+      <li><a href="#config">Configuration</a></li>
+      <li><a href="#styling">Customized Styling</a></li>
+      <li><a href="#api">Programming API</a></li>
+      <li><a href="#modeapi">Writing CodeMirror Modes</a></li>
+    </ul>
+
+</div></div>
+
+<div style="height: 2em">&nbsp;</div>
+
+<script type="text/javascript" src="css/font.js"></script>
+
   </body>
 </html>
diff --git a/mode/clike/index.html b/mode/clike/index.html
index 1218bb0ca..0836535d2 100644
--- a/mode/clike/index.html
+++ b/mode/clike/index.html
@@ -6,7 +6,7 @@
     <script src="../../lib/codemirror.js"></script>
     <script src="clike.js"></script>
     <link rel="stylesheet" href="clike.css">
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
     <style>.CodeMirror {border: 2px inset #dee;}</style>
   </head>
   <body>
diff --git a/mode/css/index.html b/mode/css/index.html
index 48c6f84c0..ad895610f 100644
--- a/mode/css/index.html
+++ b/mode/css/index.html
@@ -7,7 +7,7 @@
     <script src="css.js"></script>
     <link rel="stylesheet" href="css.css">
     <style>.CodeMirror {background: #f8f8f8;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: CSS mode</h1>
diff --git a/mode/diff/index.html b/mode/diff/index.html
index 784d3e432..2748f2fa8 100644
--- a/mode/diff/index.html
+++ b/mode/diff/index.html
@@ -7,7 +7,7 @@
     <script src="diff.js"></script>
     <link rel="stylesheet" href="diff.css">
     <style>.CodeMirror {border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: Diff mode</h1>
diff --git a/mode/haskell/index.html b/mode/haskell/index.html
index d837cc4dc..0bf34d570 100644
--- a/mode/haskell/index.html
+++ b/mode/haskell/index.html
@@ -7,7 +7,7 @@
     <script src="haskell.js"></script>
     <link rel="stylesheet" href="haskell.css">
     <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: Haskell mode</h1>
diff --git a/mode/htmlmixed/index.html b/mode/htmlmixed/index.html
index 86f66d167..c661c98d5 100644
--- a/mode/htmlmixed/index.html
+++ b/mode/htmlmixed/index.html
@@ -11,7 +11,7 @@
     <script src="../css/css.js"></script>
     <link rel="stylesheet" href="../css/css.css">
     <script src="htmlmixed.js"></script>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
     <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
   </head>
   <body>
diff --git a/mode/javascript/index.html b/mode/javascript/index.html
index b3c8bbdb6..7b528e041 100644
--- a/mode/javascript/index.html
+++ b/mode/javascript/index.html
@@ -6,7 +6,7 @@
     <script src="../../lib/codemirror.js"></script>
     <script src="javascript.js"></script>
     <link rel="stylesheet" href="javascript.css">
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
     <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
   </head>
   <body>
diff --git a/mode/php/index.html b/mode/php/index.html
index ea8719a1d..020e24898 100644
--- a/mode/php/index.html
+++ b/mode/php/index.html
@@ -14,7 +14,7 @@
     <link rel="stylesheet" href="../clike/clike.css">
     <script src="php.js"></script>
     <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: PHP mode</h1>
diff --git a/mode/stex/index.html b/mode/stex/index.html
index 5984ac3d5..73b07ac13 100644
--- a/mode/stex/index.html
+++ b/mode/stex/index.html
@@ -7,7 +7,7 @@
     <script src="stex.js"></script>
     <link rel="stylesheet" href="stex.css">
     <style>.CodeMirror {background: #f8f8f8;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: sTeX mode</h1>
diff --git a/mode/xml/index.html b/mode/xml/index.html
index 789dbb80e..5ad7c63fe 100644
--- a/mode/xml/index.html
+++ b/mode/xml/index.html
@@ -7,7 +7,7 @@
     <script src="xml.js"></script>
     <link rel="stylesheet" href="xml.css">
     <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
-    <link rel="stylesheet" href="../../docs.css">
+    <link rel="stylesheet" href="../../css/docs.css">
   </head>
   <body>
     <h1>CodeMirror 2: XML mode</h1>
diff --git a/oldrelease.html b/oldrelease.html
new file mode 100644
index 000000000..0a421e514
--- /dev/null
+++ b/oldrelease.html
@@ -0,0 +1,103 @@
+<!doctype html>
+<html>
+  <head>
+    <title>CodeMirror</title>
+    <link rel="stylesheet" type="text/css" href="css/docs.css"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <link rel="alternate" href="http://twitter.com/statuses/user_timeline/242283288.rss" type="application/rss+xml"/>
+  </head>
+  <body>
+
+<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
+
+<pre class="grey">
+<img src="css/baboon.png" class="logo" alt="logo"/>/* Old release history */
+
+</pre>
+
+  <p class="rel">22-07-2010: <a
+  href="http://codemirror.net/codemirror-0.8.zip">Version 0.8</a>:</p>
+  <ul class="rel-note">
+    <li>Add a <code>cursorCoords</code> method to find the screen
+    coordinates of the cursor.</li>
+    <li>A number of fixes and support for more syntax in the PHP parser.</li>
+    <li>Fix indentation problem with JSON-mode JS parser in Webkit.</li>
+    <li>Add a <a href="compress.html">minification</a> UI.</li>
+    <li>Support a <code>height: dynamic</code> mode, where the editor's
+    height will adjust to the size of its content.</li>
+    <li>Better support for IME input mode.</li>
+    <li>Fix JavaScript parser getting confused when seeing a no-argument
+    function call.</li>
+    <li>Have CSS parser see the difference between selectors and other
+    identifiers.</li>
+    <li>Fix scrolling bug when pasting in a horizontally-scrolled
+    editor.</li>
+    <li>Support <code>toTextArea</code> method in instances created with
+    <code>fromTextArea</code>.</li>
+    <li>Work around new Opera cursor bug that causes the cursor to jump
+    when pressing backspace at the end of a line.</li>
+  </ul>
+
+  <p class="rel">27-04-2010: <a
+  href="http://codemirror.net/codemirror-0.67.zip">Version
+  0.67</a>:</p>
+  <p class="rel-note">More consistent page-up/page-down behaviour
+  across browsers. Fix some issues with hidden editors looping forever
+  when line-numbers were enabled. Make PHP parser parse
+  <code>"\\"</code> correctly. Have <code>jumpToLine</code> work on
+  line handles, and add <code>cursorLine</code> function to fetch the
+  line handle where the cursor currently is. Add new
+  <code>setStylesheet</code> function to switch style-sheets in a
+  running editor.</p>
+
+  <p class="rel">01-03-2010: <a
+  href="http://codemirror.net/codemirror-0.66.zip">Version
+  0.66</a>:</p>
+  <p class="rel-note">Adds <code>removeLine</code> method to API.
+  Introduces the <a href="contrib/plsql/index.html">PLSQL parser</a>.
+  Marks XML errors by adding (rather than replacing) a CSS class, so
+  that they can be disabled by modifying their style. Fixes several
+  selection bugs, and a number of small glitches.</p>
+
+  <p class="rel">12-11-2009: <a
+  href="http://codemirror.net/codemirror-0.65.zip">Version
+  0.65</a>:</p>
+  <p class="rel-note">Add support for having both line-wrapping and
+  line-numbers turned on, make paren-highlighting style customisable
+  (<code>markParen</code> and <code>unmarkParen</code> config
+  options), work around a selection bug that Opera
+  <em>re</em>introduced in version 10.</p>
+
+  <p class="rel">23-10-2009: <a
+  href="http://codemirror.net/codemirror-0.64.zip">Version
+  0.64</a>:</p>
+  <p class="rel-note">Solves some issues introduced by the
+  paste-handling changes from the previous release. Adds
+  <code>setSpellcheck</code>, <code>setTextWrapping</code>,
+  <code>setIndentUnit</code>, <code>setUndoDepth</code>,
+  <code>setTabMode</code>, and <code>setLineNumbers</code> to
+  customise a running editor. Introduces an <a
+  href="contrib/sql/index.html">SQL</a> parser. Fixes a few small
+  problems in the <a href="contrib/python/index.html">Python</a>
+  parser. And, as usual, add workarounds for various newly discovered
+  browser incompatibilities.</p>
+
+<p class="rel"><em>31-08-2009</em>: <a
+href="http://codemirror.net/codemirror-0.63.zip">Version
+0.63</a>:</p>
+<p class="rel-note"> Overhaul of paste-handling (less fragile), fixes for several
+serious IE8 issues (cursor jumping, end-of-document bugs) and a number
+of small problems.</p>
+
+<p class="rel"><em>30-05-2009</em>: <a
+href="http://codemirror.net/codemirror-0.62.zip">Version
+0.62</a>:</p>
+<p class="rel-note">Introduces <a href="contrib/python/index.html">Python</a>
+and <a href="contrib/lua/index.html">Lua</a> parsers. Add
+<code>setParser</code> (on-the-fly mode changing) and
+<code>clearHistory</code> methods. Make parsing passes time-based
+instead of lines-based (see the <code>passTime</code> option).</p>
+
+  <script type="text/javascript" src="css/font.js"></script>
+
+</body></html>
-- 
GitLab