From: <Saved by Microsoft Internet Explorer 5>
Subject: freedesktop.org - Software/libdlo
Date: Fri, 5 Jun 2009 12:08:38 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C9E5D6.5BBDFEB0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/wiki/Software/libdlo

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>freedesktop.org - Software/libdlo</TITLE>
<META http-equiv=3DContent-Type content=3Dtext/html;charset=3Dutf-8>
<META content=3Dindex,nofollow name=3Drobots><LINK media=3Dall=20
href=3D"http://freedesktop.org/moin/freedesktop/css/common.css" =
type=3Dtext/css=20
charset=3Dutf-8 rel=3Dstylesheet><LINK media=3Dscreen=20
href=3D"http://freedesktop.org/moin/freedesktop/css/screen.css" =
type=3Dtext/css=20
charset=3Dutf-8 rel=3Dstylesheet><LINK media=3Dprint=20
href=3D"http://freedesktop.org/moin/freedesktop/css/print.css" =
type=3Dtext/css=20
charset=3Dutf-8 rel=3Dstylesheet><LINK media=3Dprojection=20
href=3D"http://freedesktop.org/moin/freedesktop/css/projection.css" =
type=3Dtext/css=20
charset=3Dutf-8=20
rel=3Dstylesheet><!-- css only for MSIE browsers --><!--[if IE]><LINK =
media=3Dall=20
href=3D"/moin/freedesktop/css/msie.css" type=3Dtext/css charset=3Dutf-8=20
rel=3Dstylesheet><![endif]-->
<SCRIPT src=3D"http://freedesktop.org/moin/common/js/common.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
<!--=0A=
var search_hint =3D "=E6=90=9C=E7=B4=A2";=0A=
//-->=0A=
</SCRIPT>
<LINK href=3D"/wiki/Home" rel=3DStart><LINK =
title=3D=E7=BB=B4=E5=9F=BA=E6=A0=87=E8=AE=B0=20
href=3D"/wiki/Software/libdlo?action=3Draw" rel=3DAlternate><LINK =
title=3D=E6=89=93=E5=8D=B0=E8=A7=86=E5=9B=BE=20
media=3Dprint href=3D"/wiki/Software/libdlo?action=3Dprint" =
rel=3DAlternate><LINK=20
href=3D"/wiki/Software" rel=3DUp><LINK href=3D"/wiki/FindPage" =
rel=3DSearch><LINK=20
href=3D"/wiki/TitleIndex" rel=3DIndex><LINK href=3D"/wiki/WordIndex"=20
rel=3DGlossary><LINK href=3D"/wiki/HelpOnFormatting" rel=3DHelp>
<META content=3D"MSHTML 6.00.2900.3492" name=3DGENERATOR></HEAD>
<BODY lang=3Dzh dir=3Dltr>
<UL id=3Dusername>
  <LI><A id=3Dlogin=20
  href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Dlogin"=20
  rel=3Dnofollow>=E7=99=BB=E5=BD=95</A></LI></UL>
<DIV id=3Dlogo><A href=3D"http://freedesktop.org/wiki/Home"><IMG =
alt=3Dfreedesktop.org=20
src=3D"http://www.freedesktop.org/png/freedesktop-logo.png"></A></DIV>
<TABLE id=3Dnavtable cellSpacing=3D0 cellPadding=3D0 align=3Dcenter =
border=3D0>
  <TBODY>
  <TR height=3D12>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/ul.png); BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none"=20
    width=3D12></TD>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/t.png); BORDER-TOP-STYLE: none; =
BACKGROUND-REPEAT: repeat-x; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"></TD>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/ur.png); BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none"=20
    width=3D12></TD></TR>
  <TR>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/l.png); BORDER-TOP-STYLE: none; =
BACKGROUND-REPEAT: repeat-y; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    width=3D12></TD>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/bg.png); BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none"><A=20
      href=3D"http://freedesktop.org/wiki/Software/RecentChanges"><A=20
      =
href=3D"http://freedesktop.org/wiki/RecentChanges">RecentChanges</A></A> =
<A=20
      href=3D"http://freedesktop.org/wiki/Software/FindPage"><A=20
      href=3D"http://freedesktop.org/wiki/FindPage">FindPage</A></A> <A=20
      href=3D"http://freedesktop.org/wiki/Software/HelpContents"><A=20
      =
href=3D"http://freedesktop.org/wiki/HelpContents">HelpContents</A></A> =
</TD>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/r.png); BORDER-TOP-STYLE: none; =
BACKGROUND-REPEAT: repeat-y; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    width=3D12></TD></TR>
  <TR style=3D"FONT-SIZE: 1pt" height=3D12>
    <TD=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    width=3D12><IMG src=3D"http://freedesktop.org/png/ll.png"></TD>
    <TD=20
    style=3D"BACKGROUND-IMAGE: url(/png/b.png); BORDER-TOP-STYLE: none; =
BACKGROUND-REPEAT: repeat-x; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"></TD>
    <TD=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    width=3D12><IMG =
src=3D"http://freedesktop.org/png/lr.png"></TD></TR></TBODY></TABLE>
<FORM id=3Dsearchform action=3D/wiki/Software/libdlo method=3Dget>
<DIV><INPUT type=3Dhidden value=3Dfullsearch name=3Daction> <INPUT =
type=3Dhidden=20
value=3D180 name=3Dcontext> <LABEL =
for=3Dsearchinput>=E6=90=9C=E7=B4=A2:</LABEL> <INPUT id=3Dsearchinput=20
onblur=3DsearchBlur(this) onkeyup=3DsearchChange(this) =
onfocus=3DsearchFocus(this)=20
alt=3DSearch onchange=3DsearchChange(this) name=3Dvalue> <INPUT =
id=3Dtitlesearch type=3Dsubmit alt=3D"Search Titles" =
value=3D=E6=A0=87=E9=A2=98 name=3Dtitlesearch>=20
<INPUT id=3Dfullsearch type=3Dsubmit alt=3D"Search Full Text" =
value=3D=E6=AD=A3=E6=96=87 name=3Dfullsearch>=20
</DIV></FORM>
<SCRIPT type=3Dtext/javascript>=0A=
<!--// Initialize search form=0A=
var f =3D document.getElementById('searchform');=0A=
f.getElementsByTagName('label')[0].style.display =3D 'none';=0A=
var e =3D document.getElementById('searchinput');=0A=
searchChange(e);=0A=
searchBlur(e);=0A=
//-->=0A=
</SCRIPT>

<DIV id=3Dtitle>
<H1>Software/libdlo</H1></DIV>
<UL id=3Diconbar>
  <LI><A title=3D=E7=BC=96=E8=BE=91 =
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Dedit"=20
  rel=3Dnofollow><IMG title=3D=E7=BC=96=E8=BE=91 height=3D12 =
alt=3D=E7=BC=96=E8=BE=91=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-edit.png" =
width=3D12></A>=20
  <LI><A title=3D=E5=88=B7=E6=96=B0 =
href=3D"http://freedesktop.org/wiki/Software/libdlo"=20
  rel=3Dnofollow><IMG title=3D=E5=88=B7=E6=96=B0 height=3D13 =
alt=3D=E5=88=B7=E6=96=B0=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-show.png" =
width=3D12></A>=20
  <LI><A title=3D=E7=89=88=E6=9C=AC=E6=AF=94=E8=BE=83=20
  href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Ddiff"=20
  rel=3Dnofollow><IMG title=3D=E7=89=88=E6=9C=AC=E6=AF=94=E8=BE=83 =
height=3D11 alt=3D=E7=89=88=E6=9C=AC=E6=AF=94=E8=BE=83=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-diff.png" =
width=3D15></A>=20
  <LI><A title=3D=E4=BF=A1=E6=81=AF =
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Dinfo"=20
  rel=3Dnofollow><IMG title=3D=E4=BF=A1=E6=81=AF height=3D11 =
alt=3D=E4=BF=A1=E6=81=AF=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-info.png" =
width=3D12></A>=20
  <LI><A title=3D=E8=AE=A2=E9=98=85=20
  =
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Dsubscribe"=20
  rel=3Dnofollow><IMG title=3D=E8=AE=A2=E9=98=85 height=3D10 =
alt=3D=E8=AE=A2=E9=98=85=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-subscribe.png" =

  width=3D14></A>=20
  <LI><A title=3D=E6=BA=90=E7=A0=81 =
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Draw"=20
  rel=3Dnofollow><IMG title=3D=E6=BA=90=E7=A0=81 height=3D13 =
alt=3D=E6=BA=90=E7=A0=81=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-raw.png" =
width=3D12></A>=20
  <LI><A title=3D=E6=89=93=E5=8D=B0=20
  href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Dprint"=20
  rel=3Dnofollow><IMG title=3D=E6=89=93=E5=8D=B0 height=3D14 =
alt=3D=E6=89=93=E5=8D=B0=20
  src=3D"http://freedesktop.org/moin/freedesktop/img/moin-print.png" =
width=3D16></A>=20
  </LI></UL>
<P style=3D"CLEAR: both">
<DIV lang=3Den id=3Dcontent dir=3Dltr><SPAN class=3Danchor =
id=3Dtop></SPAN><SPAN=20
class=3Danchor id=3Dline-1></SPAN>
<P class=3Dline867><A class=3Dhttp =
href=3D"http://www.displaylink.com/"><IMG=20
class=3Dexternal_image title=3Dhttp://www.displaylink.com=20
alt=3Dhttp://www.displaylink.com=20
src=3D"http://www.displaylink.com/images/logos/DisplayLink-Logo-400px.png=
"></A>=20
<SPAN class=3Danchor id=3Dline-2></SPAN><SPAN class=3Danchor =
id=3Dline-3></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-9e7ddf8d4e62f5fbd7d14b915b581640c4048d08>DisplayLink LGPL =
Library -=20
libdlo</H1><SPAN class=3Danchor id=3Dline-4></SPAN>
<P class=3Dline862>This is the official <A class=3Dhttp=20
href=3D"http://www.displaylink.com/">DisplayLink</A> Library project, =
libdlo. This=20
library is an open-source implementation of DisplayLink USB graphics =
software,=20
and is licensed under the GNU Lesser General Public License (LGPL) v2.1. =
<SPAN=20
class=3Danchor id=3Dline-5></SPAN>This library will discover and connect =
to=20
DisplayLink USB graphics chips and allow for developers to support =
DisplayLink=20
devices on Linux and other platforms. libdlo itself doesn't include any =
drivers=20
or applications intended for end-users. <SPAN class=3Danchor=20
id=3Dline-6></SPAN><SPAN class=3Danchor id=3Dline-7></SPAN>
<P class=3Dline862>libdlo currently supports the DisplayLink DL-120 and =
DL-160 (<A=20
class=3Dhttp =
href=3D"http://www.displaylink.com/displaylink_hardware.html">DL-1x0=20
Family</A>, "Alex") and the DL-125, DL-165, and DL-195 (<A class=3Dhttp=20
href=3D"http://www.displaylink.com/displaylink_hardware.html">DL-1x5 =
Family</A>,=20
"Ollie") chips, though very limited testing has been done on the DL-1x5. =
<SPAN=20
class=3Danchor id=3Dline-8></SPAN><SPAN class=3Danchor =
id=3Dline-9></SPAN>
<P class=3Dline862>For a list of products that use DisplayLink =
technology, please=20
visit <A class=3Dhttp=20
href=3D"http://displaylink.com/shop">http://displaylink.com/shop</A>. =
<SPAN=20
class=3Danchor id=3Dline-10></SPAN><SPAN class=3Danchor =
id=3Dline-11></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-231408dc8543c0d80d5d19f687c80cfea33db23a>Download =
libdlo</H1><SPAN=20
class=3Danchor id=3Dline-12></SPAN>
<UL>
  <LI>
  <P class=3Dline862>Most recent released version: <A class=3Dhttp=20
  =
href=3D"http://people.freedesktop.org/~berniet/libdlo-0.1.0.tar.gz">libdl=
o-0.1.0.tar.gz</A>=20
  <SPAN class=3Danchor id=3Dline-13></SPAN></P>
  <LI>
  <P class=3Dline862>Working version (git): <A class=3Dhttp=20
  =
href=3D"http://cgit.freedesktop.org/libdlo/">http://cgit.freedesktop.org/=
libdlo/</A>=20
  <SPAN class=3Danchor id=3Dline-14></SPAN><SPAN class=3Danchor=20
  id=3Dline-15></SPAN></P></LI></UL>
<P class=3Dline862>To get a high level view of what libdlo provides, =
please see <A=20
class=3Dhttp =
href=3D"http://people.freedesktop.org/~berniet/Guide-v104.pdf">the PDF=20
guide</A> <SPAN class=3Danchor id=3Dline-16></SPAN><SPAN class=3Danchor=20
id=3Dline-17></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-ffaf1165750bf21df88f03c1b2d949e980e877c4>Using =
libdlo</H1><SPAN=20
class=3Danchor id=3Dline-18></SPAN><SPAN class=3Danchor =
id=3Dline-19></SPAN>
<UL>
  <LI>Install a compatible libusb version (0.13) <SPAN class=3Danchor=20
  id=3Dline-20></SPAN>
  <UL>
    <LI>on ubuntu - "sudo apt-get install libusb-dev" <SPAN =
class=3Danchor=20
    id=3Dline-21></SPAN></LI></UL>
  <LI>
  <P class=3Dline862>Plug in a <A=20
  href=3D"http://freedesktop.org/wiki/DisplayLink">DisplayLink</A> USB =
device=20
  <SPAN class=3Danchor id=3Dline-22></SPAN><SPAN class=3Danchor=20
  id=3Dline-23></SPAN></P></LI></UL>
<P class=3Dline874>To start the build process, open a shell prompt and =
run <SPAN=20
class=3Danchor id=3Dline-24></SPAN><SPAN class=3Danchor =
id=3Dline-25></SPAN>
<UL>
  <LI style=3D"LIST-STYLE-TYPE: none">
  <P class=3Dline862>$ ./configure &amp;&amp; sudo make install =
&amp;&amp; make=20
  check <SPAN class=3Danchor id=3Dline-26></SPAN><SPAN class=3Danchor=20
  id=3Dline-27></SPAN></P></LI></UL>
<P class=3Dline862>"Make check" will do some basic drawing on one of the =
attached=20
<A href=3D"http://freedesktop.org/wiki/DisplayLink">DisplayLink</A> =
devices. <SPAN=20
class=3Danchor id=3Dline-28></SPAN><SPAN class=3Danchor =
id=3Dline-29></SPAN>
<P class=3Dline874>Please see the README in the distribution for more =
details.=20
<SPAN class=3Danchor id=3Dline-30></SPAN><SPAN class=3Danchor =
id=3Dline-31></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-4c0e0bfcf423d639f0a75deba934ab176e9142b9>Discuss and=20
Contribute</H1><SPAN class=3Danchor id=3Dline-32></SPAN>
<P class=3Dline862>Discussion regarding libdlo or DisplayLink support =
for Linux=20
should use <A class=3Dhttp=20
href=3D"http://lists.freedesktop.org/mailman/listinfo/libdlo/">the =
libdlo mailing=20
list on freedesktop.org</A>. For any issues not directly related to =
libdlo, or=20
DisplayLink support for open source platforms, please contact the =
DisplayLink=20
Linux team by sending an email to <EM>linux{at}displaylink.com</EM>. =
<SPAN=20
class=3Danchor id=3Dline-33></SPAN><SPAN class=3Danchor =
id=3Dline-34></SPAN>
<P class=3Dline862>Please report bugs and submit patches to libdlo =
through <A=20
class=3Dhttps href=3D"https://bugs.freedesktop.org/">FreeDesktop.org =
Bugzilla</A>.=20
Submit new bugs through the following page: <A class=3Dhttp=20
href=3D"http://bugs.freedesktop.org/enter_bug.cgi?product=3Dlibdlo">http:=
//bugs.freedesktop.org/enter_bug.cgi?product=3Dlibdlo</A>.=20
<SPAN class=3Danchor id=3Dline-35></SPAN><SPAN class=3Danchor =
id=3Dline-36></SPAN>
<P class=3Dline862>To follow libdlo specific changes and news on =
twitter, please=20
visit <A class=3Dhttp=20
href=3D"http://twitter.com/libdlo">http://twitter.com/libdlo</A> <SPAN=20
class=3Danchor id=3Dline-37></SPAN><SPAN class=3Danchor =
id=3Dline-38></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-1ac47e67a6476db865a4f85273cbaa9110ac4e5f>About DisplayLink =
and=20
DisplayLink USB Graphics Technology</H1><SPAN class=3Danchor =
id=3Dline-39></SPAN>
<P class=3Dline867>DisplayLink is a chip and software company that =
develops a=20
technology to connect monitors to PCs through a USB 2.0 cable. =
DisplayLink USB=20
graphics works by creating a =E2=80=9Cvirtual graphics card=E2=80=9D in =
software on the PC,=20
compressing the data using a proprietary protocol, and sending the =
compressed=20
data to a DisplayLink chip on the far end of a USB 2.0 connection. =
DisplayLink=20
technology is available in USB to DVI adapters, USB monitors, USB =
=E2=80=9CUniversal=E2=80=9D=20
docking stations, and USB projectors. <SPAN class=3Danchor =
id=3Dline-40></SPAN><SPAN=20
class=3Danchor id=3Dline-41></SPAN>
<P class=3Dline862>Additional information about DisplayLink can be found =
on the <A=20
class=3Dhttp =
href=3D"http://en.wikipedia.org/wiki/DisplayLink">DisplayLink Wikipedia=20
page</A> or the official <A class=3Dhttp=20
href=3D"http://displaylink.com/">DisplayLink website</A>. To contact the =

DisplayLink Linux team directly, please send an email to=20
<EM>linux{at}displaylink.com</EM>. <SPAN class=3Danchor =
id=3Dline-42></SPAN><SPAN=20
class=3Danchor id=3Dline-43></SPAN>
<P class=3Dline867>
<H1 id=3Dhead-c5d5c3e0809ce84047767b49d260f3b3861e57f8>Commercial=20
Support</H1><SPAN class=3Danchor id=3Dline-44></SPAN>
<P class=3Dline862>Commercial paid support and consulting for the =
DisplayLink=20
libdlo Library is available from the following companies: <SPAN =
class=3Danchor=20
id=3Dline-45></SPAN>
<UL>
  <LI>
  <P class=3Dline891><A class=3Dhttp=20
  =
href=3D"http://www.endurancetech.co.uk/pages/displaylink.php">Endurance=20
  Technology</A> (UK, India, Thailand) - =
<EM>libdlo{at}endurancetech.co.uk</EM>=20
  <SPAN class=3Danchor id=3Dline-46></SPAN></P>
  <LI>
  <P class=3Dline891><A class=3Dhttp =
href=3D"http://www.inoscope.com/">InoScope</A>=20
  (Poland) - <EM>libdlo{at}inoscope.com</EM> <SPAN class=3Danchor=20
  id=3Dline-47></SPAN><SPAN class=3Danchor =
id=3Dline-48></SPAN></P></LI></UL>
<P class=3Dline867>
<H1 id=3Dhead-098645b54921ae82df9a0b9d93b6ca567ee68553>Linux Driver=20
Project</H1><SPAN class=3Danchor id=3Dline-49></SPAN>
<P class=3Dline862>To help release libdlo and encourage collaboration on =
fully=20
functional Linux drivers, DisplayLink has enlisted the help of the <A =
class=3Dhttp=20
href=3D"http://www.linuxdriverproject.org/">Linux Driver Project</A> =
(LDP). The=20
LDP are a group of Linux kernel developers (over 200 strong) and project =

managers (over 10) that develop and maintain Linux kernel drivers. They =
work=20
with device manufacturers like DisplayLink to specify, develop, submit =
to the=20
main kernel, and maintain the kernel drivers. For more information, see =
the <A=20
class=3Dhttp=20
href=3D"http://www.linuxdriverproject.org/twiki/bin/view/Main/FrequentlyA=
skedQuestions">Linux=20
Driver Project Frequently Asked Questions</A>. <SPAN class=3Danchor=20
id=3Dline-50></SPAN><SPAN class=3Danchor id=3Dline-51></SPAN>
<P class=3Dline867><IMG class=3Dexternal_image=20
title=3Dhttp://s.rckc.at/UA-8386273-1/displaylink.org/libdlo=20
alt=3Dhttp://s.rckc.at/UA-8386273-1/displaylink.org/libdlo src=3D""> =
<SPAN=20
class=3Danchor id=3Dline-52></SPAN><IMG class=3Dexternal_image=20
title=3Dhttp://s.rckc.at/UA-8386273-2/freedesktop.org/wiki/Software/libdl=
o=20
alt=3Dhttp://s.rckc.at/UA-8386273-2/freedesktop.org/wiki/Software/libdlo =
src=3D"">=20
<SPAN class=3Danchor id=3Dline-53></SPAN><SPAN class=3Danchor=20
id=3Dbottom></SPAN></P></DIV>
<DIV id=3Dpagebottom></DIV>
<DIV></DIV>
<DIV id=3Dfooter>
<P class=3Dinfo lang=3Dzh id=3Dpageinfo dir=3Dltr>Software/libdlo =
(=E5=9C=A8 2009-05-19 16:34:16=20
=E7=94=B1 <SPAN title=3D"JasonSlaughter @ =
194.73.38.218[194.73.38.218]"><A=20
class=3Dnonexistent title=3D"JasonSlaughter @ =
194.73.38.218[194.73.38.218]"=20
href=3D"http://freedesktop.org/wiki/JasonSlaughter">JasonSlaughter</A></S=
PAN>=20
=E7=BC=96=E8=BE=91)</P>
<UL class=3Deditbar>
  <LI><SPAN =
class=3Ddisabled>=E5=8F=AA=E8=AF=BB=E7=BD=91=E9=A1=B5</SPAN></LI></UL>
<P><A =
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3Drefresh"=20
rel=3Dnofollow>=E5=88=A0=E9=99=A4=E7=BC=93=E5=AD=98</A> (2009-05-21 =
16:50:30 =E7=BC=93=E5=AD=98)</P>
<P>=E6=88=96=E4=B8=8B=E5=88=97=E6=93=8D=E4=BD=9C: <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DAttachFile" =

rel=3Dnofollow>=E9=99=84=E4=BB=B6</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DCopyPage"=20
rel=3Dnofollow>CopyPage</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DDespam"=20
rel=3Dnofollow>Despam</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DLikePages"=20
rel=3Dnofollow>=E7=9B=B8=E4=BC=BC=E7=BD=91=E9=A1=B5</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DLoad"=20
rel=3Dnofollow>=E5=8A=A0=E8=BD=BD</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DLocalSiteMap=
"=20
rel=3Dnofollow>=E6=9C=AC=E7=AB=99=E5=9C=B0=E5=9B=BE</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DMyPages"=20
rel=3Dnofollow>MyPages</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DPackagePages=
"=20
rel=3Dnofollow>PackagePages</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DRenderAsDocb=
ook"=20
rel=3Dnofollow>RenderAsDocbook</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DSave"=20
rel=3Dnofollow>=E4=BF=9D=E5=AD=98</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DSpellCheck" =

rel=3Dnofollow>=E6=8B=BC=E5=86=99=E6=A3=80=E6=9F=A5</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DSubscribeUse=
r"=20
rel=3Dnofollow>SubscribeUser</A>, <A=20
href=3D"http://freedesktop.org/wiki/Software/libdlo?action=3DSyncPages"=20
rel=3Dnofollow>SyncPages</A></P></DIV>
<UL id=3Dcredits>
  <LI><A title=3D"This site uses the MoinMoin Wiki software."=20
  href=3D"http://moinmo.in/">MoinMoin Powered</A>
  <LI><A title=3D"MoinMoin is written in Python."=20
  href=3D"http://moinmo.in/Python">Python Powered</A>
  <LI><A title=3D"MoinMoin is GPL licensed." =
href=3D"http://moinmo.in/GPL">GPL=20
  licensed</A>
  <LI><A title=3D"Click here to validate this page."=20
  href=3D"http://validator.w3.org/check?uri=3Dreferer">Valid HTML =
4.01</A>=20
</LI></UL></BODY></HTML>

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.freedesktop.org/png/freedesktop-logo.png

[encoded data, 10868 characters]
AAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/png/ll.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAABIElE
QVR4nHWQvUoDURCFv7MkoI3ggghq4bKwtdiItkHsfAILCxs7fQEfwAcQbdIJYusDmE6UgJUhLN5A
Fq1s7JS4d8fmLsiaTHXm58ycM3LOfUmaM7PnNE03AZxzx5IumBIR8BnwYl2U9D5tGCCS9BqGVoui
mAcoy/IB+Jl14THgtvd+CyDLsg/gdhbhrk7M7KjGk8nkxMyGTYLMLBqNRk7SuplVwHaapk8AeZ6v
tVqtLrD710MFnAcfEXCT5/lSkPaWJMleVVUdoAu8CKDf77fjOO4BO0HawHu/n2WZ+yepBuPxeMV7
fw9kgfQNXEZRdJUkyfAfAcA5tyzpGug0FvfNrGdmAzUahCecSjoDFmZKakZRFHFZlgdmdghsSBLA
Lwh2d4suKoqqAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/png/lr.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAABAUlE
QVR4nIWOIUsEYRCGn/fzglUMJsN9A9tNBsFkExTE3yAGi7DgLzCeySIYFMFiuWAwKvojvLDfYrii
STGuO5ZdWI9bnPTOO/O8M0opOfPrPca4ApBS2gXGAKFnGXeftlrSUqt7AeCpFXVd239AFUK46PQb
zdWfuYC7Hw+Hw1eAoigyYLMZPc8CX8CBmZ03oCSdSVpo5jcDd59KmgAPVVVdZVn20dJlWebAdgO/
hRBu1fNSSCmdAKeS5O4O7JjZ/R+gLMvFuq73gFzSWicgN7MRgIqi2AdWgXVgS9JyJ+MbOIoxXrfG
QNJdz1uPkg5jjJOuP5jZ+3T3MXBpZi/zgn4BKxdhFaQy6uwAAAAASUVORK5CYII=

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-edit.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMBAMAAACkW0HUAAAAD1BMVEX//////2bMzP/AwMAAAADO
nAx1AAAABHRSTlP///8AQCqp9AAAAAFiS0dEBI9o2VEAAAA6SURBVHjaYzAGAwZjFxcXZ2MGE0FB
QRFjBkcGBgYmZ+yUiZKSApACanBQAeozNnZyBlMuxmDK2dgYAMOmC3NKXWwuAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-show.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAANBAMAAABvB5JxAAAAGFBMVEUAAAAAQEAAY2MxnAAAnGP/
/5z///+9vb3TcI9CAAAACHRSTlP/////////AN6DvVkAAAABYktHRAcWYYjrAAAATElEQVR42mMQ
YACCcgaxtOS0BHYQZZrAwCAWbGwclsAgqpJsGprAIKYWHAbiqaamqgJ5YcFhakBeqnEKiAdRKZZq
nJqWADYFSAmCAQA++RLXrbb9LgAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-diff.png

iVBORw0KGgoAAAANSUhEUgAAAA8AAAALBAMAAABSacpvAAAAIVBMVEX/////l5f/AADf7v2rtsKZ
wv+Ci5RRVlwtMDMAZv8AAAD8ydzwAAAAAXRSTlMAQObYZgAAAAFiS0dECmjQ9FYAAABbSURBVHja
Y2BgSwMhICjOYOBILmBgYDdrYGBoMwcLMICFKjo6CkCYYbGxsYWxsfEChpVTI6coCSoBGaEzpygK
ARmLI2daGSopL2CoAsovNrYCGrRqFQPXqgUMAIPhGvb6VyliAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-info.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAALAgMAAAA2HoTMAAAADFBMVEX///8VTP8ASv8AAAA+md74
AAAAI0lEQVR42mNgYGBm0Fq1mkGraTWEZgKxsyF8EGaAiNv//w8A/V4Nhl+CyykAAAAASUVORK5C
YII=

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-subscribe.png

iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKBAMAAAB293L0AAAAFVBMVEUAAABzewB7ewB7hADe3gCE
hITGxsYZZWYwAAAAQklEQVR42mMIhQCGAAYICGBLA4IEhoAEQUVBRSA/mUlYSECAISBRQVCRUYEh
IEmACQiBfEYFRgUg7SAkLCTMANMPAB6dCzc0yP9WAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-raw.png

iVBORw0KGgoAAAANSUhEUgAAAAwAAAANBAMAAABvB5JxAAAAElBMVEX///8AAAD////09PTJyckA
QEDW8QliAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAABMSURBVHjaHYpRFcAwCMROwo5ioKCA
TkHrYPTNv5XR5S8vwcMCSDeLC1tcgkh1vQNb22RHUpSBNBt2zK2X6VrV9uzCc7JptTEq4v35ABtq
DSkV0tDRAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://freedesktop.org/moin/freedesktop/img/moin-print.png

iVBORw0KGgoAAAANSUhEUgAAABAAAAAOBAMAAADUAYG5AAAAJFBMVEUAAAAAgADe3t4A/wApMf8p
Y/9aWlqEhIStta3Ozs739/f///9ff4h3AAAADHRSTlP//////////////wAS387OAAAAAWJLR0QA
iAUdSAAAAG1JREFUeNpj2L17ezkQ7GbYvbty1apVE0CMqtDQKG4gY/usVatWghlLXFwWMHAzgJUs
KChgAOspZ2dgqFqlpDRzAlCkHCJSwFC1SHOi4Ex2boYqpZmTjWcCdUEAGzfDhkVKmjMaEoAGgkW4
dwMAmhQu146c6b8AAAAASUVORK5CYII=

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.displaylink.com/images/logos/DisplayLink-Logo-400px.png

[encoded data, 16872 characters]
AAAAAElFTkSuQmCC

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/css;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/moin/freedesktop/css/common.css

HTML {
	COLOR: black; BACKGROUND-COLOR: white
}
H2 {
	FONT-SIZE: 1.6em
}
H3 {
	FONT-SIZE: 1.3em
}
H4 {
	FONT-SIZE: 1em
}
H5 {
	FONT-SIZE: 1em
}
H6 {
	FONT-SIZE: 1em
}
LI P {
	MARGIN: 0.2em 0px
}
LI.gap {
	MARGIN-TOP: 8pt
}
A IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
IMG.drawing {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
DT {
	FONT-WEIGHT: bold
}
PRE {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0.5em
}
#content {
=09
}
.footnotes UL {
	PADDING-RIGHT: 2em; PADDING-LEFT: 2em; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px
}
.footnotes LI {
	LIST-STYLE-TYPE: none
}
.warning {
	PADDING-RIGHT: 1pt; PADDING-LEFT: 1pt; PADDING-BOTTOM: 1pt; COLOR: =
#000000; PADDING-TOP: 1pt; BACKGROUND-COLOR: #edd097
}
.error {
	PADDING-RIGHT: 1pt; PADDING-LEFT: 1pt; PADDING-BOTTOM: 1pt; COLOR: =
#ff0000; PADDING-TOP: 1pt; BACKGROUND-COLOR: #edd097
}
STRONG.highlight {
	PADDING-RIGHT: 1pt; PADDING-LEFT: 1pt; PADDING-BOTTOM: 1pt; =
PADDING-TOP: 1pt; BACKGROUND-COLOR: #ffaa00
}

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/css;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/moin/freedesktop/css/screen.css

#content {
	MARGIN-TOP: 2em; MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%
}
H1 {
	COLOR: #2b5e82
}
H2 {
	COLOR: #2b5e82
}
H3 {
	COLOR: #2b5e82
}
H4 {
	COLOR: #2b5e82
}
H5 {
	COLOR: #2b5e82
}
H6 {
	COLOR: #2b5e82
}
A:link {
	COLOR: #2b5e82
}
A:visited {
	COLOR: #52188b
}
A.nonexistent {
	COLOR: #404040
}
A.badinterwiki {
	COLOR: #404040
}
PRE {
	BORDER-RIGHT: #cbcbcb 1px solid; BORDER-TOP: #cbcbcb 1px solid; =
BORDER-LEFT: #cbcbcb 1px solid; COLOR: black; BORDER-BOTTOM: #cbcbcb 1px =
solid; BACKGROUND-COLOR: #fff8ed
}
HR {
	CLEAR: both; COLOR: #cbcbcb; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: =
#cbcbcb; BORDER-BOTTOM-STYLE: none
}
TD {
	BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid
}
.footnotes DIV {
	BORDER-TOP: #cbcbcb 1px solid; WIDTH: 5em
}
#navtable A:visited {
	COLOR: #2b5e82
}
#navtable {
	CLEAR: both; FONT-SIZE: 15pt; WORD-SPACING: 4pt; COLOR: #3b80ae; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #ffffff; =
TEXT-ALIGN: center
}
#title A {
	FONT-WEIGHT: bold; FONT-SIZE: 20pt; COLOR: #2b5e82; FONT-FAMILY: =
Bitstream Vera Sans, sans-serif; TEXT-DECORATION: none
}
#title {
	CLEAR: left; DISPLAY: inline; FLOAT: left
}
#logo {
	DISPLAY: block; RIGHT: 0px; LEFT: 0px; MARGIN: 0px; TOP: 0px; =
TEXT-ALIGN: center
}
UNKNOWN {
	FLOAT: right
}
#username {
	RIGHT: 0px; MARGIN: 1em 0.3em; POSITION: absolute; TOP: 0px; =
TEXT-ALIGN: right
}
UNKNOWN {
	FLOAT: left
}
#navibar {
	CLEAR: both
}
UNKNOWN {
	CLEAR: right
}
#pagetrail {
	CLEAR: left
}
UNKNOWN {
	CLEAR: right
}
#navibar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#pagetrail {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#iconbar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#navibar A {
	TEXT-DECORATION: none
}
#pagetrail A {
	TEXT-DECORATION: none
}
#navibar LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#pagetrail LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#iconbar LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#navibar LI {
	BORDER-RIGHT: #cbcbcb 3px solid; BORDER-TOP: #cbcbcb 3px solid; =
BORDER-LEFT: #cbcbcb 3px solid; COLOR: black; LINE-HEIGHT: 2em; =
BORDER-BOTTOM: #cbcbcb 3px solid; BACKGROUND-COLOR: #e5e5e5
}
#pagetrail LI SPAN {
	BORDER-RIGHT: #eeeecc 1px solid; BORDER-TOP: #eeeecc 1px solid; =
BORDER-LEFT: #eeeecc 1px solid; COLOR: black; BORDER-BOTTOM: #eeeecc 1px =
solid; BACKGROUND-COLOR: #ffffdd
}
#pagetrail LI:unknown {
	content: "? "
}
UNKNOWN {
	content: " ?"
}
#pagetrail LI:unknown {
	content: ""
}
#iconbar {
	CLEAR: right; FLOAT: right; WHITE-SPACE: nowrap; TEXT-ALIGN: right
}
UNKNOWN {
	FLOAT: left; TEXT-ALIGN: left
}
#footer A:visited {
	COLOR: #2b5e82
}
#message {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0.5em; PADDING-LEFT: =
0.5em; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
0.5em; MARGIN: 50px 0px 0.5em; COLOR: #2b5e82; PADDING-TOP: 0.5em; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #dedede; =
BORDER-RIGHT-WIDTH: 0px
}
#footer {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0.5em; PADDING-LEFT: =
0.5em; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
0.5em; MARGIN: 50px 0px 0.5em; COLOR: #2b5e82; PADDING-TOP: 0.5em; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #dedede; =
BORDER-RIGHT-WIDTH: 0px
}
#footer P {
	MARGIN: 0px
}
#footer FORM {
	MARGIN: 0px
}
#credits {
	FLOAT: right; TEXT-ALIGN: right; max-width: 30%
}
UNKNOWN {
	FLOAT: left; TEXT-ALIGN: left
}
#timings {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.8em; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#timings LI {
	DISPLAY: inline; COLOR: black; BACKGROUND-COLOR: #e5e5e5
}
#preview {
	BORDER-RIGHT: #cbcbcb 2px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: =
#cbcbcb 2px solid; PADDING-LEFT: 0.5em; BACKGROUND: =
url(../img/draft.png); PADDING-BOTTOM: 0.5em; BORDER-LEFT: #cbcbcb 2px =
solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: #cbcbcb 2px solid
}
.recentchanges TABLE {
	WIDTH: 100%
}
#pageinfo TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.recentchanges TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.rcdaybreak TD {
	PADDING-RIGHT: 0.2em; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0.2em; BACKGROUND-COLOR: #ccccff
}
.rcicon1 {
	TEXT-ALIGN: center
}
.rcicon2 {
	TEXT-ALIGN: center
}
.rcpagelink {
	WIDTH: 33%
}
.rctime {
	FONT-SIZE: 0.9em; COLOR: #4d4d4d
}
.rceditor {
	COLOR: green
}
.rccomment {
	WIDTH: 66%; COLOR: red
}
.rcrss {
	FLOAT: right
}
UNKNOWN {
	FLOAT: left
}
.diff {
	WIDTH: 99%
}
.diff-title {
	BACKGROUND-COLOR: #c0c0c0
}
.diff-added {
	VERTICAL-ALIGN: sub; BACKGROUND-COLOR: #e0ffe0
}
.diff-removed {
	VERTICAL-ALIGN: sub; BACKGROUND-COLOR: #ffffe0
}
.diff-added SPAN {
	BACKGROUND-COLOR: #80ff80
}
.diff-removed SPAN {
	BACKGROUND-COLOR: #ffff80
}
.searchresult DD SPAN {
	FONT-WEIGHT: bold
}
#credits LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px 4px; PADDING-TOP: 0px
}
#timings LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px 4px; PADDING-TOP: 0px
}
#editor-textarea {
	PADDING-RIGHT: 3px; MARGIN-TOP: 0.5em; PADDING-LEFT: 3px; =
PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: black; PADDING-TOP: 3px; =
FONT-FAMILY: monospace; BACKGROUND-COLOR: white
}
#editor-help {
	PADDING-RIGHT: 3px; MARGIN-TOP: 0.5em; PADDING-LEFT: 3px; =
PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: black; PADDING-TOP: 3px; =
FONT-FAMILY: monospace; BACKGROUND-COLOR: white
}
#searchform {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.82em; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; PADDING-TOP: 0px; WHITE-SPACE: =
nowrap
}
.editbar {
	CLEAR: both; PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; =
BACKGROUND: white; PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-TOP: 10px; =
WHITE-SPACE: nowrap
}
.editbar FORM {
	DISPLAY: inline; MARGIN: 0px
}
.editbar FORM DIV {
	DISPLAY: inline; MARGIN: 0px
}
.editbar LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 4px 6px; PADDING-TOP: 0px
}
#header .editbar {
	BORDER-BOTTOM: #9c9c9c 1px dotted
}
#footer .editbar {
	BORDER-TOP: #9c9c9c 1px dotted; BORDER-BOTTOM: #9c9c9c 1px solid
}
#credits {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}
#version {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}
#timings {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/css;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/moin/freedesktop/css/print.css

H2 {
	BORDER-BOTTOM: black 1pt solid
}
H3 {
	BORDER-BOTTOM: black 1pt solid
}
H4 {
	BORDER-BOTTOM: black 1pt solid
}
H5 {
	BORDER-BOTTOM: black 1pt solid
}
H6 {
	BORDER-BOTTOM: black 1pt solid
}
A {
=09
}
PRE {
	BORDER-RIGHT: black 1pt solid; BORDER-TOP: black 1pt solid; =
BORDER-LEFT: black 1pt solid; BORDER-BOTTOM: black 1pt solid
}
HR {
	CLEAR: both; COLOR: black; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; HEIGHT: 1pt; BACKGROUND-COLOR: black; =
BORDER-BOTTOM-STYLE: none
}
TD {
	BORDER-RIGHT: gray 1pt solid; BORDER-TOP: gray 1pt solid; BORDER-LEFT: =
gray 1pt solid; BORDER-BOTTOM: gray 1pt solid
}
A.interwiki:unknown {
	content: attr(title) ":"
}
A.badinterwiki:unknown {
	content: attr(title) ":"
}
A.interwiki IMG {
	DISPLAY: none
}
A.badinterwiki IMG {
	DISPLAY: none
}
.footnotes DIV {
	BORDER-TOP: black 1pt solid; WIDTH: 5em
}
H1 {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0.2em
}
#logo {
	FLOAT: left; MARGIN: 0px 0.5em
}
UNKNOWN {
	FLOAT: right
}
#title A {
	TEXT-DECORATION: none
}
#username {
	DISPLAY: none
}
#navibar {
	DISPLAY: none
}
#pagetrail {
	DISPLAY: none
}
#iconbar {
	DISPLAY: none
}
#message {
	DISPLAY: none
}
#footer {
	DISPLAY: none
}
#timings {
	DISPLAY: none
}
TABLE.recentchanges {
	WIDTH: 100%
}
.recentchanges TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.rcdaybreak TD {
	PADDING-RIGHT: 0.2em; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0.2em; BACKGROUND-COLOR: #ccccff
}
.rcicon1 {
	TEXT-ALIGN: center
}
.rcicon2 {
	TEXT-ALIGN: center
}
.rcpagelink {
	WIDTH: 33%
}
.rctime {
	FONT-SIZE: 0.9em; COLOR: #4d4d4d
}
.rceditor {
	COLOR: green
}
.rccomment {
	WIDTH: 66%; COLOR: red
}
.rcrss {
	FLOAT: right
}

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/css;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/wiki/Software/screen.css

#content {
	MARGIN-TOP: 2em; MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%
}
H1 {
	COLOR: #2b5e82
}
H2 {
	COLOR: #2b5e82
}
H3 {
	COLOR: #2b5e82
}
H4 {
	COLOR: #2b5e82
}
H5 {
	COLOR: #2b5e82
}
H6 {
	COLOR: #2b5e82
}
A:link {
	COLOR: #2b5e82
}
A:visited {
	COLOR: #52188b
}
A.nonexistent {
	COLOR: #404040
}
A.badinterwiki {
	COLOR: #404040
}
PRE {
	BORDER-RIGHT: #cbcbcb 1px solid; BORDER-TOP: #cbcbcb 1px solid; =
BORDER-LEFT: #cbcbcb 1px solid; COLOR: black; BORDER-BOTTOM: #cbcbcb 1px =
solid; BACKGROUND-COLOR: #fff8ed
}
HR {
	CLEAR: both; COLOR: #cbcbcb; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: =
#cbcbcb; BORDER-BOTTOM-STYLE: none
}
TD {
	BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid
}
.footnotes DIV {
	BORDER-TOP: #cbcbcb 1px solid; WIDTH: 5em
}
#navtable A:visited {
	COLOR: #2b5e82
}
#navtable {
	CLEAR: both; FONT-SIZE: 15pt; WORD-SPACING: 4pt; COLOR: #3b80ae; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #ffffff; =
TEXT-ALIGN: center
}
#title A {
	FONT-WEIGHT: bold; FONT-SIZE: 20pt; COLOR: #2b5e82; FONT-FAMILY: =
Bitstream Vera Sans, sans-serif; TEXT-DECORATION: none
}
#title {
	CLEAR: left; DISPLAY: inline; FLOAT: left
}
#logo {
	DISPLAY: block; RIGHT: 0px; LEFT: 0px; MARGIN: 0px; TOP: 0px; =
TEXT-ALIGN: center
}
UNKNOWN {
	FLOAT: right
}
#username {
	RIGHT: 0px; MARGIN: 1em 0.3em; POSITION: absolute; TOP: 0px; =
TEXT-ALIGN: right
}
UNKNOWN {
	FLOAT: left
}
#navibar {
	CLEAR: both
}
UNKNOWN {
	CLEAR: right
}
#pagetrail {
	CLEAR: left
}
UNKNOWN {
	CLEAR: right
}
#navibar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#pagetrail {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#iconbar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px; PADDING-TOP: 0px
}
#navibar A {
	TEXT-DECORATION: none
}
#pagetrail A {
	TEXT-DECORATION: none
}
#navibar LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#pagetrail LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#iconbar LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#navibar LI {
	BORDER-RIGHT: #cbcbcb 3px solid; BORDER-TOP: #cbcbcb 3px solid; =
BORDER-LEFT: #cbcbcb 3px solid; COLOR: black; LINE-HEIGHT: 2em; =
BORDER-BOTTOM: #cbcbcb 3px solid; BACKGROUND-COLOR: #e5e5e5
}
#pagetrail LI SPAN {
	BORDER-RIGHT: #eeeecc 1px solid; BORDER-TOP: #eeeecc 1px solid; =
BORDER-LEFT: #eeeecc 1px solid; COLOR: black; BORDER-BOTTOM: #eeeecc 1px =
solid; BACKGROUND-COLOR: #ffffdd
}
#pagetrail LI:unknown {
	content: "? "
}
UNKNOWN {
	content: " ?"
}
#pagetrail LI:unknown {
	content: ""
}
#iconbar {
	CLEAR: right; FLOAT: right; WHITE-SPACE: nowrap; TEXT-ALIGN: right
}
UNKNOWN {
	FLOAT: left; TEXT-ALIGN: left
}
#footer A:visited {
	COLOR: #2b5e82
}
#message {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0.5em; PADDING-LEFT: =
0.5em; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
0.5em; MARGIN: 50px 0px 0.5em; COLOR: #2b5e82; PADDING-TOP: 0.5em; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #dedede; =
BORDER-RIGHT-WIDTH: 0px
}
#footer {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0.5em; PADDING-LEFT: =
0.5em; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
0.5em; MARGIN: 50px 0px 0.5em; COLOR: #2b5e82; PADDING-TOP: 0.5em; =
FONT-FAMILY: Bitstream Vera Sans, sans-serif; BACKGROUND-COLOR: #dedede; =
BORDER-RIGHT-WIDTH: 0px
}
#footer P {
	MARGIN: 0px
}
#footer FORM {
	MARGIN: 0px
}
#credits {
	FLOAT: right; TEXT-ALIGN: right; max-width: 30%
}
UNKNOWN {
	FLOAT: left; TEXT-ALIGN: left
}
#timings {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.8em; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#timings LI {
	DISPLAY: inline; COLOR: black; BACKGROUND-COLOR: #e5e5e5
}
#preview {
	BORDER-RIGHT: #cbcbcb 2px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: =
#cbcbcb 2px solid; PADDING-LEFT: 0.5em; BACKGROUND: =
url(../img/draft.png); PADDING-BOTTOM: 0.5em; BORDER-LEFT: #cbcbcb 2px =
solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: #cbcbcb 2px solid
}
.recentchanges TABLE {
	WIDTH: 100%
}
#pageinfo TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.recentchanges TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.rcdaybreak TD {
	PADDING-RIGHT: 0.2em; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0.2em; BACKGROUND-COLOR: #ccccff
}
.rcicon1 {
	TEXT-ALIGN: center
}
.rcicon2 {
	TEXT-ALIGN: center
}
.rcpagelink {
	WIDTH: 33%
}
.rctime {
	FONT-SIZE: 0.9em; COLOR: #4d4d4d
}
.rceditor {
	COLOR: green
}
.rccomment {
	WIDTH: 66%; COLOR: red
}
.rcrss {
	FLOAT: right
}
UNKNOWN {
	FLOAT: left
}
.diff {
	WIDTH: 99%
}
.diff-title {
	BACKGROUND-COLOR: #c0c0c0
}
.diff-added {
	VERTICAL-ALIGN: sub; BACKGROUND-COLOR: #e0ffe0
}
.diff-removed {
	VERTICAL-ALIGN: sub; BACKGROUND-COLOR: #ffffe0
}
.diff-added SPAN {
	BACKGROUND-COLOR: #80ff80
}
.diff-removed SPAN {
	BACKGROUND-COLOR: #ffff80
}
.searchresult DD SPAN {
	FONT-WEIGHT: bold
}
#credits LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px 4px; PADDING-TOP: 0px
}
#timings LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; MARGIN: 0px 4px; PADDING-TOP: 0px
}
#editor-textarea {
	PADDING-RIGHT: 3px; MARGIN-TOP: 0.5em; PADDING-LEFT: 3px; =
PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: black; PADDING-TOP: 3px; =
FONT-FAMILY: monospace; BACKGROUND-COLOR: white
}
#editor-help {
	PADDING-RIGHT: 3px; MARGIN-TOP: 0.5em; PADDING-LEFT: 3px; =
PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: black; PADDING-TOP: 3px; =
FONT-FAMILY: monospace; BACKGROUND-COLOR: white
}
#searchform {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.82em; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; PADDING-TOP: 0px; WHITE-SPACE: =
nowrap
}
.editbar {
	CLEAR: both; PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; =
BACKGROUND: white; PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-TOP: 10px; =
WHITE-SPACE: nowrap
}
.editbar FORM {
	DISPLAY: inline; MARGIN: 0px
}
.editbar FORM DIV {
	DISPLAY: inline; MARGIN: 0px
}
.editbar LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 4px 6px; PADDING-TOP: 0px
}
#header .editbar {
	BORDER-BOTTOM: #9c9c9c 1px dotted
}
#footer .editbar {
	BORDER-TOP: #9c9c9c 1px dotted; BORDER-BOTTOM: #9c9c9c 1px solid
}
#credits {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}
#version {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}
#timings {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.88em; =
PADDING-BOTTOM: 0px; MARGIN: 5px 10px; COLOR: #6c7680; PADDING-TOP: 0px; =
TEXT-ALIGN: center
}

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: text/css;
	charset="gb2312"
Content-Transfer-Encoding: 7bit
Content-Location: http://freedesktop.org/moin/freedesktop/css/projection.css

@import url( screen.css );
BODY {
	FONT-SIZE: 22pt
}
B {
	FONT-SIZE: 22pt
}
EM {
	FONT-SIZE: 22pt
}
A {
	FONT-SIZE: 22pt
}
SPAN {
	FONT-SIZE: 22pt
}
DIV {
	FONT-SIZE: 22pt
}
P {
	FONT-SIZE: 22pt
}
TD {
	FONT-SIZE: 22pt
}
H1 {
	FONT-SIZE: 28pt
}
H2 {
	FONT-SIZE: 24pt
}
H3 {
	FONT-SIZE: 22pt
}
H4 {
	FONT-SIZE: 20pt
}
H5 {
	FONT-SIZE: 18pt
}
H6 {
	FONT-SIZE: 16pt
}
TT {
	FONT-SIZE: 18pt
}
PRE {
	FONT-SIZE: 18pt
}
SUP {
	FONT-SIZE: 14pt
}
SUB {
	FONT-SIZE: 14pt
}
.navigation {
	FONT-SIZE: 16pt; PADDING-BOTTOM: 8pt; PADDING-TOP: 8pt
}

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freedesktop.org/moin/common/js/common.js

//=0A=
// MoinMoin commonly used JavaScript functions=0A=
//=0A=
=0A=
// We keep here the state of the search box=0A=
searchIsDisabled =3D false;=0A=
=0A=
function searchChange(e) {=0A=
    // Update search buttons status according to search box content.=0A=
    // Ignore empty or whitespace search term.=0A=
    var value =3D e.value.replace(/\s+/, '');=0A=
    if (value =3D=3D '' || searchIsDisabled) { =0A=
        searchSetDisabled(true);=0A=
    } else {=0A=
        searchSetDisabled(false);=0A=
    }=0A=
}=0A=
=0A=
function searchSetDisabled(flag) {=0A=
    // Enable or disable search=0A=
    document.getElementById('fullsearch').disabled =3D flag;=0A=
    document.getElementById('titlesearch').disabled =3D flag;=0A=
}=0A=
=0A=
function searchFocus(e) {=0A=
    // Update search input content on focus=0A=
    if (e.value =3D=3D search_hint) {=0A=
        e.value =3D '';=0A=
        e.className =3D '';=0A=
        searchIsDisabled =3D false;=0A=
    }=0A=
}=0A=
=0A=
function searchBlur(e) {=0A=
    // Update search input content on blur=0A=
    if (e.value =3D=3D '') {=0A=
        e.value =3D search_hint;=0A=
        e.className =3D 'disabled';=0A=
        searchIsDisabled =3D true;=0A=
    }=0A=
}=0A=
=0A=
function actionsMenuInit(title) {=0A=
    // Initialize action menu=0A=
    for (i =3D 0; i < document.forms.length; i++) {=0A=
        var form =3D document.forms[i];=0A=
        if (form.className =3D=3D 'actionsmenu') {=0A=
            // Check if this form needs update=0A=
            var div =3D form.getElementsByTagName('div')[0];=0A=
            var label =3D div.getElementsByTagName('label')[0];=0A=
            if (label) {=0A=
                // This is the first time: remove label and do buton.=0A=
                div.removeChild(label);=0A=
                var dobutton =3D div.getElementsByTagName('input')[0];=0A=
                div.removeChild(dobutton);=0A=
                // and add menu title=0A=
                var select =3D div.getElementsByTagName('select')[0];=0A=
                var item =3D document.createElement('option');=0A=
                item.appendChild(document.createTextNode(title));=0A=
                item.value =3D 'show';=0A=
                select.insertBefore(item, select.options[0]);=0A=
                select.selectedIndex =3D 0;=0A=
            }=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
// use this instead of assigning to window.onload directly:=0A=
function addLoadEvent(func) {=0A=
  // alert("addLoadEvent " + func)=0A=
  var oldonload =3D window.onload;=0A=
  if (typeof window.onload !=3D 'function') {=0A=
    window.onload =3D func;=0A=
  } else {=0A=
    window.onload =3D function() {=0A=
      oldonload();=0A=
      func();=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
function can_use_gui_editor() {=0A=
    var sAgent =3D navigator.userAgent.toLowerCase() ;=0A=
=0A=
    // Internet Explorer=0A=
    if ( sAgent.indexOf("msie") !=3D -1 && sAgent.indexOf("mac") =3D=3D =
-1 && sAgent.indexOf("opera") =3D=3D -1 )=0A=
    {   =0A=
        var sBrowserVersion =3D navigator.appVersion.match(/MSIE =
(.\..)/)[1] ;=0A=
        return ( sBrowserVersion >=3D 5.5 ) ;=0A=
    }=0A=
    =0A=
    // Gecko=0A=
    if ( navigator.product =3D=3D "Gecko" && navigator.productSub >=3D =
20030210 )=0A=
        return true ;=0A=
=0A=
    // Opera=0A=
    if ( this.EnableOpera )=0A=
    {   =0A=
        var aMatch =3D sAgent.match( /^opera\/(\d+\.\d+)/ ) ;=0A=
        if ( aMatch && aMatch[1] >=3D 9.0 )=0A=
            return true ;=0A=
    }=0A=
    =0A=
    // Safari=0A=
    if ( this.EnableSafari && sAgent.indexOf( 'safari' ) !=3D -1 )=0A=
        return ( sAgent.match( /safari\/(\d+)/ )[1] >=3D 312 ) ;  // =
Build must be at least 312 (1.3)=0A=
=0A=
    return false ;=0A=
=0A=
}=0A=
=0A=
=0A=
function update_edit_links() {=0A=
    // Update editlink according if if the browser is compatible=0A=
    if (can_use_gui_editor() =3D=3D false){=0A=
        //alert("update_edit_links: can't use gui editor");=0A=
        return;=0A=
    }=0A=
    var editlinks =3D document.getElementsByName("editlink");=0A=
    for (i =3D 0; i < editlinks.length; i++) {=0A=
        var link =3D editlinks[i];=0A=
        href =3D =
link.href.replace('editor=3Dtextonly','editor=3Dguipossible');=0A=
        link.href =3D href;=0A=
        //alert("update_edit_links: modified to guipossible");=0A=
    }=0A=
}=0A=
=0A=
=0A=
function add_gui_editor_links() {=0A=
    // Add gui editor link after the text editor link=0A=
    =0A=
    // If the variable is not set or browser is not compatible, exit=0A=
    try {gui_editor_link_href}=0A=
    catch (e) {=0A=
        //alert("add_gui_editor_links: gui_editor_link_href not here");=0A=
        return=0A=
    }=0A=
    if (can_use_gui_editor() =3D=3D false){=0A=
        //alert("add_gui_editor_links: can't use gui_editor");=0A=
        return;=0A=
    }=0A=
    var all =3D document.getElementsByName('texteditlink');=0A=
    for (i =3D 0; i < all.length; i++) {=0A=
        var textEditorLink =3D all[i];=0A=
        // Create a list item with a link=0A=
        var guiEditorLink =3D document.createElement('a');=0A=
        guiEditorLink.href =3D gui_editor_link_href;=0A=
        var text =3D document.createTextNode(gui_editor_link_text);=0A=
        guiEditorLink.appendChild(text);=0A=
        var listItem =3D document.createElement('li')=0A=
        listItem.appendChild(guiEditorLink);=0A=
        // Insert in the editbar=0A=
        var editbar =3D textEditorLink.parentNode.parentNode=0A=
        var nextListItem =3D textEditorLink.parentNode.nextSibling;=0A=
        editbar.insertBefore(listItem, nextListItem);=0A=
        //alert("add_gui_editor_links: added gui editor link");=0A=
    }=0A=
}=0A=
 =0A=
=0A=
function show_switch2gui() {=0A=
    // Show switch to gui editor link if the browser is compatible=0A=
    if (can_use_gui_editor() =3D=3D false) return;=0A=
    =0A=
    var switch2gui =3D document.getElementById('switch2gui')=0A=
    if (switch2gui) {=0A=
        switch2gui.style.display =3D 'inline';=0A=
    }=0A=
}=0A=
=0A=
function toggleComments() {=0A=
    // Toggle visibility of every tag with class =3D=3D *comment*=0A=
    var all =3D document.getElementsByTagName('*');=0A=
    for (i =3D 0; i < all.length; i++){=0A=
        el =3D all[i];=0A=
        if ( el.className.indexOf('comment') >=3D 0 ){=0A=
            if ( el.style.display !=3D 'none' ) {=0A=
                el.style.display =3D 'none';=0A=
            } else {=0A=
                el.style.display =3D '';=0A=
            }=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function show_toggleComments() {=0A=
    // Show edit bar item "ToggleComments" if inline comments exist on =
this page=0A=
    var all =3D document.getElementsByTagName('*');=0A=
    var count =3D 0;=0A=
    for (i =3D 0; i < all.length; i++){=0A=
        el =3D all[i];=0A=
        if ( el.className.indexOf('comment') >=3D 0 ){=0A=
            count++;=0A=
        }=0A=
    }=0A=
    if (count > 0) {=0A=
        for (i =3D 0; i < all.length; i++){=0A=
            el =3D all[i];=0A=
            if ( el.className =3D=3D 'toggleCommentsButton' ){=0A=
                el.style.display =3D 'inline';=0A=
            }=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
=0A=
function load() {=0A=
    // Do not name this "onload", it does not work with IE :-)=0A=
    // TODO: create separate onload for each type of view and set the=0A=
    // correct function name in the html. =0A=
    // e.g <body onlod=3D'editor_onload()'>=0A=
=0A=
    // login focus=0A=
    if (document.forms['loginform']) {=0A=
    	document.forms['loginform'].elements['name'].focus();=0A=
    }=0A=
    =0A=
    // Page view stuff=0A=
    update_edit_links();=0A=
    add_gui_editor_links();=0A=
    =0A=
    // Editor stuff=0A=
    show_switch2gui();=0A=
=0A=
    // Disable menu item "ToggleComments" if no inline comments exist=0A=
    show_toggleComments();=0A=
}=0A=
=0A=
=0A=
function before_unload(evt) {=0A=
    // TODO: Better to set this in the editor html, as it does not make=0A=
    // sense elsehwere.=0A=
    // confirmleaving is available when editing=0A=
    try {return confirmleaving();}=0A=
    catch (e) {}=0A=
}=0A=
=0A=
// Initialize after loading the page=0A=
addLoadEvent(load)=0A=
=0A=
// Catch before unloading the page=0A=
window.onbeforeunload =3D before_unload=0A=
=0A=

------=_NextPart_000_0000_01C9E5D6.5BBDFEB0--
