From: "Guardado por Windows Internet Explorer 9"
Subject: Aceprensa
Date: Thu, 29 Dec 2011 11:52:11 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CCC620.4CBE1300"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/articles/author/leonardo-polo

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" =
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><HTML=20
lang=3D"en" xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD>
<META content=3D"text/html; charset=3Dutf-8"=20
http-equiv=3D"Content-Type"><TITLE>Aceprensa</TITLE><LINK =
rel=3D"stylesheet" type=3D"text/css"=20
href=3D"http://62-22-50-72.m3d.net/media/css/all.css"><LINK =
rel=3D"stylesheet" type=3D"text/css"=20
href=3D"http://62-22-50-72.m3d.net/media/css/font-face.css"><LINK =
rel=3D"shortcut icon"=20
type=3D"image/x-icon" href=3D"/media/favicon.ico"><!--[if lt IE 7]><link =
rel=3D"stylesheet" href=3D"/media/css/lt7.css" =
type=3D"text/css"/><![endif]-->
<SCRIPT type=3D"text/javascript" =
src=3D"http://62-22-50-72.m3d.net/media/js/jquery-1.4.2.js"></SCRIPT>

<SCRIPT type=3D"text/javascript" charset=3D"utf-8" =
src=3D"http://62-22-50-72.m3d.net/media/js/jquery.infieldlabel.min.js"></=
SCRIPT>

<SCRIPT type=3D"text/javascript" =
src=3D"http://62-22-50-72.m3d.net/media/js/base.js"></SCRIPT>

<SCRIPT type=3D"text/javascript" =
src=3D"http://62-22-50-72.m3d.net/media/js/swfobject.js"></SCRIPT>

<SCRIPT type=3D"text/javascript">=0A=
=0A=
    var _gaq =3D _gaq || [];=0A=
    _gaq.push(['_setAccount', 'UA-25459095-1']);=0A=
    _gaq.push(['_trackPageview']);=0A=
=0A=
    (function() {=0A=
      var ga =3D document.createElement('script'); ga.type =3D =
'text/javascript'; ga.async =3D true;=0A=
      ga.src =3D ('https:' =3D=3D document.location.protocol ? =
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';=0A=
      var s =3D document.getElementsByTagName('script')[0]; =
s.parentNode.insertBefore(ga, s);=0A=
    })();=0A=
=0A=
  </SCRIPT>

<META name=3D"GENERATOR" content=3D"MSHTML 9.00.8112.16440"></HEAD>
<BODY>
<DIV id=3D"base-wrapper"><!--wrapper starts-->
<DIV id=3D"wrapper"><!--header starts-->
<DIV id=3D"header"><STRONG class=3D"logo"><A=20
href=3D"http://62-22-50-72.m3d.net/">Aceprensa</A></STRONG>
<FORM class=3D"login" method=3D"post" action=3D"/subscriber/login">
<DIV style=3D"display: none;"><INPUT name=3D"csrfmiddlewaretoken" =
value=3D"6953d240f7aa80b0e88cb40b6c038112"=20
type=3D"hidden"></DIV>
<FIELDSET>
<DIV class=3D"row"><LABEL class=3D"inline" for=3D"username">Nombre de=20
usuario</LABEL><INPUT id=3D"username" class=3D"text" name=3D"username"=20
type=3D"text"><LABEL class=3D"inline" =
for=3D"password">Contrase=C3=B1a</LABEL><INPUT id=3D"password"=20
class=3D"text" name=3D"password" type=3D"password"><INPUT =
class=3D"submit" value=3D"Submit" type=3D"submit"></DIV>
<DIV class=3D"remember"><INPUT id=3D"remember" name=3D"remember"=20
type=3D"checkbox"><LABEL for=3D"remember">No cerrar =
sesi=C3=B3n</LABEL><A =
href=3D"http://62-22-50-72.m3d.net/subscriber/forgot-password/">=C2=BFOlv=
id=C3=B3=20
su contrase=C3=B1a?</A></DIV></FIELDSET></FORM></DIV><!--header ends-->
<DIV class=3D"nav"><!-- we must find a location for this, because here =
there is no space left --><!-- <a href=3D"#" class=3D"rss">RSS</a> -->
<DIV class=3D"box-left">
<DIV class=3D"box-center">
<UL><!-- here the li can use the class "selected"-->
  <LI><A=20
  =
href=3D"http://62-22-50-72.m3d.net/section/bioeticaciencia">BIO=C3=89TICA=
/CIENCIA</A></LI><!-- here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/cine">CINE/DVD</A></LI><!-- =
here the li can use the class "selected"-->
  <LI><A=20
  =
href=3D"http://62-22-50-72.m3d.net/section/culturacomunicacion">CULTURA/C=
OMUNICACI=C3=93N</A></LI><!-- here the li can use the class =
"selected"-->
  <LI><A=20
  =
href=3D"http://62-22-50-72.m3d.net/section/economiadesarrollo">ECONOM=C3=8D=
A</A></LI><!-- here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/educacion">EDUCACI=C3=93N</A><=
/LI><!-- here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/familia">FAMILIA</A></LI><!-- =
here the li can use the class "selected"-->
  <LI><A=20
  =
href=3D"http://62-22-50-72.m3d.net/section/ideaspolitica">IDEAS/POL=C3=8D=
TICA</A></LI><!-- here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/libros">LIBROS</A></LI><!-- =
here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/regional">REGIONAL</A></LI><!-=
- here the li can use the class "selected"-->
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/section/religion">RELIGI=C3=93N</A></L=
I><!-- here the li can use the class "selected"-->
  <LI><A=20
href=3D"http://62-22-50-72.m3d.net/section/sociedad">SOCIEDAD</A></LI></U=
L></DIV>
</DIV></DIV><!--main starts-->
<DIV id=3D"main">
<DIV id=3D"content">
<DIV class=3D"wrap">
<H1><SPAN>Leonardo Polo</SPAN></H1>
<DIV class=3D"results"><STRONG>6</STRONG> Art=C3=ADculos =
encontrados</DIV></DIV>
<UL class=3D"search-results">
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/ayudar-a-crecer/">Ayudar a=20
  crecer</A></H2>
  <UL class=3D"article-info">
    <LI><A=20
    =
href=3D"http://62-22-50-72.m3d.net/articles/signer/jose-manuel-manu/">JOS=
=C3=89=20
    MANUEL MA=C3=91=C3=9A</A></LI>
    <LI>26.JUL.2006</LI>
    <LI>Autor:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI>
    <LI><IMG =
src=3D"http://62-22-50-72.m3d.net/media/images/key.gif"></LI></UL>
  <P>Leonardo Polo</P></LI>
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/antropolog-a-de-la-acci-n-dir=
ectiva/">Antropolog=C3=ADa=20
  de la acci=C3=B3n directiva</A></H2>
  <UL class=3D"article-info">
    <LI><A=20
    =
href=3D"http://62-22-50-72.m3d.net/articles/signer/salvador-bernal/">SALV=
ADOR=20
    BERNAL</A></LI>
    <LI>25.MAR.1998</LI>
    <LI>Autores:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/carlos-llano-cifuentes=
">CARLOS=20
    LLANO CIFUENTES</A>,                 <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI></UL>
  <P>Leonardo Polo y Carlos Llano</P></LI>
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/la-persona-humana-y-su-crecim=
iento-sobre-la-existe/">La=20
  persona humana y su crecimiento Sobre la existencia cristiana</A></H2>
  <UL class=3D"article-info">
    <LI><A=20
    =
href=3D"http://62-22-50-72.m3d.net/articles/signer/rafael-serrano/">RAFAE=
L=20
    SERRANO</A></LI>
    <LI>26.MAR.1997</LI>
    <LI>Autor:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI></UL>
  <P>La persona humana y su crecimiento</P></LI>
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/sobre-la-existencia-cristiana=
-la-persona-humana-y-/">Sobre=20
  la existencia cristiana La persona humana y su crecimiento</A></H2>
  <UL class=3D"article-info">
    <LI><A=20
    =
href=3D"http://62-22-50-72.m3d.net/articles/signer/rafael-serrano/">RAFAE=
L=20
    SERRANO</A></LI>
    <LI>26.MAR.1997</LI>
    <LI>Autor:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI></UL>
  <P>Sobre la existencia cristiana</P></LI>
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/tica-hacia-una-versi-n-modern=
a-de-los-temas-cl-sic/">=C3=89tica.=20
  Hacia una versi=C3=B3n moderna de los temas cl=C3=A1sicos</A></H2>
  <UL class=3D"article-info">
    <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/signer/francisco-santamaria/"=
>FRANCISCO=20
    SANTAMAR=C3=8DA</A></LI>
    <LI>8.MAY.1996</LI>
    <LI>Autor:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI></UL>
  <P>Leonardo Polo</P></LI>
  <LI>
  <H2><A =
href=3D"http://62-22-50-72.m3d.net/articles/presente-y-futuro-del-hombre/=
">Presente=20
  y futuro del hombre</A></H2>
  <UL class=3D"article-info">
    <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/signer/ricardo-yepes-stork/">=
RICARDO=20
    YEPES STORK</A></LI>
    <LI>17.NOV.1993</LI>
    <LI>Autor:                <A =
href=3D"http://62-22-50-72.m3d.net/articles/author/leonardo-polo">LEONARD=
O=20
    POLO</A></LI></UL>
  <P>Leonardo Polo</P></LI></UL>
<DIV class=3D"wrap">
<DIV class=3D"pagination"></DIV></DIV></DIV><!--sidebar starts-->
<DIV id=3D"sidebar">
<DIV class=3D"side-info">
<DIV class=3D"holder">
<FORM id=3D"search-form" class=3D"search" method=3D"get" =
action=3D"/articles/search">
<FIELDSET>
<DIV class=3D"row"><INPUT class=3D"text" name=3D"q" type=3D"text"><INPUT =
class=3D"submit" value=3D"Buscar" type=3D"submit"></DIV>
<UL>
  <LI><INPUT id=3D"aceprensa" name=3D"where" value=3D"aceprensa" =
CHECKED=3D"" type=3D"radio"><LABEL=20
  for=3D"aceprensa">Aceprensa</LABEL></LI>
  <LI><INPUT id=3D"google" name=3D"where" value=3D"google" =
type=3D"radio"><LABEL =
for=3D"google">Google</LABEL></LI></UL></FIELDSET></FORM><A=20
class=3D"more" =
href=3D"http://62-22-50-72.m3d.net/articles/search/advanced">B=C3=BAsqued=
a=20
avanzada</A></DIV></DIV>
<DIV class=3D"agenda"><!--here comes the right column -->
<DIV id=3D"right_column">
<H3 class=3D"leido">LO MAS LEIDO</H3>
<DIV class=3D"holder">
<UL>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/la-pildora-no-puede-con-el-ab=
orto/">La=20
  p=C3=ADldora no puede con el aborto</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/cine-2011-en-dvd/">Cine 2011 =

  en DVD</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/sugerencias-de-literatura-inf=
antil-y-juvenil-2011/">Sugerencias=20
  de literatura infantil y juvenil 2011</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/havel-y-juan-pablo-ii-me-atre=
vo-decir-que-eramos-amigos/">Havel=20
  y Juan Pablo II: =E2=80=9CMe atrevo a decir que =C3=A9ramos =
amigos=E2=80=9D</A></LI></UL></DIV>
<H3 class=3D"recomendado">LO MAS RECOMENDADO</H3>
<DIV class=3D"holder">
<UL>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/retrato-de-la-madre-de-joven/=
">Retrato=20
  de la madre de joven</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/el-nino-perdido/">El =
ni=C3=B1o=20
  perdido</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/sugerencias-de-literatura-inf=
antil-y-juvenil-2011/">Sugerencias=20
  de literatura infantil y juvenil 2011</A></LI>
  <LI><A=20
  =
href=3D"http://62-22-50-72.m3d.net/articles/rendicion-incondicional/">Ren=
dici=C3=B3n=20
  incondicional</A></LI></UL></DIV></DIV></DIV><!--here comes the =
printed box -->
<DIV>
<DIV class=3D"info">
<DIV class=3D"holder printed-edition-box">
<DIV class=3D"wrap">
<H4>Edici=C3=B3n impresa</H4><A class=3D"pdf-link" =
href=3D"http://62-22-50-72.m3d.net/printed-edition/">Aceprensa=20
<BR>PDF</A><A style=3D"visibility: visible;" class=3D"more" =
href=3D"http://62-22-50-72.m3d.net/subscriber/subscribe">Suscripci=C3=B3n=
</A></DIV></DIV>
<DIV class=3D"holder newsletter-box">
<DIV class=3D"wrap">
<H4>Newsletter</H4>
<P>Reciba semanalmente por correo electr=C3=B3nico los titulares de =
Aceprensa</P>
<FORM class=3D"newsletter" method=3D"post" action=3D"/newsletter/">
<FIELDSET><LABEL class=3D"inline" for=3D"email">Email</LABEL><INPUT =
id=3D"email"=20
class=3D"text" name=3D"email" type=3D"text"><INPUT class=3D"submit" =
value=3D"submit" type=3D"submit">
<DIV =
class=3D"message"></DIV></FIELDSET></FORM></DIV></DIV></DIV></DIV></DIV><=
!--sidebar ends--></DIV><!--main ends--></DIV><!--wrapper =
ends--><!--footer starts-->
<DIV id=3D"footer">
<UL>
  <LI><A href=3D"http://62-22-50-72.m3d.net/">Portada</A></LI>
  <LI><A href=3D"http://62-22-50-72.m3d.net/about_us/">Qui=C3=A9nes =
somos</A></LI>
  <LI><A href=3D"http://62-22-50-72.m3d.net/contact/">Contacto</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/condiciones/">Suscripciones</A></LI>
  <LI><A href=3D"http://62-22-50-72.m3d.net/faq/">Faq</A></LI>
  <LI><A =
href=3D"http://62-22-50-72.m3d.net/articles/rss/">RSS</A></LI></UL>
<P>=C2=A9 ACEPRENSA S.A. Prohibida la reproducci=C3=B3n =C3=ADntegra o =
parcial. | <A href=3D"http://www.markhaus.com/"=20
target=3D"_blank">Dise=C3=B1o: MARKHAUS</A>| <A =
href=3D"http://62-22-50-72.m3d.net/legal/">Aviso=20
legal</A></P></DIV><!--footer ends--></DIV></BODY></HTML>

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://62-22-50-72.m3d.net/media/images/key.gif

R0lGODlhDgAHALMMAKqfheLf1qqehMG4pd3Yzq+ljLWrlbuynfn59+jl3tfSxczFtv///6SYfAAA
AAAAACH5BAEAAAwALAAAAAAOAAcAAAQhkK1GF7v4TlozboXAjZXSIAFJToNBJoByENLqYVtj3UwE
ADs=

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/css/all.css

body {
	background: rgb(255, 255, 255); font: 12px/normal Verdana, Arial, =
Helvetica, sans-serif; margin: 0px; text-align: center; color: rgb(102, =
102, 102); font-size-adjust: none; font-stretch: normal;
}
#base-wrapper {
	margin: 0px auto; width: 974px; text-align: left;
}
textarea {
	resize: vertical;
}
.small {
	font-size: 11px;
}
small {
	font-size: 11px;
}
.text-right {
	text-align: right;
}
a {
	color: rgb(255, 136, 0); text-decoration: none;
}
.orange {
	color: rgb(255, 136, 0);
}
.red {
	color: rgb(217, 63, 22);
}
.bold {
	font-weight: bold;
}
.float-right {
	float: right;
}
a:hover {
	text-decoration: underline;
}
form {
	margin: 0px 0px 25px; padding: 0px;
}
fieldset {
	margin: 0px 0px 25px; padding: 0px;
}
img {
	border: currentColor;
}
input {
	font: 12px/normal Verdana, Arial, Helvetica, sans-serif; color: =
rgb(102, 102, 102); font-size-adjust: none; font-stretch: normal;
}
select {
	font: 12px/normal Verdana, Arial, Helvetica, sans-serif; color: =
rgb(102, 102, 102); font-size-adjust: none; font-stretch: normal;
}
textarea {
	font: 12px/normal Verdana, Arial, Helvetica, sans-serif; color: =
rgb(102, 102, 102); font-size-adjust: none; font-stretch: normal;
}
.wrap {
	overflow: hidden;
}
.inline {
	display: inline;
}
* html .wrap {
	height: 1%; overflow: visible;
}
q {
	quotes: none;
}
q::before {
	content: "";
}
q::after {
	content: "";
}
.fullwidth {
	width: 100%;
}
#wrapper {
	background: white; width: 100%;
}
#header {
	background: rgb(255, 136, 0); padding: 9px 9px 0px; height: 1%; color: =
rgb(255, 255, 255); overflow: hidden;
}
#header a {
	color: rgb(255, 255, 255); font-weight: bold;
}
#header span {
	float: left;
}
#header ul.user {
	padding: 0px; left: 0px; top: -1em; position: relative;
}
#header li {
	display: inline;
}
.logo {
	background: url("../images/bg-logo.gif") no-repeat; margin: 26px 0px =
0px; top: 3px; width: 333px; height: 66px; text-indent: -9999px; =
overflow: hidden; float: right; position: relative;
}
.logo a {
	height: 100%; display: block;
}
.login {
	float: left;
}
.login .row {
	width: 100%; overflow: hidden;
}
.login .text {
	background: rgb(255, 255, 255); font: italic 10px/normal Verdana, =
Arial, Helvetica, sans-serif; margin: 0px 12px 0px 0px; padding: 3px =
6px; border: 1px solid rgb(255, 165, 63); width: 120px; color: rgb(102, =
102, 102); float: left; font-size-adjust: none; font-stretch: normal;
}
.login .submit {
	background: url("../images/btn-login.gif") no-repeat; margin: 1px 0px =
0px; border: currentColor; width: 21px; height: 19px; line-height: 0; =
text-indent: -9999px; overflow: hidden; float: left; cursor: pointer;
}
.login label.inline {
	color: rgb(102, 102, 102); padding-top: 3px; padding-left: 6px; =
font-size: 10px; position: absolute;
}
.remember {
	margin: 8px 0px 0px; font-size: 10px;
}
.remember input {
	margin: 0px 5px 0px 0px; padding: 0px; width: 15px; height: 14px; =
float: left;
}
.remember label {
	margin: 0px 12px 0px 0px; color: rgb(255, 255, 255); float: left;
}
#header .remember a {
	font-weight: normal;
}
ul.messages {
	margin: 0.2em 0em; color: rgb(255, 255, 255); float: left; =
list-style-type: none;
}
.box-left {
	left: 50%; float: left; position: relative;
}
* html .box-center {
	float: left;
}
.box-center {
	left: -50%; position: relative;
}
.nav {
	padding: 5px 10px; height: 1%; overflow: hidden; font-size: 12px; =
border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(217, =
217, 218); border-left-color: rgb(204, 204, 204); border-right-width: =
1px; border-bottom-width: 1px; border-left-width: 1px; =
border-right-style: solid; border-bottom-style: solid; =
border-left-style: solid; position: relative;
}
.rss {
	background: url("../images/ico-rss.gif") no-repeat; left: 25px; top: =
7px; width: 17px; height: 17px; text-indent: -9999px; position: =
absolute;
}
.nav ul {
	list-style: none; margin: 0px; padding: 0px; font-weight: bold;
}
.nav ul li {
	background: url("../images/bullet-grey.gif") no-repeat 0px 50%; =
padding: 0px 0px 0px 12px; overflow: hidden; margin-left: 5px; float: =
left; list-style-type: none;
}
.nav ul li + li {
=09
}
.nav ul li:first-child {
	padding-left: 0px;
}
.nav ul a:active {
	color: rgb(255, 136, 0); text-decoration: underline;
}
.nav ul a {
	padding: 0px; height: 21px; color: rgb(102, 102, 102); line-height: =
21px; float: left;
}
.nav ul li.selected a {
	background: rgb(255, 136, 0); color: rgb(255, 255, 255); padding-right: =
3px; padding-left: 3px; text-decoration: none;
}
#main {
	padding: 33px 15px 40px; height: 1%; overflow: hidden; =
border-right-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, =
204); border-right-width: 1px; border-left-width: 1px; =
border-right-style: solid; border-left-style: solid;
}
#content {
	width: 625px; float: left;
}
#content h1 {
	font: 40px/40px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; margin: 0px 0px 0.8em; color: rgb(51, 51, 51); =
font-size-adjust: none; font-stretch: normal;
}
#content h1 span {
	border-bottom-color: rgb(204, 204, 204); border-bottom-width: 3px; =
border-bottom-style: solid;
}
.title {
	font: 12px/20px Verdana, Arial, Helvetica, sans-serif; color: rgb(101, =
102, 105); font-size-adjust: none; font-stretch: normal;
}
.titlehead {
	font: 12px/20px Verdana, Arial, Helvetica, sans-serif; text-decoration: =
underline; font-size-adjust: none; font-stretch: normal;
}
.title a {
	color: rgb(101, 102, 105); text-decoration: underline;
}
.title a:hover {
	text-decoration: none;
}
.article {
	width: 100%;
}
.article h2 {
	font: 50px/50px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; margin: 20px 0px 5px; color: rgb(51, 51, 51); =
font-size-adjust: none; font-stretch: normal;
}
.article-info {
	list-style: none; margin: 15px 0px 0px -9px; padding: 0px 0px 15px; =
width: 100%; overflow: hidden; font-size: 11px;
}
.article-info li {
	background: url("../images/sep-grey.gif") no-repeat 0px 50%; margin: =
0px 1px 0px -1px; padding: 0px 8px 0px 10px; float: left;
}
.article-info li img {
	top: -2px; position: relative;
}
#content {
	font: 14px/1.4em Verdana, Arial, Helvetica, sans-serif; =
font-size-adjust: none; font-stretch: normal;
}
#content p {
	margin: 0px 0px 1.5em;
}
#content em {
	margin: 0px 0px 1.5em;
}
.color {
	color: rgb(51, 51, 51);
}
.article-tools {
	width: 100%; overflow: hidden; position: relative;
}
.article-tools ul {
	list-style: none; margin: 0px; padding: 0px 12px 0px 0px; float: right;
}
.article-tools ul li {
	padding: 0px 12px 0px 0px; float: left;
}
.article-tools ul a {
	background: url("../images/bg-article-tools.gif") no-repeat; width: =
16px; height: 16px; text-indent: -9999px; overflow: hidden; display: =
block;
}
.increase {
	background-position: 0px -17px !important;
}
.share {
	background-position: 0px -34px !important;
}
.print {
	background-position: 0px -51px !important;
}
.archive {
	background-position: 0px -68px !important;
}
.archived {
	background-position: 0px -68px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.send {
	background-position: 0px -85px !important;
}
.pdf {
	background-position: 0px -102px !important;
}
.pdfed {
	background-position: 0px -102px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.recommend {
	background-position: 0px -119px !important;
}
.recommended {
	background-position: 0px -119px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.print:hover {
	background-position: 0px -51px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.archive:hover {
	background-position: 0px -68px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.send:hover {
	background-position: 0px -85px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.pdf:hover {
	background-position: 0px -102px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.recommend:hover {
	background-position: 0px -119px !important; background-image: =
url("../images/bg-article-tools-gray.gif") !important;
}
.article-list {
	background: url("../images/sep-article-list.gif") repeat-y 170px 100%; =
margin: 21px 0px 4em; height: 1%; overflow: hidden; padding-left: 30%; =
position: relative; min-height: 250px;
}
#content .article-list p.summary {
	font: italic bold 13px/normal Verdana, Arial, Helvetica, sans-serif; =
margin: 0px 0px 1em; left: 0px; width: 165px; color: rgb(51, 51, 51); =
position: absolute; font-size-adjust: none; font-stretch: normal;
}
#content .article-list p.summary img {
	margin: 0px 0px 1em; display: block;
}
#content .article-list img {
	width: auto; margin-right: 1.5em; margin-bottom: 1.5em; float: left;
}
#content .article-list .photo {
	margin: 0px; left: 0em; width: 165px; line-height: 14px; font-size: =
12px; position: absolute;
}
#content .photo p {
	line-height: 14px; font-size: 12px;
}
#content .article-list :first-child.photo {
	margin-bottom: 1em;
}
#content .article-list .photo img {
	margin-bottom: 1em; float: none; display: block;
}
#content .article-list .photo .article_description {
	margin: 0px;
}
#content .article-list .photo .article_description span {
	font-size: 11px;
}
#content .article-list .photo .article_description a {
	font-size: 11px;
}
#content .article-list .photo .article_description strong {
	font-size: 11px;
}
#cinema_acronyms {
	padding: 0px 1em; border: 1px solid rgb(230, 230, 230); margin-top: =
1em; background-color: rgb(248, 248, 248);
}
#cinema_acronyms ul {
	padding-left: 1em;
}
#cinema_acronyms li {
	list-style-type: none;
}
#content p#paid_article_message {
	margin: 0px 24px 25px 0px; padding: 25px; border: 1px solid rgb(230, =
230, 230); text-align: center; color: rgb(51, 51, 51); font-weight: =
bold; background-color: rgb(248, 248, 248);
}
.article-options {
	list-style: none; margin: 0px; padding: 0px; width: 100%; overflow: =
hidden; font-size: 12px;
}
.article-options li {
	padding: 0px 0px 0px 20px; float: left;
}
.article-options a {
	background: url("../images/bg-article-tools.gif") no-repeat; padding: =
1px 0px 0px 21px;
}
.section-education .education-header {
	font: 50px/50px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; margin: 20px 0px 0px; color: rgb(51, 51, 51); =
font-size-adjust: none; font-stretch: normal;
}
#sidebar {
	padding: 7px 0px 0px; width: 300px; float: right;
}
.side-info {
	background: rgb(248, 248, 248); border: 1px solid rgb(230, 230, 230); =
height: 1%; overflow: hidden;
}
.side-info .holder {
	background: url("../images/divider-grey.gif") repeat-x 0px 100%; =
margin: 2px 0px -2px; padding: 12px 6px 7px 13px; height: 1%; overflow: =
hidden;
}
.search .row {
	width: 100%; overflow: hidden;
}
.search .text {
	background: rgb(255, 255, 255); margin: 0px 8px 0px 0px; padding: 4px =
7px; border: 1px solid rgb(227, 227, 227); width: 80%; font-style: =
italic; float: left;
}
.search .submit {
	background: url("../images/btn-search.gif") no-repeat; border: =
currentColor; width: 27px; height: 25px; line-height: 0; text-indent: =
-9999px; overflow: hidden; float: left; cursor: pointer;
}
.search ul {
	list-style: none; margin: 10px 0px -6px; padding: 0px; width: 100%; =
overflow: hidden; position: relative;
}
.search ul li {
	margin: 0px 8px 0px 0px; float: left;
}
.search ul input {
	margin: 1px 3px 0px 0px; padding: 0px; width: 15px; height: 14px; =
float: left;
}
.search ul label {
	float: left;
}
.more {
	font-style: italic; float: right;
}
.side-info h3 {
	font: 11px/normal Verdana, Arial, Helvetica, sans-serif; margin: 0px; =
font-size-adjust: none; font-stretch: normal;
}
.tag-cloud {
	list-style: none; margin: 15px 15px 0px 10px; padding: 0px 0px 4px; =
height: 1%; overflow: hidden;
}
.tag-cloud li {
	background: url("../images/bullet-orange.gif") no-repeat 0px 50%; =
margin: 0px 11px 0px -11px; padding: 0px 5px 0px 11px; display: =
inline-block;
}
.tag-cloud li:first-child {
=09
}
* html .tag-cloud li {
	display: inline;
}
* + html .tag-cloud li {
	display: inline;
}
.tag-cloud .weight-high {
	font: bold 18px/normal Verdana, Arial, Helvetica, sans-serif; =
font-size-adjust: none; font-stretch: normal;
}
.tag-cloud .weight-medium {
	font-size: 16px;
}
.tag-cloud .weight-low {
=09
}
#content p.voice_header {
	margin: 1.5em 0em -0.3em; font-size: 1.2em;
}
.agenda {
	padding: 0px 0px 0px 11px;
}
.agenda h3 {
	background: url("../images/txt-side-headings.gif") no-repeat; margin: =
28px 0px 0px; width: 231px; height: 25px; text-indent: -9999px; =
overflow: hidden;
}
.leido {
	background-position: 0px -26px !important;
}
.recomendado {
	background-position: 0px -52px !important;
}
.observatorio {
	background-position: 0px -78px !important;
}
.cine {
	background-position: 0px -104px !important;
}
.libros {
	background-position: 0px -130px !important;
}
.videojuegos {
	background-position: 0px -156px !important;
}
.hemeroteca h3 {
	background-position: 0px -182px !important;
}
.hemeroteca .headline p {
	line-height: 1.4em; font-size: 12px; font-weight: bold; margin-bottom: =
0.8em;
}
.hemeroteca .description p {
	margin-bottom: 0.8em;
}
.contact_info {
	background-position: 0px -208px !important;
}
.agenda .contact_info_list li {
	margin-top: 0px; background-image: none;
}
.agenda .contact_info_list li.separated {
	margin-top: 1em;
}
.agenda .holder {
	padding: 18px 0px 0px 9px; height: 1%; overflow: hidden;
}
.agenda ul {
	list-style: none; margin: -3px 0px 0px; padding: 0px; font-size: 13px;
}
.agenda ul li {
	background: url("../images/bullet-grey-square.gif") no-repeat 0px 5px; =
margin: 4px 0px 0px; padding: 0px 0px 0px 12px;
}
.agenda ul a {
	color: rgb(101, 102, 105);
}
.agenda img {
	margin: 0px 14px 0px 0px; float: left;
}
.agenda h4 {
	margin: 0px; color: rgb(51, 51, 51); font-size: 14px;
}
.agenda p {
	font: 13px/16px Verdana, Arial, Helvetica, sans-serif; margin: 11px 0px =
0px; font-size-adjust: none; font-stretch: normal;
}
.bullet-list {
	list-style: none; margin: 0px !important; padding: 4px 0px 0px =
!important; height: 1%; overflow: hidden;
}
.bullet-list li {
	background: url("../images/bullet-orange-square.gif") no-repeat 0px 5px =
!important; margin: 5px 0px 0px !important; padding: 0px 0px 0px 12px;
}
.bullet-list a {
	color: rgb(255, 136, 0) !important;
}
.author {
	font: 11px/normal Verdana, Arial, Helvetica, sans-serif; color: =
rgb(102, 102, 102); font-size-adjust: none; font-stretch: normal;
}
.agenda .alt {
	padding: 11px 0px 0px;
}
.agenda h4 {
	margin: 0px 0px 11px;
}
.agenda p {
	margin: 0px;
}
.info {
	margin: 0px -5% 0px 0px; padding: 25px 0px 0px; width: 308px; overflow: =
hidden; position: relative;
}
.info .holder {
	background: rgb(248, 248, 248); margin: 0px 2% 0px 0px; padding: 7px 2% =
12px; border: 1px solid rgb(230, 230, 230); width: 43%; float: left;
}
.info h3 {
	margin: 0px; color: rgb(51, 51, 51); font-size: 14px;
}
.pdf-link {
	background: url("../images/ico-pdf.gif") no-repeat -10px 0px; font: =
22px/22px LeagueGothicRegular, Verdana, Arial, Helvetica, sans-serif; =
margin: 24px 0px 0px 7%; padding: 6px 0px 2px 37%; height: 1%; color: =
rgb(51, 51, 51); display: block; font-size-adjust: none; font-stretch: =
normal;
}
.info .more {
	font: bold 12px/normal Verdana, Arial, Helvetica, sans-serif; margin: =
22px 0px 0px; font-size-adjust: none; font-stretch: normal;
}
.info p {
	margin: 16px 0px 0px; font-size: 11px;
}
.newsletter {
	margin: 0px; padding: 14px 0px 9px 3px; height: 1%; overflow: hidden;
}
.newsletter .text {
	background: rgb(255, 255, 255); font: italic 12px/normal Arial, =
Helvetica, sans-serif; margin: 0px; padding: 4px 7px; border: 1px solid =
rgb(228, 228, 228); width: 60%; float: left; font-size-adjust: none; =
font-stretch: normal;
}
.newsletter .submit {
	background: url("../images/btn-newsletter-submit.gif") no-repeat; =
margin: 0px 5px 0px 0px; border: currentColor; width: 26px; height: =
25px; line-height: 0; text-indent: -9999px; overflow: hidden; float: =
right; display: inline; cursor: pointer;
}
.newsletter fieldset {
	position: relative;
}
.newsletter label {
	left: 0px; top: 0px; padding-top: 4px; padding-left: 8px; position: =
absolute;
}
.info .printed-edition-box .wrap {
	height: auto !important; min-height: 150px; max-height: 150px;
}
.info .newsletter-box .wrap {
	height: auto !important; min-height: 150px; max-height: 150px;
}
div.ads {
	margin: 13px 0px 0px; width: 100%; overflow: hidden;
}
.heading {
	background: url("../images/txt-content-headings.gif") no-repeat; =
margin: 20px 0px 0px; width: 482px; height: 23px; text-indent: -9999px; =
overflow: hidden;
}
.blog {
	margin: 0px -10% 0px 0px; padding: 28px 0px 0px; width: 110%; overflow: =
hidden; position: relative;
}
.blog .col {
	background: rgb(248, 248, 248); margin: 0px 20px 0px 0px; padding: 19px =
9px 9px 21px; border: 1px solid rgb(211, 211, 212); width: 39.2%; float: =
left;
}
.blog h2 {
	background: rgb(255, 136, 0); font: bold 12px/20px Verdana, Arial, =
Helvetica, sans-serif; margin: -29px 0px 0px -22px; padding: 0px 8px; =
height: 20px; color: rgb(255, 255, 255); float: left; display: inline; =
position: relative; font-size-adjust: none; font-stretch: normal;
}
.blog h3 {
	margin: 0px; color: rgb(51, 51, 51); font-size: 13px;
}
.blog h3 a {
	color: rgb(51, 51, 51);
}
#content .blog p {
	font: 12px/16px Verdana, Arial, Helvetica, sans-serif; margin: 7px 6px =
10px 0px; font-size-adjust: none; font-stretch: normal;
}
.blog .author {
	margin: 2px 12px 6px !important; float: right;
}
.blog img {
	margin: 8px 10px 0px 0px; float: left;
}
.multimedia {
	background-position: 0px -24px !important;
}
.section {
	width: 100%; overflow: hidden;
}
.media {
	padding: 24px 0px 0px; width: 100%; overflow: hidden;
}
.player {
	margin: 0px 10px 0px 0px; float: left;
}
.media h3 {
	margin: 0px; color: rgb(51, 51, 51); font-size: 15px; word-spacing: =
-1px;
}
#content .media p {
	font: 13px/18px Verdana, Arial, Helvetica, sans-serif; margin: 13px 0px =
0px; font-size-adjust: none; font-stretch: normal;
}
.media-options {
	list-style: none; margin: 0px; padding: 20px 0px 0px; width: 100%; =
text-align: center; overflow: hidden; clear: both; font-size: 13px;
}
.media-options li {
	background: url("../images/sep-orange.gif") no-repeat 0px 50%; padding: =
0px 4px 0px 10px; display: inline;
}
.media-options li:first-child {
=09
}
.section h2 {
	font: 40px/43px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; margin: 0px; color: rgb(51, 51, 51); font-size-adjust: none; =
font-stretch: normal;
}
.section h2 a {
	color: rgb(51, 51, 51);
}
.holder h4 a {
	color: rgb(51, 51, 51);
}
h3 a {
	color: rgb(51, 51, 51);
}
.section .article-info {
	margin: 6px 0px 0px -9px; padding: 0px 0px 9px; color: rgb(153, 153, =
153); font-size: 10px; position: relative;
}
.section .article-info li {
	background: url("../images/sep-light-grey.gif") no-repeat 0px 50%;
}
.align-left {
	float: left;
}
.align-right {
	float: right;
}
.section .align-left {
	margin: 0px 27px 0px 0px;
}
#content .section p {
	margin: 0px; line-height: 19px;
}
.section .bullet-list {
	padding: 16px 0px 0px !important;
}
.section-columns {
	margin: 28px 0px 0px; padding: 24px 0px 38px; width: 100%; overflow: =
hidden; border-top-color: rgb(246, 246, 246); border-bottom-color: =
rgb(246, 246, 246); border-top-width: 1px; border-bottom-width: 1px; =
border-top-style: solid; border-bottom-style: solid;
}
.section-columns .holder {
	background: url("../images/divider-grey-wide.gif") repeat-y 46.5% 0px; =
margin: 0px -10% 0px 0px; width: 110%;
}
.section-columns .holder::after {
	clear: both; display: block; content: "";
}
.section-columns .col {
	margin: -25px 5.2% -15px 0px; width: 43%; overflow: hidden; float: =
left; position: relative;
}
.section-columns .section h2 {
	font: 33px/37px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; font-size-adjust: none; font-stretch: normal;
}
.section-columns .section {
	background: url("../images/divider-grey-long.gif") no-repeat 50% 0px; =
padding: 10px 0px 20px;
}
.section-columns .article-info {
	margin: 1px 0px 0px -9px; padding: 0px;
}
#content .section-columns .section p {
	font: 13px/18px Verdana, Arial, Helvetica, sans-serif; margin: 18px 0px =
0px; font-size-adjust: none; font-stretch: normal;
}
.section-columns .col :first-child.section {
=09
}
.section-columns .title {
	margin: 0px 0px 5px; color: rgb(153, 153, 153); line-height: 16px; =
display: block;
}
.section-columns img {
	margin: 7px 14px 0px 0px; float: left; display: block;
}
.four-column {
	margin: 10px 0px 0px; padding: 10px 0px 0px; width: 100%; overflow: =
hidden; border-top-color: rgb(242, 242, 242); border-top-width: 1px; =
border-top-style: solid;
}
.four-column .col {
	margin: 10px 1.6% 0px 0px; padding: 0px 2% 0px 0px; width: 21.2%; =
border-right-color: rgb(237, 237, 237); border-right-width: 1px; =
border-right-style: solid; float: left;
}
.four-column h3 {
	background: url("../images/sep-heading.gif") no-repeat 0px 100%; =
margin: 0px; padding: 0px 0px 11px; color: rgb(51, 51, 51); font-size: =
14px;
}
#content .four-column p {
	font: 13px/18px Verdana, Arial, Helvetica, sans-serif; margin: 10px 0px =
0px; font-size-adjust: none; font-stretch: normal;
}
.four-column .ads {
	width: 50%; text-align: center; margin-top: 10px; float: left;
}
.content_form {
	padding: 5px 30px 0px 0px;
}
.content_form h2 {
	font: 40px/40px LeagueGothicRegular, Verdana, Arial, Helvetica, =
sans-serif; margin: 0px 0px 0.8em; color: rgb(51, 51, 51); =
border-bottom-color: rgb(204, 204, 204); border-bottom-width: 3px; =
border-bottom-style: solid; display: inline-block; font-size-adjust: =
none; font-stretch: normal;
}
.content_form h3 {
	font-size: 12px;
}
.content_form h4 {
	font-size: 12px; font-weight: bold;
}
.content_form ul.plain {
	list-style: none; padding-left: 0px; margin-left: 0px;
}
#content .content_form p {
	margin: 18px 0px;
}
.content_form .holder {
	background: rgb(248, 248, 248); padding: 15px 38px 31px 31px; border: =
1px solid rgb(228, 228, 228); height: 1%; overflow: hidden;
}
.content_form .holder .wrapper .widest {
	width: 98%;
}
.type {
	list-style: none; margin: 0px; padding: 10px 0px 0px; width: 100%; =
overflow: hidden;
}
.type li {
	margin: 0px 20px 0px 0px; float: left;
}
.type input {
	margin: 0px 2px 0px 0px; padding: 0px; width: 15px; height: 14px; =
float: left;
}
.type label {
	float: left;
}
.content_form .col {
	padding: 0px 34px 0px 10px; width: 45.8%; float: left;
}
.content_form .text {
	padding: 5px 4px; border: 1px solid rgb(229, 229, 229); width: 98%; =
font-style: italic;
}
.content_form input {
	padding: 5px 4px; border: 1px solid rgb(229, 229, 229); width: 98%; =
font-style: italic;
}
.content_form textarea {
	padding: 5px 4px; border: 1px solid rgb(229, 229, 229); width: 98%; =
font-style: italic;
}
.content_form .alt {
	padding: 0px;
}
.content_form .narrow {
	width: 42.3%;
}
.content_form .reset {
	background: rgb(255, 136, 0); font: bold 11px/normal Verdana, Arial, =
Helvetica, sans-serif; margin: 0px 0px 0px 1em; border: currentColor; =
width: 72px; height: 25px; color: rgb(255, 255, 255); overflow: hidden; =
float: right; cursor: pointer; font-size-adjust: none; font-stretch: =
normal;
}
.content_form .submit {
	background: rgb(255, 136, 0); font: bold 11px/normal Verdana, Arial, =
Helvetica, sans-serif; margin: 0px 0px 0px 1em; border: currentColor; =
width: 72px; height: 25px; color: rgb(255, 255, 255); overflow: hidden; =
float: right; cursor: pointer; font-size-adjust: none; font-stretch: =
normal;
}
.form .submit {
	background: rgb(255, 136, 0); font: bold 11px/normal Verdana, Arial, =
Helvetica, sans-serif; margin: 0px 0px 0px 1em; border: currentColor; =
width: 72px; height: 25px; color: rgb(255, 255, 255); overflow: hidden; =
float: right; cursor: pointer; font-size-adjust: none; font-stretch: =
normal;
}
.content_form .reset {
	background: rgb(153, 153, 153);
}
.form .reset {
	background: rgb(153, 153, 153);
}
.content_form div.infield {
	margin-top: 18px; position: relative;
}
.content_form div.infield label {
	left: 0px; top: 0px; padding-top: 4px; padding-left: 9px; font-size: =
12px; font-style: italic; position: absolute;
}
.formerrorlist {
	padding: 5px 8px; border: 1px solid rgb(204, 0, 0); color: rgb(204, 0, =
0); margin-bottom: 12px;
}
.errorlist {
	padding: 5px 8px; border: 1px solid rgb(204, 0, 0); color: rgb(204, 0, =
0); margin-bottom: 12px;
}
.errorlist {
	border-width: 0px; padding: 3px 0px 0px; color: rgb(204, 0, 0); =
font-size: 11px; margin-bottom: 0px;
}
.pagination {
	margin: 0px auto; clear: both; font-size: 12px; float: right;
}
.pagination .pagination_links {
	margin-right: 20px; float: right;
}
.pagination a {
	margin: 0px 2px; padding: 2px 4px; border: 1px solid rgb(255, 136, 0); =
float: left; display: block;
}
.pagination span {
	margin: 0px 2px; padding: 2px 4px; border: 1px solid rgb(255, 136, 0); =
float: left; display: block;
}
.pagination a:hover {
	background: rgb(255, 136, 0); color: rgb(255, 255, 255); =
text-decoration: none;
}
.pagination .endless_page_current {
	border: currentColor;
}
.pagination .endless_page_current strong {
	font-weight: normal;
}
.pagination span.endless_separator {
	border-color: white;
}
#results_count {
	font-size: 11px;
}
.results {
	margin: 0px 30px 0px 0px; color: rgb(51, 51, 51); float: right;
}
.results-bottom {
	color: rgb(51, 51, 51); float: left;
}
.search-results {
	list-style: none; margin: 30px 28px 0px 0px; padding: 0px 0px 28px;
}
.search-results li {
	padding: 15px 0px; border-bottom-color: rgb(217, 217, 217); =
border-bottom-width: 1px; border-bottom-style: solid;
}
.search-results h2 {
	font: 14px/normal Verdana, Arial, Helvetica, sans-serif; margin: 0px; =
font-size-adjust: none; font-stretch: normal;
}
.search-results .article-info {
	margin: 4px 0px 0px -9px; padding: 0px; color: rgb(153, 153, 153);
}
#content .search-results p {
	font: 13px/16px Verdana, Arial, Helvetica, sans-serif; margin: 6px 0px =
0px; font-size-adjust: none; font-stretch: normal;
}
.search-results .article-info li {
	padding: 0px 8px 0px 10px; border: currentColor;
}
.alt-columns {
	border-bottom-color: currentColor; border-bottom-width: medium; =
border-bottom-style: none;
}
.alt-columns .holder {
	background: url("../images/divider-grey-wide.gif") repeat-y 61.5% 0px;
}
.alt-columns .col-1 {
	width: 59%;
}
.alt-columns .col-2 {
	margin: -15px 0px; width: 25.4%;
}
.alt-columns .col-2 h2 {
	background: url("../images/divider-grey-heading.gif") no-repeat 0px =
100%; font: bold 14px/normal Verdana, Arial, Helvetica, sans-serif; =
padding: 0px 0px 7px; font-size-adjust: none; font-stretch: normal;
}
.alt-columns .col-2 .section {
=09
}
#content .alt-columns .col-2 p {
	margin: 5px 0px 0px;
}
.videoContainer {
	width: 100%;
}
.videoContainer .videoFLV {
	margin: 0px auto; border: 2px solid rgb(204, 204, 204); width: 400px; =
height: 243px; overflow: hidden; visibility: visible; background-color: =
rgb(204, 204, 204);
}
#footer {
	background: rgb(255, 136, 0); padding: 0px 0px 20px; width: 100%; =
color: rgb(255, 255, 255);
}
#footer ul {
	background: rgb(51, 51, 51); list-style: none; margin: 0px; padding: =
0px 0px 0px 2px; height: 1%; overflow: hidden;
}
#footer ul li {
	background: url("../images/sep-white.gif") no-repeat 0px 50%; padding: =
0px 11px 0px 13px; height: 24px; line-height: 24px; float: left;
}
#footer ul li:first-child {
=09
}
#footer a {
	color: rgb(255, 255, 255);
}
#footer p {
	margin: 24px 0px 0px; text-align: center; font-size: 9px;
}
.center_list {
	text-align: center;
}
a.remove {
	background: url("../images/bg-remove.gif") no-repeat; width: 16px; =
height: 16px; text-indent: -9999px; overflow: hidden; margin-left: 1em; =
display: block;
}
span.iconic {
	background: url("../images/bg-remove.gif") no-repeat; width: 16px; =
height: 16px; text-indent: -9999px; overflow: hidden; margin-left: 1em; =
display: block;
}
div.archive {
	float: right;
}
div.archive span {
	font-size: 11px; float: left;
}
div.archive a {
	font-size: 11px; float: left;
}
#advanced_search .buttons {
	margin-top: 24px;
}
#advanced_search ul.holder {
	list-style: none; margin: 0px; padding: 21px;
}
#advanced_search label {
	padding: 9px 0px 9px 6px; height: 12px; line-height: 12px; font-size: =
12px; font-style: italic;
}
#advanced_search li {
	margin: 12px 0px !important;
}
#advanced_search li.autocomplete {
	position: relative;
}
#advanced_search .date_range {
	list-style: none; margin: 0px; padding: 0px;
}
#advanced_search .date_selector {
	font-size: 12px;
}
#advanced_search .date_selector .nav p {
	margin-top: 0px; margin-bottom: 0px;
}
#advanced_search .date_range li {
	display: inline;
}
#advanced_search .date_range label {
	display: inline;
}
#advanced_search .date_range input.date_input {
	width: 150px;
}
#advanced_search .date_range button {
	padding: 0px; border: 0px currentColor; width: 20px; height: 20px; =
text-indent: -9999px; cursor: pointer;
}
#advanced_search .date_range button.clear {
	background-image: url("/media/images/bg-remove-big.gif");
}
#advanced_search .date_range button.date {
	background-image: url("/media/images/bg-datepicker-big.gif");
}
#advanced_search .results_on_deck {
	margin: 0px !important; overflow: hidden;
}
#advanced_search .results_on_deck div {
	margin: 12px 12px 0px 0px; text-transform: uppercase; font-size: 12px; =
float: left;
}
.ac_results ul {
	margin: 0px; padding: 0px; border: 1px solid rgb(229, 229, 229); =
list-style-type: none; background-color: rgb(255, 255, 255);
}
.ac_results li.ac_over {
	color: rgb(255, 255, 255); background-color: rgb(255, 136, 0);
}
#advanced_search .items .remove {
	margin: -2px 0.5em 0px 0px; text-indent: -9999px; float: left; display: =
block;
}
#advanced_search .items span.iconic {
	margin: -2px 0.5em 0px 0px; text-indent: -9999px; float: left; display: =
block;
}
#advanced_search .items div {
	padding: 4px 0px; line-height: 1em;
}
#advanced_search input.smaller {
	width: 90%;
}
#printed-edition {
	list-style: none; margin: 0px 0px 2em; padding: 0px; font-size: 14px;
}
#printed-edition li + li {
	margin-top: 0.6em;
}
#printed-edition li {
	overflow: hidden;
}
#printed-edition li a {
	width: 70%; margin-right: 1%; float: left; display: block;
}
#printed-edition li span.date {
	width: 20%; text-align: right; color: rgb(153, 153, 153); font-size: =
12px; margin-top: 2px; float: right; display: block;
}
.clearfix::after {
	height: 0px; clear: both; font-size: 0px; display: block; visibility: =
hidden; content: " ";
}
* html .clearfix {
	zoom: 1;
}
*:first-child + html .clearfix {
	zoom: 1;
}
.messagebox {
	padding: 0px 0px 33px; overflow: hidden; position: relative;
}
.messagebox .i {
	left: 50%; float: left; position: relative;
}
.messagebox .m {
	left: -50%; position: relative; min-width: 550px;
}
.messagebox li {
	background: url("../images/information.png") no-repeat 4px 5px rgb(189, =
229, 248); margin: 0px 0px 1em; padding: 5px 8px 5px 26px; color: rgb(0, =
82, 155); font-size: 12px; font-weight: normal; list-style-type: none; =
position: relative;
}
.messagebox .m li {
	border: 1px solid rgb(0, 82, 155);
}
.messagebox li.success {
	border-color: rgb(79, 138, 16);
}
.messagebox li.warning {
	border-color: rgb(206, 156, 36);
}
.messagebox li.error {
	border-color: rgb(219, 26, 37);
}
.messagebox .success {
	color: rgb(79, 138, 16); background-image: url("../images/accept.png"); =
background-color: rgb(224, 255, 184);
}
.messagebox .warning {
	color: rgb(159, 96, 0); background-image: url("../images/error.png"); =
background-color: rgb(254, 239, 179);
}
.messagebox .error {
	color: rgb(219, 26, 37); background-image: =
url("../images/exclamation.png"); background-color: rgb(255, 186, 186);
}
#sermepa #confirm_button {
	font: bold 11px/normal Verdana, Arial, Helvetica, sans-serif; width: =
auto; font-size-adjust: none; font-stretch: normal;
}
.button {
	background: rgb(255, 136, 0); font: bold 11px/normal Verdana, Arial, =
Helvetica, sans-serif; margin: 0px 0px 0px 1em; padding: 6px 6px 0px; =
border: 0px currentColor; height: 20px; color: rgb(255, 255, 255); =
overflow: hidden; float: right; display: block; cursor: pointer; =
font-size-adjust: none; font-stretch: normal;
}
.button:hover {
	text-decoration: underline;
}
button.button {
	height: 26px; padding-top: 0px;
}
#cancel_button {
	background: rgb(153, 153, 153);
}
#archive_sample {
	border: 1px solid rgb(214, 214, 214); overflow: hidden; max-width: =
626px;
}
.aviso_importante {
	background: rgb(255, 251, 162) !important; padding: 1em !important; =
border: 1px solid rgb(250, 212, 129) !important; color: rgb(195, 77, 40) =
!important; margin-bottom: 2em !important;
}
.aviso_importante h1 {
	margin: 0px 0px 1em !important;
}
.aviso_importante h2 {
	margin: 0px 0px 1em !important;
}
.aviso_importante h3 {
	margin: 0px 0px 1em !important;
}
.aviso_importante h4 {
	margin: 0px 0px 1em !important;
}
.aviso_importante h5 {
	margin: 0px 0px 1em !important;
}
.aviso_importante h6 {
	margin: 0px 0px 1em !important;
}
.aviso_importante p {
	margin-bottom: 0px !important;
}
.aviso_importante p + p {
	margin: 1em 0px 0px !important;
}

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/css/font-face.css

@font-face {
	font-family: LeagueGothicRegular;
	src: local("LeagueGothicRegular"), =
local("../fonts/league_gothic-webfont."), =
url(../fonts/league_gothic-webfont.woff) format("woff"), =
url(../fonts/league_gothic-webfont.svg#LeagueGothicRegular) =
format("svg"), url(../fonts/league_gothic-webfont.ttf) =
format("truetype");
}

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/js/jquery-1.4.2.js

/*!=0A=
 * jQuery JavaScript Library v1.4.2=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright 2010, John Resig=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * Includes Sizzle.js=0A=
 * http://sizzlejs.com/=0A=
 * Copyright 2010, The Dojo Foundation=0A=
 * Released under the MIT, BSD, and GPL Licenses.=0A=
 *=0A=
 * Date: Sat Feb 13 22:33:48 2010 -0500=0A=
 */=0A=
(function( window, undefined ) {=0A=
=0A=
// Define a local copy of jQuery=0A=
var jQuery =3D function( selector, context ) {=0A=
		// The jQuery object is actually just the init constructor 'enhanced'=0A=
		return new jQuery.fn.init( selector, context );=0A=
	},=0A=
=0A=
	// Map over jQuery in case of overwrite=0A=
	_jQuery =3D window.jQuery,=0A=
=0A=
	// Map over the $ in case of overwrite=0A=
	_$ =3D window.$,=0A=
=0A=
	// Use the correct document accordingly with window argument (sandbox)=0A=
	document =3D window.document,=0A=
=0A=
	// A central reference to the root jQuery(document)=0A=
	rootjQuery,=0A=
=0A=
	// A simple way to check for HTML strings or ID strings=0A=
	// (both of which we optimize for)=0A=
	quickExpr =3D /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,=0A=
=0A=
	// Is it a simple selector=0A=
	isSimple =3D /^.[^:#\[\.,]*$/,=0A=
=0A=
	// Check if a string has a non-whitespace character in it=0A=
	rnotwhite =3D /\S/,=0A=
=0A=
	// Used for trimming whitespace=0A=
	rtrim =3D /^(\s|\u00A0)+|(\s|\u00A0)+$/g,=0A=
=0A=
	// Match a standalone tag=0A=
	rsingleTag =3D /^<(\w+)\s*\/?>(?:<\/\1>)?$/,=0A=
=0A=
	// Keep a UserAgent string for use with jQuery.browser=0A=
	userAgent =3D navigator.userAgent,=0A=
=0A=
	// For matching the engine and version of the browser=0A=
	browserMatch,=0A=
	=0A=
	// Has the ready events already been bound?=0A=
	readyBound =3D false,=0A=
	=0A=
	// The functions to execute on DOM ready=0A=
	readyList =3D [],=0A=
=0A=
	// The ready event handler=0A=
	DOMContentLoaded,=0A=
=0A=
	// Save a reference to some core methods=0A=
	toString =3D Object.prototype.toString,=0A=
	hasOwnProperty =3D Object.prototype.hasOwnProperty,=0A=
	push =3D Array.prototype.push,=0A=
	slice =3D Array.prototype.slice,=0A=
	indexOf =3D Array.prototype.indexOf;=0A=
=0A=
jQuery.fn =3D jQuery.prototype =3D {=0A=
	init: function( selector, context ) {=0A=
		var match, elem, ret, doc;=0A=
=0A=
		// Handle $(""), $(null), or $(undefined)=0A=
		if ( !selector ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle $(DOMElement)=0A=
		if ( selector.nodeType ) {=0A=
			this.context =3D this[0] =3D selector;=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
		=0A=
		// The body element only exists once, optimize finding it=0A=
		if ( selector =3D=3D=3D "body" && !context ) {=0A=
			this.context =3D document;=0A=
			this[0] =3D document.body;=0A=
			this.selector =3D "body";=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle HTML strings=0A=
		if ( typeof selector =3D=3D=3D "string" ) {=0A=
			// Are we dealing with HTML string or an ID?=0A=
			match =3D quickExpr.exec( selector );=0A=
=0A=
			// Verify a match, and that no context was specified for #id=0A=
			if ( match && (match[1] || !context) ) {=0A=
=0A=
				// HANDLE: $(html) -> $(array)=0A=
				if ( match[1] ) {=0A=
					doc =3D (context ? context.ownerDocument || context : document);=0A=
=0A=
					// If a single string is passed in and it's a single tag=0A=
					// just do a createElement and skip the rest=0A=
					ret =3D rsingleTag.exec( selector );=0A=
=0A=
					if ( ret ) {=0A=
						if ( jQuery.isPlainObject( context ) ) {=0A=
							selector =3D [ document.createElement( ret[1] ) ];=0A=
							jQuery.fn.attr.call( selector, context, true );=0A=
=0A=
						} else {=0A=
							selector =3D [ doc.createElement( ret[1] ) ];=0A=
						}=0A=
=0A=
					} else {=0A=
						ret =3D buildFragment( [ match[1] ], [ doc ] );=0A=
						selector =3D (ret.cacheable ? ret.fragment.cloneNode(true) : =
ret.fragment).childNodes;=0A=
					}=0A=
					=0A=
					return jQuery.merge( this, selector );=0A=
					=0A=
				// HANDLE: $("#id")=0A=
				} else {=0A=
					elem =3D document.getElementById( match[2] );=0A=
=0A=
					if ( elem ) {=0A=
						// Handle the case where IE and Opera return items=0A=
						// by name instead of ID=0A=
						if ( elem.id !=3D=3D match[2] ) {=0A=
							return rootjQuery.find( selector );=0A=
						}=0A=
=0A=
						// Otherwise, we inject the element directly into the jQuery object=0A=
						this.length =3D 1;=0A=
						this[0] =3D elem;=0A=
					}=0A=
=0A=
					this.context =3D document;=0A=
					this.selector =3D selector;=0A=
					return this;=0A=
				}=0A=
=0A=
			// HANDLE: $("TAG")=0A=
			} else if ( !context && /^\w+$/.test( selector ) ) {=0A=
				this.selector =3D selector;=0A=
				this.context =3D document;=0A=
				selector =3D document.getElementsByTagName( selector );=0A=
				return jQuery.merge( this, selector );=0A=
=0A=
			// HANDLE: $(expr, $(...))=0A=
			} else if ( !context || context.jquery ) {=0A=
				return (context || rootjQuery).find( selector );=0A=
=0A=
			// HANDLE: $(expr, context)=0A=
			// (which is just equivalent to: $(context).find(expr)=0A=
			} else {=0A=
				return jQuery( context ).find( selector );=0A=
			}=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) ) {=0A=
			return rootjQuery.ready( selector );=0A=
		}=0A=
=0A=
		if (selector.selector !=3D=3D undefined) {=0A=
			this.selector =3D selector.selector;=0A=
			this.context =3D selector.context;=0A=
		}=0A=
=0A=
		return jQuery.makeArray( selector, this );=0A=
	},=0A=
=0A=
	// Start with an empty selector=0A=
	selector: "",=0A=
=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.4.2",=0A=
=0A=
	// The default length of a jQuery object is 0=0A=
	length: 0,=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=0A=
=0A=
	toArray: function() {=0A=
		return slice.call( this, 0 );=0A=
	},=0A=
=0A=
	// Get the Nth element in the matched element set OR=0A=
	// Get the whole matched element set as a clean array=0A=
	get: function( num ) {=0A=
		return num =3D=3D null ?=0A=
=0A=
			// Return a 'clean' array=0A=
			this.toArray() :=0A=
=0A=
			// Return just the object=0A=
			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );=0A=
	},=0A=
=0A=
	// Take an array of elements and push it onto the stack=0A=
	// (returning the new matched element set)=0A=
	pushStack: function( elems, name, selector ) {=0A=
		// Build a new jQuery matched element set=0A=
		var ret =3D jQuery();=0A=
=0A=
		if ( jQuery.isArray( elems ) ) {=0A=
			push.apply( ret, elems );=0A=
		=0A=
		} else {=0A=
			jQuery.merge( ret, elems );=0A=
		}=0A=
=0A=
		// Add the old object onto the stack (as a reference)=0A=
		ret.prevObject =3D this;=0A=
=0A=
		ret.context =3D this.context;=0A=
=0A=
		if ( name =3D=3D=3D "find" ) {=0A=
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;=0A=
		} else if ( name ) {=0A=
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";=0A=
		}=0A=
=0A=
		// Return the newly-formed element set=0A=
		return ret;=0A=
	},=0A=
=0A=
	// Execute a callback for every element in the matched set.=0A=
	// (You can seed the arguments with an array of args, but this is=0A=
	// only used internally.)=0A=
	each: function( callback, args ) {=0A=
		return jQuery.each( this, callback, args );=0A=
	},=0A=
	=0A=
	ready: function( fn ) {=0A=
		// Attach the listeners=0A=
		jQuery.bindReady();=0A=
=0A=
		// If the DOM is already ready=0A=
		if ( jQuery.isReady ) {=0A=
			// Execute the function immediately=0A=
			fn.call( document, jQuery );=0A=
=0A=
		// Otherwise, remember the function for later=0A=
		} else if ( readyList ) {=0A=
			// Add the function to the wait list=0A=
			readyList.push( fn );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	eq: function( i ) {=0A=
		return i =3D=3D=3D -1 ?=0A=
			this.slice( i ) :=0A=
			this.slice( i, +i + 1 );=0A=
	},=0A=
=0A=
	first: function() {=0A=
		return this.eq( 0 );=0A=
	},=0A=
=0A=
	last: function() {=0A=
		return this.eq( -1 );=0A=
	},=0A=
=0A=
	slice: function() {=0A=
		return this.pushStack( slice.apply( this, arguments ),=0A=
			"slice", slice.call(arguments).join(",") );=0A=
	},=0A=
=0A=
	map: function( callback ) {=0A=
		return this.pushStack( jQuery.map(this, function( elem, i ) {=0A=
			return callback.call( elem, i, elem );=0A=
		}));=0A=
	},=0A=
	=0A=
	end: function() {=0A=
		return this.prevObject || jQuery(null);=0A=
	},=0A=
=0A=
	// For internal use only.=0A=
	// Behaves like an Array's method, not like a jQuery method.=0A=
	push: push,=0A=
	sort: [].sort,=0A=
	splice: [].splice=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.fn.init.prototype =3D jQuery.fn;=0A=
=0A=
jQuery.extend =3D jQuery.fn.extend =3D function() {=0A=
	// copy reference to target object=0A=
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options, name, src, copy;=0A=
=0A=
	// Handle a deep copy situation=0A=
	if ( typeof target =3D=3D=3D "boolean" ) {=0A=
		deep =3D target;=0A=
		target =3D arguments[1] || {};=0A=
		// skip the boolean and the target=0A=
		i =3D 2;=0A=
	}=0A=
=0A=
	// Handle case when target is a string or something (possible in deep =
copy)=0A=
	if ( typeof target !=3D=3D "object" && !jQuery.isFunction(target) ) {=0A=
		target =3D {};=0A=
	}=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D=3D i ) {=0A=
		target =3D this;=0A=
		--i;=0A=
	}=0A=
=0A=
	for ( ; i < length; i++ ) {=0A=
		// Only deal with non-null/undefined values=0A=
		if ( (options =3D arguments[ i ]) !=3D null ) {=0A=
			// Extend the base object=0A=
			for ( name in options ) {=0A=
				src =3D target[ name ];=0A=
				copy =3D options[ name ];=0A=
=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D copy ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				// Recurse if we're merging object literal values or arrays=0A=
				if ( deep && copy && ( jQuery.isPlainObject(copy) || =
jQuery.isArray(copy) ) ) {=0A=
					var clone =3D src && ( jQuery.isPlainObject(src) || =
jQuery.isArray(src) ) ? src=0A=
						: jQuery.isArray(copy) ? [] : {};=0A=
=0A=
					// Never move original objects, clone them=0A=
					target[ name ] =3D jQuery.extend( deep, clone, copy );=0A=
=0A=
				// Don't bring in undefined values=0A=
				} else if ( copy !=3D=3D undefined ) {=0A=
					target[ name ] =3D copy;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	noConflict: function( deep ) {=0A=
		window.$ =3D _$;=0A=
=0A=
		if ( deep ) {=0A=
			window.jQuery =3D _jQuery;=0A=
		}=0A=
=0A=
		return jQuery;=0A=
	},=0A=
	=0A=
	// Is the DOM ready to be used? Set to true once it occurs.=0A=
	isReady: false,=0A=
	=0A=
	// Handle when the DOM is ready=0A=
	ready: function() {=0A=
		// Make sure that the DOM is not already loaded=0A=
		if ( !jQuery.isReady ) {=0A=
			// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
			if ( !document.body ) {=0A=
				return setTimeout( jQuery.ready, 13 );=0A=
			}=0A=
=0A=
			// Remember that the DOM is ready=0A=
			jQuery.isReady =3D true;=0A=
=0A=
			// If there are functions bound, to execute=0A=
			if ( readyList ) {=0A=
				// Execute all of them=0A=
				var fn, i =3D 0;=0A=
				while ( (fn =3D readyList[ i++ ]) ) {=0A=
					fn.call( document, jQuery );=0A=
				}=0A=
=0A=
				// Reset the list of functions=0A=
				readyList =3D null;=0A=
			}=0A=
=0A=
			// Trigger any bound ready events=0A=
			if ( jQuery.fn.triggerHandler ) {=0A=
				jQuery( document ).triggerHandler( "ready" );=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	bindReady: function() {=0A=
		if ( readyBound ) {=0A=
			return;=0A=
		}=0A=
=0A=
		readyBound =3D true;=0A=
=0A=
		// Catch cases where $(document).ready() is called after the=0A=
		// browser event has already occurred.=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			return jQuery.ready();=0A=
		}=0A=
=0A=
		// Mozilla, Opera and webkit nightlies currently support this event=0A=
		if ( document.addEventListener ) {=0A=
			// Use the handy event callback=0A=
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.addEventListener( "load", jQuery.ready, false );=0A=
=0A=
		// If IE event model is used=0A=
		} else if ( document.attachEvent ) {=0A=
			// ensure firing before onload,=0A=
			// maybe late but safe also for iframes=0A=
			document.attachEvent("onreadystatechange", DOMContentLoaded);=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.attachEvent( "onload", jQuery.ready );=0A=
=0A=
			// If IE and not a frame=0A=
			// continually check to see if the document is ready=0A=
			var toplevel =3D false;=0A=
=0A=
			try {=0A=
				toplevel =3D window.frameElement =3D=3D null;=0A=
			} catch(e) {}=0A=
=0A=
			if ( document.documentElement.doScroll && toplevel ) {=0A=
				doScrollCheck();=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// See test/unit/core.js for details concerning isFunction.=0A=
	// Since version 1.3, DOM methods and functions like alert=0A=
	// aren't supported. They return false on IE (#2968).=0A=
	isFunction: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Function]";=0A=
	},=0A=
=0A=
	isArray: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Array]";=0A=
	},=0A=
=0A=
	isPlainObject: function( obj ) {=0A=
		// Must be an Object.=0A=
		// Because of IE, we also have to check the presence of the =
constructor property.=0A=
		// Make sure that DOM nodes and window objects don't pass through, as =
well=0A=
		if ( !obj || toString.call(obj) !=3D=3D "[object Object]" || =
obj.nodeType || obj.setInterval ) {=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Not own constructor property must be Object=0A=
		if ( obj.constructor=0A=
			&& !hasOwnProperty.call(obj, "constructor")=0A=
			&& !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) =
{=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Own properties are enumerated firstly, so to speed up,=0A=
		// if last one is own, then all properties are own.=0A=
	=0A=
		var key;=0A=
		for ( key in obj ) {}=0A=
		=0A=
		return key =3D=3D=3D undefined || hasOwnProperty.call( obj, key );=0A=
	},=0A=
=0A=
	isEmptyObject: function( obj ) {=0A=
		for ( var name in obj ) {=0A=
			return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	error: function( msg ) {=0A=
		throw msg;=0A=
	},=0A=
	=0A=
	parseJSON: function( data ) {=0A=
		if ( typeof data !=3D=3D "string" || !data ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		// Make sure leading/trailing whitespace is removed (IE can't handle =
it)=0A=
		data =3D jQuery.trim( data );=0A=
		=0A=
		// Make sure the incoming data is actual JSON=0A=
		// Logic borrowed from http://json.org/json2.js=0A=
		if ( =
/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, =
"@")=0A=
			=
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?=
/g, "]")=0A=
			.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {=0A=
=0A=
			// Try to use the native JSON parser first=0A=
			return window.JSON && window.JSON.parse ?=0A=
				window.JSON.parse( data ) :=0A=
				(new Function("return " + data))();=0A=
=0A=
		} else {=0A=
			jQuery.error( "Invalid JSON: " + data );=0A=
		}=0A=
	},=0A=
=0A=
	noop: function() {},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		if ( data && rnotwhite.test(data) ) {=0A=
			// Inspired by code by Andrea Giammarchi=0A=
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,=0A=
				script =3D document.createElement("script");=0A=
=0A=
			script.type =3D "text/javascript";=0A=
=0A=
			if ( jQuery.support.scriptEval ) {=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
			} else {=0A=
				script.text =3D data;=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709).=0A=
			head.insertBefore( script, head.firstChild );=0A=
			head.removeChild( script );=0A=
		}=0A=
	},=0A=
=0A=
	nodeName: function( elem, name ) {=0A=
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D=3D =
name.toUpperCase();=0A=
	},=0A=
=0A=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		var name, i =3D 0,=0A=
			length =3D object.length,=0A=
			isObj =3D length =3D=3D=3D undefined || jQuery.isFunction(object);=0A=
=0A=
		if ( args ) {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( ; i < length; ) {=0A=
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
		// A special, fast, case for the most common use of each=0A=
		} else {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var value =3D object[0];=0A=
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ) {}=0A=
			}=0A=
		}=0A=
=0A=
		return object;=0A=
	},=0A=
=0A=
	trim: function( text ) {=0A=
		return (text || "").replace( rtrim, "" );=0A=
	},=0A=
=0A=
	// results is for internal usage only=0A=
	makeArray: function( array, results ) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( array !=3D null ) {=0A=
			// The window, strings (and functions) also have 'length'=0A=
			// The extra typeof function check is to prevent crashes=0A=
			// in Safari 2 (See: #3039)=0A=
			if ( array.length =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || (typeof array !=3D=3D "function" && =
array.setInterval) ) {=0A=
				push.call( ret, array );=0A=
			} else {=0A=
				jQuery.merge( ret, array );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	inArray: function( elem, array ) {=0A=
		if ( array.indexOf ) {=0A=
			return array.indexOf( elem );=0A=
		}=0A=
=0A=
		for ( var i =3D 0, length =3D array.length; i < length; i++ ) {=0A=
			if ( array[ i ] =3D=3D=3D elem ) {=0A=
				return i;=0A=
			}=0A=
		}=0A=
=0A=
		return -1;=0A=
	},=0A=
=0A=
	merge: function( first, second ) {=0A=
		var i =3D first.length, j =3D 0;=0A=
=0A=
		if ( typeof second.length =3D=3D=3D "number" ) {=0A=
			for ( var l =3D second.length; j < l; j++ ) {=0A=
				first[ i++ ] =3D second[ j ];=0A=
			}=0A=
		=0A=
		} else {=0A=
			while ( second[j] !=3D=3D undefined ) {=0A=
				first[ i++ ] =3D second[ j++ ];=0A=
			}=0A=
		}=0A=
=0A=
		first.length =3D i;=0A=
=0A=
		return first;=0A=
	},=0A=
=0A=
	grep: function( elems, callback, inv ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, only saving the items=0A=
		// that pass the validator function=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			if ( !inv !=3D=3D !callback( elems[ i ], i ) ) {=0A=
				ret.push( elems[ i ] );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// arg is for internal usage only=0A=
	map: function( elems, callback, arg ) {=0A=
		var ret =3D [], value;=0A=
=0A=
		// Go through the array, translating each of the items to their=0A=
		// new value (or values).=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			value =3D callback( elems[ i ], i, arg );=0A=
=0A=
			if ( value !=3D null ) {=0A=
				ret[ ret.length ] =3D value;=0A=
			}=0A=
		}=0A=
=0A=
		return ret.concat.apply( [], ret );=0A=
	},=0A=
=0A=
	// A global GUID counter for objects=0A=
	guid: 1,=0A=
=0A=
	proxy: function( fn, proxy, thisObject ) {=0A=
		if ( arguments.length =3D=3D=3D 2 ) {=0A=
			if ( typeof proxy =3D=3D=3D "string" ) {=0A=
				thisObject =3D fn;=0A=
				fn =3D thisObject[ proxy ];=0A=
				proxy =3D undefined;=0A=
=0A=
			} else if ( proxy && !jQuery.isFunction( proxy ) ) {=0A=
				thisObject =3D proxy;=0A=
				proxy =3D undefined;=0A=
			}=0A=
		}=0A=
=0A=
		if ( !proxy && fn ) {=0A=
			proxy =3D function() {=0A=
				return fn.apply( thisObject || this, arguments );=0A=
			};=0A=
		}=0A=
=0A=
		// Set the guid of unique handler to the same of original handler, so =
it can be removed=0A=
		if ( fn ) {=0A=
			proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || jQuery.guid++;=0A=
		}=0A=
=0A=
		// So proxy can be declared as an argument=0A=
		return proxy;=0A=
	},=0A=
=0A=
	// Use of jQuery.browser is frowned upon.=0A=
	// More details: http://docs.jquery.com/Utilities/jQuery.browser=0A=
	uaMatch: function( ua ) {=0A=
		ua =3D ua.toLowerCase();=0A=
=0A=
		var match =3D /(webkit)[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(msie) ([\w.]+)/.exec( ua ) ||=0A=
			!/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua =
) ||=0A=
		  	[];=0A=
=0A=
		return { browser: match[1] || "", version: match[2] || "0" };=0A=
	},=0A=
=0A=
	browser: {}=0A=
});=0A=
=0A=
browserMatch =3D jQuery.uaMatch( userAgent );=0A=
if ( browserMatch.browser ) {=0A=
	jQuery.browser[ browserMatch.browser ] =3D true;=0A=
	jQuery.browser.version =3D browserMatch.version;=0A=
}=0A=
=0A=
// Deprecated, use jQuery.browser.webkit instead=0A=
if ( jQuery.browser.webkit ) {=0A=
	jQuery.browser.safari =3D true;=0A=
}=0A=
=0A=
if ( indexOf ) {=0A=
	jQuery.inArray =3D function( elem, array ) {=0A=
		return indexOf.call( array, elem );=0A=
	};=0A=
}=0A=
=0A=
// All jQuery objects should point back to these=0A=
rootjQuery =3D jQuery(document);=0A=
=0A=
// Cleanup functions for the document ready method=0A=
if ( document.addEventListener ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
		jQuery.ready();=0A=
	};=0A=
=0A=
} else if ( document.attachEvent ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			document.detachEvent( "onreadystatechange", DOMContentLoaded );=0A=
			jQuery.ready();=0A=
		}=0A=
	};=0A=
}=0A=
=0A=
// The DOM ready check for Internet Explorer=0A=
function doScrollCheck() {=0A=
	if ( jQuery.isReady ) {=0A=
		return;=0A=
	}=0A=
=0A=
	try {=0A=
		// If IE is used, use the trick by Diego Perini=0A=
		// http://javascript.nwbox.com/IEContentLoaded/=0A=
		document.documentElement.doScroll("left");=0A=
	} catch( error ) {=0A=
		setTimeout( doScrollCheck, 1 );=0A=
		return;=0A=
	}=0A=
=0A=
	// and execute any waiting functions=0A=
	jQuery.ready();=0A=
}=0A=
=0A=
function evalScript( i, elem ) {=0A=
	if ( elem.src ) {=0A=
		jQuery.ajax({=0A=
			url: elem.src,=0A=
			async: false,=0A=
			dataType: "script"=0A=
		});=0A=
	} else {=0A=
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );=0A=
	}=0A=
=0A=
	if ( elem.parentNode ) {=0A=
		elem.parentNode.removeChild( elem );=0A=
	}=0A=
}=0A=
=0A=
// Mutifunctional method to get and set values to a collection=0A=
// The value/s can be optionally by executed if its a function=0A=
function access( elems, key, value, exec, fn, pass ) {=0A=
	var length =3D elems.length;=0A=
	=0A=
	// Setting many attributes=0A=
	if ( typeof key =3D=3D=3D "object" ) {=0A=
		for ( var k in key ) {=0A=
			access( elems, k, key[k], exec, fn, value );=0A=
		}=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Setting one attribute=0A=
	if ( value !=3D=3D undefined ) {=0A=
		// Optionally, function values get executed if exec is true=0A=
		exec =3D !pass && exec && jQuery.isFunction(value);=0A=
		=0A=
		for ( var i =3D 0; i < length; i++ ) {=0A=
			fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key =
) ) : value, pass );=0A=
		}=0A=
		=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Getting an attribute=0A=
	return length ? fn( elems[0], key ) : undefined;=0A=
}=0A=
=0A=
function now() {=0A=
	return (new Date).getTime();=0A=
}=0A=
(function() {=0A=
=0A=
	jQuery.support =3D {};=0A=
=0A=
	var root =3D document.documentElement,=0A=
		script =3D document.createElement("script"),=0A=
		div =3D document.createElement("div"),=0A=
		id =3D "script" + now();=0A=
=0A=
	div.style.display =3D "none";=0A=
	div.innerHTML =3D "   <link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";=0A=
=0A=
	var all =3D div.getElementsByTagName("*"),=0A=
		a =3D div.getElementsByTagName("a")[0];=0A=
=0A=
	// Can't get basic test support=0A=
	if ( !all || !all.length || !a ) {=0A=
		return;=0A=
	}=0A=
=0A=
	jQuery.support =3D {=0A=
		// IE strips leading whitespace when .innerHTML is used=0A=
		leadingWhitespace: div.firstChild.nodeType =3D=3D=3D 3,=0A=
=0A=
		// Make sure that tbody elements aren't automatically inserted=0A=
		// IE will insert them into empty tables=0A=
		tbody: !div.getElementsByTagName("tbody").length,=0A=
=0A=
		// Make sure that link elements get serialized correctly by innerHTML=0A=
		// This requires a wrapper element in IE=0A=
		htmlSerialize: !!div.getElementsByTagName("link").length,=0A=
=0A=
		// Get the style information from getAttribute=0A=
		// (IE uses .cssText insted)=0A=
		style: /red/.test( a.getAttribute("style") ),=0A=
=0A=
		// Make sure that URLs aren't manipulated=0A=
		// (IE normalizes it by default)=0A=
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",=0A=
=0A=
		// Make sure that element opacity exists=0A=
		// (IE uses filter instead)=0A=
		// Use a regex to work around a WebKit issue. See #5145=0A=
		opacity: /^0.55$/.test( a.style.opacity ),=0A=
=0A=
		// Verify style float existence=0A=
		// (IE uses styleFloat instead of cssFloat)=0A=
		cssFloat: !!a.style.cssFloat,=0A=
=0A=
		// Make sure that if no value is specified for a checkbox=0A=
		// that it defaults to "on".=0A=
		// (WebKit defaults to "" instead)=0A=
		checkOn: div.getElementsByTagName("input")[0].value =3D=3D=3D "on",=0A=
=0A=
		// Make sure that a selected-by-default option has a working selected =
property.=0A=
		// (WebKit defaults to false instead of true, IE too, if it's in an =
optgroup)=0A=
		optSelected: document.createElement("select").appendChild( =
document.createElement("option") ).selected,=0A=
=0A=
		parentNode: div.removeChild( div.appendChild( =
document.createElement("div") ) ).parentNode =3D=3D=3D null,=0A=
=0A=
		// Will be defined later=0A=
		deleteExpando: true,=0A=
		checkClone: false,=0A=
		scriptEval: false,=0A=
		noCloneEvent: true,=0A=
		boxModel: null=0A=
	};=0A=
=0A=
	script.type =3D "text/javascript";=0A=
	try {=0A=
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );=0A=
	} catch(e) {}=0A=
=0A=
	root.insertBefore( script, root.firstChild );=0A=
=0A=
	// Make sure that the execution of code works by injecting a script=0A=
	// tag with appendChild/createTextNode=0A=
	// (IE doesn't support this, fails, and uses .text instead)=0A=
	if ( window[ id ] ) {=0A=
		jQuery.support.scriptEval =3D true;=0A=
		delete window[ id ];=0A=
	}=0A=
=0A=
	// Test to see if it's possible to delete an expando from an element=0A=
	// Fails in Internet Explorer=0A=
	try {=0A=
		delete script.test;=0A=
	=0A=
	} catch(e) {=0A=
		jQuery.support.deleteExpando =3D false;=0A=
	}=0A=
=0A=
	root.removeChild( script );=0A=
=0A=
	if ( div.attachEvent && div.fireEvent ) {=0A=
		div.attachEvent("onclick", function click() {=0A=
			// Cloning a node shouldn't copy over any=0A=
			// bound event handlers (IE does this)=0A=
			jQuery.support.noCloneEvent =3D false;=0A=
			div.detachEvent("onclick", click);=0A=
		});=0A=
		div.cloneNode(true).fireEvent("onclick");=0A=
	}=0A=
=0A=
	div =3D document.createElement("div");=0A=
	div.innerHTML =3D "<input type=3D'radio' name=3D'radiotest' =
checked=3D'checked'/>";=0A=
=0A=
	var fragment =3D document.createDocumentFragment();=0A=
	fragment.appendChild( div.firstChild );=0A=
=0A=
	// WebKit doesn't clone checked state correctly in fragments=0A=
	jQuery.support.checkClone =3D =
fragment.cloneNode(true).cloneNode(true).lastChild.checked;=0A=
=0A=
	// Figure out if the W3C box model works as expected=0A=
	// document.body must exist before we can do this=0A=
	jQuery(function() {=0A=
		var div =3D document.createElement("div");=0A=
		div.style.width =3D div.style.paddingLeft =3D "1px";=0A=
=0A=
		document.body.appendChild( div );=0A=
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;=0A=
		document.body.removeChild( div ).style.display =3D 'none';=0A=
=0A=
		div =3D null;=0A=
	});=0A=
=0A=
	// Technique from Juriy Zaytsev=0A=
	// =
http://thinkweb2.com/projects/prototype/detecting-event-support-without-b=
rowser-sniffing/=0A=
	var eventSupported =3D function( eventName ) { =0A=
		var el =3D document.createElement("div"); =0A=
		eventName =3D "on" + eventName; =0A=
=0A=
		var isSupported =3D (eventName in el); =0A=
		if ( !isSupported ) { =0A=
			el.setAttribute(eventName, "return;"); =0A=
			isSupported =3D typeof el[eventName] =3D=3D=3D "function"; =0A=
		} =0A=
		el =3D null; =0A=
=0A=
		return isSupported; =0A=
	};=0A=
	=0A=
	jQuery.support.submitBubbles =3D eventSupported("submit");=0A=
	jQuery.support.changeBubbles =3D eventSupported("change");=0A=
=0A=
	// release memory in IE=0A=
	root =3D script =3D div =3D all =3D a =3D null;=0A=
})();=0A=
=0A=
jQuery.props =3D {=0A=
	"for": "htmlFor",=0A=
	"class": "className",=0A=
	readonly: "readOnly",=0A=
	maxlength: "maxLength",=0A=
	cellspacing: "cellSpacing",=0A=
	rowspan: "rowSpan",=0A=
	colspan: "colSpan",=0A=
	tabindex: "tabIndex",=0A=
	usemap: "useMap",=0A=
	frameborder: "frameBorder"=0A=
};=0A=
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};=0A=
=0A=
jQuery.extend({=0A=
	cache: {},=0A=
	=0A=
	expando:expando,=0A=
=0A=
	// The following elements throw uncatchable exceptions if you=0A=
	// attempt to add expando properties to them.=0A=
	noData: {=0A=
		"embed": true,=0A=
		"object": true,=0A=
		"applet": true=0A=
	},=0A=
=0A=
	data: function( elem, name, data ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache;=0A=
=0A=
		if ( !id && typeof name =3D=3D=3D "string" && data =3D=3D=3D undefined =
) {=0A=
			return null;=0A=
		}=0A=
=0A=
		// Compute a unique ID for the element=0A=
		if ( !id ) { =0A=
			id =3D ++uuid;=0A=
		}=0A=
=0A=
		// Avoid generating a new cache unless none exists and we=0A=
		// want to manipulate it.=0A=
		if ( typeof name =3D=3D=3D "object" ) {=0A=
			elem[ expando ] =3D id;=0A=
			thisCache =3D cache[ id ] =3D jQuery.extend(true, {}, name);=0A=
=0A=
		} else if ( !cache[ id ] ) {=0A=
			elem[ expando ] =3D id;=0A=
			cache[ id ] =3D {};=0A=
		}=0A=
=0A=
		thisCache =3D cache[ id ];=0A=
=0A=
		// Prevent overriding the named cache with undefined values=0A=
		if ( data !=3D=3D undefined ) {=0A=
			thisCache[ name ] =3D data;=0A=
		}=0A=
=0A=
		return typeof name =3D=3D=3D "string" ? thisCache[ name ] : thisCache;=0A=
	},=0A=
=0A=
	removeData: function( elem, name ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache =3D =
cache[ id ];=0A=
=0A=
		// If we want to remove a specific section of the element's data=0A=
		if ( name ) {=0A=
			if ( thisCache ) {=0A=
				// Remove the section of cache data=0A=
				delete thisCache[ name ];=0A=
=0A=
				// If we've removed all the data, remove the element's cache=0A=
				if ( jQuery.isEmptyObject(thisCache) ) {=0A=
					jQuery.removeData( elem );=0A=
				}=0A=
			}=0A=
=0A=
		// Otherwise, we want to remove all of the element's data=0A=
		} else {=0A=
			if ( jQuery.support.deleteExpando ) {=0A=
				delete elem[ jQuery.expando ];=0A=
=0A=
			} else if ( elem.removeAttribute ) {=0A=
				elem.removeAttribute( jQuery.expando );=0A=
			}=0A=
=0A=
			// Completely remove the data cache=0A=
			delete cache[ id ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	data: function( key, value ) {=0A=
		if ( typeof key =3D=3D=3D "undefined" && this.length ) {=0A=
			return jQuery.data( this[0] );=0A=
=0A=
		} else if ( typeof key =3D=3D=3D "object" ) {=0A=
			return this.each(function() {=0A=
				jQuery.data( this, key );=0A=
			});=0A=
		}=0A=
=0A=
		var parts =3D key.split(".");=0A=
		parts[1] =3D parts[1] ? "." + parts[1] : "";=0A=
=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
=0A=
			if ( data =3D=3D=3D undefined && this.length ) {=0A=
				data =3D jQuery.data( this[0], key );=0A=
			}=0A=
			return data =3D=3D=3D undefined && parts[1] ?=0A=
				this.data( parts[0] ) :=0A=
				data;=0A=
		} else {=0A=
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function() {=0A=
				jQuery.data( this, key, value );=0A=
			});=0A=
		}=0A=
	},=0A=
=0A=
	removeData: function( key ) {=0A=
		return this.each(function() {=0A=
			jQuery.removeData( this, key );=0A=
		});=0A=
	}=0A=
});=0A=
jQuery.extend({=0A=
	queue: function( elem, type, data ) {=0A=
		if ( !elem ) {=0A=
			return;=0A=
		}=0A=
=0A=
		type =3D (type || "fx") + "queue";=0A=
		var q =3D jQuery.data( elem, type );=0A=
=0A=
		// Speed up dequeue by getting out quickly if this is just a lookup=0A=
		if ( !data ) {=0A=
			return q || [];=0A=
		}=0A=
=0A=
		if ( !q || jQuery.isArray(data) ) {=0A=
			q =3D jQuery.data( elem, type, jQuery.makeArray(data) );=0A=
=0A=
		} else {=0A=
			q.push( data );=0A=
		}=0A=
=0A=
		return q;=0A=
	},=0A=
=0A=
	dequeue: function( elem, type ) {=0A=
		type =3D type || "fx";=0A=
=0A=
		var queue =3D jQuery.queue( elem, type ), fn =3D queue.shift();=0A=
=0A=
		// If the fx queue is dequeued, always remove the progress sentinel=0A=
		if ( fn =3D=3D=3D "inprogress" ) {=0A=
			fn =3D queue.shift();=0A=
		}=0A=
=0A=
		if ( fn ) {=0A=
			// Add a progress sentinel to prevent the fx queue from being=0A=
			// automatically dequeued=0A=
			if ( type =3D=3D=3D "fx" ) {=0A=
				queue.unshift("inprogress");=0A=
			}=0A=
=0A=
			fn.call(elem, function() {=0A=
				jQuery.dequeue(elem, type);=0A=
			});=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	queue: function( type, data ) {=0A=
		if ( typeof type !=3D=3D "string" ) {=0A=
			data =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( data =3D=3D=3D undefined ) {=0A=
			return jQuery.queue( this[0], type );=0A=
		}=0A=
		return this.each(function( i, elem ) {=0A=
			var queue =3D jQuery.queue( this, type, data );=0A=
=0A=
			if ( type =3D=3D=3D "fx" && queue[0] !=3D=3D "inprogress" ) {=0A=
				jQuery.dequeue( this, type );=0A=
			}=0A=
		});=0A=
	},=0A=
	dequeue: function( type ) {=0A=
		return this.each(function() {=0A=
			jQuery.dequeue( this, type );=0A=
		});=0A=
	},=0A=
=0A=
	// Based off of the plugin by Clint Helfers, with permission.=0A=
	// http://blindsignals.com/index.php/2009/07/jquery-delay/=0A=
	delay: function( time, type ) {=0A=
		time =3D jQuery.fx ? jQuery.fx.speeds[time] || time : time;=0A=
		type =3D type || "fx";=0A=
=0A=
		return this.queue( type, function() {=0A=
			var elem =3D this;=0A=
			setTimeout(function() {=0A=
				jQuery.dequeue( elem, type );=0A=
			}, time );=0A=
		});=0A=
	},=0A=
=0A=
	clearQueue: function( type ) {=0A=
		return this.queue( type || "fx", [] );=0A=
	}=0A=
});=0A=
var rclass =3D /[\n\t]/g,=0A=
	rspace =3D /\s+/,=0A=
	rreturn =3D /\r/g,=0A=
	rspecialurl =3D /href|src|style/,=0A=
	rtype =3D /(button|input)/i,=0A=
	rfocusable =3D /(button|input|object|select|textarea)/i,=0A=
	rclickable =3D /^(a|area)$/i,=0A=
	rradiocheck =3D /radio|checkbox/;=0A=
=0A=
jQuery.fn.extend({=0A=
	attr: function( name, value ) {=0A=
		return access( this, name, value, true, jQuery.attr );=0A=
	},=0A=
=0A=
	removeAttr: function( name, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.attr( this, name, "" );=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.removeAttribute( name );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	addClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.addClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( value && typeof value =3D=3D=3D "string" ) {=0A=
			var classNames =3D (value || "").split( rspace );=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !elem.className ) {=0A=
						elem.className =3D value;=0A=
=0A=
					} else {=0A=
						var className =3D " " + elem.className + " ", setClass =3D =
elem.className;=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {=0A=
								setClass +=3D " " + classNames[c];=0A=
							}=0A=
						}=0A=
						elem.className =3D jQuery.trim( setClass );=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	removeClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.removeClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( (value && typeof value =3D=3D=3D "string") || value =3D=3D=3D =
undefined ) {=0A=
			var classNames =3D (value || "").split(rspace);=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && elem.className ) {=0A=
					if ( value ) {=0A=
						var className =3D (" " + elem.className + " ").replace(rclass, " =
");=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							className =3D className.replace(" " + classNames[c] + " ", " ");=0A=
						}=0A=
						elem.className =3D jQuery.trim( className );=0A=
=0A=
					} else {=0A=
						elem.className =3D "";=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	toggleClass: function( value, stateVal ) {=0A=
		var type =3D typeof value, isBool =3D typeof stateVal =3D=3D=3D =
"boolean";=0A=
=0A=
		if ( jQuery.isFunction( value ) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), =
stateVal );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			if ( type =3D=3D=3D "string" ) {=0A=
				// toggle individual class names=0A=
				var className, i =3D 0, self =3D jQuery(this),=0A=
					state =3D stateVal,=0A=
					classNames =3D value.split( rspace );=0A=
=0A=
				while ( (className =3D classNames[ i++ ]) ) {=0A=
					// check each className given, space seperated list=0A=
					state =3D isBool ? state : !self.hasClass( className );=0A=
					self[ state ? "addClass" : "removeClass" ]( className );=0A=
				}=0A=
=0A=
			} else if ( type =3D=3D=3D "undefined" || type =3D=3D=3D "boolean" ) {=0A=
				if ( this.className ) {=0A=
					// store className if set=0A=
					jQuery.data( this, "__className__", this.className );=0A=
				}=0A=
=0A=
				// toggle whole className=0A=
				this.className =3D this.className || value =3D=3D=3D false ? "" : =
jQuery.data( this, "__className__" ) || "";=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		var className =3D " " + selector + " ";=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( =
className ) > -1 ) {=0A=
				return true;=0A=
			}=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var elem =3D this[0];=0A=
=0A=
			if ( elem ) {=0A=
				if ( jQuery.nodeName( elem, "option" ) ) {=0A=
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;=0A=
				}=0A=
=0A=
				// We need to handle select boxes special=0A=
				if ( jQuery.nodeName( elem, "select" ) ) {=0A=
					var index =3D elem.selectedIndex,=0A=
						values =3D [],=0A=
						options =3D elem.options,=0A=
						one =3D elem.type =3D=3D=3D "select-one";=0A=
=0A=
					// Nothing was selected=0A=
					if ( index < 0 ) {=0A=
						return null;=0A=
					}=0A=
=0A=
					// Loop through all the selected options=0A=
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {=0A=
						var option =3D options[ i ];=0A=
=0A=
						if ( option.selected ) {=0A=
							// Get the specifc value for the option=0A=
							value =3D jQuery(option).val();=0A=
=0A=
							// We don't need an array for one selects=0A=
							if ( one ) {=0A=
								return value;=0A=
							}=0A=
=0A=
							// Multi-Selects return an array=0A=
							values.push( value );=0A=
						}=0A=
					}=0A=
=0A=
					return values;=0A=
				}=0A=
=0A=
				// Handle the case where in Webkit "" is returned instead of "on" if =
a value isn't specified=0A=
				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {=0A=
					return elem.getAttribute("value") =3D=3D=3D null ? "on" : =
elem.value;=0A=
				}=0A=
				=0A=
=0A=
				// Everything else, we just grab the value=0A=
				return (elem.value || "").replace(rreturn, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var isFunction =3D jQuery.isFunction(value);=0A=
=0A=
		return this.each(function(i) {=0A=
			var self =3D jQuery(this), val =3D value;=0A=
=0A=
			if ( this.nodeType !=3D=3D 1 ) {=0A=
				return;=0A=
			}=0A=
=0A=
			if ( isFunction ) {=0A=
				val =3D value.call(this, i, self.val());=0A=
			}=0A=
=0A=
			// Typecast each time if the value is a Function and the appended=0A=
			// value is therefore different each time.=0A=
			if ( typeof val =3D=3D=3D "number" ) {=0A=
				val +=3D "";=0A=
			}=0A=
=0A=
			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {=0A=
				this.checked =3D jQuery.inArray( self.val(), val ) >=3D 0;=0A=
=0A=
			} else if ( jQuery.nodeName( this, "select" ) ) {=0A=
				var values =3D jQuery.makeArray(val);=0A=
=0A=
				jQuery( "option", this ).each(function() {=0A=
					this.selected =3D jQuery.inArray( jQuery(this).val(), values ) >=3D =
0;=0A=
				});=0A=
=0A=
				if ( !values.length ) {=0A=
					this.selectedIndex =3D -1;=0A=
				}=0A=
=0A=
			} else {=0A=
				this.value =3D val;=0A=
			}=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	attrFn: {=0A=
		val: true,=0A=
		css: true,=0A=
		html: true,=0A=
		text: true,=0A=
		data: true,=0A=
		width: true,=0A=
		height: true,=0A=
		offset: true=0A=
	},=0A=
		=0A=
	attr: function( elem, name, value, pass ) {=0A=
		// don't set attributes on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		if ( pass && name in jQuery.attrFn ) {=0A=
			return jQuery(elem)[name](value);=0A=
		}=0A=
=0A=
		var notxml =3D elem.nodeType !=3D=3D 1 || !jQuery.isXMLDoc( elem ),=0A=
			// Whether we are setting (or getting)=0A=
			set =3D value !=3D=3D undefined;=0A=
=0A=
		// Try to normalize/fix the name=0A=
		name =3D notxml && jQuery.props[ name ] || name;=0A=
=0A=
		// Only do all the following if this is a node (faster for style)=0A=
		if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
			// These attributes require special treatment=0A=
			var special =3D rspecialurl.test( name );=0A=
=0A=
			// Safari mis-reports the default selected property of an option=0A=
			// Accessing the parent's selectedIndex property fixes it=0A=
			if ( name =3D=3D=3D "selected" && !jQuery.support.optSelected ) {=0A=
				var parent =3D elem.parentNode;=0A=
				if ( parent ) {=0A=
					parent.selectedIndex;=0A=
	=0A=
					// Make sure that it also works with optgroups, see #5701=0A=
					if ( parent.parentNode ) {=0A=
						parent.parentNode.selectedIndex;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// If applicable, access the attribute via the DOM 0 way=0A=
			if ( name in elem && notxml && !special ) {=0A=
				if ( set ) {=0A=
					// We can't allow the type property to be changed (since it causes =
problems in IE)=0A=
					if ( name =3D=3D=3D "type" && rtype.test( elem.nodeName ) && =
elem.parentNode ) {=0A=
						jQuery.error( "type property can't be changed" );=0A=
					}=0A=
=0A=
					elem[ name ] =3D value;=0A=
				}=0A=
=0A=
				// browsers index elements by id/name on forms, give priority to =
attributes.=0A=
				if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) =
) {=0A=
					return elem.getAttributeNode( name ).nodeValue;=0A=
				}=0A=
=0A=
				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set=0A=
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/=0A=
				if ( name =3D=3D=3D "tabIndex" ) {=0A=
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );=0A=
=0A=
					return attributeNode && attributeNode.specified ?=0A=
						attributeNode.value :=0A=
						rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName =
) && elem.href ?=0A=
							0 :=0A=
							undefined;=0A=
				}=0A=
=0A=
				return elem[ name ];=0A=
			}=0A=
=0A=
			if ( !jQuery.support.style && notxml && name =3D=3D=3D "style" ) {=0A=
				if ( set ) {=0A=
					elem.style.cssText =3D "" + value;=0A=
				}=0A=
=0A=
				return elem.style.cssText;=0A=
			}=0A=
=0A=
			if ( set ) {=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
			}=0A=
=0A=
			var attr =3D !jQuery.support.hrefNormalized && notxml && special ?=0A=
					// Some attributes require a special call on IE=0A=
					elem.getAttribute( name, 2 ) :=0A=
					elem.getAttribute( name );=0A=
=0A=
			// Non-existent attributes return null, we normalize to undefined=0A=
			return attr =3D=3D=3D null ? undefined : attr;=0A=
		}=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
		// Using attr for specific style information is now deprecated. Use =
style instead.=0A=
		return jQuery.style( elem, name, value );=0A=
	}=0A=
});=0A=
var rnamespaces =3D /\.(.*)$/,=0A=
	fcleanup =3D function( nm ) {=0A=
		return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {=0A=
			return "\\" + ch;=0A=
		});=0A=
	};=0A=
=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code originated from=0A=
 * Dean Edwards' addEvent library.=0A=
 */=0A=
jQuery.event =3D {=0A=
=0A=
	// Bind an event to an element=0A=
	// Original by Dean Edwards=0A=
	add: function( elem, types, handler, data ) {=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// For whatever reason, IE has trouble passing the window object=0A=
		// around, causing it to be cloned in the process=0A=
		if ( elem.setInterval && ( elem !=3D=3D window && !elem.frameElement ) =
) {=0A=
			elem =3D window;=0A=
		}=0A=
=0A=
		var handleObjIn, handleObj;=0A=
=0A=
		if ( handler.handler ) {=0A=
			handleObjIn =3D handler;=0A=
			handler =3D handleObjIn.handler;=0A=
		}=0A=
=0A=
		// Make sure that the function being executed has a unique ID=0A=
		if ( !handler.guid ) {=0A=
			handler.guid =3D jQuery.guid++;=0A=
		}=0A=
=0A=
		// Init the element's event structure=0A=
		var elemData =3D jQuery.data( elem );=0A=
=0A=
		// If no elemData is found then we must be trying to bind to one of the=0A=
		// banned noData elements=0A=
		if ( !elemData ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var events =3D elemData.events =3D elemData.events || {},=0A=
			eventHandle =3D elemData.handle, eventHandle;=0A=
=0A=
		if ( !eventHandle ) {=0A=
			elemData.handle =3D eventHandle =3D function() {=0A=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered ?=0A=
					jQuery.event.handle.apply( eventHandle.elem, arguments ) :=0A=
					undefined;=0A=
			};=0A=
		}=0A=
=0A=
		// Add elem as a property of the handle function=0A=
		// This is to prevent a memory leak with non-native events in IE.=0A=
		eventHandle.elem =3D elem;=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).bind("mouseover mouseout", fn);=0A=
		types =3D types.split(" ");=0A=
=0A=
		var type, i =3D 0, namespaces;=0A=
=0A=
		while ( (type =3D types[ i++ ]) ) {=0A=
			handleObj =3D handleObjIn ?=0A=
				jQuery.extend({}, handleObjIn) :=0A=
				{ handler: handler, data: data };=0A=
=0A=
			// Namespaced event handlers=0A=
			if ( type.indexOf(".") > -1 ) {=0A=
				namespaces =3D type.split(".");=0A=
				type =3D namespaces.shift();=0A=
				handleObj.namespace =3D namespaces.slice(0).sort().join(".");=0A=
=0A=
			} else {=0A=
				namespaces =3D [];=0A=
				handleObj.namespace =3D "";=0A=
			}=0A=
=0A=
			handleObj.type =3D type;=0A=
			handleObj.guid =3D handler.guid;=0A=
=0A=
			// Get the current list of functions bound to this event=0A=
			var handlers =3D events[ type ],=0A=
				special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			// Init the event handler queue=0A=
			if ( !handlers ) {=0A=
				handlers =3D events[ type ] =3D [];=0A=
=0A=
				// Check for a special event handler=0A=
				// Only use addEventListener/attachEvent if the special=0A=
				// events handler returns false=0A=
				if ( !special.setup || special.setup.call( elem, data, namespaces, =
eventHandle ) =3D=3D=3D false ) {=0A=
					// Bind the global event handler to the element=0A=
					if ( elem.addEventListener ) {=0A=
						elem.addEventListener( type, eventHandle, false );=0A=
=0A=
					} else if ( elem.attachEvent ) {=0A=
						elem.attachEvent( "on" + type, eventHandle );=0A=
					}=0A=
				}=0A=
			}=0A=
			=0A=
			if ( special.add ) { =0A=
				special.add.call( elem, handleObj ); =0A=
=0A=
				if ( !handleObj.handler.guid ) {=0A=
					handleObj.handler.guid =3D handler.guid;=0A=
				}=0A=
			}=0A=
=0A=
			// Add the function to the element's handler list=0A=
			handlers.push( handleObj );=0A=
=0A=
			// Keep track of which events have been used, for global triggering=0A=
			jQuery.event.global[ type ] =3D true;=0A=
		}=0A=
=0A=
		// Nullify elem to prevent memory leaks in IE=0A=
		elem =3D null;=0A=
	},=0A=
=0A=
	global: {},=0A=
=0A=
	// Detach an event or set of events from an element=0A=
	remove: function( elem, types, handler, pos ) {=0A=
		// don't do events on text and comment nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var ret, type, fn, i =3D 0, all, namespaces, namespace, special, =
eventType, handleObj, origType,=0A=
			elemData =3D jQuery.data( elem ),=0A=
			events =3D elemData && elemData.events;=0A=
=0A=
		if ( !elemData || !events ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// types is actually an event object here=0A=
		if ( types && types.type ) {=0A=
			handler =3D types.handler;=0A=
			types =3D types.type;=0A=
		}=0A=
=0A=
		// Unbind all events for the element=0A=
		if ( !types || typeof types =3D=3D=3D "string" && types.charAt(0) =
=3D=3D=3D "." ) {=0A=
			types =3D types || "";=0A=
=0A=
			for ( type in events ) {=0A=
				jQuery.event.remove( elem, type + types );=0A=
			}=0A=
=0A=
			return;=0A=
		}=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).unbind("mouseover mouseout", fn);=0A=
		types =3D types.split(" ");=0A=
=0A=
		while ( (type =3D types[ i++ ]) ) {=0A=
			origType =3D type;=0A=
			handleObj =3D null;=0A=
			all =3D type.indexOf(".") < 0;=0A=
			namespaces =3D [];=0A=
=0A=
			if ( !all ) {=0A=
				// Namespaced event handlers=0A=
				namespaces =3D type.split(".");=0A=
				type =3D namespaces.shift();=0A=
=0A=
				namespace =3D new RegExp("(^|\\.)" + =0A=
					jQuery.map( namespaces.slice(0).sort(), fcleanup =
).join("\\.(?:.*\\.)?") + "(\\.|$)")=0A=
			}=0A=
=0A=
			eventType =3D events[ type ];=0A=
=0A=
			if ( !eventType ) {=0A=
				continue;=0A=
			}=0A=
=0A=
			if ( !handler ) {=0A=
				for ( var j =3D 0; j < eventType.length; j++ ) {=0A=
					handleObj =3D eventType[ j ];=0A=
=0A=
					if ( all || namespace.test( handleObj.namespace ) ) {=0A=
						jQuery.event.remove( elem, origType, handleObj.handler, j );=0A=
						eventType.splice( j--, 1 );=0A=
					}=0A=
				}=0A=
=0A=
				continue;=0A=
			}=0A=
=0A=
			special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			for ( var j =3D pos || 0; j < eventType.length; j++ ) {=0A=
				handleObj =3D eventType[ j ];=0A=
=0A=
				if ( handler.guid =3D=3D=3D handleObj.guid ) {=0A=
					// remove the given handler for the given type=0A=
					if ( all || namespace.test( handleObj.namespace ) ) {=0A=
						if ( pos =3D=3D null ) {=0A=
							eventType.splice( j--, 1 );=0A=
						}=0A=
=0A=
						if ( special.remove ) {=0A=
							special.remove.call( elem, handleObj );=0A=
						}=0A=
					}=0A=
=0A=
					if ( pos !=3D null ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// remove generic event handler if no more handlers exist=0A=
			if ( eventType.length =3D=3D=3D 0 || pos !=3D null && =
eventType.length =3D=3D=3D 1 ) {=0A=
				if ( !special.teardown || special.teardown.call( elem, namespaces ) =
=3D=3D=3D false ) {=0A=
					removeEvent( elem, type, elemData.handle );=0A=
				}=0A=
=0A=
				ret =3D null;=0A=
				delete events[ type ];=0A=
			}=0A=
		}=0A=
=0A=
		// Remove the expando if it's no longer used=0A=
		if ( jQuery.isEmptyObject( events ) ) {=0A=
			var handle =3D elemData.handle;=0A=
			if ( handle ) {=0A=
				handle.elem =3D null;=0A=
			}=0A=
=0A=
			delete elemData.events;=0A=
			delete elemData.handle;=0A=
=0A=
			if ( jQuery.isEmptyObject( elemData ) ) {=0A=
				jQuery.removeData( elem );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// bubbling is internal=0A=
	trigger: function( event, data, elem /*, bubbling */ ) {=0A=
		// Event object or event type=0A=
		var type =3D event.type || event,=0A=
			bubbling =3D arguments[3];=0A=
=0A=
		if ( !bubbling ) {=0A=
			event =3D typeof event =3D=3D=3D "object" ?=0A=
				// jQuery.Event object=0A=
				event[expando] ? event :=0A=
				// Object literal=0A=
				jQuery.extend( jQuery.Event(type), event ) :=0A=
				// Just the event type (string)=0A=
				jQuery.Event(type);=0A=
=0A=
			if ( type.indexOf("!") >=3D 0 ) {=0A=
				event.type =3D type =3D type.slice(0, -1);=0A=
				event.exclusive =3D true;=0A=
			}=0A=
=0A=
			// Handle a global trigger=0A=
			if ( !elem ) {=0A=
				// Don't bubble custom events when global (to avoid too much =
overhead)=0A=
				event.stopPropagation();=0A=
=0A=
				// Only trigger if we've ever bound an event for it=0A=
				if ( jQuery.event.global[ type ] ) {=0A=
					jQuery.each( jQuery.cache, function() {=0A=
						if ( this.events && this.events[type] ) {=0A=
							jQuery.event.trigger( event, data, this.handle.elem );=0A=
						}=0A=
					});=0A=
				}=0A=
			}=0A=
=0A=
			// Handle triggering a single element=0A=
=0A=
			// don't do events on text and comment nodes=0A=
			if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 =
) {=0A=
				return undefined;=0A=
			}=0A=
=0A=
			// Clean up in case it is reused=0A=
			event.result =3D undefined;=0A=
			event.target =3D elem;=0A=
=0A=
			// Clone the incoming data, if any=0A=
			data =3D jQuery.makeArray( data );=0A=
			data.unshift( event );=0A=
		}=0A=
=0A=
		event.currentTarget =3D elem;=0A=
=0A=
		// Trigger the event, it is assumed that "handle" is a function=0A=
		var handle =3D jQuery.data( elem, "handle" );=0A=
		if ( handle ) {=0A=
			handle.apply( elem, data );=0A=
		}=0A=
=0A=
		var parent =3D elem.parentNode || elem.ownerDocument;=0A=
=0A=
		// Trigger an inline bound script=0A=
		try {=0A=
			if ( !(elem && elem.nodeName && =
jQuery.noData[elem.nodeName.toLowerCase()]) ) {=0A=
				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) =
=3D=3D=3D false ) {=0A=
					event.result =3D false;=0A=
				}=0A=
			}=0A=
=0A=
		// prevent IE from throwing an error for some elements with some event =
types, see #3533=0A=
		} catch (e) {}=0A=
=0A=
		if ( !event.isPropagationStopped() && parent ) {=0A=
			jQuery.event.trigger( event, data, parent, true );=0A=
=0A=
		} else if ( !event.isDefaultPrevented() ) {=0A=
			var target =3D event.target, old,=0A=
				isClick =3D jQuery.nodeName(target, "a") && type =3D=3D=3D "click",=0A=
				special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			if ( (!special._default || special._default.call( elem, event ) =
=3D=3D=3D false) && =0A=
				!isClick && !(target && target.nodeName && =
jQuery.noData[target.nodeName.toLowerCase()]) ) {=0A=
=0A=
				try {=0A=
					if ( target[ type ] ) {=0A=
						// Make sure that we don't accidentally re-trigger the onFOO events=0A=
						old =3D target[ "on" + type ];=0A=
=0A=
						if ( old ) {=0A=
							target[ "on" + type ] =3D null;=0A=
						}=0A=
=0A=
						jQuery.event.triggered =3D true;=0A=
						target[ type ]();=0A=
					}=0A=
=0A=
				// prevent IE from throwing an error for some elements with some =
event types, see #3533=0A=
				} catch (e) {}=0A=
=0A=
				if ( old ) {=0A=
					target[ "on" + type ] =3D old;=0A=
				}=0A=
=0A=
				jQuery.event.triggered =3D false;=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	handle: function( event ) {=0A=
		var all, handlers, namespaces, namespace, events;=0A=
=0A=
		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );=0A=
		event.currentTarget =3D this;=0A=
=0A=
		// Namespaced event handlers=0A=
		all =3D event.type.indexOf(".") < 0 && !event.exclusive;=0A=
=0A=
		if ( !all ) {=0A=
			namespaces =3D event.type.split(".");=0A=
			event.type =3D namespaces.shift();=0A=
			namespace =3D new RegExp("(^|\\.)" + =
namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");=0A=
		}=0A=
=0A=
		var events =3D jQuery.data(this, "events"), handlers =3D events[ =
event.type ];=0A=
=0A=
		if ( events && handlers ) {=0A=
			// Clone the handlers to prevent manipulation=0A=
			handlers =3D handlers.slice(0);=0A=
=0A=
			for ( var j =3D 0, l =3D handlers.length; j < l; j++ ) {=0A=
				var handleObj =3D handlers[ j ];=0A=
=0A=
				// Filter the functions by class=0A=
				if ( all || namespace.test( handleObj.namespace ) ) {=0A=
					// Pass in a reference to the handler function itself=0A=
					// So that we can later remove it=0A=
					event.handler =3D handleObj.handler;=0A=
					event.data =3D handleObj.data;=0A=
					event.handleObj =3D handleObj;=0A=
	=0A=
					var ret =3D handleObj.handler.apply( this, arguments );=0A=
=0A=
					if ( ret !=3D=3D undefined ) {=0A=
						event.result =3D ret;=0A=
						if ( ret =3D=3D=3D false ) {=0A=
							event.preventDefault();=0A=
							event.stopPropagation();=0A=
						}=0A=
					}=0A=
=0A=
					if ( event.isImmediatePropagationStopped() ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return event.result;=0A=
	},=0A=
=0A=
	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode layerX layerY metaKey newValue offsetX offsetY =
originalTarget pageX pageY prevValue relatedNode relatedTarget screenX =
screenY shiftKey srcElement target toElement view wheelDelta =
which".split(" "),=0A=
=0A=
	fix: function( event ) {=0A=
		if ( event[ expando ] ) {=0A=
			return event;=0A=
		}=0A=
=0A=
		// store a copy of the original event object=0A=
		// and "clone" to set read-only properties=0A=
		var originalEvent =3D event;=0A=
		event =3D jQuery.Event( originalEvent );=0A=
=0A=
		for ( var i =3D this.props.length, prop; i; ) {=0A=
			prop =3D this.props[ --i ];=0A=
			event[ prop ] =3D originalEvent[ prop ];=0A=
		}=0A=
=0A=
		// Fix target property, if necessary=0A=
		if ( !event.target ) {=0A=
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either=0A=
		}=0A=
=0A=
		// check if target is a textnode (safari)=0A=
		if ( event.target.nodeType =3D=3D=3D 3 ) {=0A=
			event.target =3D event.target.parentNode;=0A=
		}=0A=
=0A=
		// Add relatedTarget, if necessary=0A=
		if ( !event.relatedTarget && event.fromElement ) {=0A=
			event.relatedTarget =3D event.fromElement =3D=3D=3D event.target ? =
event.toElement : event.fromElement;=0A=
		}=0A=
=0A=
		// Calculate pageX/Y if missing and clientX/Y available=0A=
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {=0A=
			var doc =3D document.documentElement, body =3D document.body;=0A=
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc && doc.clientLeft || body && =
body.clientLeft || 0);=0A=
			event.pageY =3D event.clientY + (doc && doc.scrollTop  || body && =
body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop =
 || 0);=0A=
		}=0A=
=0A=
		// Add which for key events=0A=
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) ) {=0A=
			event.which =3D event.charCode || event.keyCode;=0A=
		}=0A=
=0A=
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)=0A=
		if ( !event.metaKey && event.ctrlKey ) {=0A=
			event.metaKey =3D event.ctrlKey;=0A=
		}=0A=
=0A=
		// Add which for click: 1 =3D=3D=3D left; 2 =3D=3D=3D middle; 3 =
=3D=3D=3D right=0A=
		// Note: button is not normalized, so don't use it=0A=
		if ( !event.which && event.button !=3D=3D undefined ) {=0A=
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));=0A=
		}=0A=
=0A=
		return event;=0A=
	},=0A=
=0A=
	// Deprecated, use jQuery.guid instead=0A=
	guid: 1E8,=0A=
=0A=
	// Deprecated, use jQuery.proxy instead=0A=
	proxy: jQuery.proxy,=0A=
=0A=
	special: {=0A=
		ready: {=0A=
			// Make sure the ready event is setup=0A=
			setup: jQuery.bindReady,=0A=
			teardown: jQuery.noop=0A=
		},=0A=
=0A=
		live: {=0A=
			add: function( handleObj ) {=0A=
				jQuery.event.add( this, handleObj.origType, jQuery.extend({}, =
handleObj, {handler: liveHandler}) ); =0A=
			},=0A=
=0A=
			remove: function( handleObj ) {=0A=
				var remove =3D true,=0A=
					type =3D handleObj.origType.replace(rnamespaces, "");=0A=
				=0A=
				jQuery.each( jQuery.data(this, "events").live || [], function() {=0A=
					if ( type =3D=3D=3D this.origType.replace(rnamespaces, "") ) {=0A=
						remove =3D false;=0A=
						return false;=0A=
					}=0A=
				});=0A=
=0A=
				if ( remove ) {=0A=
					jQuery.event.remove( this, handleObj.origType, liveHandler );=0A=
				}=0A=
			}=0A=
=0A=
		},=0A=
=0A=
		beforeunload: {=0A=
			setup: function( data, namespaces, eventHandle ) {=0A=
				// We only want to do this special case on windows=0A=
				if ( this.setInterval ) {=0A=
					this.onbeforeunload =3D eventHandle;=0A=
				}=0A=
=0A=
				return false;=0A=
			},=0A=
			teardown: function( namespaces, eventHandle ) {=0A=
				if ( this.onbeforeunload =3D=3D=3D eventHandle ) {=0A=
					this.onbeforeunload =3D null;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var removeEvent =3D document.removeEventListener ?=0A=
	function( elem, type, handle ) {=0A=
		elem.removeEventListener( type, handle, false );=0A=
	} : =0A=
	function( elem, type, handle ) {=0A=
		elem.detachEvent( "on" + type, handle );=0A=
	};=0A=
=0A=
jQuery.Event =3D function( src ) {=0A=
	// Allow instantiation without the 'new' keyword=0A=
	if ( !this.preventDefault ) {=0A=
		return new jQuery.Event( src );=0A=
	}=0A=
=0A=
	// Event object=0A=
	if ( src && src.type ) {=0A=
		this.originalEvent =3D src;=0A=
		this.type =3D src.type;=0A=
	// Event type=0A=
	} else {=0A=
		this.type =3D src;=0A=
	}=0A=
=0A=
	// timeStamp is buggy for some events on Firefox(#3843)=0A=
	// So we won't rely on the native value=0A=
	this.timeStamp =3D now();=0A=
=0A=
	// Mark it as fixed=0A=
	this[ expando ] =3D true;=0A=
};=0A=
=0A=
function returnFalse() {=0A=
	return false;=0A=
}=0A=
function returnTrue() {=0A=
	return true;=0A=
}=0A=
=0A=
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding=0A=
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html=0A=
jQuery.Event.prototype =3D {=0A=
	preventDefault: function() {=0A=
		this.isDefaultPrevented =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		=0A=
		// if preventDefault exists run it on the original event=0A=
		if ( e.preventDefault ) {=0A=
			e.preventDefault();=0A=
		}=0A=
		// otherwise set the returnValue property of the original event to =
false (IE)=0A=
		e.returnValue =3D false;=0A=
	},=0A=
	stopPropagation: function() {=0A=
		this.isPropagationStopped =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		// if stopPropagation exists run it on the original event=0A=
		if ( e.stopPropagation ) {=0A=
			e.stopPropagation();=0A=
		}=0A=
		// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
		e.cancelBubble =3D true;=0A=
	},=0A=
	stopImmediatePropagation: function() {=0A=
		this.isImmediatePropagationStopped =3D returnTrue;=0A=
		this.stopPropagation();=0A=
	},=0A=
	isDefaultPrevented: returnFalse,=0A=
	isPropagationStopped: returnFalse,=0A=
	isImmediatePropagationStopped: returnFalse=0A=
};=0A=
=0A=
// Checks if an event happened on an element within another element=0A=
// Used in jQuery.event.special.mouseenter and mouseleave handlers=0A=
var withinElement =3D function( event ) {=0A=
	// Check if mouse(over|out) are still within the same parent element=0A=
	var parent =3D event.relatedTarget;=0A=
=0A=
	// Firefox sometimes assigns relatedTarget a XUL element=0A=
	// which we cannot access the parentNode property of=0A=
	try {=0A=
		// Traverse up the tree=0A=
		while ( parent && parent !=3D=3D this ) {=0A=
			parent =3D parent.parentNode;=0A=
		}=0A=
=0A=
		if ( parent !=3D=3D this ) {=0A=
			// set the correct event type=0A=
			event.type =3D event.data;=0A=
=0A=
			// handle event if we actually just moused on to a non sub-element=0A=
			jQuery.event.handle.apply( this, arguments );=0A=
		}=0A=
=0A=
	// assuming we've left the element since we most likely mousedover a =
xul element=0A=
	} catch(e) { }=0A=
},=0A=
=0A=
// In case of event delegation, we only need to rename the event.type,=0A=
// liveHandler will take care of the rest.=0A=
delegate =3D function( event ) {=0A=
	event.type =3D event.data;=0A=
	jQuery.event.handle.apply( this, arguments );=0A=
};=0A=
=0A=
// Create mouseenter and mouseleave events=0A=
jQuery.each({=0A=
	mouseenter: "mouseover",=0A=
	mouseleave: "mouseout"=0A=
}, function( orig, fix ) {=0A=
	jQuery.event.special[ orig ] =3D {=0A=
		setup: function( data ) {=0A=
			jQuery.event.add( this, fix, data && data.selector ? delegate : =
withinElement, orig );=0A=
		},=0A=
		teardown: function( data ) {=0A=
			jQuery.event.remove( this, fix, data && data.selector ? delegate : =
withinElement );=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
// submit delegation=0A=
if ( !jQuery.support.submitBubbles ) {=0A=
=0A=
	jQuery.event.special.submit =3D {=0A=
		setup: function( data, namespaces ) {=0A=
			if ( this.nodeName.toLowerCase() !=3D=3D "form" ) {=0A=
				jQuery.event.add(this, "click.specialSubmit", function( e ) {=0A=
					var elem =3D e.target, type =3D elem.type;=0A=
=0A=
					if ( (type =3D=3D=3D "submit" || type =3D=3D=3D "image") && jQuery( =
elem ).closest("form").length ) {=0A=
						return trigger( "submit", this, arguments );=0A=
					}=0A=
				});=0A=
	 =0A=
				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {=0A=
					var elem =3D e.target, type =3D elem.type;=0A=
=0A=
					if ( (type =3D=3D=3D "text" || type =3D=3D=3D "password") && =
jQuery( elem ).closest("form").length && e.keyCode =3D=3D=3D 13 ) {=0A=
						return trigger( "submit", this, arguments );=0A=
					}=0A=
				});=0A=
=0A=
			} else {=0A=
				return false;=0A=
			}=0A=
		},=0A=
=0A=
		teardown: function( namespaces ) {=0A=
			jQuery.event.remove( this, ".specialSubmit" );=0A=
		}=0A=
	};=0A=
=0A=
}=0A=
=0A=
// change delegation, happens here so we have bind.=0A=
if ( !jQuery.support.changeBubbles ) {=0A=
=0A=
	var formElems =3D /textarea|input|select/i,=0A=
=0A=
	changeFilters,=0A=
=0A=
	getVal =3D function( elem ) {=0A=
		var type =3D elem.type, val =3D elem.value;=0A=
=0A=
		if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" ) {=0A=
			val =3D elem.checked;=0A=
=0A=
		} else if ( type =3D=3D=3D "select-multiple" ) {=0A=
			val =3D elem.selectedIndex > -1 ?=0A=
				jQuery.map( elem.options, function( elem ) {=0A=
					return elem.selected;=0A=
				}).join("-") :=0A=
				"";=0A=
=0A=
		} else if ( elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
			val =3D elem.selectedIndex;=0A=
		}=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	testChange =3D function testChange( e ) {=0A=
		var elem =3D e.target, data, val;=0A=
=0A=
		if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {=0A=
			return;=0A=
		}=0A=
=0A=
		data =3D jQuery.data( elem, "_change_data" );=0A=
		val =3D getVal(elem);=0A=
=0A=
		// the current data will be also retrieved by beforeactivate=0A=
		if ( e.type !=3D=3D "focusout" || elem.type !=3D=3D "radio" ) {=0A=
			jQuery.data( elem, "_change_data", val );=0A=
		}=0A=
		=0A=
		if ( data =3D=3D=3D undefined || val =3D=3D=3D data ) {=0A=
			return;=0A=
		}=0A=
=0A=
		if ( data !=3D null || val ) {=0A=
			e.type =3D "change";=0A=
			return jQuery.event.trigger( e, arguments[1], elem );=0A=
		}=0A=
	};=0A=
=0A=
	jQuery.event.special.change =3D {=0A=
		filters: {=0A=
			focusout: testChange, =0A=
=0A=
			click: function( e ) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" || =
elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
					return testChange.call( this, e );=0A=
				}=0A=
			},=0A=
=0A=
			// Change has to be called before submit=0A=
			// Keydown will be called before keypress, which is used in =
submit-event delegation=0A=
			keydown: function( e ) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( (e.keyCode =3D=3D=3D 13 && elem.nodeName.toLowerCase() !=3D=3D =
"textarea") ||=0A=
					(e.keyCode =3D=3D=3D 32 && (type =3D=3D=3D "checkbox" || type =
=3D=3D=3D "radio")) ||=0A=
					type =3D=3D=3D "select-multiple" ) {=0A=
					return testChange.call( this, e );=0A=
				}=0A=
			},=0A=
=0A=
			// Beforeactivate happens also before the previous element is blurred=0A=
			// with this event you can't trigger a change event, but you can store=0A=
			// information/focus[in] is not needed anymore=0A=
			beforeactivate: function( e ) {=0A=
				var elem =3D e.target;=0A=
				jQuery.data( elem, "_change_data", getVal(elem) );=0A=
			}=0A=
		},=0A=
=0A=
		setup: function( data, namespaces ) {=0A=
			if ( this.type =3D=3D=3D "file" ) {=0A=
				return false;=0A=
			}=0A=
=0A=
			for ( var type in changeFilters ) {=0A=
				jQuery.event.add( this, type + ".specialChange", changeFilters[type] =
);=0A=
			}=0A=
=0A=
			return formElems.test( this.nodeName );=0A=
		},=0A=
=0A=
		teardown: function( namespaces ) {=0A=
			jQuery.event.remove( this, ".specialChange" );=0A=
=0A=
			return formElems.test( this.nodeName );=0A=
		}=0A=
	};=0A=
=0A=
	changeFilters =3D jQuery.event.special.change.filters;=0A=
}=0A=
=0A=
function trigger( type, elem, args ) {=0A=
	args[0].type =3D type;=0A=
	return jQuery.event.handle.apply( elem, args );=0A=
}=0A=
=0A=
// Create "bubbling" focus and blur events=0A=
if ( document.addEventListener ) {=0A=
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix =
) {=0A=
		jQuery.event.special[ fix ] =3D {=0A=
			setup: function() {=0A=
				this.addEventListener( orig, handler, true );=0A=
			}, =0A=
			teardown: function() { =0A=
				this.removeEventListener( orig, handler, true );=0A=
			}=0A=
		};=0A=
=0A=
		function handler( e ) { =0A=
			e =3D jQuery.event.fix( e );=0A=
			e.type =3D fix;=0A=
			return jQuery.event.handle.call( this, e );=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
jQuery.each(["bind", "one"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( type, data, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" ) {=0A=
			for ( var key in type ) {=0A=
				this[ name ](key, data, type[key], fn);=0A=
			}=0A=
			return this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		var handler =3D name =3D=3D=3D "one" ? jQuery.proxy( fn, function( =
event ) {=0A=
			jQuery( this ).unbind( event, handler );=0A=
			return fn.apply( this, arguments );=0A=
		}) : fn;=0A=
=0A=
		if ( type =3D=3D=3D "unload" && name !=3D=3D "one" ) {=0A=
			this.one( type, data, fn );=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				jQuery.event.add( this[i], type, handler, data );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	};=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	unbind: function( type, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" && !type.preventDefault ) {=0A=
			for ( var key in type ) {=0A=
				this.unbind(key, type[key]);=0A=
			}=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				jQuery.event.remove( this[i], type, fn );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	delegate: function( selector, types, data, fn ) {=0A=
		return this.live( types, data, fn, selector );=0A=
	},=0A=
	=0A=
	undelegate: function( selector, types, fn ) {=0A=
		if ( arguments.length =3D=3D=3D 0 ) {=0A=
				return this.unbind( "live" );=0A=
		=0A=
		} else {=0A=
			return this.die( types, null, fn, selector );=0A=
		}=0A=
	},=0A=
	=0A=
	trigger: function( type, data ) {=0A=
		return this.each(function() {=0A=
			jQuery.event.trigger( type, data, this );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data ) {=0A=
		if ( this[0] ) {=0A=
			var event =3D jQuery.Event( type );=0A=
			event.preventDefault();=0A=
			event.stopPropagation();=0A=
			jQuery.event.trigger( event, data, this[0] );=0A=
			return event.result;=0A=
		}=0A=
	},=0A=
=0A=
	toggle: function( fn ) {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments, i =3D 1;=0A=
=0A=
		// link all the functions, so any of them can unbind this click handler=0A=
		while ( i < args.length ) {=0A=
			jQuery.proxy( fn, args[ i++ ] );=0A=
		}=0A=
=0A=
		return this.click( jQuery.proxy( fn, function( event ) {=0A=
			// Figure out which function to execute=0A=
			var lastToggle =3D ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 =
) % i;=0A=
			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );=0A=
=0A=
			// Make sure that clicks stop=0A=
			event.preventDefault();=0A=
=0A=
			// and execute the function=0A=
			return args[ lastToggle ].apply( this, arguments ) || false;=0A=
		}));=0A=
	},=0A=
=0A=
	hover: function( fnOver, fnOut ) {=0A=
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );=0A=
	}=0A=
});=0A=
=0A=
var liveMap =3D {=0A=
	focus: "focusin",=0A=
	blur: "focusout",=0A=
	mouseenter: "mouseover",=0A=
	mouseleave: "mouseout"=0A=
};=0A=
=0A=
jQuery.each(["live", "die"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( types, data, fn, origSelector /* =
Internal Use Only */ ) {=0A=
		var type, i =3D 0, match, namespaces, preType,=0A=
			selector =3D origSelector || this.selector,=0A=
			context =3D origSelector ? this : jQuery( this.context );=0A=
=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		types =3D (types || "").split(" ");=0A=
=0A=
		while ( (type =3D types[ i++ ]) !=3D null ) {=0A=
			match =3D rnamespaces.exec( type );=0A=
			namespaces =3D "";=0A=
=0A=
			if ( match )  {=0A=
				namespaces =3D match[0];=0A=
				type =3D type.replace( rnamespaces, "" );=0A=
			}=0A=
=0A=
			if ( type =3D=3D=3D "hover" ) {=0A=
				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );=0A=
				continue;=0A=
			}=0A=
=0A=
			preType =3D type;=0A=
=0A=
			if ( type =3D=3D=3D "focus" || type =3D=3D=3D "blur" ) {=0A=
				types.push( liveMap[ type ] + namespaces );=0A=
				type =3D type + namespaces;=0A=
=0A=
			} else {=0A=
				type =3D (liveMap[ type ] || type) + namespaces;=0A=
			}=0A=
=0A=
			if ( name =3D=3D=3D "live" ) {=0A=
				// bind live handler=0A=
				context.each(function(){=0A=
					jQuery.event.add( this, liveConvert( type, selector ),=0A=
						{ data: data, selector: selector, handler: fn, origType: type, =
origHandler: fn, preType: preType } );=0A=
				});=0A=
=0A=
			} else {=0A=
				// unbind live handler=0A=
				context.unbind( liveConvert( type, selector ), fn );=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
function liveHandler( event ) {=0A=
	var stop, elems =3D [], selectors =3D [], args =3D arguments,=0A=
		related, match, handleObj, elem, j, i, l, data,=0A=
		events =3D jQuery.data( this, "events" );=0A=
=0A=
	// Make sure we avoid non-left-click bubbling in Firefox (#3861)=0A=
	if ( event.liveFired =3D=3D=3D this || !events || !events.live || =
event.button && event.type =3D=3D=3D "click" ) {=0A=
		return;=0A=
	}=0A=
=0A=
	event.liveFired =3D this;=0A=
=0A=
	var live =3D events.live.slice(0);=0A=
=0A=
	for ( j =3D 0; j < live.length; j++ ) {=0A=
		handleObj =3D live[j];=0A=
=0A=
		if ( handleObj.origType.replace( rnamespaces, "" ) =3D=3D=3D =
event.type ) {=0A=
			selectors.push( handleObj.selector );=0A=
=0A=
		} else {=0A=
			live.splice( j--, 1 );=0A=
		}=0A=
	}=0A=
=0A=
	match =3D jQuery( event.target ).closest( selectors, =
event.currentTarget );=0A=
=0A=
	for ( i =3D 0, l =3D match.length; i < l; i++ ) {=0A=
		for ( j =3D 0; j < live.length; j++ ) {=0A=
			handleObj =3D live[j];=0A=
=0A=
			if ( match[i].selector =3D=3D=3D handleObj.selector ) {=0A=
				elem =3D match[i].elem;=0A=
				related =3D null;=0A=
=0A=
				// Those two events require additional checking=0A=
				if ( handleObj.preType =3D=3D=3D "mouseenter" || handleObj.preType =
=3D=3D=3D "mouseleave" ) {=0A=
					related =3D jQuery( event.relatedTarget ).closest( =
handleObj.selector )[0];=0A=
				}=0A=
=0A=
				if ( !related || related !=3D=3D elem ) {=0A=
					elems.push({ elem: elem, handleObj: handleObj });=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	for ( i =3D 0, l =3D elems.length; i < l; i++ ) {=0A=
		match =3D elems[i];=0A=
		event.currentTarget =3D match.elem;=0A=
		event.data =3D match.handleObj.data;=0A=
		event.handleObj =3D match.handleObj;=0A=
=0A=
		if ( match.handleObj.origHandler.apply( match.elem, args ) =3D=3D=3D =
false ) {=0A=
			stop =3D false;=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	return stop;=0A=
}=0A=
=0A=
function liveConvert( type, selector ) {=0A=
	return "live." + (type && type !=3D=3D "*" ? type + "." : "") + =
selector.replace(/\./g, "`").replace(/ /g, "&");=0A=
}=0A=
=0A=
jQuery.each( ("blur focus focusin focusout load resize scroll unload =
click dblclick " +=0A=
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " =
+=0A=
	"change select submit keydown keypress keyup error").split(" "), =
function( i, name ) {=0A=
=0A=
	// Handle event binding=0A=
	jQuery.fn[ name ] =3D function( fn ) {=0A=
		return fn ? this.bind( name, fn ) : this.trigger( name );=0A=
	};=0A=
=0A=
	if ( jQuery.attrFn ) {=0A=
		jQuery.attrFn[ name ] =3D true;=0A=
	}=0A=
});=0A=
=0A=
// Prevent memory leaks in IE=0A=
// Window isn't included so as not to unbind existing unload events=0A=
// More info:=0A=
//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/=0A=
if ( window.attachEvent && !window.addEventListener ) {=0A=
	window.attachEvent("onunload", function() {=0A=
		for ( var id in jQuery.cache ) {=0A=
			if ( jQuery.cache[ id ].handle ) {=0A=
				// Try/Catch is to handle iframes being unloaded, see #4280=0A=
				try {=0A=
					jQuery.event.remove( jQuery.cache[ id ].handle.elem );=0A=
				} catch(e) {}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
/*!=0A=
 * Sizzle CSS Selector Engine - v1.0=0A=
 *  Copyright 2009, The Dojo Foundation=0A=
 *  Released under the MIT, BSD, and GPL Licenses.=0A=
 *  More information: http://sizzlejs.com/=0A=
 */=0A=
(function(){=0A=
=0A=
var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A=
	done =3D 0,=0A=
	toString =3D Object.prototype.toString,=0A=
	hasDuplicate =3D false,=0A=
	baseHasDuplicate =3D true;=0A=
=0A=
// Here we check if the JavaScript engine is using some sort of=0A=
// optimization where it does not always call our comparision=0A=
// function. If that is the case, discard the hasDuplicate value.=0A=
//   Thus far that includes Google Chrome.=0A=
[0, 0].sort(function(){=0A=
	baseHasDuplicate =3D false;=0A=
	return 0;=0A=
});=0A=
=0A=
var Sizzle =3D function(selector, context, results, seed) {=0A=
	results =3D results || [];=0A=
	var origContext =3D context =3D context || document;=0A=
=0A=
	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {=0A=
		return [];=0A=
	}=0A=
	=0A=
	if ( !selector || typeof selector !=3D=3D "string" ) {=0A=
		return results;=0A=
	}=0A=
=0A=
	var parts =3D [], m, set, checkSet, extra, prune =3D true, contextXML =
=3D isXML(context),=0A=
		soFar =3D selector;=0A=
	=0A=
	// Reset the position of the chunker regexp (start from head)=0A=
	while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {=0A=
		soFar =3D m[3];=0A=
		=0A=
		parts.push( m[1] );=0A=
		=0A=
		if ( m[2] ) {=0A=
			extra =3D m[3];=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	if ( parts.length > 1 && origPOS.exec( selector ) ) {=0A=
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {=0A=
			set =3D posProcess( parts[0] + parts[1], context );=0A=
		} else {=0A=
			set =3D Expr.relative[ parts[0] ] ?=0A=
				[ context ] :=0A=
				Sizzle( parts.shift(), context );=0A=
=0A=
			while ( parts.length ) {=0A=
				selector =3D parts.shift();=0A=
=0A=
				if ( Expr.relative[ selector ] ) {=0A=
					selector +=3D parts.shift();=0A=
				}=0A=
				=0A=
				set =3D posProcess( selector, set );=0A=
			}=0A=
		}=0A=
	} else {=0A=
		// Take a shortcut and set the context if the root selector is an ID=0A=
		// (but not if it'll be faster if the inner selector is an ID)=0A=
		if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && =
!contextXML &&=0A=
				Expr.match.ID.test(parts[0]) && =
!Expr.match.ID.test(parts[parts.length - 1]) ) {=0A=
			var ret =3D Sizzle.find( parts.shift(), context, contextXML );=0A=
			context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : =
ret.set[0];=0A=
		}=0A=
=0A=
		if ( context ) {=0A=
			var ret =3D seed ?=0A=
				{ expr: parts.pop(), set: makeArray(seed) } :=0A=
				Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] =
=3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? =
context.parentNode : context, contextXML );=0A=
			set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;=0A=
=0A=
			if ( parts.length > 0 ) {=0A=
				checkSet =3D makeArray(set);=0A=
			} else {=0A=
				prune =3D false;=0A=
			}=0A=
=0A=
			while ( parts.length ) {=0A=
				var cur =3D parts.pop(), pop =3D cur;=0A=
=0A=
				if ( !Expr.relative[ cur ] ) {=0A=
					cur =3D "";=0A=
				} else {=0A=
					pop =3D parts.pop();=0A=
				}=0A=
=0A=
				if ( pop =3D=3D null ) {=0A=
					pop =3D context;=0A=
				}=0A=
=0A=
				Expr.relative[ cur ]( checkSet, pop, contextXML );=0A=
			}=0A=
		} else {=0A=
			checkSet =3D parts =3D [];=0A=
		}=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		checkSet =3D set;=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		Sizzle.error( cur || selector );=0A=
	}=0A=
=0A=
	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {=0A=
		if ( !prune ) {=0A=
			results.push.apply( results, checkSet );=0A=
		} else if ( context && context.nodeType =3D=3D=3D 1 ) {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
	} else {=0A=
		makeArray( checkSet, results );=0A=
	}=0A=
=0A=
	if ( extra ) {=0A=
		Sizzle( extra, origContext, results, seed );=0A=
		Sizzle.uniqueSort( results );=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.uniqueSort =3D function(results){=0A=
	if ( sortOrder ) {=0A=
		hasDuplicate =3D baseHasDuplicate;=0A=
		results.sort(sortOrder);=0A=
=0A=
		if ( hasDuplicate ) {=0A=
			for ( var i =3D 1; i < results.length; i++ ) {=0A=
				if ( results[i] =3D=3D=3D results[i-1] ) {=0A=
					results.splice(i--, 1);=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.matches =3D function(expr, set){=0A=
	return Sizzle(expr, null, null, set);=0A=
};=0A=
=0A=
Sizzle.find =3D function(expr, context, isXML){=0A=
	var set, match;=0A=
=0A=
	if ( !expr ) {=0A=
		return [];=0A=
	}=0A=
=0A=
	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {=0A=
		var type =3D Expr.order[i], match;=0A=
		=0A=
		if ( (match =3D Expr.leftMatch[ type ].exec( expr )) ) {=0A=
			var left =3D match[1];=0A=
			match.splice(1,1);=0A=
=0A=
			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {=0A=
				match[1] =3D (match[1] || "").replace(/\\/g, "");=0A=
				set =3D Expr.find[ type ]( match, context, isXML );=0A=
				if ( set !=3D null ) {=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !set ) {=0A=
		set =3D context.getElementsByTagName("*");=0A=
	}=0A=
=0A=
	return {set: set, expr: expr};=0A=
};=0A=
=0A=
Sizzle.filter =3D function(expr, set, inplace, not){=0A=
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,=0A=
		isXMLFilter =3D set && set[0] && isXML(set[0]);=0A=
=0A=
	while ( expr && set.length ) {=0A=
		for ( var type in Expr.filter ) {=0A=
			if ( (match =3D Expr.leftMatch[ type ].exec( expr )) !=3D null && =
match[2] ) {=0A=
				var filter =3D Expr.filter[ type ], found, item, left =3D match[1];=0A=
				anyFound =3D false;=0A=
=0A=
				match.splice(1,1);=0A=
=0A=
				if ( left.substr( left.length - 1 ) =3D=3D=3D "\\" ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				if ( curLoop =3D=3D=3D result ) {=0A=
					result =3D [];=0A=
				}=0A=
=0A=
				if ( Expr.preFilter[ type ] ) {=0A=
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );=0A=
=0A=
					if ( !match ) {=0A=
						anyFound =3D found =3D true;=0A=
					} else if ( match =3D=3D=3D true ) {=0A=
						continue;=0A=
					}=0A=
				}=0A=
=0A=
				if ( match ) {=0A=
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {=0A=
						if ( item ) {=0A=
							found =3D filter( item, match, i, curLoop );=0A=
							var pass =3D not ^ !!found;=0A=
=0A=
							if ( inplace && found !=3D null ) {=0A=
								if ( pass ) {=0A=
									anyFound =3D true;=0A=
								} else {=0A=
									curLoop[i] =3D false;=0A=
								}=0A=
							} else if ( pass ) {=0A=
								result.push( item );=0A=
								anyFound =3D true;=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
=0A=
				if ( found !=3D=3D undefined ) {=0A=
					if ( !inplace ) {=0A=
						curLoop =3D result;=0A=
					}=0A=
=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
=0A=
					if ( !anyFound ) {=0A=
						return [];=0A=
					}=0A=
=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		// Improper expression=0A=
		if ( expr =3D=3D=3D old ) {=0A=
			if ( anyFound =3D=3D null ) {=0A=
				Sizzle.error( expr );=0A=
			} else {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		old =3D expr;=0A=
	}=0A=
=0A=
	return curLoop;=0A=
};=0A=
=0A=
Sizzle.error =3D function( msg ) {=0A=
	throw "Syntax error, unrecognized expression: " + msg;=0A=
};=0A=
=0A=
var Expr =3D Sizzle.selectors =3D {=0A=
	order: [ "ID", "NAME", "TAG" ],=0A=
	match: {=0A=
		ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,=0A=
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]=
/,=0A=
		TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,=0A=
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,=0A=
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,=0A=
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\)=
)?/=0A=
	},=0A=
	leftMatch: {},=0A=
	attrMap: {=0A=
		"class": "className",=0A=
		"for": "htmlFor"=0A=
	},=0A=
	attrHandle: {=0A=
		href: function(elem){=0A=
			return elem.getAttribute("href");=0A=
		}=0A=
	},=0A=
	relative: {=0A=
		"+": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string",=0A=
				isTag =3D isPartStr && !/\W/.test(part),=0A=
				isPartStrNotTag =3D isPartStr && !isTag;=0A=
=0A=
			if ( isTag ) {=0A=
				part =3D part.toLowerCase();=0A=
			}=0A=
=0A=
			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {=0A=
				if ( (elem =3D checkSet[i]) ) {=0A=
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}=0A=
=0A=
					checkSet[i] =3D isPartStrNotTag || elem && =
elem.nodeName.toLowerCase() =3D=3D=3D part ?=0A=
						elem || false :=0A=
						elem =3D=3D=3D part;=0A=
				}=0A=
			}=0A=
=0A=
			if ( isPartStrNotTag ) {=0A=
				Sizzle.filter( part, checkSet, true );=0A=
			}=0A=
		},=0A=
		">": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string";=0A=
=0A=
			if ( isPartStr && !/\W/.test(part) ) {=0A=
				part =3D part.toLowerCase();=0A=
=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						var parent =3D elem.parentNode;=0A=
						checkSet[i] =3D parent.nodeName.toLowerCase() =3D=3D=3D part ? =
parent : false;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						checkSet[i] =3D isPartStr ?=0A=
							elem.parentNode :=0A=
							elem.parentNode =3D=3D=3D part;=0A=
					}=0A=
				}=0A=
=0A=
				if ( isPartStr ) {=0A=
					Sizzle.filter( part, checkSet, true );=0A=
				}=0A=
			}=0A=
		},=0A=
		"": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);=0A=
		},=0A=
		"~": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);=0A=
		}=0A=
	},=0A=
	find: {=0A=
		ID: function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? [m] : [];=0A=
			}=0A=
		},=0A=
		NAME: function(match, context){=0A=
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {=0A=
				var ret =3D [], results =3D context.getElementsByName(match[1]);=0A=
=0A=
				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {=0A=
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {=0A=
						ret.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				return ret.length =3D=3D=3D 0 ? null : ret;=0A=
			}=0A=
		},=0A=
		TAG: function(match, context){=0A=
			return context.getElementsByTagName(match[1]);=0A=
		}=0A=
	},=0A=
	preFilter: {=0A=
		CLASS: function(match, curLoop, inplace, result, not, isXML){=0A=
			match =3D " " + match[1].replace(/\\/g, "") + " ";=0A=
=0A=
			if ( isXML ) {=0A=
				return match;=0A=
			}=0A=
=0A=
			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {=0A=
				if ( elem ) {=0A=
					if ( not ^ (elem.className && (" " + elem.className + " =
").replace(/[\t\n]/g, " ").indexOf(match) >=3D 0) ) {=0A=
						if ( !inplace ) {=0A=
							result.push( elem );=0A=
						}=0A=
					} else if ( inplace ) {=0A=
						curLoop[i] =3D false;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			return false;=0A=
		},=0A=
		ID: function(match){=0A=
			return match[1].replace(/\\/g, "");=0A=
		},=0A=
		TAG: function(match, curLoop){=0A=
			return match[1].toLowerCase();=0A=
		},=0A=
		CHILD: function(match){=0A=
			if ( match[1] =3D=3D=3D "nth" ) {=0A=
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
					match[2] =3D=3D=3D "even" && "2n" || match[2] =3D=3D=3D "odd" && =
"2n+1" ||=0A=
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);=0A=
=0A=
				// calculate the numbers (first)n+(last) including if they are =
negative=0A=
				match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A=
				match[3] =3D test[3] - 0;=0A=
			}=0A=
=0A=
			// TODO: Move to normal caching system=0A=
			match[0] =3D done++;=0A=
=0A=
			return match;=0A=
		},=0A=
		ATTR: function(match, curLoop, inplace, result, not, isXML){=0A=
			var name =3D match[1].replace(/\\/g, "");=0A=
			=0A=
			if ( !isXML && Expr.attrMap[name] ) {=0A=
				match[1] =3D Expr.attrMap[name];=0A=
			}=0A=
=0A=
			if ( match[2] =3D=3D=3D "~=3D" ) {=0A=
				match[4] =3D " " + match[4] + " ";=0A=
			}=0A=
=0A=
			return match;=0A=
		},=0A=
		PSEUDO: function(match, curLoop, inplace, result, not){=0A=
			if ( match[1] =3D=3D=3D "not" ) {=0A=
				// If we're dealing with a complex expression, or a simple one=0A=
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || =
/^\w/.test(match[3]) ) {=0A=
					match[3] =3D Sizzle(match[3], null, null, curLoop);=0A=
				} else {=0A=
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);=0A=
					if ( !inplace ) {=0A=
						result.push.apply( result, ret );=0A=
					}=0A=
					return false;=0A=
				}=0A=
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {=0A=
				return true;=0A=
			}=0A=
			=0A=
			return match;=0A=
		},=0A=
		POS: function(match){=0A=
			match.unshift( true );=0A=
			return match;=0A=
		}=0A=
	},=0A=
	filters: {=0A=
		enabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";=0A=
		},=0A=
		disabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D true;=0A=
		},=0A=
		checked: function(elem){=0A=
			return elem.checked =3D=3D=3D true;=0A=
		},=0A=
		selected: function(elem){=0A=
			// Accessing this property makes selected-by-default=0A=
			// options in Safari work properly=0A=
			elem.parentNode.selectedIndex;=0A=
			return elem.selected =3D=3D=3D true;=0A=
		},=0A=
		parent: function(elem){=0A=
			return !!elem.firstChild;=0A=
		},=0A=
		empty: function(elem){=0A=
			return !elem.firstChild;=0A=
		},=0A=
		has: function(elem, i, match){=0A=
			return !!Sizzle( match[3], elem ).length;=0A=
		},=0A=
		header: function(elem){=0A=
			return /h\d/i.test( elem.nodeName );=0A=
		},=0A=
		text: function(elem){=0A=
			return "text" =3D=3D=3D elem.type;=0A=
		},=0A=
		radio: function(elem){=0A=
			return "radio" =3D=3D=3D elem.type;=0A=
		},=0A=
		checkbox: function(elem){=0A=
			return "checkbox" =3D=3D=3D elem.type;=0A=
		},=0A=
		file: function(elem){=0A=
			return "file" =3D=3D=3D elem.type;=0A=
		},=0A=
		password: function(elem){=0A=
			return "password" =3D=3D=3D elem.type;=0A=
		},=0A=
		submit: function(elem){=0A=
			return "submit" =3D=3D=3D elem.type;=0A=
		},=0A=
		image: function(elem){=0A=
			return "image" =3D=3D=3D elem.type;=0A=
		},=0A=
		reset: function(elem){=0A=
			return "reset" =3D=3D=3D elem.type;=0A=
		},=0A=
		button: function(elem){=0A=
			return "button" =3D=3D=3D elem.type || elem.nodeName.toLowerCase() =
=3D=3D=3D "button";=0A=
		},=0A=
		input: function(elem){=0A=
			return /input|select|textarea|button/i.test(elem.nodeName);=0A=
		}=0A=
	},=0A=
	setFilters: {=0A=
		first: function(elem, i){=0A=
			return i =3D=3D=3D 0;=0A=
		},=0A=
		last: function(elem, i, match, array){=0A=
			return i =3D=3D=3D array.length - 1;=0A=
		},=0A=
		even: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 0;=0A=
		},=0A=
		odd: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 1;=0A=
		},=0A=
		lt: function(elem, i, match){=0A=
			return i < match[3] - 0;=0A=
		},=0A=
		gt: function(elem, i, match){=0A=
			return i > match[3] - 0;=0A=
		},=0A=
		nth: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		},=0A=
		eq: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		}=0A=
	},=0A=
	filter: {=0A=
		PSEUDO: function(elem, match, i, array){=0A=
			var name =3D match[1], filter =3D Expr.filters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			} else if ( name =3D=3D=3D "contains" ) {=0A=
				return (elem.textContent || elem.innerText || getText([ elem ]) || =
"").indexOf(match[3]) >=3D 0;=0A=
			} else if ( name =3D=3D=3D "not" ) {=0A=
				var not =3D match[3];=0A=
=0A=
				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {=0A=
					if ( not[i] =3D=3D=3D elem ) {=0A=
						return false;=0A=
					}=0A=
				}=0A=
=0A=
				return true;=0A=
			} else {=0A=
				Sizzle.error( "Syntax error, unrecognized expression: " + name );=0A=
			}=0A=
		},=0A=
		CHILD: function(elem, match){=0A=
			var type =3D match[1], node =3D elem;=0A=
			switch (type) {=0A=
				case 'only':=0A=
				case 'first':=0A=
					while ( (node =3D node.previousSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					if ( type =3D=3D=3D "first" ) { =0A=
						return true; =0A=
					}=0A=
					node =3D elem;=0A=
				case 'last':=0A=
					while ( (node =3D node.nextSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					return true;=0A=
				case 'nth':=0A=
					var first =3D match[2], last =3D match[3];=0A=
=0A=
					if ( first =3D=3D=3D 1 && last =3D=3D=3D 0 ) {=0A=
						return true;=0A=
					}=0A=
					=0A=
					var doneName =3D match[0],=0A=
						parent =3D elem.parentNode;=0A=
	=0A=
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {=0A=
						var count =3D 0;=0A=
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {=0A=
							if ( node.nodeType =3D=3D=3D 1 ) {=0A=
								node.nodeIndex =3D ++count;=0A=
							}=0A=
						} =0A=
						parent.sizcache =3D doneName;=0A=
					}=0A=
					=0A=
					var diff =3D elem.nodeIndex - last;=0A=
					if ( first =3D=3D=3D 0 ) {=0A=
						return diff =3D=3D=3D 0;=0A=
					} else {=0A=
						return ( diff % first =3D=3D=3D 0 && diff / first >=3D 0 );=0A=
					}=0A=
			}=0A=
		},=0A=
		ID: function(elem, match){=0A=
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;=0A=
		},=0A=
		TAG: function(elem, match){=0A=
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName.toLowerCase() =3D=3D=3D match;=0A=
		},=0A=
		CLASS: function(elem, match){=0A=
			return (" " + (elem.className || elem.getAttribute("class")) + " ")=0A=
				.indexOf( match ) > -1;=0A=
		},=0A=
		ATTR: function(elem, match){=0A=
			var name =3D match[1],=0A=
				result =3D Expr.attrHandle[ name ] ?=0A=
					Expr.attrHandle[ name ]( elem ) :=0A=
					elem[ name ] !=3D null ?=0A=
						elem[ name ] :=0A=
						elem.getAttribute( name ),=0A=
				value =3D result + "",=0A=
				type =3D match[2],=0A=
				check =3D match[4];=0A=
=0A=
			return result =3D=3D null ?=0A=
				type =3D=3D=3D "!=3D" :=0A=
				type =3D=3D=3D "=3D" ?=0A=
				value =3D=3D=3D check :=0A=
				type =3D=3D=3D "*=3D" ?=0A=
				value.indexOf(check) >=3D 0 :=0A=
				type =3D=3D=3D "~=3D" ?=0A=
				(" " + value + " ").indexOf(check) >=3D 0 :=0A=
				!check ?=0A=
				value && result !=3D=3D false :=0A=
				type =3D=3D=3D "!=3D" ?=0A=
				value !=3D=3D check :=0A=
				type =3D=3D=3D "^=3D" ?=0A=
				value.indexOf(check) =3D=3D=3D 0 :=0A=
				type =3D=3D=3D "$=3D" ?=0A=
				value.substr(value.length - check.length) =3D=3D=3D check :=0A=
				type =3D=3D=3D "|=3D" ?=0A=
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :=0A=
				false;=0A=
		},=0A=
		POS: function(elem, match, i, array){=0A=
			var name =3D match[2], filter =3D Expr.setFilters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var origPOS =3D Expr.match.POS;=0A=
=0A=
for ( var type in Expr.match ) {=0A=
	Expr.match[ type ] =3D new RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );=0A=
	Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + =
Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){=0A=
		return "\\" + (num - 0 + 1);=0A=
	}));=0A=
}=0A=
=0A=
var makeArray =3D function(array, results) {=0A=
	array =3D Array.prototype.slice.call( array, 0 );=0A=
=0A=
	if ( results ) {=0A=
		results.push.apply( results, array );=0A=
		return results;=0A=
	}=0A=
	=0A=
	return array;=0A=
};=0A=
=0A=
// Perform a simple check to determine if the browser is capable of=0A=
// converting a NodeList to an array using builtin methods.=0A=
// Also verifies that the returned array holds DOM nodes=0A=
// (which is not the case in the Blackberry browser)=0A=
try {=0A=
	Array.prototype.slice.call( document.documentElement.childNodes, 0 =
)[0].nodeType;=0A=
=0A=
// Provide a fallback method if it does not work=0A=
} catch(e){=0A=
	makeArray =3D function(array, results) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {=0A=
			Array.prototype.push.apply( ret, array );=0A=
		} else {=0A=
			if ( typeof array.length =3D=3D=3D "number" ) {=0A=
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0; array[i]; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
var sortOrder;=0A=
=0A=
if ( document.documentElement.compareDocumentPosition ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.compareDocumentPosition ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( "sourceIndex" in document.documentElement ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.sourceIndex || !b.sourceIndex ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.sourceIndex ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.sourceIndex - b.sourceIndex;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( document.createRange ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.ownerDocument || !b.ownerDocument ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.ownerDocument ? -1 : 1;=0A=
		}=0A=
=0A=
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();=0A=
		aRange.setStart(a, 0);=0A=
		aRange.setEnd(a, 0);=0A=
		bRange.setStart(b, 0);=0A=
		bRange.setEnd(b, 0);=0A=
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
// Utility function for retreiving the text value of an array of DOM =
nodes=0A=
function getText( elems ) {=0A=
	var ret =3D "", elem;=0A=
=0A=
	for ( var i =3D 0; elems[i]; i++ ) {=0A=
		elem =3D elems[i];=0A=
=0A=
		// Get the text from text nodes and CDATA nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 4 ) {=0A=
			ret +=3D elem.nodeValue;=0A=
=0A=
		// Traverse everything else, except comment nodes=0A=
		} else if ( elem.nodeType !=3D=3D 8 ) {=0A=
			ret +=3D getText( elem.childNodes );=0A=
		}=0A=
	}=0A=
=0A=
	return ret;=0A=
}=0A=
=0A=
// Check to see if the browser returns elements by name when=0A=
// querying by getElementById (and provide a workaround)=0A=
(function(){=0A=
	// We're going to inject a fake input element with a specified name=0A=
	var form =3D document.createElement("div"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
	form.innerHTML =3D "<a name=3D'" + id + "'/>";=0A=
=0A=
	// Inject it into the root element, check its status, and remove it =
quickly=0A=
	var root =3D document.documentElement;=0A=
	root.insertBefore( form, root.firstChild );=0A=
=0A=
	// The workaround has to do additional checks after a getElementById=0A=
	// Which slows things down for other browsers (hence the branching)=0A=
	if ( document.getElementById( id ) ) {=0A=
		Expr.find.ID =3D function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode =
!=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D =
match[1] ? [m] : undefined : [];=0A=
			}=0A=
		};=0A=
=0A=
		Expr.filter.ID =3D function(elem, match){=0A=
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");=0A=
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;=0A=
		};=0A=
	}=0A=
=0A=
	root.removeChild( form );=0A=
	root =3D form =3D null; // release memory in IE=0A=
})();=0A=
=0A=
(function(){=0A=
	// Check to see if the browser returns only elements=0A=
	// when doing getElementsByTagName("*")=0A=
=0A=
	// Create a fake element=0A=
	var div =3D document.createElement("div");=0A=
	div.appendChild( document.createComment("") );=0A=
=0A=
	// Make sure no comments are found=0A=
	if ( div.getElementsByTagName("*").length > 0 ) {=0A=
		Expr.find.TAG =3D function(match, context){=0A=
			var results =3D context.getElementsByTagName(match[1]);=0A=
=0A=
			// Filter out possible comments=0A=
			if ( match[1] =3D=3D=3D "*" ) {=0A=
				var tmp =3D [];=0A=
=0A=
				for ( var i =3D 0; results[i]; i++ ) {=0A=
					if ( results[i].nodeType =3D=3D=3D 1 ) {=0A=
						tmp.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				results =3D tmp;=0A=
			}=0A=
=0A=
			return results;=0A=
		};=0A=
	}=0A=
=0A=
	// Check to see if an attribute returns normalized href attributes=0A=
	div.innerHTML =3D "<a href=3D'#'></a>";=0A=
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&=0A=
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {=0A=
		Expr.attrHandle.href =3D function(elem){=0A=
			return elem.getAttribute("href", 2);=0A=
		};=0A=
	}=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
if ( document.querySelectorAll ) {=0A=
	(function(){=0A=
		var oldSizzle =3D Sizzle, div =3D document.createElement("div");=0A=
		div.innerHTML =3D "<p class=3D'TEST'></p>";=0A=
=0A=
		// Safari can't handle uppercase or unicode characters when=0A=
		// in quirks mode.=0A=
		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {=0A=
			return;=0A=
		}=0A=
	=0A=
		Sizzle =3D function(query, context, extra, seed){=0A=
			context =3D context || document;=0A=
=0A=
			// Only use querySelectorAll on non-XML documents=0A=
			// (ID selectors don't work in non-HTML documents)=0A=
			if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {=0A=
				try {=0A=
					return makeArray( context.querySelectorAll(query), extra );=0A=
				} catch(e){}=0A=
			}=0A=
		=0A=
			return oldSizzle(query, context, extra, seed);=0A=
		};=0A=
=0A=
		for ( var prop in oldSizzle ) {=0A=
			Sizzle[ prop ] =3D oldSizzle[ prop ];=0A=
		}=0A=
=0A=
		div =3D null; // release memory in IE=0A=
	})();=0A=
}=0A=
=0A=
(function(){=0A=
	var div =3D document.createElement("div");=0A=
=0A=
	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";=0A=
=0A=
	// Opera can't find a second classname (in 9.6)=0A=
	// Also, make sure that getElementsByClassName actually exists=0A=
	if ( !div.getElementsByClassName || =
div.getElementsByClassName("e").length =3D=3D=3D 0 ) {=0A=
		return;=0A=
	}=0A=
=0A=
	// Safari caches class attributes, doesn't catch changes (in 3.2)=0A=
	div.lastChild.className =3D "e";=0A=
=0A=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 ) {=0A=
		return;=0A=
	}=0A=
	=0A=
	Expr.order.splice(1, 0, "CLASS");=0A=
	Expr.find.CLASS =3D function(match, context, isXML) {=0A=
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {=0A=
			return context.getElementsByClassName(match[1]);=0A=
		}=0A=
	};=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){=0A=
					elem.sizcache =3D doneName;=0A=
					elem.sizset =3D i;=0A=
				}=0A=
=0A=
				if ( elem.nodeName.toLowerCase() =3D=3D=3D cur ) {=0A=
					match =3D elem;=0A=
					break;=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !isXML ) {=0A=
						elem.sizcache =3D doneName;=0A=
						elem.sizset =3D i;=0A=
					}=0A=
					if ( typeof cur !=3D=3D "string" ) {=0A=
						if ( elem =3D=3D=3D cur ) {=0A=
							match =3D true;=0A=
							break;=0A=
						}=0A=
=0A=
					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {=0A=
						match =3D elem;=0A=
						break;=0A=
					}=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
var contains =3D document.compareDocumentPosition ? function(a, b){=0A=
	return !!(a.compareDocumentPosition(b) & 16);=0A=
} : function(a, b){=0A=
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);=0A=
};=0A=
=0A=
var isXML =3D function(elem){=0A=
	// documentElement is verified for cases where it doesn't yet exist=0A=
	// (such as loading iframes in IE - #4833) =0A=
	var documentElement =3D (elem ? elem.ownerDocument || elem : =
0).documentElement;=0A=
	return documentElement ? documentElement.nodeName !=3D=3D "HTML" : =
false;=0A=
};=0A=
=0A=
var posProcess =3D function(selector, context){=0A=
	var tmpSet =3D [], later =3D "", match,=0A=
		root =3D context.nodeType ? [context] : context;=0A=
=0A=
	// Position selectors must be done after the filter=0A=
	// And so must :not(positional) so we move all PSEUDOs to the end=0A=
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {=0A=
		later +=3D match[0];=0A=
		selector =3D selector.replace( Expr.match.PSEUDO, "" );=0A=
	}=0A=
=0A=
	selector =3D Expr.relative[selector] ? selector + "*" : selector;=0A=
=0A=
	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {=0A=
		Sizzle( selector, root[i], tmpSet );=0A=
	}=0A=
=0A=
	return Sizzle.filter( later, tmpSet );=0A=
};=0A=
=0A=
// EXPOSE=0A=
jQuery.find =3D Sizzle;=0A=
jQuery.expr =3D Sizzle.selectors;=0A=
jQuery.expr[":"] =3D jQuery.expr.filters;=0A=
jQuery.unique =3D Sizzle.uniqueSort;=0A=
jQuery.text =3D getText;=0A=
jQuery.isXMLDoc =3D isXML;=0A=
jQuery.contains =3D contains;=0A=
=0A=
return;=0A=
=0A=
window.Sizzle =3D Sizzle;=0A=
=0A=
})();=0A=
var runtil =3D /Until$/,=0A=
	rparentsprev =3D /^(?:parents|prevUntil|prevAll)/,=0A=
	// Note: This RegExp should be improved, or likely pulled from Sizzle=0A=
	rmultiselector =3D /,/,=0A=
	slice =3D Array.prototype.slice;=0A=
=0A=
// Implement the identical functionality for filter and not=0A=
var winnow =3D function( elements, qualifier, keep ) {=0A=
	if ( jQuery.isFunction( qualifier ) ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return !!qualifier.call( elem, i, elem ) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( qualifier.nodeType ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return (elem =3D=3D=3D qualifier) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( typeof qualifier =3D=3D=3D "string" ) {=0A=
		var filtered =3D jQuery.grep(elements, function( elem ) {=0A=
			return elem.nodeType =3D=3D=3D 1;=0A=
		});=0A=
=0A=
		if ( isSimple.test( qualifier ) ) {=0A=
			return jQuery.filter(qualifier, filtered, !keep);=0A=
		} else {=0A=
			qualifier =3D jQuery.filter( qualifier, filtered );=0A=
		}=0A=
	}=0A=
=0A=
	return jQuery.grep(elements, function( elem, i ) {=0A=
		return (jQuery.inArray( elem, qualifier ) >=3D 0) =3D=3D=3D keep;=0A=
	});=0A=
};=0A=
=0A=
jQuery.fn.extend({=0A=
	find: function( selector ) {=0A=
		var ret =3D this.pushStack( "", "find", selector ), length =3D 0;=0A=
=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			length =3D ret.length;=0A=
			jQuery.find( selector, this[i], ret );=0A=
=0A=
			if ( i > 0 ) {=0A=
				// Make sure that the results are unique=0A=
				for ( var n =3D length; n < ret.length; n++ ) {=0A=
					for ( var r =3D 0; r < length; r++ ) {=0A=
						if ( ret[r] =3D=3D=3D ret[n] ) {=0A=
							ret.splice(n--, 1);=0A=
							break;=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	has: function( target ) {=0A=
		var targets =3D jQuery( target );=0A=
		return this.filter(function() {=0A=
			for ( var i =3D 0, l =3D targets.length; i < l; i++ ) {=0A=
				if ( jQuery.contains( this, targets[i] ) ) {=0A=
					return true;=0A=
				}=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, false), "not", selector);=0A=
	},=0A=
=0A=
	filter: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, true), "filter", =
selector );=0A=
	},=0A=
	=0A=
	is: function( selector ) {=0A=
		return !!selector && jQuery.filter( selector, this ).length > 0;=0A=
	},=0A=
=0A=
	closest: function( selectors, context ) {=0A=
		if ( jQuery.isArray( selectors ) ) {=0A=
			var ret =3D [], cur =3D this[0], match, matches =3D {}, selector;=0A=
=0A=
			if ( cur && selectors.length ) {=0A=
				for ( var i =3D 0, l =3D selectors.length; i < l; i++ ) {=0A=
					selector =3D selectors[i];=0A=
=0A=
					if ( !matches[selector] ) {=0A=
						matches[selector] =3D jQuery.expr.match.POS.test( selector ) ? =0A=
							jQuery( selector, context || this.context ) :=0A=
							selector;=0A=
					}=0A=
				}=0A=
=0A=
				while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
					for ( selector in matches ) {=0A=
						match =3D matches[selector];=0A=
=0A=
						if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) =
) {=0A=
							ret.push({ selector: selector, elem: cur });=0A=
							delete matches[selector];=0A=
						}=0A=
					}=0A=
					cur =3D cur.parentNode;=0A=
				}=0A=
			}=0A=
=0A=
			return ret;=0A=
		}=0A=
=0A=
		var pos =3D jQuery.expr.match.POS.test( selectors ) ? =0A=
			jQuery( selectors, context || this.context ) : null;=0A=
=0A=
		return this.map(function( i, cur ) {=0A=
			while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {=0A=
					return cur;=0A=
				}=0A=
				cur =3D cur.parentNode;=0A=
			}=0A=
			return null;=0A=
		});=0A=
	},=0A=
	=0A=
	// Determine the position of an element within=0A=
	// the matched set of elements=0A=
	index: function( elem ) {=0A=
		if ( !elem || typeof elem =3D=3D=3D "string" ) {=0A=
			return jQuery.inArray( this[0],=0A=
				// If it receives a string, the selector is used=0A=
				// If it receives nothing, the siblings are used=0A=
				elem ? jQuery( elem ) : this.parent().children() );=0A=
		}=0A=
		// Locate the position of the desired element=0A=
		return jQuery.inArray(=0A=
			// If it receives a jQuery object, the first element is used=0A=
			elem.jquery ? elem[0] : elem, this );=0A=
	},=0A=
=0A=
	add: function( selector, context ) {=0A=
		var set =3D typeof selector =3D=3D=3D "string" ?=0A=
				jQuery( selector, context || this.context ) :=0A=
				jQuery.makeArray( selector ),=0A=
			all =3D jQuery.merge( this.get(), set );=0A=
=0A=
		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( =
all[0] ) ?=0A=
			all :=0A=
			jQuery.unique( all ) );=0A=
	},=0A=
=0A=
	andSelf: function() {=0A=
		return this.add( this.prevObject );=0A=
	}=0A=
});=0A=
=0A=
// A painfully simple check to see if an element is disconnected=0A=
// from a document (should be improved, where feasible).=0A=
function isDisconnected( node ) {=0A=
	return !node || !node.parentNode || node.parentNode.nodeType =3D=3D=3D =
11;=0A=
}=0A=
=0A=
jQuery.each({=0A=
	parent: function( elem ) {=0A=
		var parent =3D elem.parentNode;=0A=
		return parent && parent.nodeType !=3D=3D 11 ? parent : null;=0A=
	},=0A=
	parents: function( elem ) {=0A=
		return jQuery.dir( elem, "parentNode" );=0A=
	},=0A=
	parentsUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "parentNode", until );=0A=
	},=0A=
	next: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "nextSibling" );=0A=
	},=0A=
	prev: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "previousSibling" );=0A=
	},=0A=
	nextAll: function( elem ) {=0A=
		return jQuery.dir( elem, "nextSibling" );=0A=
	},=0A=
	prevAll: function( elem ) {=0A=
		return jQuery.dir( elem, "previousSibling" );=0A=
	},=0A=
	nextUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "nextSibling", until );=0A=
	},=0A=
	prevUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "previousSibling", until );=0A=
	},=0A=
	siblings: function( elem ) {=0A=
		return jQuery.sibling( elem.parentNode.firstChild, elem );=0A=
	},=0A=
	children: function( elem ) {=0A=
		return jQuery.sibling( elem.firstChild );=0A=
	},=0A=
	contents: function( elem ) {=0A=
		return jQuery.nodeName( elem, "iframe" ) ?=0A=
			elem.contentDocument || elem.contentWindow.document :=0A=
			jQuery.makeArray( elem.childNodes );=0A=
	}=0A=
}, function( name, fn ) {=0A=
	jQuery.fn[ name ] =3D function( until, selector ) {=0A=
		var ret =3D jQuery.map( this, fn, until );=0A=
		=0A=
		if ( !runtil.test( name ) ) {=0A=
			selector =3D until;=0A=
		}=0A=
=0A=
		if ( selector && typeof selector =3D=3D=3D "string" ) {=0A=
			ret =3D jQuery.filter( selector, ret );=0A=
		}=0A=
=0A=
		ret =3D this.length > 1 ? jQuery.unique( ret ) : ret;=0A=
=0A=
		if ( (this.length > 1 || rmultiselector.test( selector )) && =
rparentsprev.test( name ) ) {=0A=
			ret =3D ret.reverse();=0A=
		}=0A=
=0A=
		return this.pushStack( ret, name, slice.call(arguments).join(",") );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	filter: function( expr, elems, not ) {=0A=
		if ( not ) {=0A=
			expr =3D ":not(" + expr + ")";=0A=
		}=0A=
=0A=
		return jQuery.find.matches(expr, elems);=0A=
	},=0A=
	=0A=
	dir: function( elem, dir, until ) {=0A=
		var matched =3D [], cur =3D elem[dir];=0A=
		while ( cur && cur.nodeType !=3D=3D 9 && (until =3D=3D=3D undefined || =
cur.nodeType !=3D=3D 1 || !jQuery( cur ).is( until )) ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 ) {=0A=
				matched.push( cur );=0A=
			}=0A=
			cur =3D cur[dir];=0A=
		}=0A=
		return matched;=0A=
	},=0A=
=0A=
	nth: function( cur, result, dir, elem ) {=0A=
		result =3D result || 1;=0A=
		var num =3D 0;=0A=
=0A=
		for ( ; cur; cur =3D cur[dir] ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 && ++num =3D=3D=3D result ) {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	sibling: function( n, elem ) {=0A=
		var r =3D [];=0A=
=0A=
		for ( ; n; n =3D n.nextSibling ) {=0A=
			if ( n.nodeType =3D=3D=3D 1 && n !=3D=3D elem ) {=0A=
				r.push( n );=0A=
			}=0A=
		}=0A=
=0A=
		return r;=0A=
	}=0A=
});=0A=
var rinlinejQuery =3D / jQuery\d+=3D"(?:\d+|null)"/g,=0A=
	rleadingWhitespace =3D /^\s+/,=0A=
	rxhtmlTag =3D /(<([\w:]+)[^>]*?)\/>/g,=0A=
	rselfClosing =3D =
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,=0A=
	rtagName =3D /<([\w:]+)/,=0A=
	rtbody =3D /<tbody/i,=0A=
	rhtml =3D /<|&#?\w+;/,=0A=
	rnocache =3D /<script|<object|<embed|<option|<style/i,=0A=
	rchecked =3D /checked\s*(?:[^=3D]|=3D\s*.checked.)/i,  // =
checked=3D"checked" or checked (html5)=0A=
	fcloseTag =3D function( all, front, tag ) {=0A=
		return rselfClosing.test( tag ) ?=0A=
			all :=0A=
			front + "></" + tag + ">";=0A=
	},=0A=
	wrapMap =3D {=0A=
		option: [ 1, "<select multiple=3D'multiple'>", "</select>" ],=0A=
		legend: [ 1, "<fieldset>", "</fieldset>" ],=0A=
		thead: [ 1, "<table>", "</table>" ],=0A=
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],=0A=
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],=0A=
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],=0A=
		area: [ 1, "<map>", "</map>" ],=0A=
		_default: [ 0, "", "" ]=0A=
	};=0A=
=0A=
wrapMap.optgroup =3D wrapMap.option;=0A=
wrapMap.tbody =3D wrapMap.tfoot =3D wrapMap.colgroup =3D wrapMap.caption =
=3D wrapMap.thead;=0A=
wrapMap.th =3D wrapMap.td;=0A=
=0A=
// IE can't serialize <link> and <script> tags normally=0A=
if ( !jQuery.support.htmlSerialize ) {=0A=
	wrapMap._default =3D [ 1, "div<div>", "</div>" ];=0A=
}=0A=
=0A=
jQuery.fn.extend({=0A=
	text: function( text ) {=0A=
		if ( jQuery.isFunction(text) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.text( text.call(this, i, self.text()) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( typeof text !=3D=3D "object" && text !=3D=3D undefined ) {=0A=
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );=0A=
		}=0A=
=0A=
		return jQuery.text( this );=0A=
	},=0A=
=0A=
	wrapAll: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapAll( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			// The elements to wrap the target around=0A=
			var wrap =3D jQuery( html, this[0].ownerDocument ).eq(0).clone(true);=0A=
=0A=
			if ( this[0].parentNode ) {=0A=
				wrap.insertBefore( this[0] );=0A=
			}=0A=
=0A=
			wrap.map(function() {=0A=
				var elem =3D this;=0A=
=0A=
				while ( elem.firstChild && elem.firstChild.nodeType =3D=3D=3D 1 ) {=0A=
					elem =3D elem.firstChild;=0A=
				}=0A=
=0A=
				return elem;=0A=
			}).append(this);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	wrapInner: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapInner( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			var self =3D jQuery( this ), contents =3D self.contents();=0A=
=0A=
			if ( contents.length ) {=0A=
				contents.wrapAll( html );=0A=
=0A=
			} else {=0A=
				self.append( html );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	wrap: function( html ) {=0A=
		return this.each(function() {=0A=
			jQuery( this ).wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	unwrap: function() {=0A=
		return this.parent().each(function() {=0A=
			if ( !jQuery.nodeName( this, "body" ) ) {=0A=
				jQuery( this ).replaceWith( this.childNodes );=0A=
			}=0A=
		}).end();=0A=
	},=0A=
=0A=
	append: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.appendChild( elem );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	prepend: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.insertBefore( elem, this.firstChild );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	before: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D jQuery(arguments[0]);=0A=
			set.push.apply( set, this.toArray() );=0A=
			return this.pushStack( set, "before", arguments );=0A=
		}=0A=
	},=0A=
=0A=
	after: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this.nextSibling );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D this.pushStack( this, "after", arguments );=0A=
			set.push.apply( set, jQuery(arguments[0]).toArray() );=0A=
			return set;=0A=
		}=0A=
	},=0A=
	=0A=
	// keepData is for internal use only--do not document=0A=
	remove: function( selector, keepData ) {=0A=
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {=0A=
			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {=0A=
				if ( !keepData && elem.nodeType =3D=3D=3D 1 ) {=0A=
					jQuery.cleanData( elem.getElementsByTagName("*") );=0A=
					jQuery.cleanData( [ elem ] );=0A=
				}=0A=
=0A=
				if ( elem.parentNode ) {=0A=
					 elem.parentNode.removeChild( elem );=0A=
				}=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	},=0A=
=0A=
	empty: function() {=0A=
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {=0A=
			// Remove element nodes and prevent memory leaks=0A=
			if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
				jQuery.cleanData( elem.getElementsByTagName("*") );=0A=
			}=0A=
=0A=
			// Remove any remaining nodes=0A=
			while ( elem.firstChild ) {=0A=
				elem.removeChild( elem.firstChild );=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function() {=0A=
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {=0A=
				// IE copies events bound via attachEvent when=0A=
				// using cloneNode. Calling detachEvent on the=0A=
				// clone will also remove the events from the orignal=0A=
				// In order to get around this, we use innerHTML.=0A=
				// Unfortunately, this means some modifications to=0A=
				// attributes in IE that are actually only stored=0A=
				// as properties will not be copied (such as the=0A=
				// the name attribute on an input).=0A=
				var html =3D this.outerHTML, ownerDocument =3D this.ownerDocument;=0A=
				if ( !html ) {=0A=
					var div =3D ownerDocument.createElement("div");=0A=
					div.appendChild( this.cloneNode(true) );=0A=
					html =3D div.innerHTML;=0A=
				}=0A=
=0A=
				return jQuery.clean([html.replace(rinlinejQuery, "")=0A=
					// Handle the case in IE 8 where action=3D/test/> self-closes a tag=0A=
					.replace(/=3D([^=3D"'>\s]+\/)>/g, '=3D"$1">')=0A=
					.replace(rleadingWhitespace, "")], ownerDocument)[0];=0A=
			} else {=0A=
				return this.cloneNode(true);=0A=
			}=0A=
		});=0A=
=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true ) {=0A=
			cloneCopyEvent( this, ret );=0A=
			cloneCopyEvent( this.find("*"), ret.find("*") );=0A=
		}=0A=
=0A=
		// Return the cloned set=0A=
		return ret;=0A=
	},=0A=
=0A=
	html: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return this[0] && this[0].nodeType =3D=3D=3D 1 ?=0A=
				this[0].innerHTML.replace(rinlinejQuery, "") :=0A=
				null;=0A=
=0A=
		// See if we can take a shortcut and just use innerHTML=0A=
		} else if ( typeof value =3D=3D=3D "string" && !rnocache.test( value ) =
&&=0A=
			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value =
)) &&=0A=
			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {=0A=
=0A=
			value =3D value.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
			try {=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					// Remove element nodes and prevent memory leaks=0A=
					if ( this[i].nodeType =3D=3D=3D 1 ) {=0A=
						jQuery.cleanData( this[i].getElementsByTagName("*") );=0A=
						this[i].innerHTML =3D value;=0A=
					}=0A=
				}=0A=
=0A=
			// If using innerHTML throws an exception, use the fallback method=0A=
			} catch(e) {=0A=
				this.empty().append( value );=0A=
			}=0A=
=0A=
		} else if ( jQuery.isFunction( value ) ) {=0A=
			this.each(function(i){=0A=
				var self =3D jQuery(this), old =3D self.html();=0A=
				self.empty().append(function(){=0A=
					return value.call( this, i, old );=0A=
				});=0A=
			});=0A=
=0A=
		} else {=0A=
			this.empty().append( value );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	replaceWith: function( value ) {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			// Make sure that the elements are removed from the DOM before they =
are inserted=0A=
			// this can help fix replacing a parent with child elements=0A=
			if ( jQuery.isFunction( value ) ) {=0A=
				return this.each(function(i) {=0A=
					var self =3D jQuery(this), old =3D self.html();=0A=
					self.replaceWith( value.call( this, i, old ) );=0A=
				});=0A=
			}=0A=
=0A=
			if ( typeof value !=3D=3D "string" ) {=0A=
				value =3D jQuery(value).detach();=0A=
			}=0A=
=0A=
			return this.each(function() {=0A=
				var next =3D this.nextSibling, parent =3D this.parentNode;=0A=
=0A=
				jQuery(this).remove();=0A=
=0A=
				if ( next ) {=0A=
					jQuery(next).before( value );=0A=
				} else {=0A=
					jQuery(parent).append( value );=0A=
				}=0A=
			});=0A=
		} else {=0A=
			return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : =
value), "replaceWith", value );=0A=
		}=0A=
	},=0A=
=0A=
	detach: function( selector ) {=0A=
		return this.remove( selector, true );=0A=
	},=0A=
=0A=
	domManip: function( args, table, callback ) {=0A=
		var results, first, value =3D args[0], scripts =3D [], fragment, =
parent;=0A=
=0A=
		// We can't cloneNode fragments that contain checked, in WebKit=0A=
		if ( !jQuery.support.checkClone && arguments.length =3D=3D=3D 3 && =
typeof value =3D=3D=3D "string" && rchecked.test( value ) ) {=0A=
			return this.each(function() {=0A=
				jQuery(this).domManip( args, table, callback, true );=0A=
			});=0A=
		}=0A=
=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				args[0] =3D value.call(this, i, table ? self.html() : undefined);=0A=
				self.domManip( args, table, callback );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			parent =3D value && value.parentNode;=0A=
=0A=
			// If we're in a fragment, just use that instead of building a new one=0A=
			if ( jQuery.support.parentNode && parent && parent.nodeType =3D=3D=3D =
11 && parent.childNodes.length =3D=3D=3D this.length ) {=0A=
				results =3D { fragment: parent };=0A=
=0A=
			} else {=0A=
				results =3D buildFragment( args, this, scripts );=0A=
			}=0A=
			=0A=
			fragment =3D results.fragment;=0A=
			=0A=
			if ( fragment.childNodes.length =3D=3D=3D 1 ) {=0A=
				first =3D fragment =3D fragment.firstChild;=0A=
			} else {=0A=
				first =3D fragment.firstChild;=0A=
			}=0A=
=0A=
			if ( first ) {=0A=
				table =3D table && jQuery.nodeName( first, "tr" );=0A=
=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					callback.call(=0A=
						table ?=0A=
							root(this[i], first) :=0A=
							this[i],=0A=
						i > 0 || results.cacheable || this.length > 1  ?=0A=
							fragment.cloneNode(true) :=0A=
							fragment=0A=
					);=0A=
				}=0A=
			}=0A=
=0A=
			if ( scripts.length ) {=0A=
				jQuery.each( scripts, evalScript );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
=0A=
		function root( elem, cur ) {=0A=
			return jQuery.nodeName(elem, "table") ?=0A=
				(elem.getElementsByTagName("tbody")[0] ||=0A=
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :=0A=
				elem;=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
function cloneCopyEvent(orig, ret) {=0A=
	var i =3D 0;=0A=
=0A=
	ret.each(function() {=0A=
		if ( this.nodeName !=3D=3D (orig[i] && orig[i].nodeName) ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var oldData =3D jQuery.data( orig[i++] ), curData =3D jQuery.data( =
this, oldData ), events =3D oldData && oldData.events;=0A=
=0A=
		if ( events ) {=0A=
			delete curData.handle;=0A=
			curData.events =3D {};=0A=
=0A=
			for ( var type in events ) {=0A=
				for ( var handler in events[ type ] ) {=0A=
					jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );=0A=
				}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
function buildFragment( args, nodes, scripts ) {=0A=
	var fragment, cacheable, cacheresults,=0A=
		doc =3D (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : =
document);=0A=
=0A=
	// Only cache "small" (1/2 KB) strings that are associated with the =
main document=0A=
	// Cloning options loses the selected state, so don't cache them=0A=
	// IE 6 doesn't like it when you put <object> or <embed> elements in a =
fragment=0A=
	// Also, WebKit does not clone 'checked' attributes on cloneNode, so =
don't cache=0A=
	if ( args.length =3D=3D=3D 1 && typeof args[0] =3D=3D=3D "string" && =
args[0].length < 512 && doc =3D=3D=3D document &&=0A=
		!rnocache.test( args[0] ) && (jQuery.support.checkClone || =
!rchecked.test( args[0] )) ) {=0A=
=0A=
		cacheable =3D true;=0A=
		cacheresults =3D jQuery.fragments[ args[0] ];=0A=
		if ( cacheresults ) {=0A=
			if ( cacheresults !=3D=3D 1 ) {=0A=
				fragment =3D cacheresults;=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !fragment ) {=0A=
		fragment =3D doc.createDocumentFragment();=0A=
		jQuery.clean( args, doc, fragment, scripts );=0A=
	}=0A=
=0A=
	if ( cacheable ) {=0A=
		jQuery.fragments[ args[0] ] =3D cacheresults ? fragment : 1;=0A=
	}=0A=
=0A=
	return { fragment: fragment, cacheable: cacheable };=0A=
}=0A=
=0A=
jQuery.fragments =3D {};=0A=
=0A=
jQuery.each({=0A=
	appendTo: "append",=0A=
	prependTo: "prepend",=0A=
	insertBefore: "before",=0A=
	insertAfter: "after",=0A=
	replaceAll: "replaceWith"=0A=
}, function( name, original ) {=0A=
	jQuery.fn[ name ] =3D function( selector ) {=0A=
		var ret =3D [], insert =3D jQuery( selector ),=0A=
			parent =3D this.length =3D=3D=3D 1 && this[0].parentNode;=0A=
		=0A=
		if ( parent && parent.nodeType =3D=3D=3D 11 && =
parent.childNodes.length =3D=3D=3D 1 && insert.length =3D=3D=3D 1 ) {=0A=
			insert[ original ]( this[0] );=0A=
			return this;=0A=
			=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {=0A=
				var elems =3D (i > 0 ? this.clone(true) : this).get();=0A=
				jQuery.fn[ original ].apply( jQuery(insert[i]), elems );=0A=
				ret =3D ret.concat( elems );=0A=
			}=0A=
		=0A=
			return this.pushStack( ret, name, insert.selector );=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	clean: function( elems, context, fragment, scripts ) {=0A=
		context =3D context || document;=0A=
=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if ( typeof context.createElement =3D=3D=3D "undefined" ) {=0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
		}=0A=
=0A=
		var ret =3D [];=0A=
=0A=
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			if ( typeof elem =3D=3D=3D "number" ) {=0A=
				elem +=3D "";=0A=
			}=0A=
=0A=
			if ( !elem ) {=0A=
				continue;=0A=
			}=0A=
=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=3D=3D "string" && !rhtml.test( elem ) ) {=0A=
				elem =3D context.createTextNode( elem );=0A=
=0A=
			} else if ( typeof elem =3D=3D=3D "string" ) {=0A=
				// Fix "XHTML"-style tags in all browsers=0A=
				elem =3D elem.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
				// Trim whitespace, otherwise indexOf won't work as expected=0A=
				var tag =3D (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),=0A=
					wrap =3D wrapMap[ tag ] || wrapMap._default,=0A=
					depth =3D wrap[0],=0A=
					div =3D context.createElement("div");=0A=
=0A=
				// Go to html and back, then peel off extra wrappers=0A=
				div.innerHTML =3D wrap[1] + elem + wrap[2];=0A=
=0A=
				// Move to the right depth=0A=
				while ( depth-- ) {=0A=
					div =3D div.lastChild;=0A=
				}=0A=
=0A=
				// Remove IE's autoinserted <tbody> from table fragments=0A=
				if ( !jQuery.support.tbody ) {=0A=
=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var hasBody =3D rtbody.test(elem),=0A=
						tbody =3D tag =3D=3D=3D "table" && !hasBody ?=0A=
							div.firstChild && div.firstChild.childNodes :=0A=
=0A=
							// String was a bare <thead> or <tfoot>=0A=
							wrap[1] =3D=3D=3D "<table>" && !hasBody ?=0A=
								div.childNodes :=0A=
								[];=0A=
=0A=
					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j ) {=0A=
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length ) {=0A=
							tbody[ j ].parentNode.removeChild( tbody[ j ] );=0A=
						}=0A=
					}=0A=
=0A=
				}=0A=
=0A=
				// IE completely kills leading whitespace when innerHTML is used=0A=
				if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( =
elem ) ) {=0A=
					div.insertBefore( context.createTextNode( =
rleadingWhitespace.exec(elem)[0] ), div.firstChild );=0A=
				}=0A=
=0A=
				elem =3D div.childNodes;=0A=
			}=0A=
=0A=
			if ( elem.nodeType ) {=0A=
				ret.push( elem );=0A=
			} else {=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
			}=0A=
		}=0A=
=0A=
		if ( fragment ) {=0A=
			for ( var i =3D 0; ret[i]; i++ ) {=0A=
				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type =
|| ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {=0A=
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );=0A=
				=0A=
				} else {=0A=
					if ( ret[i].nodeType =3D=3D=3D 1 ) {=0A=
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );=0A=
					}=0A=
					fragment.appendChild( ret[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
	=0A=
	cleanData: function( elems ) {=0A=
		var data, id, cache =3D jQuery.cache,=0A=
			special =3D jQuery.event.special,=0A=
			deleteExpando =3D jQuery.support.deleteExpando;=0A=
		=0A=
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			id =3D elem[ jQuery.expando ];=0A=
			=0A=
			if ( id ) {=0A=
				data =3D cache[ id ];=0A=
				=0A=
				if ( data.events ) {=0A=
					for ( var type in data.events ) {=0A=
						if ( special[ type ] ) {=0A=
							jQuery.event.remove( elem, type );=0A=
=0A=
						} else {=0A=
							removeEvent( elem, type, data.handle );=0A=
						}=0A=
					}=0A=
				}=0A=
				=0A=
				if ( deleteExpando ) {=0A=
					delete elem[ jQuery.expando ];=0A=
=0A=
				} else if ( elem.removeAttribute ) {=0A=
					elem.removeAttribute( jQuery.expando );=0A=
				}=0A=
				=0A=
				delete cache[ id ];=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
// exclude the following css properties to add px=0A=
var rexclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,=0A=
	ralpha =3D /alpha\([^)]*\)/,=0A=
	ropacity =3D /opacity=3D([^)]*)/,=0A=
	rfloat =3D /float/i,=0A=
	rdashAlpha =3D /-([a-z])/ig,=0A=
	rupper =3D /([A-Z])/g,=0A=
	rnumpx =3D /^-?\d+(?:px)?$/i,=0A=
	rnum =3D /^-?\d/,=0A=
=0A=
	cssShow =3D { position: "absolute", visibility: "hidden", =
display:"block" },=0A=
	cssWidth =3D [ "Left", "Right" ],=0A=
	cssHeight =3D [ "Top", "Bottom" ],=0A=
=0A=
	// cache check for defaultView.getComputedStyle=0A=
	getComputedStyle =3D document.defaultView && =
document.defaultView.getComputedStyle,=0A=
	// normalize float css property=0A=
	styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat",=0A=
	fcamelCase =3D function( all, letter ) {=0A=
		return letter.toUpperCase();=0A=
	};=0A=
=0A=
jQuery.fn.css =3D function( name, value ) {=0A=
	return access( this, name, value, true, function( elem, name, value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return jQuery.curCSS( elem, name );=0A=
		}=0A=
		=0A=
		if ( typeof value =3D=3D=3D "number" && !rexclude.test(name) ) {=0A=
			value +=3D "px";=0A=
		}=0A=
=0A=
		jQuery.style( elem, name, value );=0A=
	});=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	style: function( elem, name, value ) {=0A=
		// don't set styles on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		// ignore negative width and height values #1599=0A=
		if ( (name =3D=3D=3D "width" || name =3D=3D=3D "height") && =
parseFloat(value) < 0 ) {=0A=
			value =3D undefined;=0A=
		}=0A=
=0A=
		var style =3D elem.style || elem, set =3D value !=3D=3D undefined;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" ) {=0A=
			if ( set ) {=0A=
				// IE has trouble with opacity if it does not have layout=0A=
				// Force it by setting the zoom level=0A=
				style.zoom =3D 1;=0A=
=0A=
				// Set the alpha filter to set the opacity=0A=
				var opacity =3D parseInt( value, 10 ) + "" =3D=3D=3D "NaN" ? "" : =
"alpha(opacity=3D" + value * 100 + ")";=0A=
				var filter =3D style.filter || jQuery.curCSS( elem, "filter" ) || "";=0A=
				style.filter =3D ralpha.test(filter) ? filter.replace(ralpha, =
opacity) : opacity;=0A=
			}=0A=
=0A=
			return style.filter && style.filter.indexOf("opacity=3D") >=3D 0 ?=0A=
				(parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":=0A=
				"";=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		name =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
		if ( set ) {=0A=
			style[ name ] =3D value;=0A=
		}=0A=
=0A=
		return style[ name ];=0A=
	},=0A=
=0A=
	css: function( elem, name, force, extra ) {=0A=
		if ( name =3D=3D=3D "width" || name =3D=3D=3D "height" ) {=0A=
			var val, props =3D cssShow, which =3D name =3D=3D=3D "width" ? =
cssWidth : cssHeight;=0A=
=0A=
			function getWH() {=0A=
				val =3D name =3D=3D=3D "width" ? elem.offsetWidth : =
elem.offsetHeight;=0A=
=0A=
				if ( extra =3D=3D=3D "border" ) {=0A=
					return;=0A=
				}=0A=
=0A=
				jQuery.each( which, function() {=0A=
					if ( !extra ) {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;=0A=
					}=0A=
=0A=
					if ( extra =3D=3D=3D "margin" ) {=0A=
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;=0A=
					} else {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
					}=0A=
				});=0A=
			}=0A=
=0A=
			if ( elem.offsetWidth !=3D=3D 0 ) {=0A=
				getWH();=0A=
			} else {=0A=
				jQuery.swap( elem, props, getWH );=0A=
			}=0A=
=0A=
			return Math.max(0, Math.round(val));=0A=
		}=0A=
=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret, style =3D elem.style, filter;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" && =
elem.currentStyle ) {=0A=
			ret =3D ropacity.test(elem.currentStyle.filter || "") ?=0A=
				(parseFloat(RegExp.$1) / 100) + "" :=0A=
				"";=0A=
=0A=
			return ret =3D=3D=3D "" ?=0A=
				"1" :=0A=
				ret;=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		if ( !force && style && style[ name ] ) {=0A=
			ret =3D style[ name ];=0A=
=0A=
		} else if ( getComputedStyle ) {=0A=
=0A=
			// Only "float" is needed here=0A=
			if ( rfloat.test( name ) ) {=0A=
				name =3D "float";=0A=
			}=0A=
=0A=
			name =3D name.replace( rupper, "-$1" ).toLowerCase();=0A=
=0A=
			var defaultView =3D elem.ownerDocument.defaultView;=0A=
=0A=
			if ( !defaultView ) {=0A=
				return null;=0A=
			}=0A=
=0A=
			var computedStyle =3D defaultView.getComputedStyle( elem, null );=0A=
=0A=
			if ( computedStyle ) {=0A=
				ret =3D computedStyle.getPropertyValue( name );=0A=
			}=0A=
=0A=
			// We should always get a number back from opacity=0A=
			if ( name =3D=3D=3D "opacity" && ret =3D=3D=3D "" ) {=0A=
				ret =3D "1";=0A=
			}=0A=
=0A=
		} else if ( elem.currentStyle ) {=0A=
			var camelCase =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];=0A=
=0A=
			// From the awesome hack by Dean Edwards=0A=
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291=0A=
=0A=
			// If we're not dealing with a regular pixel number=0A=
			// but a number that has a weird ending, we need to convert it to =
pixels=0A=
			if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {=0A=
				// Remember the original values=0A=
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;=0A=
=0A=
				// Put in the new values to get a computed value out=0A=
				elem.runtimeStyle.left =3D elem.currentStyle.left;=0A=
				style.left =3D camelCase =3D=3D=3D "fontSize" ? "1em" : (ret || 0);=0A=
				ret =3D style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				style.left =3D left;=0A=
				elem.runtimeStyle.left =3D rsLeft;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// A method for quickly swapping in/out CSS properties to get correct =
calculations=0A=
	swap: function( elem, options, callback ) {=0A=
		var old =3D {};=0A=
=0A=
		// Remember the old values, and insert the new ones=0A=
		for ( var name in options ) {=0A=
			old[ name ] =3D elem.style[ name ];=0A=
			elem.style[ name ] =3D options[ name ];=0A=
		}=0A=
=0A=
		callback.call( elem );=0A=
=0A=
		// Revert the old values=0A=
		for ( var name in options ) {=0A=
			elem.style[ name ] =3D old[ name ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.hidden =3D function( elem ) {=0A=
		var width =3D elem.offsetWidth, height =3D elem.offsetHeight,=0A=
			skip =3D elem.nodeName.toLowerCase() =3D=3D=3D "tr";=0A=
=0A=
		return width =3D=3D=3D 0 && height =3D=3D=3D 0 && !skip ?=0A=
			true :=0A=
			width > 0 && height > 0 && !skip ?=0A=
				false :=0A=
				jQuery.curCSS(elem, "display") =3D=3D=3D "none";=0A=
	};=0A=
=0A=
	jQuery.expr.filters.visible =3D function( elem ) {=0A=
		return !jQuery.expr.filters.hidden( elem );=0A=
	};=0A=
}=0A=
var jsc =3D now(),=0A=
	rscript =3D /<script(.|\s)*?\/script>/gi,=0A=
	rselectTextarea =3D /select|textarea/i,=0A=
	rinput =3D =
/color|date|datetime|email|hidden|month|number|password|range|search|tel|=
text|time|url|week/i,=0A=
	jsre =3D /=3D\?(&|$)/,=0A=
	rquery =3D /\?/,=0A=
	rts =3D /(\?|&)_=3D.*?(&|$)/,=0A=
	rurl =3D /^(\w+:)?\/\/([^\/?#]+)/,=0A=
	r20 =3D /%20/g,=0A=
=0A=
	// Keep a copy of the old load method=0A=
	_load =3D jQuery.fn.load;=0A=
=0A=
jQuery.fn.extend({=0A=
	load: function( url, params, callback ) {=0A=
		if ( typeof url !=3D=3D "string" ) {=0A=
			return _load.call( this, url );=0A=
=0A=
		// Don't do a request if no elements are being requested=0A=
		} else if ( !this.length ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		var off =3D url.indexOf(" ");=0A=
		if ( off >=3D 0 ) {=0A=
			var selector =3D url.slice(off, url.length);=0A=
			url =3D url.slice(0, off);=0A=
		}=0A=
=0A=
		// Default to a GET request=0A=
		var type =3D "GET";=0A=
=0A=
		// If the second parameter was provided=0A=
		if ( params ) {=0A=
			// If it's a function=0A=
			if ( jQuery.isFunction( params ) ) {=0A=
				// We assume that it's the callback=0A=
				callback =3D params;=0A=
				params =3D null;=0A=
=0A=
			// Otherwise, build a param string=0A=
			} else if ( typeof params =3D=3D=3D "object" ) {=0A=
				params =3D jQuery.param( params, jQuery.ajaxSettings.traditional );=0A=
				type =3D "POST";=0A=
			}=0A=
		}=0A=
=0A=
		var self =3D this;=0A=
=0A=
		// Request the remote document=0A=
		jQuery.ajax({=0A=
			url: url,=0A=
			type: type,=0A=
			dataType: "html",=0A=
			data: params,=0A=
			complete: function( res, status ) {=0A=
				// If successful, inject the HTML into all the matched elements=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// See if a selector was specified=0A=
					self.html( selector ?=0A=
						// Create a dummy div to hold the results=0A=
						jQuery("<div />")=0A=
							// inject the contents of the document in, removing the scripts=0A=
							// to avoid any 'Permission Denied' errors in IE=0A=
							.append(res.responseText.replace(rscript, ""))=0A=
=0A=
							// Locate the specified elements=0A=
							.find(selector) :=0A=
=0A=
						// If not, just inject the full result=0A=
						res.responseText );=0A=
				}=0A=
=0A=
				if ( callback ) {=0A=
					self.each( callback, [res.responseText, status, res] );=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	serialize: function() {=0A=
		return jQuery.param(this.serializeArray());=0A=
	},=0A=
	serializeArray: function() {=0A=
		return this.map(function() {=0A=
			return this.elements ? jQuery.makeArray(this.elements) : this;=0A=
		})=0A=
		.filter(function() {=0A=
			return this.name && !this.disabled &&=0A=
				(this.checked || rselectTextarea.test(this.nodeName) ||=0A=
					rinput.test(this.type));=0A=
		})=0A=
		.map(function( i, elem ) {=0A=
			var val =3D jQuery(this).val();=0A=
=0A=
			return val =3D=3D null ?=0A=
				null :=0A=
				jQuery.isArray(val) ?=0A=
					jQuery.map( val, function( val, i ) {=0A=
						return { name: elem.name, value: val };=0A=
					}) :=0A=
					{ name: elem.name, value: val };=0A=
		}).get();=0A=
	}=0A=
});=0A=
=0A=
// Attach a bunch of functions for handling common AJAX events=0A=
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess =
ajaxSend".split(" "), function( i, o ) {=0A=
	jQuery.fn[o] =3D function( f ) {=0A=
		return this.bind(o, f);=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
=0A=
	get: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D null;=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "GET",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	getScript: function( url, callback ) {=0A=
		return jQuery.get(url, null, callback, "script");=0A=
	},=0A=
=0A=
	getJSON: function( url, data, callback ) {=0A=
		return jQuery.get(url, data, callback, "json");=0A=
	},=0A=
=0A=
	post: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D {};=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "POST",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	ajaxSetup: function( settings ) {=0A=
		jQuery.extend( jQuery.ajaxSettings, settings );=0A=
	},=0A=
=0A=
	ajaxSettings: {=0A=
		url: location.href,=0A=
		global: true,=0A=
		type: "GET",=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		/*=0A=
		timeout: 0,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=0A=
		traditional: false,=0A=
		*/=0A=
		// Create the request object; Microsoft failed to properly=0A=
		// implement the XMLHttpRequest in IE7 (can't request local files),=0A=
		// so we use the ActiveXObject when it is available=0A=
		// This function can be overriden by calling jQuery.ajaxSetup=0A=
		xhr: window.XMLHttpRequest && (window.location.protocol !=3D=3D =
"file:" || !window.ActiveXObject) ?=0A=
			function() {=0A=
				return new window.XMLHttpRequest();=0A=
			} :=0A=
			function() {=0A=
				try {=0A=
					return new window.ActiveXObject("Microsoft.XMLHTTP");=0A=
				} catch(e) {}=0A=
			},=0A=
		accepts: {=0A=
			xml: "application/xml, text/xml",=0A=
			html: "text/html",=0A=
			script: "text/javascript, application/javascript",=0A=
			json: "application/json, text/javascript",=0A=
			text: "text/plain",=0A=
			_default: "*/*"=0A=
		}=0A=
	},=0A=
=0A=
	// Last-Modified header cache for next request=0A=
	lastModified: {},=0A=
	etag: {},=0A=
=0A=
	ajax: function( origSettings ) {=0A=
		var s =3D jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);=0A=
		=0A=
		var jsonp, status, data,=0A=
			callbackContext =3D origSettings && origSettings.context || s,=0A=
			type =3D s.type.toUpperCase();=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D=3D "string" ) {=0A=
			s.data =3D jQuery.param( s.data, s.traditional );=0A=
		}=0A=
=0A=
		// Handle JSONP Parameter Callbacks=0A=
		if ( s.dataType =3D=3D=3D "jsonp" ) {=0A=
			if ( type =3D=3D=3D "GET" ) {=0A=
				if ( !jsre.test( s.url ) ) {=0A=
					s.url +=3D (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";=0A=
				}=0A=
			} else if ( !s.data || !jsre.test(s.data) ) {=0A=
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";=0A=
			}=0A=
			s.dataType =3D "json";=0A=
		}=0A=
=0A=
		// Build temporary JSONP function=0A=
		if ( s.dataType =3D=3D=3D "json" && (s.data && jsre.test(s.data) || =
jsre.test(s.url)) ) {=0A=
			jsonp =3D s.jsonpCallback || ("jsonp" + jsc++);=0A=
=0A=
			// Replace the =3D? sequence both in the query string and the data=0A=
			if ( s.data ) {=0A=
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");=0A=
			}=0A=
=0A=
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");=0A=
=0A=
			// We need to make sure=0A=
			// that a JSONP style response is executed properly=0A=
			s.dataType =3D "script";=0A=
=0A=
			// Handle JSONP-style loading=0A=
			window[ jsonp ] =3D window[ jsonp ] || function( tmp ) {=0A=
				data =3D tmp;=0A=
				success();=0A=
				complete();=0A=
				// Garbage collect=0A=
				window[ jsonp ] =3D undefined;=0A=
=0A=
				try {=0A=
					delete window[ jsonp ];=0A=
				} catch(e) {}=0A=
=0A=
				if ( head ) {=0A=
					head.removeChild( script );=0A=
				}=0A=
			};=0A=
		}=0A=
=0A=
		if ( s.dataType =3D=3D=3D "script" && s.cache =3D=3D=3D null ) {=0A=
			s.cache =3D false;=0A=
		}=0A=
=0A=
		if ( s.cache =3D=3D=3D false && type =3D=3D=3D "GET" ) {=0A=
			var ts =3D now();=0A=
=0A=
			// try replacing _=3D if it is there=0A=
			var ret =3D s.url.replace(rts, "$1_=3D" + ts + "$2");=0A=
=0A=
			// if nothing was replaced, add timestamp to the end=0A=
			s.url =3D ret + ((ret =3D=3D=3D s.url) ? (rquery.test(s.url) ? "&" : =
"?") + "_=3D" + ts : "");=0A=
		}=0A=
=0A=
		// If data is available, append data to url for get requests=0A=
		if ( s.data && type =3D=3D=3D "GET" ) {=0A=
			s.url +=3D (rquery.test(s.url) ? "&" : "?") + s.data;=0A=
		}=0A=
=0A=
		// Watch for a new set of requests=0A=
		if ( s.global && ! jQuery.active++ ) {=0A=
			jQuery.event.trigger( "ajaxStart" );=0A=
		}=0A=
=0A=
		// Matches an absolute URL, and saves the domain=0A=
		var parts =3D rurl.exec( s.url ),=0A=
			remote =3D parts && (parts[1] && parts[1] !=3D=3D location.protocol =
|| parts[2] !=3D=3D location.host);=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( s.dataType =3D=3D=3D "script" && type =3D=3D=3D "GET" && remote ) =
{=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement;=0A=
			var script =3D document.createElement("script");=0A=
			script.src =3D s.url;=0A=
			if ( s.scriptCharset ) {=0A=
				script.charset =3D s.scriptCharset;=0A=
			}=0A=
=0A=
			// Handle Script loading=0A=
			if ( !jsonp ) {=0A=
				var done =3D false;=0A=
=0A=
				// Attach handlers for all browsers=0A=
				script.onload =3D script.onreadystatechange =3D function() {=0A=
					if ( !done && (!this.readyState ||=0A=
							this.readyState =3D=3D=3D "loaded" || this.readyState =3D=3D=3D =
"complete") ) {=0A=
						done =3D true;=0A=
						success();=0A=
						complete();=0A=
=0A=
						// Handle memory leak in IE=0A=
						script.onload =3D script.onreadystatechange =3D null;=0A=
						if ( head && script.parentNode ) {=0A=
							head.removeChild( script );=0A=
						}=0A=
					}=0A=
				};=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709 and #4378).=0A=
			head.insertBefore( script, head.firstChild );=0A=
=0A=
			// We handle everything using the script element injection=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var requestDone =3D false;=0A=
=0A=
		// Create the request object=0A=
		var xhr =3D s.xhr();=0A=
=0A=
		if ( !xhr ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// Open the socket=0A=
		// Passing null username, generates a login popup on Opera (#2865)=0A=
		if ( s.username ) {=0A=
			xhr.open(type, s.url, s.async, s.username, s.password);=0A=
		} else {=0A=
			xhr.open(type, s.url, s.async);=0A=
		}=0A=
=0A=
		// Need an extra try/catch for cross domain requests in Firefox 3=0A=
		try {=0A=
			// Set the correct header, if data is being sent=0A=
			if ( s.data || origSettings && origSettings.contentType ) {=0A=
				xhr.setRequestHeader("Content-Type", s.contentType);=0A=
			}=0A=
=0A=
			// Set the If-Modified-Since and/or If-None-Match header, if in =
ifModified mode.=0A=
			if ( s.ifModified ) {=0A=
				if ( jQuery.lastModified[s.url] ) {=0A=
					xhr.setRequestHeader("If-Modified-Since", =
jQuery.lastModified[s.url]);=0A=
				}=0A=
=0A=
				if ( jQuery.etag[s.url] ) {=0A=
					xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);=0A=
				}=0A=
			}=0A=
=0A=
			// Set header so the called script knows that it's an XMLHttpRequest=0A=
			// Only send the header if it's not a remote XHR=0A=
			if ( !remote ) {=0A=
				xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
			}=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?=0A=
				s.accepts[ s.dataType ] + ", */*" :=0A=
				s.accepts._default );=0A=
		} catch(e) {}=0A=
=0A=
		// Allow custom headers/mimetypes and early abort=0A=
		if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) =
=3D=3D=3D false ) {=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
=0A=
			// close opended socket=0A=
			xhr.abort();=0A=
			return false;=0A=
		}=0A=
=0A=
		if ( s.global ) {=0A=
			trigger("ajaxSend", [xhr, s]);=0A=
		}=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D xhr.onreadystatechange =3D function( =
isTimeout ) {=0A=
			// The request was aborted=0A=
			if ( !xhr || xhr.readyState =3D=3D=3D 0 || isTimeout =3D=3D=3D =
"abort" ) {=0A=
				// Opera doesn't call onreadystatechange before this point=0A=
				// so we simulate the call=0A=
				if ( !requestDone ) {=0A=
					complete();=0A=
				}=0A=
=0A=
				requestDone =3D true;=0A=
				if ( xhr ) {=0A=
					xhr.onreadystatechange =3D jQuery.noop;=0A=
				}=0A=
=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			} else if ( !requestDone && xhr && (xhr.readyState =3D=3D=3D 4 || =
isTimeout =3D=3D=3D "timeout") ) {=0A=
				requestDone =3D true;=0A=
				xhr.onreadystatechange =3D jQuery.noop;=0A=
=0A=
				status =3D isTimeout =3D=3D=3D "timeout" ?=0A=
					"timeout" :=0A=
					!jQuery.httpSuccess( xhr ) ?=0A=
						"error" :=0A=
						s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?=0A=
							"notmodified" :=0A=
							"success";=0A=
=0A=
				var errMsg;=0A=
=0A=
				if ( status =3D=3D=3D "success" ) {=0A=
					// Watch for, and catch, XML document parse errors=0A=
					try {=0A=
						// process the data (runs the xml through httpData regardless of =
callback)=0A=
						data =3D jQuery.httpData( xhr, s.dataType, s );=0A=
					} catch(err) {=0A=
						status =3D "parsererror";=0A=
						errMsg =3D err;=0A=
					}=0A=
				}=0A=
=0A=
				// Make sure that the request was successful or notmodified=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// JSONP handles its own success callback=0A=
					if ( !jsonp ) {=0A=
						success();=0A=
					}=0A=
				} else {=0A=
					jQuery.handleError(s, xhr, status, errMsg);=0A=
				}=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				if ( isTimeout =3D=3D=3D "timeout" ) {=0A=
					xhr.abort();=0A=
				}=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async ) {=0A=
					xhr =3D null;=0A=
				}=0A=
			}=0A=
		};=0A=
=0A=
		// Override the abort handler, if we can (IE doesn't allow it, but =
that's OK)=0A=
		// Opera doesn't fire onreadystatechange at all on abort=0A=
		try {=0A=
			var oldAbort =3D xhr.abort;=0A=
			xhr.abort =3D function() {=0A=
				if ( xhr ) {=0A=
					oldAbort.call( xhr );=0A=
				}=0A=
=0A=
				onreadystatechange( "abort" );=0A=
			};=0A=
		} catch(e) { }=0A=
=0A=
		// Timeout checker=0A=
		if ( s.async && s.timeout > 0 ) {=0A=
			setTimeout(function() {=0A=
				// Check to see if the request is still happening=0A=
				if ( xhr && !requestDone ) {=0A=
					onreadystatechange( "timeout" );=0A=
				}=0A=
			}, s.timeout);=0A=
		}=0A=
=0A=
		// Send the data=0A=
		try {=0A=
			xhr.send( type =3D=3D=3D "POST" || type =3D=3D=3D "PUT" || type =
=3D=3D=3D "DELETE" ? s.data : null );=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xhr, null, e);=0A=
			// Fire the complete handlers=0A=
			complete();=0A=
		}=0A=
=0A=
		// firefox 1.5 doesn't fire statechange for sync requests=0A=
		if ( !s.async ) {=0A=
			onreadystatechange();=0A=
		}=0A=
=0A=
		function success() {=0A=
			// If a local callback was specified, fire it and pass it the data=0A=
			if ( s.success ) {=0A=
				s.success.call( callbackContext, data, status, xhr );=0A=
			}=0A=
=0A=
			// Fire the global callback=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxSuccess", [xhr, s] );=0A=
			}=0A=
		}=0A=
=0A=
		function complete() {=0A=
			// Process result=0A=
			if ( s.complete ) {=0A=
				s.complete.call( callbackContext, xhr, status);=0A=
			}=0A=
=0A=
			// The request was completed=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxComplete", [xhr, s] );=0A=
			}=0A=
=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
		}=0A=
		=0A=
		function trigger(type, args) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);=0A=
		}=0A=
=0A=
		// return XMLHttpRequest to allow aborting the request etc.=0A=
		return xhr;=0A=
	},=0A=
=0A=
	handleError: function( s, xhr, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) {=0A=
			s.error.call( s.context || s, xhr, status, e );=0A=
		}=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global ) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", =
[xhr, s, e] );=0A=
		}=0A=
	},=0A=
=0A=
	// Counter for holding the number of active queries=0A=
	active: 0,=0A=
=0A=
	// Determines if an XMLHttpRequest was successful or not=0A=
	httpSuccess: function( xhr ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !xhr.status && location.protocol =3D=3D=3D "file:" ||=0A=
				// Opera returns 0 when status is 304=0A=
				( xhr.status >=3D 200 && xhr.status < 300 ) ||=0A=
				xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 1223 || xhr.status =
=3D=3D=3D 0;=0A=
		} catch(e) {}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xhr, url ) {=0A=
		var lastModified =3D xhr.getResponseHeader("Last-Modified"),=0A=
			etag =3D xhr.getResponseHeader("Etag");=0A=
=0A=
		if ( lastModified ) {=0A=
			jQuery.lastModified[url] =3D lastModified;=0A=
		}=0A=
=0A=
		if ( etag ) {=0A=
			jQuery.etag[url] =3D etag;=0A=
		}=0A=
=0A=
		// Opera returns 0 when status is 304=0A=
		return xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 0;=0A=
	},=0A=
=0A=
	httpData: function( xhr, type, s ) {=0A=
		var ct =3D xhr.getResponseHeader("content-type") || "",=0A=
			xml =3D type =3D=3D=3D "xml" || !type && ct.indexOf("xml") >=3D 0,=0A=
			data =3D xml ? xhr.responseXML : xhr.responseText;=0A=
=0A=
		if ( xml && data.documentElement.nodeName =3D=3D=3D "parsererror" ) {=0A=
			jQuery.error( "parsererror" );=0A=
		}=0A=
=0A=
		// Allow a pre-filtering function to sanitize the response=0A=
		// s is checked to keep backwards compatibility=0A=
		if ( s && s.dataFilter ) {=0A=
			data =3D s.dataFilter( data, type );=0A=
		}=0A=
=0A=
		// The filter can actually parse the response=0A=
		if ( typeof data =3D=3D=3D "string" ) {=0A=
			// Get the JavaScript object, if JSON is used.=0A=
			if ( type =3D=3D=3D "json" || !type && ct.indexOf("json") >=3D 0 ) {=0A=
				data =3D jQuery.parseJSON( data );=0A=
=0A=
			// If the type is "script", eval it in global context=0A=
			} else if ( type =3D=3D=3D "script" || !type && =
ct.indexOf("javascript") >=3D 0 ) {=0A=
				jQuery.globalEval( data );=0A=
			}=0A=
		}=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	// Serialize an array of form elements or a set of=0A=
	// key/values into a query string=0A=
	param: function( a, traditional ) {=0A=
		var s =3D [];=0A=
		=0A=
		// Set traditional to true for jQuery <=3D 1.3.2 behavior.=0A=
		if ( traditional =3D=3D=3D undefined ) {=0A=
			traditional =3D jQuery.ajaxSettings.traditional;=0A=
		}=0A=
		=0A=
		// If an array was passed in, assume that it is an array of form =
elements.=0A=
		if ( jQuery.isArray(a) || a.jquery ) {=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function() {=0A=
				add( this.name, this.value );=0A=
			});=0A=
			=0A=
		} else {=0A=
			// If traditional, encode the "old" way (the way 1.3.2 or older=0A=
			// did it), otherwise encode params recursively.=0A=
			for ( var prefix in a ) {=0A=
				buildParams( prefix, a[prefix] );=0A=
			}=0A=
		}=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(r20, "+");=0A=
=0A=
		function buildParams( prefix, obj ) {=0A=
			if ( jQuery.isArray(obj) ) {=0A=
				// Serialize array item.=0A=
				jQuery.each( obj, function( i, v ) {=0A=
					if ( traditional || /\[\]$/.test( prefix ) ) {=0A=
						// Treat each array item as a scalar.=0A=
						add( prefix, v );=0A=
					} else {=0A=
						// If array item is non-scalar (array or object), encode its=0A=
						// numeric index to resolve deserialization ambiguity issues.=0A=
						// Note that rack (as of 1.0.0) can't currently deserialize=0A=
						// nested arrays properly, and attempting to do so may cause=0A=
						// a server error. Possible fixes are to modify rack's=0A=
						// deserialization algorithm or to provide an option or flag=0A=
						// to force array serialization to be shallow.=0A=
						buildParams( prefix + "[" + ( typeof v =3D=3D=3D "object" || =
jQuery.isArray(v) ? i : "" ) + "]", v );=0A=
					}=0A=
				});=0A=
					=0A=
			} else if ( !traditional && obj !=3D null && typeof obj =3D=3D=3D =
"object" ) {=0A=
				// Serialize object item.=0A=
				jQuery.each( obj, function( k, v ) {=0A=
					buildParams( prefix + "[" + k + "]", v );=0A=
				});=0A=
					=0A=
			} else {=0A=
				// Serialize scalar item.=0A=
				add( prefix, obj );=0A=
			}=0A=
		}=0A=
=0A=
		function add( key, value ) {=0A=
			// If value is a function, invoke it and return its value=0A=
			value =3D jQuery.isFunction(value) ? value() : value;=0A=
			s[ s.length ] =3D encodeURIComponent(key) + "=3D" + =
encodeURIComponent(value);=0A=
		}=0A=
	}=0A=
});=0A=
var elemdisplay =3D {},=0A=
	rfxtypes =3D /toggle|show|hide/,=0A=
	rfxnum =3D /^([+-]=3D)?([\d+-.]+)(.*)$/,=0A=
	timerId,=0A=
	fxAttrs =3D [=0A=
		// height animations=0A=
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],=0A=
		// width animations=0A=
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],=0A=
		// opacity animations=0A=
		[ "opacity" ]=0A=
	];=0A=
=0A=
jQuery.fn.extend({=0A=
	show: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0) {=0A=
			return this.animate( genFx("show", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
=0A=
				this[i].style.display =3D old || "";=0A=
=0A=
				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {=0A=
					var nodeName =3D this[i].nodeName, display;=0A=
=0A=
					if ( elemdisplay[ nodeName ] ) {=0A=
						display =3D elemdisplay[ nodeName ];=0A=
=0A=
					} else {=0A=
						var elem =3D jQuery("<" + nodeName + " />").appendTo("body");=0A=
=0A=
						display =3D elem.css("display");=0A=
=0A=
						if ( display =3D=3D=3D "none" ) {=0A=
							display =3D "block";=0A=
						}=0A=
=0A=
						elem.remove();=0A=
=0A=
						elemdisplay[ nodeName ] =3D display;=0A=
					}=0A=
=0A=
					jQuery.data(this[i], "olddisplay", display);=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D jQuery.data(this[j], "olddisplay") || "";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	hide: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0 ) {=0A=
			return this.animate( genFx("hide", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
				if ( !old && old !=3D=3D "none" ) {=0A=
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D "none";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
=0A=
	toggle: function( fn, fn2 ) {=0A=
		var bool =3D typeof fn =3D=3D=3D "boolean";=0A=
=0A=
		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {=0A=
			this._toggle.apply( this, arguments );=0A=
=0A=
		} else if ( fn =3D=3D null || bool ) {=0A=
			this.each(function() {=0A=
				var state =3D bool ? fn : jQuery(this).is(":hidden");=0A=
				jQuery(this)[ state ? "show" : "hide" ]();=0A=
			});=0A=
=0A=
		} else {=0A=
			this.animate(genFx("toggle", 3), fn, fn2);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	fadeTo: function( speed, to, callback ) {=0A=
		return this.filter(":hidden").css("opacity", 0).show().end()=0A=
					.animate({opacity: to}, speed, callback);=0A=
	},=0A=
=0A=
	animate: function( prop, speed, easing, callback ) {=0A=
		var optall =3D jQuery.speed(speed, easing, callback);=0A=
=0A=
		if ( jQuery.isEmptyObject( prop ) ) {=0A=
			return this.each( optall.complete );=0A=
		}=0A=
=0A=
		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function() {=0A=
			var opt =3D jQuery.extend({}, optall), p,=0A=
				hidden =3D this.nodeType =3D=3D=3D 1 && jQuery(this).is(":hidden"),=0A=
				self =3D this;=0A=
=0A=
			for ( p in prop ) {=0A=
				var name =3D p.replace(rdashAlpha, fcamelCase);=0A=
=0A=
				if ( p !=3D=3D name ) {=0A=
					prop[ name ] =3D prop[ p ];=0A=
					delete prop[ p ];=0A=
					p =3D name;=0A=
				}=0A=
=0A=
				if ( prop[p] =3D=3D=3D "hide" && hidden || prop[p] =3D=3D=3D "show" =
&& !hidden ) {=0A=
					return opt.complete.call(this);=0A=
				}=0A=
=0A=
				if ( ( p =3D=3D=3D "height" || p =3D=3D=3D "width" ) && this.style ) =
{=0A=
					// Store display property=0A=
					opt.display =3D jQuery.css(this, "display");=0A=
=0A=
					// Make sure that nothing sneaks out=0A=
					opt.overflow =3D this.style.overflow;=0A=
				}=0A=
=0A=
				if ( jQuery.isArray( prop[p] ) ) {=0A=
					// Create (if needed) and add to specialEasing=0A=
					(opt.specialEasing =3D opt.specialEasing || {})[p] =3D prop[p][1];=0A=
					prop[p] =3D prop[p][0];=0A=
				}=0A=
			}=0A=
=0A=
			if ( opt.overflow !=3D null ) {=0A=
				this.style.overflow =3D "hidden";=0A=
			}=0A=
=0A=
			opt.curAnim =3D jQuery.extend({}, prop);=0A=
=0A=
			jQuery.each( prop, function( name, val ) {=0A=
				var e =3D new jQuery.fx( self, opt, name );=0A=
=0A=
				if ( rfxtypes.test(val) ) {=0A=
					e[ val =3D=3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop =
);=0A=
=0A=
				} else {=0A=
					var parts =3D rfxnum.exec(val),=0A=
						start =3D e.cur(true) || 0;=0A=
=0A=
					if ( parts ) {=0A=
						var end =3D parseFloat( parts[2] ),=0A=
							unit =3D parts[3] || "px";=0A=
=0A=
						// We need to compute starting value=0A=
						if ( unit !=3D=3D "px" ) {=0A=
							self.style[ name ] =3D (end || 1) + unit;=0A=
							start =3D ((end || 1) / e.cur(true)) * start;=0A=
							self.style[ name ] =3D start + unit;=0A=
						}=0A=
=0A=
						// If a +=3D/-=3D token was provided, we're doing a relative =
animation=0A=
						if ( parts[1] ) {=0A=
							end =3D ((parts[1] =3D=3D=3D "-=3D" ? -1 : 1) * end) + start;=0A=
						}=0A=
=0A=
						e.custom( start, end, unit );=0A=
=0A=
					} else {=0A=
						e.custom( start, val, "" );=0A=
					}=0A=
				}=0A=
			});=0A=
=0A=
			// For JS strict compliance=0A=
			return true;=0A=
		});=0A=
	},=0A=
=0A=
	stop: function( clearQueue, gotoEnd ) {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		if ( clearQueue ) {=0A=
			this.queue([]);=0A=
		}=0A=
=0A=
		this.each(function() {=0A=
			// go in reverse order so anything added to the queue during the loop =
is ignored=0A=
			for ( var i =3D timers.length - 1; i >=3D 0; i-- ) {=0A=
				if ( timers[i].elem =3D=3D=3D this ) {=0A=
					if (gotoEnd) {=0A=
						// force the next step to be the last=0A=
						timers[i](true);=0A=
					}=0A=
=0A=
					timers.splice(i, 1);=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		// start the next in the queue if the last step wasn't forced=0A=
		if ( !gotoEnd ) {=0A=
			this.dequeue();=0A=
		}=0A=
=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
// Generate shortcuts for custom animations=0A=
jQuery.each({=0A=
	slideDown: genFx("show", 1),=0A=
	slideUp: genFx("hide", 1),=0A=
	slideToggle: genFx("toggle", 1),=0A=
	fadeIn: { opacity: "show" },=0A=
	fadeOut: { opacity: "hide" }=0A=
}, function( name, props ) {=0A=
	jQuery.fn[ name ] =3D function( speed, callback ) {=0A=
		return this.animate( props, speed, callback );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	speed: function( speed, easing, fn ) {=0A=
		var opt =3D speed && typeof speed =3D=3D=3D "object" ? speed : {=0A=
			complete: fn || !fn && easing ||=0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing=0A=
		};=0A=
=0A=
		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :=0A=
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;=0A=
=0A=
		// Queueing=0A=
		opt.old =3D opt.complete;=0A=
		opt.complete =3D function() {=0A=
			if ( opt.queue !=3D=3D false ) {=0A=
				jQuery(this).dequeue();=0A=
			}=0A=
			if ( jQuery.isFunction( opt.old ) ) {=0A=
				opt.old.call( this );=0A=
			}=0A=
		};=0A=
=0A=
		return opt;=0A=
	},=0A=
=0A=
	easing: {=0A=
		linear: function( p, n, firstNum, diff ) {=0A=
			return firstNum + diff * p;=0A=
		},=0A=
		swing: function( p, n, firstNum, diff ) {=0A=
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;=0A=
		}=0A=
	},=0A=
=0A=
	timers: [],=0A=
=0A=
	fx: function( elem, options, prop ) {=0A=
		this.options =3D options;=0A=
		this.elem =3D elem;=0A=
		this.prop =3D prop;=0A=
=0A=
		if ( !options.orig ) {=0A=
			options.orig =3D {};=0A=
		}=0A=
	}=0A=
=0A=
});=0A=
=0A=
jQuery.fx.prototype =3D {=0A=
	// Simple function for setting a style value=0A=
	update: function() {=0A=
		if ( this.options.step ) {=0A=
			this.options.step.call( this.elem, this.now, this );=0A=
		}=0A=
=0A=
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );=0A=
=0A=
		// Set display property to block for height/width animations=0A=
		if ( ( this.prop =3D=3D=3D "height" || this.prop =3D=3D=3D "width" ) =
&& this.elem.style ) {=0A=
			this.elem.style.display =3D "block";=0A=
		}=0A=
	},=0A=
=0A=
	// Get the current size=0A=
	cur: function( force ) {=0A=
		if ( this.elem[this.prop] !=3D null && (!this.elem.style || =
this.elem.style[this.prop] =3D=3D null) ) {=0A=
			return this.elem[ this.prop ];=0A=
		}=0A=
=0A=
		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));=0A=
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;=0A=
	},=0A=
=0A=
	// Start an animation from one number to another=0A=
	custom: function( from, to, unit ) {=0A=
		this.startTime =3D now();=0A=
		this.start =3D from;=0A=
		this.end =3D to;=0A=
		this.unit =3D unit || this.unit || "px";=0A=
		this.now =3D this.start;=0A=
		this.pos =3D this.state =3D 0;=0A=
=0A=
		var self =3D this;=0A=
		function t( gotoEnd ) {=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		if ( t() && jQuery.timers.push(t) && !timerId ) {=0A=
			timerId =3D setInterval(jQuery.fx.tick, 13);=0A=
		}=0A=
	},=0A=
=0A=
	// Simple 'show' function=0A=
	show: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.show =3D true;=0A=
=0A=
		// Begin the animation=0A=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		this.custom(this.prop =3D=3D=3D "width" || this.prop =3D=3D=3D =
"height" ? 1 : 0, this.cur());=0A=
=0A=
		// Start by showing the element=0A=
		jQuery( this.elem ).show();=0A=
	},=0A=
=0A=
	// Simple 'hide' function=0A=
	hide: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.hide =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(this.cur(), 0);=0A=
	},=0A=
=0A=
	// Each step of an animation=0A=
	step: function( gotoEnd ) {=0A=
		var t =3D now(), done =3D true;=0A=
=0A=
		if ( gotoEnd || t >=3D this.options.duration + this.startTime ) {=0A=
			this.now =3D this.end;=0A=
			this.pos =3D this.state =3D 1;=0A=
			this.update();=0A=
=0A=
			this.options.curAnim[ this.prop ] =3D true;=0A=
=0A=
			for ( var i in this.options.curAnim ) {=0A=
				if ( this.options.curAnim[i] !=3D=3D true ) {=0A=
					done =3D false;=0A=
				}=0A=
			}=0A=
=0A=
			if ( done ) {=0A=
				if ( this.options.display !=3D null ) {=0A=
					// Reset the overflow=0A=
					this.elem.style.overflow =3D this.options.overflow;=0A=
=0A=
					// Reset the display=0A=
					var old =3D jQuery.data(this.elem, "olddisplay");=0A=
					this.elem.style.display =3D old ? old : this.options.display;=0A=
=0A=
					if ( jQuery.css(this.elem, "display") =3D=3D=3D "none" ) {=0A=
						this.elem.style.display =3D "block";=0A=
					}=0A=
				}=0A=
=0A=
				// Hide the element if the "hide" operation was done=0A=
				if ( this.options.hide ) {=0A=
					jQuery(this.elem).hide();=0A=
				}=0A=
=0A=
				// Reset the properties, if the item has been hidden or shown=0A=
				if ( this.options.hide || this.options.show ) {=0A=
					for ( var p in this.options.curAnim ) {=0A=
						jQuery.style(this.elem, p, this.options.orig[p]);=0A=
					}=0A=
				}=0A=
=0A=
				// Execute the complete function=0A=
				this.options.complete.call( this.elem );=0A=
			}=0A=
=0A=
			return false;=0A=
=0A=
		} else {=0A=
			var n =3D t - this.startTime;=0A=
			this.state =3D n / this.options.duration;=0A=
=0A=
			// Perform the easing function, defaults to swing=0A=
			var specialEasing =3D this.options.specialEasing && =
this.options.specialEasing[this.prop];=0A=
			var defaultEasing =3D this.options.easing || (jQuery.easing.swing ? =
"swing" : "linear");=0A=
			this.pos =3D jQuery.easing[specialEasing || =
defaultEasing](this.state, n, 0, 1, this.options.duration);=0A=
			this.now =3D this.start + ((this.end - this.start) * this.pos);=0A=
=0A=
			// Perform the next step of the animation=0A=
			this.update();=0A=
		}=0A=
=0A=
		return true;=0A=
	}=0A=
};=0A=
=0A=
jQuery.extend( jQuery.fx, {=0A=
	tick: function() {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		for ( var i =3D 0; i < timers.length; i++ ) {=0A=
			if ( !timers[i]() ) {=0A=
				timers.splice(i--, 1);=0A=
			}=0A=
		}=0A=
=0A=
		if ( !timers.length ) {=0A=
			jQuery.fx.stop();=0A=
		}=0A=
	},=0A=
		=0A=
	stop: function() {=0A=
		clearInterval( timerId );=0A=
		timerId =3D null;=0A=
	},=0A=
	=0A=
	speeds: {=0A=
		slow: 600,=0A=
 		fast: 200,=0A=
 		// Default speed=0A=
 		_default: 400=0A=
	},=0A=
=0A=
	step: {=0A=
		opacity: function( fx ) {=0A=
			jQuery.style(fx.elem, "opacity", fx.now);=0A=
		},=0A=
=0A=
		_default: function( fx ) {=0A=
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null ) {=0A=
				fx.elem.style[ fx.prop ] =3D (fx.prop =3D=3D=3D "width" || fx.prop =
=3D=3D=3D "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;=0A=
			} else {=0A=
				fx.elem[ fx.prop ] =3D fx.now;=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.animated =3D function( elem ) {=0A=
		return jQuery.grep(jQuery.timers, function( fn ) {=0A=
			return elem =3D=3D=3D fn.elem;=0A=
		}).length;=0A=
	};=0A=
}=0A=
=0A=
function genFx( type, num ) {=0A=
	var obj =3D {};=0A=
=0A=
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() =
{=0A=
		obj[ this ] =3D type;=0A=
	});=0A=
=0A=
	return obj;=0A=
}=0A=
if ( "getBoundingClientRect" in document.documentElement ) {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		var box =3D elem.getBoundingClientRect(), doc =3D elem.ownerDocument, =
body =3D doc.body, docElem =3D doc.documentElement,=0A=
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,=0A=
			top  =3D box.top  + (self.pageYOffset || jQuery.support.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,=0A=
			left =3D box.left + (self.pageXOffset || jQuery.support.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
=0A=
} else {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		var offsetParent =3D elem.offsetParent, prevOffsetParent =3D elem,=0A=
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,=0A=
			body =3D doc.body, defaultView =3D doc.defaultView,=0A=
			prevComputedStyle =3D defaultView ? defaultView.getComputedStyle( =
elem, null ) : elem.currentStyle,=0A=
			top =3D elem.offsetTop, left =3D elem.offsetLeft;=0A=
=0A=
		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {=0A=
			if ( jQuery.offset.supportsFixedPosition && =
prevComputedStyle.position =3D=3D=3D "fixed" ) {=0A=
				break;=0A=
			}=0A=
=0A=
			computedStyle =3D defaultView ? defaultView.getComputedStyle(elem, =
null) : elem.currentStyle;=0A=
			top  -=3D elem.scrollTop;=0A=
			left -=3D elem.scrollLeft;=0A=
=0A=
			if ( elem =3D=3D=3D offsetParent ) {=0A=
				top  +=3D elem.offsetTop;=0A=
				left +=3D elem.offsetLeft;=0A=
=0A=
				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.nodeName)) ) {=0A=
					top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
					left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
				}=0A=
=0A=
				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;=0A=
			}=0A=
=0A=
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" ) {=0A=
				top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
				left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
			}=0A=
=0A=
			prevComputedStyle =3D computedStyle;=0A=
		}=0A=
=0A=
		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" ) {=0A=
			top  +=3D body.offsetTop;=0A=
			left +=3D body.offsetLeft;=0A=
		}=0A=
=0A=
		if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position =
=3D=3D=3D "fixed" ) {=0A=
			top  +=3D Math.max( docElem.scrollTop, body.scrollTop );=0A=
			left +=3D Math.max( docElem.scrollLeft, body.scrollLeft );=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
}=0A=
=0A=
jQuery.offset =3D {=0A=
	initialize: function() {=0A=
		var body =3D document.body, container =3D =
document.createElement("div"), innerDiv, checkDiv, table, td, =
bodyMarginTop =3D parseFloat( jQuery.curCSS(body, "marginTop", true) ) =
|| 0,=0A=
			html =3D "<div =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;'><div></div></div><table =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;' cellpadding=3D'0' =
cellspacing=3D'0'><tr><td></td></tr></table>";=0A=
=0A=
		jQuery.extend( container.style, { position: "absolute", top: 0, left: =
0, margin: 0, border: 0, width: "1px", height: "1px", visibility: =
"hidden" } );=0A=
=0A=
		container.innerHTML =3D html;=0A=
		body.insertBefore( container, body.firstChild );=0A=
		innerDiv =3D container.firstChild;=0A=
		checkDiv =3D innerDiv.firstChild;=0A=
		td =3D innerDiv.nextSibling.firstChild.firstChild;=0A=
=0A=
		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);=0A=
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);=0A=
=0A=
		checkDiv.style.position =3D "fixed", checkDiv.style.top =3D "20px";=0A=
		// safari subtracts parent border width here which is 5px=0A=
		this.supportsFixedPosition =3D (checkDiv.offsetTop =3D=3D=3D 20 || =
checkDiv.offsetTop =3D=3D=3D 15);=0A=
		checkDiv.style.position =3D checkDiv.style.top =3D "";=0A=
=0A=
		innerDiv.style.overflow =3D "hidden", innerDiv.style.position =3D =
"relative";=0A=
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);=0A=
=0A=
		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop !=3D=3D =
bodyMarginTop);=0A=
=0A=
		body.removeChild( container );=0A=
		body =3D container =3D innerDiv =3D checkDiv =3D table =3D td =3D null;=0A=
		jQuery.offset.initialize =3D jQuery.noop;=0A=
	},=0A=
=0A=
	bodyOffset: function( body ) {=0A=
		var top =3D body.offsetTop, left =3D body.offsetLeft;=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {=0A=
			top  +=3D parseFloat( jQuery.curCSS(body, "marginTop",  true) ) || 0;=0A=
			left +=3D parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	},=0A=
	=0A=
	setOffset: function( elem, options, i ) {=0A=
		// set position first, in-case top/left are set even on static elem=0A=
		if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {=0A=
			elem.style.position =3D "relative";=0A=
		}=0A=
		var curElem   =3D jQuery( elem ),=0A=
			curOffset =3D curElem.offset(),=0A=
			curTop    =3D parseInt( jQuery.curCSS( elem, "top",  true ), 10 ) || =
0,=0A=
			curLeft   =3D parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || =
0;=0A=
=0A=
		if ( jQuery.isFunction( options ) ) {=0A=
			options =3D options.call( elem, i, curOffset );=0A=
		}=0A=
=0A=
		var props =3D {=0A=
			top:  (options.top  - curOffset.top)  + curTop,=0A=
			left: (options.left - curOffset.left) + curLeft=0A=
		};=0A=
		=0A=
		if ( "using" in options ) {=0A=
			options.using.call( elem, props );=0A=
		} else {=0A=
			curElem.css( props );=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
=0A=
jQuery.fn.extend({=0A=
	position: function() {=0A=
		if ( !this[0] ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		var elem =3D this[0],=0A=
=0A=
		// Get *real* offsetParent=0A=
		offsetParent =3D this.offsetParent(),=0A=
=0A=
		// Get correct offsets=0A=
		offset       =3D this.offset(),=0A=
		parentOffset =3D /^body|html$/i.test(offsetParent[0].nodeName) ? { =
top: 0, left: 0 } : offsetParent.offset();=0A=
=0A=
		// Subtract element margins=0A=
		// note: when an element has margin: auto the offsetLeft and marginLeft=0A=
		// are the same in Safari causing offset.left to incorrectly be 0=0A=
		offset.top  -=3D parseFloat( jQuery.curCSS(elem, "marginTop",  true) ) =
|| 0;=0A=
		offset.left -=3D parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) =
|| 0;=0A=
=0A=
		// Add offsetParent borders=0A=
		parentOffset.top  +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderTopWidth",  true) ) || 0;=0A=
		parentOffset.left +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderLeftWidth", true) ) || 0;=0A=
=0A=
		// Subtract the two offsets=0A=
		return {=0A=
			top:  offset.top  - parentOffset.top,=0A=
			left: offset.left - parentOffset.left=0A=
		};=0A=
	},=0A=
=0A=
	offsetParent: function() {=0A=
		return this.map(function() {=0A=
			var offsetParent =3D this.offsetParent || document.body;=0A=
			while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) =
&& jQuery.css(offsetParent, "position") =3D=3D=3D "static") ) {=0A=
				offsetParent =3D offsetParent.offsetParent;=0A=
			}=0A=
			return offsetParent;=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
=0A=
// Create scrollLeft and scrollTop methods=0A=
jQuery.each( ["Left", "Top"], function( i, name ) {=0A=
	var method =3D "scroll" + name;=0A=
=0A=
	jQuery.fn[ method ] =3D function(val) {=0A=
		var elem =3D this[0], win;=0A=
		=0A=
		if ( !elem ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( val !=3D=3D undefined ) {=0A=
			// Set the scroll offset=0A=
			return this.each(function() {=0A=
				win =3D getWindow( this );=0A=
=0A=
				if ( win ) {=0A=
					win.scrollTo(=0A=
						!i ? val : jQuery(win).scrollLeft(),=0A=
						 i ? val : jQuery(win).scrollTop()=0A=
					);=0A=
=0A=
				} else {=0A=
					this[ method ] =3D val;=0A=
				}=0A=
			});=0A=
		} else {=0A=
			win =3D getWindow( elem );=0A=
=0A=
			// Return the scroll offset=0A=
			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : =
"pageXOffset" ] :=0A=
				jQuery.support.boxModel && win.document.documentElement[ method ] ||=0A=
					win.document.body[ method ] :=0A=
				elem[ method ];=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
function getWindow( elem ) {=0A=
	return ("scrollTo" in elem && elem.document) ?=0A=
		elem :=0A=
		elem.nodeType =3D=3D=3D 9 ?=0A=
			elem.defaultView || elem.parentWindow :=0A=
			false;=0A=
}=0A=
// Create innerHeight, innerWidth, outerHeight and outerWidth methods=0A=
jQuery.each([ "Height", "Width" ], function( i, name ) {=0A=
=0A=
	var type =3D name.toLowerCase();=0A=
=0A=
	// innerHeight and innerWidth=0A=
	jQuery.fn["inner" + name] =3D function() {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, "padding" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	// outerHeight and outerWidth=0A=
	jQuery.fn["outer" + name] =3D function( margin ) {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	jQuery.fn[ type ] =3D function( size ) {=0A=
		// Get window width or height=0A=
		var elem =3D this[0];=0A=
		if ( !elem ) {=0A=
			return size =3D=3D null ? null : this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( size ) ) {=0A=
			return this.each(function( i ) {=0A=
				var self =3D jQuery( this );=0A=
				self[ type ]( size.call( this, i, self[ type ]() ) );=0A=
			});=0A=
		}=0A=
=0A=
		return ("scrollTo" in elem && elem.document) ? // does it walk and =
quack like a window?=0A=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			elem.document.compatMode =3D=3D=3D "CSS1Compat" && =
elem.document.documentElement[ "client" + name ] ||=0A=
			elem.document.body[ "client" + name ] :=0A=
=0A=
			// Get document width or height=0A=
			(elem.nodeType =3D=3D=3D 9) ? // is it a document=0A=
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater=0A=
				Math.max(=0A=
					elem.documentElement["client" + name],=0A=
					elem.body["scroll" + name], elem.documentElement["scroll" + name],=0A=
					elem.body["offset" + name], elem.documentElement["offset" + name]=0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=3D=3D undefined ?=0A=
					// Get width or height on the element=0A=
					jQuery.css( elem, type ) :=0A=
=0A=
					// Set the width or height on the element (default to pixels if =
value is unitless)=0A=
					this.css( type, typeof size =3D=3D=3D "string" ? size : size + "px" =
);=0A=
	};=0A=
=0A=
});=0A=
// Expose jQuery to the global object=0A=
window.jQuery =3D window.$ =3D jQuery;=0A=
=0A=
})(window);=0A=

------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/js/jquery.infieldlabel.min.js

/*=0A=
 * In-Field Label jQuery Plugin=0A=
 * http://fuelyourcoding.com/scripts/infield.html=0A=
 *=0A=
 * Copyright (c) 2009 Doug Neiner=0A=
 * Dual licensed under the MIT and GPL licenses.=0A=
 * Uses the same license as jQuery, see:=0A=
 * http://docs.jquery.com/License=0A=
 *=0A=
 * @version 0.1=0A=
 */=0A=
(function($){$.InFieldLabels=3Dfunction(label,field,options){var =
base=3Dthis;base.$label=3D$(label);base.$field=3D$(field);base.$label.dat=
a("InFieldLabels",base);base.showing=3Dtrue;base.init=3Dfunction(){base.o=
ptions=3D$.extend({},$.InFieldLabels.defaultOptions,options);base.$label.=
css('position','absolute');var =
fieldPosition=3Dbase.$field.position();base.$label.css({'left':fieldPosit=
ion.left,'top':fieldPosition.top}).addClass(base.options.labelClass);if(b=
ase.$field.val()!=3D""){base.$label.hide();base.showing=3Dfalse;};base.$f=
ield.focus(function(){base.fadeOnFocus();}).blur(function(){base.checkFor=
Empty(true);}).bind('keydown.infieldlabel',function(e){base.hideOnChange(=
e);}).change(function(e){base.checkForEmpty();}).bind('onPropertyChange',=
function(){base.checkForEmpty();});};base.fadeOnFocus=3Dfunction(){if(bas=
e.showing){base.setOpacity(base.options.fadeOpacity);};};base.setOpacity=3D=
function(opacity){base.$label.stop().animate({opacity:opacity},base.optio=
ns.fadeDuration);base.showing=3D(opacity>0.0);};base.checkForEmpty=3Dfunc=
tion(blur){if(base.$field.val()=3D=3D""){base.prepForShow();base.setOpaci=
ty(blur?1.0:base.options.fadeOpacity);}else{base.setOpacity(0.0);};};base=
.prepForShow=3Dfunction(e){if(!base.showing){base.$label.css({opacity:0.0=
}).show();base.$field.bind('keydown.infieldlabel',function(e){base.hideOn=
Change(e);});};};base.hideOnChange=3Dfunction(e){if((e.keyCode=3D=3D16)||=
(e.keyCode=3D=3D9))return;if(base.showing){base.$label.hide();base.showin=
g=3Dfalse;};base.$field.unbind('keydown.infieldlabel');};base.init();};$.=
InFieldLabels.defaultOptions=3D{fadeOpacity:0.5,fadeDuration:300,labelCla=
ss:'infield'};$.fn.inFieldLabels=3Dfunction(options){return =
this.each(function(){var =
for_attr=3D$(this).attr('for');if(!for_attr)return;var =
$field=3D$("input#"+for_attr+"[type=3D'text'],"+"input#"+for_attr+"[type=3D=
'password'],"+"textarea#"+for_attr);if($field.length=3D=3D0)return;(new =
$.InFieldLabels(this,$field[0],options));});};})(jQuery);
------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/js/base.js

// For compability with Internet Explorer (django ajax selects issue 33 =
patch)=0A=
if (!Array.prototype.forEach)=0A=
{=0A=
  Array.prototype.forEach =3D function(fun /*, thisp*/) {=0A=
    var len =3D this.length;=0A=
    if (typeof fun !=3D "function")=0A=
      throw new TypeError();=0A=
    var thisp =3D arguments[1];=0A=
    for (var i =3D 0; i < len; i++)=0A=
    {=0A=
      if (i in this)=0A=
        fun.call(thisp, this[i], i, this);=0A=
    }=0A=
  };=0A=
}=0A=
=0A=
jQuery.noConflict();=0A=
=0A=
function search_change_page()=0A=
{=0A=
	var hidden_form =3D jQuery('#hidden-form-id')=0A=
	jQuery(hidden_form).attr("action", location.pathname + location.search);=0A=
	jQuery("input[name=3D'requiredPageIndex']", =
hidden_form).val(jQuery("a", this).attr("rel"));=0A=
	jQuery(hidden_form).submit();=0A=
	return false;=0A=
}=0A=
=0A=
function article_action(action)=0A=
{=0A=
	if(action =3D=3D "archive" || action =3D=3D "vote")=0A=
	{=0A=
		jQuery.ajax({=0A=
	        type: "POST",=0A=
	        url: "/articles/article-action/" + action + "/",=0A=
	        data: "articleId=3D" + jQuery("#article-id").val(),=0A=
	        beforeSend: function() {=0A=
	        },=0A=
	        success: function(msg) {=0A=
	        },=0A=
	        complete: function(complete) {=0A=
	        	if(complete.responseText =3D=3D "True")=0A=
	        	{=0A=
	        		if(action =3D=3D "archive")=0A=
		        	{=0A=
			            jQuery(".archive").each(function(){=0A=
			            	jQuery(this).removeClass("archive");=0A=
			            	jQuery(this).addClass("archived");=0A=
			            	jQuery(this).unbind("click");=0A=
			            });=0A=
		        	}=0A=
		        	else if(action =3D=3D "vote")=0A=
		        	{=0A=
		        		jQuery(".recommend").each(function(){=0A=
			            	jQuery(this).removeClass("recommend");=0A=
			            	jQuery(this).addClass("recommended");=0A=
			            	jQuery(this).unbind("click");=0A=
			            });=0A=
		        	}=0A=
	        	}=0A=
	        }=0A=
		});=0A=
		return false;=0A=
	}=0A=
	else if(action =3D=3D "pdf")=0A=
	{=0A=
		var form =3D jQuery("#hidden-form");=0A=
		jQuery(form).attr("action", "/articles/article-action/" + action + =
"/");=0A=
		jQuery(form).attr("method", "post");=0A=
		jQuery(form).submit();=0A=
		jQuery(".pdf").each(function(){=0A=
        	jQuery(this).removeClass("pdf");=0A=
        	jQuery(this).addClass("pdfed");=0A=
        	jQuery(this).unbind("click");=0A=
        });=0A=
	}=0A=
}=0A=
=0A=
function text_size(action)=0A=
{=0A=
	var element =3D jQuery('.article-text, .article .article-list =
p').each(function() {=0A=
		var current_size =3D jQuery(this).css('font-size');=0A=
	    var current_size_int =3D parseInt(current_size, 10);=0A=
	    var new_size;=0A=
	    if(action =3D=3D "decrease")=0A=
	    {=0A=
	    	new_size =3D current_size_int - 1;=0A=
	    }=0A=
	    else if(action =3D=3D "increase")=0A=
	    {=0A=
	    	new_size =3D current_size_int + 1;=0A=
	    }=0A=
	    jQuery(this).css('font-size', String(new_size) + "px");=0A=
	});=0A=
    return false;=0A=
}=0A=
=0A=
function remove_from_archive(element, user_archive_id)=0A=
{=0A=
	jQuery.ajax({=0A=
        type: "POST",=0A=
        url: location.pathname,=0A=
        data: "userArchiveId=3D" + user_archive_id,=0A=
        beforeSend: function() {=0A=
        },=0A=
        success: function(msg) {=0A=
        },=0A=
        complete: function(complete) {=0A=
        	if(complete.responseText =3D=3D "True")=0A=
        	{=0A=
        		jQuery(element).closest("li").remove();=0A=
        		if (jQuery('#main #content .search-results li').length =3D=3D =
0) {=0A=
        		  jQuery('#main #content .search-results').remove();=0A=
        		  jQuery('#archive_sample').show();=0A=
        		}=0A=
        	}=0A=
        }=0A=
	});=0A=
	return false;=0A=
}=0A=
=0A=
jQuery.fn._blank =3D function() {=0A=
  return this.filter('a[href]').click(function(e){=0A=
    if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey)=0A=
      return;=0A=
    else=0A=
    {=0A=
      var w =3D window.open(this.href, '_blank');=0A=
      if (w && !w.closed)=0A=
      {=0A=
        e.preventDefault();=0A=
        w.focus();=0A=
      }=0A=
    }=0A=
  });=0A=
}=0A=
=0A=
jQuery(function($){=0A=
  $('a._blank')._blank();=0A=
});=0A=
=0A=
=0A=
function newsletter_submit(form)=0A=
{=0A=
	jQuery.ajax({=0A=
        type: "POST",=0A=
        url: jQuery(form).attr("action"),=0A=
        data: jQuery(form).serialize(),=0A=
        beforeSend: function() {=0A=
        },=0A=
        success: function(msg) {=0A=
        },=0A=
        complete: function(complete) {=0A=
        	jQuery(".message", form).html(complete.responseText);=0A=
        }=0A=
	});=0A=
	return false;=0A=
}=0A=
=0A=
jQuery(document).ready(function(){=0A=
  jQuery("label.inline").inFieldLabels();=0A=
});
------=_NextPart_000_0000_01CCC620.4CBE1300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://62-22-50-72.m3d.net/media/js/swfobject.js

/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> =0A=
	is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php> =0A=
*/=0A=
var swfobject=3Dfunction(){var =
D=3D"undefined",r=3D"object",S=3D"Shockwave =
Flash",W=3D"ShockwaveFlash.ShockwaveFlash",q=3D"application/x-shockwave-f=
lash",R=3D"SWFObjectExprInst",x=3D"onreadystatechange",O=3Dwindow,j=3Ddoc=
ument,t=3Dnavigator,T=3Dfalse,U=3D[h],o=3D[],N=3D[],I=3D[],l,Q,E,B,J=3Dfa=
lse,a=3Dfalse,n,G,m=3Dtrue,M=3Dfunction(){var aa=3Dtypeof =
j.getElementById!=3DD&&typeof j.getElementsByTagName!=3DD&&typeof =
j.createElement!=3DD,ah=3Dt.userAgent.toLowerCase(),Y=3Dt.platform.toLowe=
rCase(),ae=3DY?/win/.test(Y):/win/.test(ah),ac=3DY?/mac/.test(Y):/mac/.te=
st(ah),af=3D/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d=
+)?).*$/,"$1")):false,X=3D!+"\v1",ag=3D[0,0,0],ab=3Dnull;if(typeof =
t.plugins!=3DD&&typeof =
t.plugins[S]=3D=3Dr){ab=3Dt.plugins[S].description;if(ab&&!(typeof =
t.mimeTypes!=3DD&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=3Dtru=
e;X=3Dfalse;ab=3Dab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=3DparseInt(a=
b.replace(/^(.*)\..*$/,"$1"),10);ag[1]=3DparseInt(ab.replace(/^.*\.(.*)\s=
.*$/,"$1"),10);ag[2]=3D/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-=
Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=3DD){try{var =
ad=3Dnew =
ActiveXObject(W);if(ad){ab=3Dad.GetVariable("$version");if(ab){X=3Dtrue;a=
b=3Dab.split(" =
")[1].split(",");ag=3D[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[=
2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=3D=
function(){if(!M.w3){return}if((typeof =
j.readyState!=3DD&&j.readyState=3D=3D"complete")||(typeof =
j.readyState=3D=3DD&&(j.getElementsByTagName("body")[0]||j.body))){f()}if=
(!J){if(typeof =
j.addEventListener!=3DD){j.addEventListener("DOMContentLoaded",f,false)}i=
f(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=3D=3D"complete"=
){j.detachEvent(x,arguments.callee);f()}});if(O=3D=3Dtop){(function(){if(=
J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(argu=
ments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/lo=
aded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}=
f()})()}s(f)}}();function f(){if(J){return}try{var =
Z=3Dj.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode=
.removeChild(Z)}catch(aa){return}J=3Dtrue;var X=3DU.length;for(var =
Y=3D0;Y<X;Y++){U[Y]()}}function =
K(X){if(J){X()}else{U[U.length]=3DX}}function s(Y){if(typeof =
O.addEventListener!=3DD){O.addEventListener("load",Y,false)}else{if(typeo=
f =
j.addEventListener!=3DD){j.addEventListener("load",Y,false)}else{if(typeo=
f O.attachEvent!=3DD){i(O,"onload",Y)}else{if(typeof =
O.onload=3D=3D"function"){var =
X=3DO.onload;O.onload=3Dfunction(){X();Y()}}else{O.onload=3DY}}}}}functio=
n h(){if(T){V()}else{H()}}function V(){var =
X=3Dj.getElementsByTagName("body")[0];var =
aa=3DC(r);aa.setAttribute("type",q);var Z=3DX.appendChild(aa);if(Z){var =
Y=3D0;(function(){if(typeof Z.GetVariable!=3DD){var =
ab=3DZ.GetVariable("$version");if(ab){ab=3Dab.split(" =
")[1].split(",");M.pv=3D[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(a=
b[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.re=
moveChild(aa);Z=3Dnull;H()})()}else{H()}}function H(){var =
ag=3Do.length;if(ag>0){for(var af=3D0;af<ag;af++){var Y=3Do[af].id;var =
ab=3Do[af].callbackFn;var aa=3D{success:false,id:Y};if(M.pv[0]>0){var =
ae=3Dc(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(=
ab){aa.success=3Dtrue;aa.ref=3Dz(Y);ab(aa)}}else{if(o[af].expressInstall&=
&A()){var =
ai=3D{};ai.data=3Do[af].expressInstall;ai.width=3Dae.getAttribute("width"=
)||"0";ai.height=3Dae.getAttribute("height")||"0";if(ae.getAttribute("cla=
ss")){ai.styleclass=3Dae.getAttribute("class")}if(ae.getAttribute("align"=
)){ai.align=3Dae.getAttribute("align")}var ah=3D{};var =
X=3Dae.getElementsByTagName("param");var ac=3DX.length;for(var =
ad=3D0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!=3D"movie"=
){ah[X[ad].getAttribute("name")]=3DX[ad].getAttribute("value")}}P(ai,ah,Y=
,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var =
Z=3Dz(Y);if(Z&&typeof =
Z.SetVariable!=3DD){aa.success=3Dtrue;aa.ref=3DZ}ab(aa)}}}}}function =
z(aa){var X=3Dnull;var =
Y=3Dc(aa);if(Y&&Y.nodeName=3D=3D"OBJECT"){if(typeof =
Y.SetVariable!=3DD){X=3DY}else{var =
Z=3DY.getElementsByTagName(r)[0];if(Z){X=3DZ}}}return X}function =
A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function =
P(aa,ab,X,Z){a=3Dtrue;E=3DZ||null;B=3D{success:false,id:X};var =
ae=3Dc(X);if(ae){if(ae.nodeName=3D=3D"OBJECT"){l=3Dg(ae);Q=3Dnull}else{l=3D=
ae;Q=3DX}aa.id=3DR;if(typeof =
aa.width=3D=3DD||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.wi=
dth=3D"310"}if(typeof =
aa.height=3D=3DD||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa=
.height=3D"137"}j.title=3Dj.title.slice(0,47)+" - Flash Player =
Installation";var =
ad=3DM.ie&&M.win?"ActiveX":"PlugIn",ac=3D"MMredirectURL=3D"+O.location.to=
String().replace(/&/g,"%26")+"&MMplayerType=3D"+ad+"&MMdoctitle=3D"+j.tit=
le;if(typeof =
ab.flashvars!=3DD){ab.flashvars+=3D"&"+ac}else{ab.flashvars=3Dac}if(M.ie&=
&M.win&&ae.readyState!=3D4){var =
Y=3DC("div");X+=3D"SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.ins=
ertBefore(Y,ae);ae.style.display=3D"none";(function(){if(ae.readyState=3D=
=3D4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}=
})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=3D4){var =
X=3DC("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y=
),X);Y.style.display=3D"none";(function(){if(Y.readyState=3D=3D4){Y.paren=
tNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.par=
entNode.replaceChild(g(Y),Y)}}function g(ab){var =
aa=3DC("div");if(M.win&&M.ie){aa.innerHTML=3Dab.innerHTML}else{var =
Y=3Dab.getElementsByTagName(r)[0];if(Y){var ad=3DY.childNodes;if(ad){var =
X=3Dad.length;for(var =
Z=3D0;Z<X;Z++){if(!(ad[Z].nodeType=3D=3D1&&ad[Z].nodeName=3D=3D"PARAM")&&=
!(ad[Z].nodeType=3D=3D8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}retur=
n aa}function u(ai,ag,Y){var X,aa=3Dc(Y);if(M.wk&&M.wk<312){return =
X}if(aa){if(typeof ai.id=3D=3DD){ai.id=3DY}if(M.ie&&M.win){var =
ah=3D"";for(var ae in =
ai){if(ai[ae]!=3DObject.prototype[ae]){if(ae.toLowerCase()=3D=3D"data"){a=
g.movie=3Dai[ae]}else{if(ae.toLowerCase()=3D=3D"styleclass"){ah+=3D' =
class=3D"'+ai[ae]+'"'}else{if(ae.toLowerCase()!=3D"classid"){ah+=3D" =
"+ae+'=3D"'+ai[ae]+'"'}}}}}var af=3D"";for(var ad in =
ag){if(ag[ad]!=3DObject.prototype[ad]){af+=3D'<param name=3D"'+ad+'" =
value=3D"'+ag[ad]+'" />'}}aa.outerHTML=3D'<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</obje=
ct>";N[N.length]=3Dai.id;X=3Dc(ai.id)}else{var =
Z=3DC(r);Z.setAttribute("type",q);for(var ac in =
ai){if(ai[ac]!=3DObject.prototype[ac]){if(ac.toLowerCase()=3D=3D"stylecla=
ss"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!=3D"classid"=
){Z.setAttribute(ac,ai[ac])}}}}for(var ab in =
ag){if(ag[ab]!=3DObject.prototype[ab]&&ab.toLowerCase()!=3D"movie"){e(Z,a=
b,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=3DZ}}return X}function =
e(Z,X,Y){var =
aa=3DC("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.ap=
pendChild(aa)}function y(Y){var =
X=3Dc(Y);if(X&&X.nodeName=3D=3D"OBJECT"){if(M.ie&&M.win){X.style.display=3D=
"none";(function(){if(X.readyState=3D=3D4){b(Y)}else{setTimeout(arguments=
.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var =
Y=3Dc(Z);if(Y){for(var X in Y){if(typeof =
Y[X]=3D=3D"function"){Y[X]=3Dnull}}Y.parentNode.removeChild(Y)}}function =
c(Z){var X=3Dnull;try{X=3Dj.getElementById(Z)}catch(Y){}return =
X}function C(X){return j.createElement(X)}function =
i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=3D[Z,X,Y]}function F(Z){var =
Y=3DM.pv,X=3DZ.split(".");X[0]=3DparseInt(X[0],10);X[1]=3DparseInt(X[1],1=
0)||0;X[2]=3DparseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]=3D=3DX[0]&&Y[1]=
>X[1])||(Y[0]=3D=3DX[0]&&Y[1]=3D=3DX[1]&&Y[2]>=3DX[2]))?true:false}functi=
on v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var =
aa=3Dj.getElementsByTagName("head")[0];if(!aa){return}var =
X=3D(ad&&typeof =
ad=3D=3D"string")?ad:"screen";if(ab){n=3Dnull;G=3Dnull}if(!n||G!=3DX){var=
 =
Z=3DC("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X=
);n=3Daa.appendChild(Z);if(M.ie&&M.win&&typeof =
j.styleSheets!=3DD&&j.styleSheets.length>0){n=3Dj.styleSheets[j.styleShee=
ts.length-1]}G=3DX}if(M.ie&&M.win){if(n&&typeof =
n.addRule=3D=3Dr){n.addRule(ac,Y)}}else{if(n&&typeof =
j.createTextNode!=3DD){n.appendChild(j.createTextNode(ac+" =
{"+Y+"}"))}}}function w(Z,X){if(!m){return}var =
Y=3DX?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=3DY}else{v("#"=
+Z,"visibility:"+Y)}}function L(Y){var Z=3D/[\\\"<>\.;]/;var =
X=3DZ.exec(Y)!=3Dnull;return X&&typeof =
encodeURIComponent!=3DD?encodeURIComponent(Y):Y}var =
d=3Dfunction(){if(M.ie&&M.win){window.attachEvent("onunload",function(){v=
ar ac=3DI.length;for(var =
ab=3D0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var =
Z=3DN.length;for(var aa=3D0;aa<Z;aa++){y(N[aa])}for(var Y in =
M){M[Y]=3Dnull}M=3Dnull;for(var X in =
swfobject){swfobject[X]=3Dnull}swfobject=3Dnull})}}();return{registerObje=
ct:function(ab,X,aa,Z){if(M.w3&&ab&&X){var =
Y=3D{};Y.id=3Dab;Y.swfVersion=3DX;Y.expressInstall=3Daa;Y.callbackFn=3DZ;=
o[o.length]=3DY;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObj=
ectById:function(X){if(M.w3){return =
z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var =
X=3D{success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){=
w(ah,false);K(function(){ae+=3D"";ag+=3D"";var aj=3D{};if(af&&typeof =
af=3D=3D=3Dr){for(var al in =
af){aj[al]=3Daf[al]}}aj.data=3Dab;aj.width=3Dae;aj.height=3Dag;var =
am=3D{};if(ad&&typeof ad=3D=3D=3Dr){for(var ak in =
ad){am[ak]=3Dad[ak]}}if(Z&&typeof Z=3D=3D=3Dr){for(var ai in =
Z){if(typeof =
am.flashvars!=3DD){am.flashvars+=3D"&"+ai+"=3D"+Z[ai]}else{am.flashvars=3D=
ai+"=3D"+Z[ai]}}}if(F(Y)){var =
an=3Du(aj,am,ah);if(aj.id=3D=3Dah){w(ah,true)}X.success=3Dtrue;X.ref=3Dan=
}else{if(aa&&A()){aj.data=3Daa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(=
ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=3Dfa=
lse},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.p=
v[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){=
if(M.w3){return u(Z,Y,X)}else{return =
undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,=
Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){i=
f(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue=
:function(aa){var =
Z=3Dj.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=3DZ.split=
("?")[1]}if(aa=3D=3Dnull){return L(Z)}var Y=3DZ.split("&");for(var =
X=3D0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("=3D"))=3D=3Daa){r=
eturn =
L(Y[X].substring((Y[X].indexOf("=3D")+1)))}}}return""},expressInstallCall=
back:function(){if(a){var =
X=3Dc(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&=
&M.win){l.style.display=3D"block"}}if(E){E(B)}}a=3Dfalse}}}}();
------=_NextPart_000_0000_01CCC620.4CBE1300--

