From: <Saved by Windows Internet Explorer 8>
Subject: HID Global
Date: Mon, 18 Apr 2011 10:51:42 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CBFDB6.9A067220"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6090

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/driverDownloads.php?techCat=19&prod_id=171

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>HID =
Global</TITLE><!-- InstanceBegin =
template=3D"/Templates/languageMainTemplate.dwt" =
codeOutsideHTMLIsLocked=3D"false" --><!-- InstanceBeginEditable =
name=3D"docHead" -->
<META content=3D"text/html; charset=3DUTF-8" =
http-equiv=3DContent-Type><!-- The following links are written to the =
page by /includes_common2/includesTopOfPage.php -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"><=
/SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.js"=
></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/javascript/jquery.json-2.2.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/javascript/jquery.pngFix.js"></SCRIPT>
<!-- End of links written by includesTopOfPage.php -->
<SCRIPT type=3Dtext/javascript>=0A=
function checkit(){=0A=
	if(!document.getElementById('qm1')){=0A=
		var dummyEl =3D document.createElement('span');=0A=
		dummyEl.style.display=3D'none';=0A=
		dummyEl.setAttribute('id','qm1'); =0A=
		document.body.appendChild(dummyEl);=0A=
	}=0A=
}=0A=
window.onload =3D checkit;=0A=
</SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.hidglobal.com/quickmenu_styles.css">
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/quickmenu.js"></SCRIPT>
<!-- QuickMenu Noscript Support [Keep in head for full validation!] =
--><NOSCRIPT>
<STYLE type=3Dtext/css>.qmmc {
	WIDTH: 200px !important; HEIGHT: 200px !important; OVERFLOW: scroll
}
.qmmc DIV {
	POSITION: relative !important; VISIBILITY: visible !important
}
.qmmc A {
	WHITE-SPACE: normal !important; FLOAT: none !important
}
</STYLE>
</NOSCRIPT>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=0A=
var confirmLang1 =3D 'You have changed languages. Do you wish to make';=0A=
var confirmLang2 =3D 'your default language at hidglobal.com from now =
on? You can change this later by selecting another language.';=0A=
</SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/javascript/commonScripts.js"></SCRIPT>

<SCRIPT type=3Dtext/JavaScript>=0A=
=0A=
<!--=0A=
=0A=
function HID_jumpMenu(targ,selObj,restore){ //v3.0=0A=
=0A=
  confirmLanguageChange(selObj);=0A=
  =
eval(targ+".location=3D'"+selObj.options[selObj.selectedIndex].value+"'")=
;=0A=
=0A=
 if (restore) selObj.selectedIndex=3D0;=0A=
=0A=
}=0A=
=0A=
//-->=0A=
=0A=
</SCRIPT>

<SCRIPT>=0A=
=0A=
function openNewWindow(url,name,w,h){=0A=
=0A=
window.open(url,name,w,h);=0A=
 =0A=
}=0A=
=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
=0A=
function mmLoadMenus() {=0A=
} =0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
function bgOn(el,img){=0A=
var theElement =3D document.getElementById(el);=0A=
var imagePath =3D 'URL('+img+')';=0A=
theElement.style.backgroundImage =3D imagePath;=0A=
return true;=0A=
}=0A=
function bgOff(el,img){=0A=
var theElement =3D document.getElementById(el);=0A=
var imagePath =3D 'URL('+img+')';=0A=
theElement.style.backgroundImage =3D imagePath;=0A=
return true;=0A=
}=0A=
function elementLinkGo(url){=0A=
window.location =3D url;=0A=
}=0A=
function elementLinkGoNewWindow(url){=0A=
window.open(url);=0A=
}=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
function showOSDrivers(activeId){=0A=
var osDivArray =3D new =
Array('1','3','20','24','4','5','10','14','18','11','22','16','21','23','=
17','6','7','15','8','19');=0A=
	for(i=3D0;i<osDivArray.length;i++){=0A=
		subjectId =3D osDivArray[i];=0A=
		if(subjectId =3D=3D activeId){=0A=
			if(document.getElementById('osDiv'+subjectId)){=0A=
				document.getElementById('osDiv'+subjectId).style.display =3D 'block';=0A=
			}=0A=
		}else{=0A=
			if(document.getElementById('osDiv'+subjectId)){=0A=
				document.getElementById('osDiv'+subjectId).style.display =3D 'none';=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
var driverLoc =3D '';=0A=
=0A=
function handleOnClick(obj,omniture){=0A=
	myArray =3D omniture.split(':');=0A=
	var filename =3D myArray[0];=0A=
	var path =3D myArray[1];=0A=
	var brand =3D myArray[2]; 			=0A=
	if (typeof s_gi !=3D 'undefined') {=0A=
		s=3Ds_gi(s_account);=0A=
		s.linkTrackVars=3D'prop7,prop8,prop15,events';=0A=
		s.linkTrackEvents=3D'event4';=0A=
		s.prop7=3Dfilename;=0A=
		s.prop8=3Dpath;=0A=
		s.prop15=3Dbrand;=0A=
		s.event4=3Dfilename;=0A=
		s.tl(obj,'d', brand+' driver '+filename);=0A=
	}=0A=
	displayDisclaimer(myArray[3]);=0A=
}=0A=
=0A=
function displayDisclaimer(loc){=0A=
driverLoc =3D loc;=0A=
var disclaimerDiv =3D document.getElementById('disclaimerDiv');=0A=
disclaimerDiv.style.display=3D'block';=0A=
disclaimerDiv.scrollTop=3D0;=0A=
}=0A=
=0A=
function confirmDisclaimer(accept){=0A=
	var disclaimerDiv =3D document.getElementById('disclaimerDiv');=0A=
	disclaimerDiv.style.display=3D'none';=0A=
	if(accept =3D=3D 'yes'){=0A=
		//document.location =3D driverLoc;=0A=
		$('#docLink').empty().remove();=0A=
		var myLink =3D "<form id=3D'docLink' action=3D'"+driverLoc+"' =
action=3D'get'></form>";=0A=
		$('body').append(myLink);=0A=
		$("#docLink").submit();=0A=
		return true;=0A=
	}else{=0A=
		driverLoc =3D '';=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
=0A=
function confirmDisclaimerXXX(loc){=0A=
	var doit =3D confirm('HID GLOBAL CORPORATION<BR><BR>SOFTWARE LICENSE =
AGREEMENT <BR><BR>This is a legal agreement between You, the user or =
installer (=E2=80=9CYou=E2=80=9D), and HID Global Corporation =
(=E2=80=9CHID=E2=80=9D). This agreement governs all software that is =
distributed with HID=E2=80=99s or HID brands=E2=80=99 (for example, =
OMNIKEY brand or Smart ID brand or Fargo)  products (the =
=E2=80=9CProduct=E2=80=9D), and any and all updates and downloads You =
subsequently access and install, including associated media, =
documentation, drivers, online or electronic information provided by HID =
related to the Product (collectively, the =E2=80=9CSoftware=E2=80=9D). =
By opening or breaking the seal on the product package, installing or =
downloading the Software, or using the Software that has been preloaded =
onto or is embedded in the HID Product, You agree to be bound by the =
terms of this agreement. If You do not agree to these terms, prior to =
Your use, installation or downloading of the Software, return all =
Software items (disks, written materials, and packaging) and delete any =
downloaded, preloaded, or embedded Software. If it is not practical to =
delete preloaded or embedded Software, You must also return the Product. =
<BR><BR>1. 	Software License. <BR><BR>  The Software is licensed for use =
only in conjunction with HID reader products. Use of the Software in =
conjunction with non-HID reader products is not licensed hereunder. =
<BR><BR> (a)	End Users:  Subject to the terms of this Agreement, HID =
grants to You a nonexclusive, nontransferable, worldwide, fully paid-up =
license under HID=E2=80=99s and its supplier=E2=80=99s copyrights to =
access, install the Software onto any computer or networked computer and =
use the Software solely to configure, program and use the Product for =
Your internal use. <BR><BR>(b)	Authorized Installers: Subject to the =
terms of this Agreement, HID grants to You a nonexclusive, =
nontransferable, worldwide, fully paid-up license under HID=E2=80=99s =
and its supplier=E2=80=99s copyrights to: <BR><BR>i) install the =
Software onto any computer or networked computer solely for purposes of =
configuring the Products or associated physical access systems of Your =
end users; <BR><BR>ii) distribute the Software, to Your end users of the =
Products, but only under a license agreement with terms at least as =
restrictive as those contained herein; and<BR><BR>iii) reproduce and =
distribute the complete unmodified end-user documentation which may =
accompany the Software to Your end users of the Products, but only in =
association with distributions of the Software or Products for which the =
Software is intended. <BR><BR>(c) 	General Notice for Third Party =
Technologies. The Software may include or be bundled with other software =
programs licensed under different terms and/or licensed by a vendor =
other than HID. Use of any software programs accompanied by a separate =
license agreement is governed by that separate license agreement. Any =
third party software that may be provided with the Software is included =
for use at Your option. HID is not responsible for any third =
party=E2=80=99s software and shall have no liability for Your use of =
third party software.  Notwithstanding the foregoing, all components of =
the Software are subject to the Disclaimer of Warranty and Limitation of =
Liability stated below. <BR><BR>2. 	Restrictions.  HID and its suppliers =
reserve all rights not expressly granted to You under this Agreement. =
You may not modify or alter the Software in any way. You may not =
disassemble, decompile or reverse engineer the Software in order to =
obtain the source code, which is a trade secret of HID and/or its =
suppliers. Except as expressly permitted, You shall not otherwise =
assign, sublicense, lease, or in any other way transfer or disclose =
Software to any third party. You may transfer the Software and all =
accompanying materials on a permanent basis if You retain no copies and =
the recipient agrees to the terms of this agreement. <BR><BR>3. 	=
Ownership.  The Software is licensed, not sold. No title to or ownership =
in the Software is transferred to You. You acknowledge and agree that =
HID and its suppliers own and retain all right, title and interest in =
the Software and ownership of all intellectual property rights in the =
Software, including any adaptations or copies. The Software is protected =
by United States and European copyright laws and international =
provisions. You agree not to attempt in any way to obliterate or destroy =
the legal notices appearing on or in any copy of the Software. You shall =
not use HID\'s name in any publications, advertisements, or other =
announcements without HID\'s prior written consent. You do not obtain =
any rights under this Agreement to use any HID trademarks or logos. =
<BR><BR>4. 	Term.  This license is effective until terminated. You may =
terminate it by destroying the Software and accompanying documentation =
and all copies thereof. This license will also terminate if You fail to =
comply with any term or provision of this Agreement or upon HID\'s =
written notice of termination for Your breach. You agree upon such =
termination to destroy the Software and accompanying documentation and =
all copies thereof. <BR><BR>5. 	Limited Warranty.  In the absence of any =
optional warranty or continuing provisions extended by a formal written =
agreement, HID warrants its Software in accordance with the following: =
<BR><BR>(a) 	Limited Warranty.  HID warrants solely on its behalf and =
for Your benefit alone, that the media on which the Software is recorded =
shall be free from defects in materials and workmanship for a period of =
ninety (90) days from Your receipt of the Software (the "Warranty =
Period"). Except as expressly provided herein, neither HID nor its =
suppliers warrant the performance or results of the Software, that the =
Software will meet Your requirements, or that the Software will run =
uninterrupted or error free. <BR>V(b) 	Exclusive Remedy.  HID=E2=80=99s =
entire liability and Your exclusive remedy shall be the replacement of =
any media not meeting the limited warranty set forth above, provided it =
is returned to HID as set forth below. Warranty claims must be received =
by HID within the Warranty Period. In the event of a warranty claim, You =
shall be responsible for the removal of the defective Software, shipping =
charges for return to HID, and installation of its replacement. Replaced =
Software, or any part thereof, shall become the property of HID and =
shall be returned to HID at Your expense. <BR><BR>(c)	Other =
Jurisdictions.  In some jurisdictions express warranties or limited =
warranties, as laid out in sec. 5 =E2=80=9CLIMITED WARRANTY=E2=80=9D, =
are known as =E2=80=9Cadditional guarantees.=E2=80=9D For the avoidance =
of doubt, the Limited Warranty according to sec. 5 =E2=80=9CLIMITED =
WARRANTY=E2=80=9D entitle You to specific rights, regardless of and =
without excluding or limiting Your rights under the provisions of any =
applicable statutory law. <BR><BR>6.	WARRANTY DISCLAIMER. <BR><BR>(a)	=
WARRANTY DISCLAIMER. THE EXPRESS WARRANTIES SET FORTH IN THIS AGREEMENT =
ARE IN LIEU OF ALL OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING =
WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A =
PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, AND TO THE EXTENT =
PERMITTED BY APPLICABLE LAW ALL SUCH OTHER WARRANTIES ARE HEREBY =
DISCLAIMED AND EXCLUDED BY HID AND ITS SUPPLIERS. Some jurisdictions do =
not allow certain disclaimers and limitations of warranties, so portions =
of the above limitations may not apply to You. This limited warranty =
gives You specific rights and You may also have other rights which vary =
from state to state. <BR><BR>(b)	No limitation of statutory rights.  In =
some jurisdictions the concept of warranty disclaimers does not exist. =
For the avoidance of doubt, we provide notice that these disclaimers may =
not apply to You.  <BR><BR>7. 	LIMITATION OF LIABILITY.  IN NO EVENT =
SHALL HID OR ITS EMPLOYEES OR SUPPLIERS BE LIABLE TO YOU FOR ANY =
DAMAGES, INCLUDING, WITHOUT LIMITATION, ANY SPECIAL, INDIRECT, =
INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR IN =
CONNECTION WITH THE USE OR PERFORMANCE OF THE SOFTWARE, INCLUDING =
WITHOUT LIMITATION, LOSS OF PROFITS, BUSINESS, DATA, GOODWILL, OR =
ANTICIPATED SAVINGS, EVEN IF ADVISED OF THE POSSIBILITY OF THOSE =
DAMAGES. IN NO EVENT WILL HID=E2=80=99S AGGREGATE LIABILITY FOR DIRECT =
DAMAGES TO PROPERTY OR PERSON (WHETHER IN ONE INSTANCE OR A SERIES OF =
INSTANCES) EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE OUT OF WHICH =
SUCH CLAIM AROSE. In those jurisdictions that do not allow the exclusion =
or limitation of damages, HID=E2=80=99s liability shall be limited or =
excluded to the maximum extent allowed within those jurisdictions. =
<BR><BR>8. 	U.S. Government Restricted Rights.  The Software and =
documentation are =E2=80=9Ccommercial items=E2=80=9D as that term is =
defined at 48 C.F.R. 2.101, consisting of =E2=80=9Ccommercial computer =
software=E2=80=9D and =E2=80=9Ccommercial computer software =
documentation=E2=80=9D as such terms are used in 48 C.F.R. 12.212.  =
Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through =
227.7202-4, all U.S. Government end users acquire the software and =
documentation with only those rights set forth herein.  Supplier is HID =
Global Corporation, 15370 Barranca Parkway, Irvine, California 92618. =
<BR><BR>9. 	Export.  You agree that You do not intend to and will not, =
directly or indirectly, export or transmit the Software, Product, or =
related documentation and technical data to any country to which such =
export or transmission is restricted by any applicable U.S., European or =
other applicable regulation or statue. You further agree that You are =
solely responsible for obtaining any required license for Your export of =
the Software or Product. <BR><BR>10.	Indemnification.  You shall defend, =
indemnify, and hold HID, its officers, directors and employees, harmless =
from and against any and all claims, damages, losses, costs or other =
expenses (including reasonable attorneys=E2=80=99 fees) that arise =
directly or indirectly out of Your willful misconduct or unauthorized =
use of the Software. <BR><BR>11.	Legal Effect. This agreement describes =
certain legal rights. You may have other rights under the laws of Your =
state or country. You may also have rights with respect to the party =
from whom You acquired the software. This agreement does not change Your =
rights under the laws of Your state or country if the laws of Your state =
or country do not permit it to do so. <BR><BR>12.	Miscellaneous.  =
<BR><BR>(a)	Severability.  If any provision of this Agreement is invalid =
or unenforceable under applicable law, then it shall be, to that extent, =
deemed omitted and the remaining provisions will continue in full force =
and effect. <BR><BR>(b)	Governing Law.  The validity and performance of =
this Agreement shall be governed by California law (without reference to =
choice of law principles), and applicable federal law. The United =
Nations Convention on Contracts for the International Sales of Goods =
shall not apply. <BR><BR>(c)	Disputes.  In the event of any legal action =
or proceeding relating to this Agreement, the prevailing party shall be =
entitled to recover its attorneys=E2=80=99 fees in addition to any other =
relief granted. HID agrees and You agree to waive, to the maximum extent =
permitted by applicable law, any right to a jury trial with respect to =
the Software or this agreement. Because this waiver may not be effective =
in all jurisdictions, this waiver may not apply to You. <BR><BR>(d)	=
Assignment.  This agreement is binding on successors and assigns. =
<BR><BR>(e)	Waiver.  No term or provision hereof shall be deemed waived =
and no breach consented to or excused, unless such waiver, consent or =
excuse shall be in writing and signed by the Party claimed to have =
waived or consented<BR><BR>(f) 	Entire Agreement; Modification.  This =
Agreement sets forth the entire understanding and agreement between You =
and HID and may be amended only in a writing signed by both parties.  =
\nIf you agree to the Standard HID Disclaimer, click \"OK\" \n otherwise =
click \"Cancel\"');=0A=
	if(doit =3D=3D true){=0A=
		document.location =3D loc;=0A=
		return true;=0A=
	}else{=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
function setZero(elId){=0A=
selBox =3D document.getElementById(elId);=0A=
selBox.blur();=0A=
}=0A=
</SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/mm_menu.js"></SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.hidglobal.com/includes_common2/commonStyles.css"><!-- =
InstanceEndEditable -->
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.19046"></HEAD>
<BODY>
<SCRIPT language=3DJavaScript1.2>mmLoadMenus();</SCRIPT>

<DIV id=3DpageContainer>
<DIV id=3DshadowDiv>
<DIV id=3Dcontainer><!-- ######### BEGIN NEW HEADER ######### -->
<DIV id=3Dheader>
<DIV id=3Dheader-inner>
<H1 id=3Dlogo><A href=3D"http://www.hidglobal.com/">HID</A></H1>
<DIV id=3Dtagline><A href=3D"http://www.hidglobal.com/">The Trusted =
Source=20
for<BR>Secure Identity Solutions</A></DIV>
<DIV id=3Dglobal-nav>
<UL id=3Dglobal-nav-main class=3Dmenu>
  <LI id=3Dglobal-nav-solutions>
  <H4>Solutions</H4>
  <UL id=3Dglobal-nav-solutions-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Physical Access');"=20
    href=3D"http://www.hidglobal.com/iam/physicalAccess.php">Physical=20
    Access</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','page');"=20
    href=3D"http://www.hidglobal.com/iam/logicalAccess.php">Logical=20
Access</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','FARGO Card Printers');"=20
    =
href=3D"http://www.hidglobal.com/main/card-issuance/printer-and-encoders/=
">FARGO=20
    Card Printers</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Secure Print =
Authentication');"=20
    =
href=3D"http://www.hidglobal.com/partners/tabbedWithShowcase.php?pid=3D2"=
>Secure=20
    Print Authentication</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','OEM Embedded Solutions');"=20
    href=3D"http://www.hidglobal.com/hcs/index.php">OEM Embedded=20
Solutions</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Cashless Payments');"=20
    href=3D"http://www.hidglobal.com/ids/cashlessPayment.php">Cashless=20
    Payments</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','eGovernment');"=20
    =
href=3D"http://www.hidglobal.com/ids/eGovernment.php">eGovernment</A></LI=
>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Food &amp; Animal');"=20
    href=3D"http://www.hidglobal.com/ids/foodAndAnimal.php">Food &amp;=20
    Animal</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Industry &amp; Logistics');"=20
    href=3D"http://www.hidglobal.com/ids/industryLogistics.php">Industry =
&amp;=20
    Logistics</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Genuine HID Technology');"=20
    =
href=3D"http://www.hidglobal.com/genuine_hid/genuine_hid_technology.php">=
Genuine=20
    HID Technology</A></LI></UL></LI>
  <LI id=3Dglobal-nav-industries>
  <H4>Industries</H4>
  <UL id=3Dglobal-nav-industries-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Corporate');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D9">Corporate</=
A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Education');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D5">Education</=
A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Financial Services');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D2">Financial=20
    Services</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Government');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D1">Government<=
/A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Health Care');"=20
    href=3D"http://www.hidglobal.com/applications.php?app_id=3D3">Health =

    Care</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Retail');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D6">Retail</A><=
/LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Transportation');"=20
    =
href=3D"http://www.hidglobal.com/applications.php?app_id=3D4">Transit</A>=
</LI></UL></LI>
  <LI id=3Dglobal-nav-services>
  <H4>Services</H4>
  <UL id=3Dglobal-nav-services-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Credential Programs');"=20
    =
href=3D"http://www.hidglobal.com/main/services/credential-programs/">Cred=
ential=20
    Programs</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Developer Services');"=20
    =
href=3D"http://www.hidglobal.com/main/services/developer-services/">Devel=
oper=20
    Services</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','On Demand Services');"=20
    href=3D"http://www.hidglobal.com/main/services/on-demand/">On Demand =

    Services</A></LI></UL></LI>
  <LI id=3Dglobal-nav-partners>
  <H4>Partners</H4>
  <UL id=3Dglobal-nav-partners-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Advantage HID Channel =
Partners');"=20
    =
href=3D"http://www.hidglobal.com/genuine_hid/advantage_hid.php">Advantage=
 HID=20
    Channel Partners</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Authorized IT Dealers');"=20
    href=3D"http://www.hidglobal.com/itChannelPartners.php">Authorized =
IT=20
    Dealers</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Consultant Corner');"=20
    href=3D"http://www.hidglobal.com/consultants.php">Consultant =
Corner</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Fargo Partners');"=20
    href=3D"https://www.fargopartner.com/" target=3D_blank>Fargo =
Partners</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','HID Connect');"=20
    href=3D"http://www.hidglobal.com/page.php?page_id=3D150">HID =
Connect</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Networked Access Partners');"=20
    =
href=3D"http://www.hidglobal.com/networkedAccessPartners.php">Networked =
Access=20
    Partners</A></LI></UL></LI>
  <LI id=3Dglobal-nav-developers>
  <H4>Developers</H4>
  <UL id=3Dglobal-nav-partners-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Access Control Development');" =

    href=3D"http://www.hidglobal.com/hcs/index.php">Access Control=20
    Development</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','e-ID &amp; eGovernment =
Development');"=20
    href=3D"http://www.hidglobal.com/main/identiclass/">e-ID &amp; =
eGovernment=20
    Development</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','veriCLASS overview');"=20
    href=3D"http://www.hidglobal.com/main/developers/vericlass/">Payment =
&amp;=20
    Ticketing Development</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Networked Access =
Development');"=20
    href=3D"http://www.hidglobal.com/iam/networkedAccess.php">Networked =
Access=20
    Development</A></LI></UL></LI>
  <LI id=3Dglobal-nav-support>
  <H4>Support</H4>
  <UL id=3Dglobal-nav-support-sub>
    <LI class=3Dfirst><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Customer Service');"=20
    href=3D"http://www.hidglobal.com/main/customer-service">Customer=20
    Service</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Document Library');"=20
    href=3D"http://www.hidglobal.com/documents.php">Document =
Library</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Downloads');"=20
    =
href=3D"http://www.hidglobal.com/driverDownloads.php">Downloads</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Order Status');"=20
    href=3D"http://www.hidglobal.com/page.php?page_id=3D223">Order =
Status</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Security Center');"=20
    =
href=3D"http://www.hidglobal.com/main/product-security-reporting-center/"=
>Security=20
    Center</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Product Tools');"=20
    href=3D"http://www.hidglobal.com/page.php?page_id=3D222">Product =
Tools</A></LI><!--						<li><a href=3D"/page.php?page_id=3D221" =
onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Technical =
Support');">Technical Support</a></li> -->
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Technical Support');"=20
    href=3D"http://www.hidglobal.com/main/technical-support/">Technical=20
    Support</A></LI>
    <LI><A=20
    onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Worldwide Sales');"=20
    href=3D"http://www.hidglobal.com/main/sales/">Worldwide=20
Sales</A></LI></UL></LI></UL></DIV><!-- end #global-nav -->
<DIV id=3Dsupport-nav>
<UL>
  <LI id=3Dsupport-nav-support><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Support');"=20
  =
href=3D"http://www.hidglobal.com/page.php?page_id=3D220">Support</A></LI>=

  <LI id=3Dsupport-nav-status><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Order Status');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D223">Order =
Status</A></LI>
  <LI id=3Dsupport-nav-contact><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Contact Us');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D210">Contact=20
Us</A></LI></UL></DIV>
<DIV id=3Dglobal-search>
<FORM method=3Dget action=3D/main/search.php><INPUT id=3Dsearch-query =
class=3Dinput-text=20
value=3DSearch maxLength=3D255 size=3D20 type=3Dtext name=3Dq> <INPUT =
id=3Dsearch-submit class=3Dinput-submit value=3DGo type=3Dsubmit =
name=3DbtnG>=20
</FORM></DIV></DIV><!-- end #header-inner --></DIV><!-- end #header =
--><!-- ######### END NEW HEADER ######### --><!-- InstanceBeginEditable =
name=3D"optionalPageHeader" -->
<DIV class=3Domnikeyheader>
<P>Downloads - OMNIKEY</P></DIV>
<DIV onmouseover=3D'setZero("tecCatSel")'>&nbsp;</DIV><!-- =
InstanceEndEditable -->
<DIV id=3DpageContent><!-- InstanceBeginEditable name=3D"pageContent" =
-->
<DIV=20
style=3D"Z-INDEX: 1000; BORDER-BOTTOM: 1px solid; POSITION: absolute; =
TEXT-ALIGN: left; BORDER-LEFT: 1px solid; PADDING-BOTTOM: 6px; =
BACKGROUND-COLOR: #f0f0f0; PADDING-LEFT: 6px; WIDTH: 635px; =
PADDING-RIGHT: 6px; DISPLAY: none; HEIGHT: 300px; OVERFLOW: auto; =
BORDER-TOP: 1px solid; TOP: 160px; BORDER-RIGHT: 1px solid; PADDING-TOP: =
6px; LEFT: 100px"=20
id=3DdisclaimerDiv>
<P align=3Dcenter><STRONG>You must read and accept this download =
agreement to=20
download software. Please click the button at the bottom of this =
agreement to=20
accept or decline.</STRONG> </P>HID GLOBAL CORPORATION<BR><BR>SOFTWARE =
LICENSE=20
AGREEMENT <BR><BR>This is a legal agreement between You, the user or =
installer=20
(=E2=80=9CYou=E2=80=9D), and HID Global Corporation =
(=E2=80=9CHID=E2=80=9D). This agreement governs all software=20
that is distributed with HID=E2=80=99s or HID brands=E2=80=99 (for =
example, OMNIKEY brand or=20
Smart ID brand or Fargo) products (the =E2=80=9CProduct=E2=80=9D), and =
any and all updates and=20
downloads You subsequently access and install, including associated =
media,=20
documentation, drivers, online or electronic information provided by HID =
related=20
to the Product (collectively, the =E2=80=9CSoftware=E2=80=9D). By =
opening or breaking the seal=20
on the product package, installing or downloading the Software, or using =
the=20
Software that has been preloaded onto or is embedded in the HID Product, =
You=20
agree to be bound by the terms of this agreement. If You do not agree to =
these=20
terms, prior to Your use, installation or downloading of the Software, =
return=20
all Software items (disks, written materials, and packaging) and delete =
any=20
downloaded, preloaded, or embedded Software. If it is not practical to =
delete=20
preloaded or embedded Software, You must also return the Product. =
<BR><BR>1.=20
Software License. <BR><BR>The Software is licensed for use only in =
conjunction=20
with HID reader products. Use of the Software in conjunction with =
non-HID reader=20
products is not licensed hereunder. <BR><BR>(a) End Users: Subject to =
the terms=20
of this Agreement, HID grants to You a nonexclusive, nontransferable, =
worldwide,=20
fully paid-up license under HID=E2=80=99s and its supplier=E2=80=99s =
copyrights to access,=20
install the Software onto any computer or networked computer and use the =

Software solely to configure, program and use the Product for Your =
internal use.=20
<BR><BR>(b) Authorized Installers: Subject to the terms of this =
Agreement, HID=20
grants to You a nonexclusive, nontransferable, worldwide, fully paid-up =
license=20
under HID=E2=80=99s and its supplier=E2=80=99s copyrights to: <BR><BR>i) =
install the Software=20
onto any computer or networked computer solely for purposes of =
configuring the=20
Products or associated physical access systems of Your end users; =
<BR><BR>ii)=20
distribute the Software, to Your end users of the Products, but only =
under a=20
license agreement with terms at least as restrictive as those contained =
herein;=20
and<BR><BR>iii) reproduce and distribute the complete unmodified =
end-user=20
documentation which may accompany the Software to Your end users of the=20
Products, but only in association with distributions of the Software or =
Products=20
for which the Software is intended. <BR><BR>(c) General Notice for Third =
Party=20
Technologies. The Software may include or be bundled with other software =

programs licensed under different terms and/or licensed by a vendor =
other than=20
HID. Use of any software programs accompanied by a separate license =
agreement is=20
governed by that separate license agreement. Any third party software =
that may=20
be provided with the Software is included for use at Your option. HID is =
not=20
responsible for any third party=E2=80=99s software and shall have no =
liability for Your=20
use of third party software. Notwithstanding the foregoing, all =
components of=20
the Software are subject to the Disclaimer of Warranty and Limitation of =

Liability stated below. <BR><BR>2. Restrictions. HID and its suppliers =
reserve=20
all rights not expressly granted to You under this Agreement. You may =
not modify=20
or alter the Software in any way. You may not disassemble, decompile or =
reverse=20
engineer the Software in order to obtain the source code, which is a =
trade=20
secret of HID and/or its suppliers. Except as expressly permitted, You =
shall not=20
otherwise assign, sublicense, lease, or in any other way transfer or =
disclose=20
Software to any third party. You may transfer the Software and all =
accompanying=20
materials on a permanent basis if You retain no copies and the recipient =
agrees=20
to the terms of this agreement. <BR><BR>3. Ownership. The Software is =
licensed,=20
not sold. No title to or ownership in the Software is transferred to =
You. You=20
acknowledge and agree that HID and its suppliers own and retain all =
right, title=20
and interest in the Software and ownership of all intellectual property =
rights=20
in the Software, including any adaptations or copies. The Software is =
protected=20
by United States and European copyright laws and international =
provisions. You=20
agree not to attempt in any way to obliterate or destroy the legal =
notices=20
appearing on or in any copy of the Software. You shall not use HID's =
name in any=20
publications, advertisements, or other announcements without HID's prior =
written=20
consent. You do not obtain any rights under this Agreement to use any =
HID=20
trademarks or logos. <BR><BR>4. Term. This license is effective until=20
terminated. You may terminate it by destroying the Software and =
accompanying=20
documentation and all copies thereof. This license will also terminate =
if You=20
fail to comply with any term or provision of this Agreement or upon =
HID's=20
written notice of termination for Your breach. You agree upon such =
termination=20
to destroy the Software and accompanying documentation and all copies =
thereof.=20
<BR><BR>5. Limited Warranty. In the absence of any optional warranty or=20
continuing provisions extended by a formal written agreement, HID =
warrants its=20
Software in accordance with the following: <BR><BR>(a) Limited Warranty. =
HID=20
warrants solely on its behalf and for Your benefit alone, that the media =
on=20
which the Software is recorded shall be free from defects in materials =
and=20
workmanship for a period of ninety (90) days from Your receipt of the =
Software=20
(the "Warranty Period"). Except as expressly provided herein, neither =
HID nor=20
its suppliers warrant the performance or results of the Software, that =
the=20
Software will meet Your requirements, or that the Software will run=20
uninterrupted or error free. <BR>V (b) Exclusive Remedy. HID=E2=80=99s =
entire liability=20
and Your exclusive remedy shall be the replacement of any media not =
meeting the=20
limited warranty set forth above, provided it is returned to HID as set =
forth=20
below. Warranty claims must be received by HID within the Warranty =
Period. In=20
the event of a warranty claim, You shall be responsible for the removal =
of the=20
defective Software, shipping charges for return to HID, and installation =
of its=20
replacement. Replaced Software, or any part thereof, shall become the =
property=20
of HID and shall be returned to HID at Your expense. <BR><BR>(c) Other=20
Jurisdictions. In some jurisdictions express warranties or limited =
warranties,=20
as laid out in sec. 5 =E2=80=9CLIMITED WARRANTY=E2=80=9D, are known as =
=E2=80=9Cadditional guarantees.=E2=80=9D=20
For the avoidance of doubt, the Limited Warranty according to sec. 5 =
=E2=80=9CLIMITED=20
WARRANTY=E2=80=9D entitle You to specific rights, regardless of and =
without excluding or=20
limiting Your rights under the provisions of any applicable statutory =
law.=20
<BR><BR>6. WARRANTY DISCLAIMER. <BR><BR>(a) WARRANTY DISCLAIMER. THE =
EXPRESS=20
WARRANTIES SET FORTH IN THIS AGREEMENT ARE IN LIEU OF ALL OTHER =
WARRANTIES,=20
EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF=20
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND =
NON-INFRINGEMENT,=20
AND TO THE EXTENT PERMITTED BY APPLICABLE LAW ALL SUCH OTHER WARRANTIES =
ARE=20
HEREBY DISCLAIMED AND EXCLUDED BY HID AND ITS SUPPLIERS. Some =
jurisdictions do=20
not allow certain disclaimers and limitations of warranties, so portions =
of the=20
above limitations may not apply to You. This limited warranty gives You =
specific=20
rights and You may also have other rights which vary from state to =
state.=20
<BR><BR>(b) No limitation of statutory rights. In some jurisdictions the =
concept=20
of warranty disclaimers does not exist. For the avoidance of doubt, we =
provide=20
notice that these disclaimers may not apply to You. <BR><BR>7. =
LIMITATION OF=20
LIABILITY. IN NO EVENT SHALL HID OR ITS EMPLOYEES OR SUPPLIERS BE LIABLE =
TO YOU=20
FOR ANY DAMAGES, INCLUDING, WITHOUT LIMITATION, ANY SPECIAL, INDIRECT,=20
INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR IN =
CONNECTION=20
WITH THE USE OR PERFORMANCE OF THE SOFTWARE, INCLUDING WITHOUT =
LIMITATION, LOSS=20
OF PROFITS, BUSINESS, DATA, GOODWILL, OR ANTICIPATED SAVINGS, EVEN IF =
ADVISED OF=20
THE POSSIBILITY OF THOSE DAMAGES. IN NO EVENT WILL HID=E2=80=99S =
AGGREGATE LIABILITY FOR=20
DIRECT DAMAGES TO PROPERTY OR PERSON (WHETHER IN ONE INSTANCE OR A =
SERIES OF=20
INSTANCES) EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE OUT OF WHICH =
SUCH=20
CLAIM AROSE. In those jurisdictions that do not allow the exclusion or=20
limitation of damages, HID=E2=80=99s liability shall be limited or =
excluded to the=20
maximum extent allowed within those jurisdictions. <BR><BR>8. U.S. =
Government=20
Restricted Rights. The Software and documentation are =
=E2=80=9Ccommercial items=E2=80=9D as that=20
term is defined at 48 C.F.R. 2.101, consisting of =E2=80=9Ccommercial =
computer software=E2=80=9D=20
and =E2=80=9Ccommercial computer software documentation=E2=80=9D as such =
terms are used in 48=20
C.F.R. 12.212. Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 =
through=20
227.7202-4, all U.S. Government end users acquire the software and =
documentation=20
with only those rights set forth herein. Supplier is HID Global =
Corporation,=20
15370 Barranca Parkway, Irvine, California 92618. <BR><BR>9. Export. You =
agree=20
that You do not intend to and will not, directly or indirectly, export =
or=20
transmit the Software, Product, or related documentation and technical =
data to=20
any country to which such export or transmission is restricted by any =
applicable=20
U.S., European or other applicable regulation or statue. You further =
agree that=20
You are solely responsible for obtaining any required license for Your =
export of=20
the Software or Product. <BR><BR>10. Indemnification. You shall defend,=20
indemnify, and hold HID, its officers, directors and employees, harmless =
from=20
and against any and all claims, damages, losses, costs or other expenses =

(including reasonable attorneys=E2=80=99 fees) that arise directly or =
indirectly out of=20
Your willful misconduct or unauthorized use of the Software. <BR><BR>11. =
Legal=20
Effect. This agreement describes certain legal rights. You may have =
other rights=20
under the laws of Your state or country. You may also have rights with =
respect=20
to the party from whom You acquired the software. This agreement does =
not change=20
Your rights under the laws of Your state or country if the laws of Your =
state or=20
country do not permit it to do so. <BR><BR>12. Miscellaneous. =
<BR><BR>(a)=20
Severability. If any provision of this Agreement is invalid or =
unenforceable=20
under applicable law, then it shall be, to that extent, deemed omitted =
and the=20
remaining provisions will continue in full force and effect. <BR><BR>(b) =

Governing Law. The validity and performance of this Agreement shall be =
governed=20
by California law (without reference to choice of law principles), and=20
applicable federal law. The United Nations Convention on Contracts for =
the=20
International Sales of Goods shall not apply. <BR><BR>(c) Disputes. In =
the event=20
of any legal action or proceeding relating to this Agreement, the =
prevailing=20
party shall be entitled to recover its attorneys=E2=80=99 fees in =
addition to any other=20
relief granted. HID agrees and You agree to waive, to the maximum extent =

permitted by applicable law, any right to a jury trial with respect to =
the=20
Software or this agreement. Because this waiver may not be effective in =
all=20
jurisdictions, this waiver may not apply to You. <BR><BR>(d) Assignment. =
This=20
agreement is binding on successors and assigns. <BR><BR>(e) Waiver. No =
term or=20
provision hereof shall be deemed waived and no breach consented to or =
excused,=20
unless such waiver, consent or excuse shall be in writing and signed by =
the=20
Party claimed to have waived or consented<BR><BR>(f) Entire Agreement;=20
Modification. This Agreement sets forth the entire understanding and =
agreement=20
between You and HID and may be amended only in a writing signed by both =
parties.=20

<P align=3Dright><INPUT onclick=3D'confirmDisclaimer("yes")' value=3D"I =
Accept Terms" type=3Dbutton name=3DacceptBtn>=20
<INPUT onclick=3D'confirmDisclaimer("no")' value=3DDecline type=3Dbutton =
name=3DdeclineBtn>=20
</P></DIV>
<DIV class=3DtheDownloadsDiv>
<DIV class=3DtechQuickLinksDiv>
<DIV style=3D"MARGIN-TOP: 0px; PADDING-TOP: 0px" =
class=3DunderlineBlack>Quicklinks=20
</DIV>
<UL style=3D"MARGIN-TOP: 0px" class=3Dquicklinks>
  <LI><A class=3Dquick=20
  =
href=3D"http://www.hidglobal.com/technology.php?tech_cat=3D19&amp;subcat_=
id=3D10"=20
  target=3D_self>OMNIKEY Readers</A></LI>
  <LI><A class=3Dquick=20
  onclick=3D"var =
s=3Ds_gi(s_account);&#10;&#9;s.linkTrackVars=3D'eVar7,events,prop7,prop8'=
;&#10;&#9;s.linkTrackEvents=3D'event4';&#10;&#9;s.prop7=3D'LogicalAccess_=
htog_en.pdf';&#10;&#9;s.eVar7=3D'LogicalAccess_htog_en.pdf';&#10;&#9;s.pr=
op8=3Ds.pageName;&#10;&#9;s.events=3D'event4';&#10;&#9;s.tl(this,'d','Log=
icalAccess_htog_en.pdf');"=20
  href=3D"http://www.hidglobal.com/documents/LogicalAccess_htog_en.pdf"=20
  target=3D"">OMNIKEY How To Order Guide</A></LI>
  <LI><A class=3Dquick=20
  href=3D"http://www.hidglobal.com/omnikeyCustomerSupportForm.php"=20
  target=3D_self>OMNIKEY Customer Support</A></LI>
  <LI><A class=3Dquick href=3D"http://www.hidglobal.com/omnikeyRMA.php"=20
  target=3D_self>OMNIKEY RMA Request</A></LI>
  <LI><A class=3Dquick=20
  href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19"=20
  target=3D_self>OMNIKEY Driver Downloads</A></LI>
  <LI><A class=3Dquick =
href=3D"http://www.hidglobal.com/faqs.php?techCat=3D19"=20
  target=3D_self>OMNIKEY FAQ's</A></LI>
  <LI><A class=3Dquick =
href=3D"http://www.hidglobal.com/omnikeyContactInfoForm.php"=20
  target=3D_self>OMNIKEY Information Request</A></LI>
  <LI><A class=3Dquick=20
  href=3D"http://www.hidglobal.com/products/iClassOnDesktop.php"=20
  target=3D_self>Learn more about Logical Access =
Solutions</A></LI></UL></DIV><BR>
<P>To download the latest software, drivers and firmware:</P>
<OL class=3DdownloadsInstructionsList>
  <LI>Select the Brand</LI>
  <LI>Then select a product</LI>
  <LI>Then select your operating system</LI>
  <LI>Click on the file to begin downloading</LI></OL>
<DIV id=3DtechCatFormDiv>
<FORM id=3DtecCatSelectForm method=3Dget name=3DtecCatSelectForm=20
action=3D/driverDownloads.php><SELECT id=3DtecCatSel =
onchange=3Dthis.form.submit()=20
size=3D1 name=3DtechCat> <OPTION value=3D"">Select an HID Brand</OPTION> =
<OPTION=20
  value=3D17>SmartID - 13.56MHz MIFARE/DESFire</OPTION> <OPTION selected =

  value=3D19>OMNIKEY=C2=AE</OPTION> <OPTION value=3D25>Fargo</OPTION> =
<OPTION=20
  value=3D50>identiCLASS=E2=84=A2</OPTION> <OPTION =
value=3D51>veriCLASS=E2=84=A2</OPTION> <OPTION=20
  value=3D43>OPIN</OPTION> <OPTION value=3D18>Asure ID</OPTION> <OPTION=20
  value=3D24>naviGo</OPTION></SELECT> </FORM></DIV></DIV>
<DIV id=3DprodFormDiv>
<FORM id=3DprodSelectForm method=3Dget=20
action=3D/driverDownloads.php>Products<BR><INPUT value=3D19 =
type=3Dhidden=20
name=3DtechCat> <SELECT style=3D"FONT-SIZE: 10px" id=3DproductSel=20
onchange=3Dthis.form.submit() size=3D1 name=3Dprod_id> <OPTION =
value=3D"">Select a=20
  Product</OPTION> <OPTION value=3D343>OMNIKEY 1021</OPTION> <OPTION=20
  value=3D369>OMNIKEY 2061 Bluetooth=C2=AE Reader</OPTION> <OPTION =
value=3D186>OMNIKEY=20
  3021 USB</OPTION> <OPTION value=3D183>OMNIKEY 3111 Reader =
Board</OPTION> <OPTION=20
  value=3D187>OMNIKEY 3111 Serial</OPTION> <OPTION value=3D184>OMNIKEY =
3121 Reader=20
  Board USB</OPTION> <OPTION value=3D188>OMNIKEY 3121 USB</OPTION> =
<OPTION=20
  value=3D189>OMNIKEY 3621 PIN Pad Reader</OPTION> <OPTION =
value=3D190>OMNIKEY 3821=20
  USB Pinpad</OPTION> <OPTION value=3D191>OMNIKEY 3921 PC Built-In USB=20
  Reader</OPTION> <OPTION value=3D185>OMNIKEY 3921 Reader Board =
USB</OPTION>=20
  <OPTION value=3D180>OMNIKEY 4040 Mobile PCMCIA</OPTION> <OPTION=20
  value=3D181>OMNIKEY 4321 Mobile ExpressCard 54</OPTION> <OPTION=20
  value=3D168>OMNIKEY 5121 Reader Board USB</OPTION> <OPTION =
value=3D173>OMNIKEY=20
  5125 USB Prox</OPTION> <OPTION value=3D169>OMNIKEY 5321 and CL SAM =
Reader=20
  Board</OPTION> <OPTION value=3D371>OMNIKEY 5321 CL SAM USB =
Reader</OPTION>=20
  <OPTION value=3D331>OMNIKEY 5321 CL USB Reader</OPTION> <OPTION=20
  value=3D272>OMNIKEY 5321 CLi USB</OPTION> <OPTION value=3D368>OMNIKEY =
5321 CR USB=20
  Reader</OPTION> <OPTION selected value=3D171>OMNIKEY 5321 USB</OPTION> =
<OPTION=20
  value=3D339>OMNIKEY 5325 CL USB Prox</OPTION> <OPTION =
value=3D279>OMNIKEY 5325 USB=20
  Prox</OPTION> <OPTION value=3D182>OMNIKEY 6121 Mobile USB =
Reader</OPTION>=20
  <OPTION value=3D378>OMNIKEY 6221 MicroSD</OPTION> <OPTION =
value=3D275>OMNIKEY 6321=20
  CLi USB</OPTION> <OPTION value=3D274>OMNIKEY 6321 USB</OPTION> <OPTION =

  value=3D281>OMNIKEY 7121 Biometric Reader</OPTION> <OPTION =
value=3D192>OMNIKEY=20
  8751 e-Health LAN</OPTION> <OPTION value=3D375>OMNIKEY =
Dual-ISO</OPTION> <OPTION=20
  value=3D423>OMNIKEY MIFARE=C2=AE Easy Reader Boards</OPTION> <OPTION=20
  value=3D376>OMNIKEY Multi-ISO</OPTION> <OPTION value=3D175>OMNIKEY =
Smart@Link=20
  Reader Board Serial</OPTION> <OPTION value=3D174>OMNIKEY Smart@Link =
Reader Board=20
  USB</OPTION> <OPTGROUP label=3D"Discontinued =
Products"></OPTGROUP><OPTION=20
  value=3D201>OMNIKEY CardMan Desktop Fingerprint 7120</OPTION> <OPTION=20
  value=3D196>OMNIKEY CardMan Desktop serial 1010</OPTION> <OPTION=20
  value=3D200>OMNIKEY CardMan Desktop serial 2010</OPTION> <OPTION=20
  value=3D197>OMNIKEY CardMan Desktop serial 2011</OPTION> <OPTION=20
  value=3D198>OMNIKEY CardMan Desktop serial 3110</OPTION> <OPTION=20
  value=3D202>OMNIKEY CardMan Desktop serial-B1 9010</OPTION> <OPTION=20
  value=3D203>OMNIKEY CardMan Desktop serial-B1 PIN 9011</OPTION> =
<OPTION=20
  value=3D199>OMNIKEY CardMan Desktop USB 2020</OPTION> <OPTION =
value=3D205>OMNIKEY=20
  CardMan Dongle 6020</OPTION> <OPTION value=3D210>OMNIKEY CardMan =
Embedded=20
  3e10</OPTION> <OPTION value=3D211>OMNIKEY CardMan Embedded =
3e20</OPTION> <OPTION=20
  value=3D212>OMNIKEY CardMan Embedded Smart@Bus</OPTION> <OPTION=20
  value=3D204>OMNIKEY CardMan Mobile PCMCIA 4000</OPTION> <OPTION=20
  value=3D206>OMNIKEY CardMan Trust Class 2 serial: 3610</OPTION> =
<OPTION=20
  value=3D207>OMNIKEY CardMan Trust Class 2 USB: 3620</OPTION> <OPTION=20
  value=3D208>OMNIKEY CardMan Trust Class 3&amp;4: 8630</OPTION> <OPTION =

  value=3D209>OMNIKEY CardMan Trust FINREAD</OPTION></SELECT> =
</FORM></DIV>
<DIV>Operating System<BR><SELECT id=3DselOS=20
onchange=3DshowOSDrivers(this.options[selectedIndex].value) size=3D1 =
name=3DselOS>=20
  <OPTION value=3D"">Select</OPTION> <OPTION value=3D1>Win =
98/ME</OPTION> <OPTION=20
  value=3D3>Win NT</OPTION> <OPTION value=3D20>Windows Server =
2008</OPTION> <OPTION=20
  value=3D24>Windows 2000</OPTION> <OPTION selected value=3D4>Win =
2000/XP</OPTION>=20
  <OPTION value=3D5>Windows XP</OPTION> <OPTION value=3D10>WinXP x64=20
  Edition</OPTION> <OPTION value=3D14>Win 2003 Server</OPTION> <OPTION=20
  value=3D18>Win 2003 Server x64</OPTION> <OPTION value=3D22>Windows =
Server 2008=20
  x64</OPTION> <OPTION value=3D16>Windows Vista</OPTION> <OPTION =
value=3D21>Windows=20
  7</OPTION> <OPTION value=3D23>Windows 7 x64</OPTION> <OPTION =
value=3D17>Windows=20
  Vista x64</OPTION> <OPTION value=3D6>Win CE</OPTION> <OPTION=20
  value=3D7>Linux</OPTION> <OPTION value=3D15>Linux x64</OPTION> <OPTION =

  value=3D8>MacOS X</OPTION></SELECT><BR><BR></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv1>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win 98/ME</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY I2C-Bus API for Windows</TD>
    <TD>2301634</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_I2C_Bus_API_V1_0_0_0.zip:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CardM=
an_I2C_Bus_API_V1_0_0_0.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_I2C_Bus_API_V1_0_0_0.zip</A></TD>
    <TD>I=C2=B2C-Bus API (V1.0.0.0 - Release: 07/05/04 - =
2300kB)</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 -=20
2714kB)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv3>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win NT</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY I2C-Bus API for Windows</TD>
    <TD>2301634</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_I2C_Bus_API_V1_0_0_0.zip:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CardM=
an_I2C_Bus_API_V1_0_0_0.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_I2C_Bus_API_V1_0_0_0.zip</A></TD>
    <TD>I=C2=B2C-Bus API (V1.0.0.0 - Release: 07/05/04 - =
2300kB)</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB=20
  )</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv20>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows Server 2008</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv24>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows 2000</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: block; CLEAR: both" =
id=3DosDiv4>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win 2000/XP</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY I2C-Bus API for Windows</TD>
    <TD>2301634</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_I2C_Bus_API_V1_0_0_0.zip:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CardM=
an_I2C_Bus_API_V1_0_0_0.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_I2C_Bus_API_V1_0_0_0.zip</A></TD>
    <TD>I=C2=B2C-Bus API (V1.0.0.0 - Release: 07/05/04 - =
2300kB)</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv5>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows XP</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv10>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>WinXP x64 Edition</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>CardMan 5X2X PC/SC Selfextractor (manual installation) Windows =
x64=20
      Edition</TD>
    <TD>258505</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNI=
KEY5x2x_V1_2_3_6_64BitAMD.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe</A></TD>
    <TD>PC/SC Driver for CardMan 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/05/10 - 253kB - Windows XP x64, Windows Vista x64 - =
AMD64,=20
      2k3 Server x64, 2k8 Server x64, Windows Server 2008 R2 x64 &amp; =
Windows 7=20
      x64 - digitally signed)</TD></TR>
  <TR>
    <TD>CardMan 5x2x PC/SC Driver Setup</TD>
    <TD>2898816</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe:/drive=
rDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OM=
NIKEY5x2x_x64AMD_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe</A></TD>
    <TD>Windows XP x64 /Vista x64 / Server 2k3 / Server 2k8 and Server =
2k8 R2=20
      / Windows 7 Setup for OMNIKEY 5x21 and 5x25 V3.0.3.0 (driver =
version=20
      1.2.3.6 - digitally signed) 2831kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool x64</TD>
    <TD>6537896</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x64AMD_V2_4_0_5.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/O=
KDiagnosticTool_x64AMD_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x64AMD_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>Unattended Setup for OMNIKEY 5x2x x64 AMD/EMT</TD>
    <TD>4213154</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.=
zip:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/=
omnikey/OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R03.0.3.0 for OMNIKEY 5121, 5321, 5125, 5325, =
6321=20
      (V1.2.3.6 - 4115kB - XP / 2k3 Server / Vista /2k8 Server / Windows =
7 -=20
      digitally signed for Windows XP, Vista, Windows 7 -=20
x64)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv14>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win 2003 Server</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY I2C-Bus API for Windows</TD>
    <TD>2301634</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_I2C_Bus_API_V1_0_0_0.zip:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CardM=
an_I2C_Bus_API_V1_0_0_0.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_I2C_Bus_API_V1_0_0_0.zip</A></TD>
    <TD>I=C2=B2C-Bus API (V1.0.0.0 - Release: 07/05/04 - =
2300kB)</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv18>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win 2003 Server x64</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>CardMan 5X2X PC/SC Selfextractor (manual installation) Windows =
x64=20
      Edition</TD>
    <TD>258505</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNI=
KEY5x2x_V1_2_3_6_64BitAMD.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe</A></TD>
    <TD>PC/SC Driver for CardMan 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/05/10 - 253kB - Windows XP x64, Windows Vista x64 - =
AMD64,=20
      2k3 Server x64, 2k8 Server x64, Windows Server 2008 R2 x64 &amp; =
Windows 7=20
      x64 - digitally signed)</TD></TR>
  <TR>
    <TD>CardMan 5x2x PC/SC Driver Setup</TD>
    <TD>2898816</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe:/drive=
rDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OM=
NIKEY5x2x_x64AMD_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe</A></TD>
    <TD>Windows XP x64 /Vista x64 / Server 2k3 / Server 2k8 and Server =
2k8 R2=20
      / Windows 7 Setup for OMNIKEY 5x21 and 5x25 V3.0.3.0 (driver =
version=20
      1.2.3.6 - digitally signed) 2831kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool x64</TD>
    <TD>6537896</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x64AMD_V2_4_0_5.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/O=
KDiagnosticTool_x64AMD_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x64AMD_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>Unattended Setup for OMNIKEY 5x2x x64 AMD/EMT</TD>
    <TD>4213154</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.=
zip:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/=
omnikey/OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R03.0.3.0 for OMNIKEY 5121, 5321, 5125, 5325, =
6321=20
      (V1.2.3.6 - 4115kB - XP / 2k3 Server / Vista /2k8 Server / Windows =
7 -=20
      digitally signed for Windows XP, Vista, Windows 7 -=20
x64)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv22>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows Server 2008 x64</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CardMan 5X2X PC/SC Selfextractor (manual installation) Windows =
x64=20
      Edition</TD>
    <TD>258505</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNI=
KEY5x2x_V1_2_3_6_64BitAMD.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe</A></TD>
    <TD>PC/SC Driver for CardMan 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/05/10 - 253kB - Windows XP x64, Windows Vista x64 - =
AMD64,=20
      2k3 Server x64, 2k8 Server x64, Windows Server 2008 R2 x64 &amp; =
Windows 7=20
      x64 - digitally signed)</TD></TR>
  <TR>
    <TD>CardMan 5x2x PC/SC Driver Setup</TD>
    <TD>2898816</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe:/drive=
rDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OM=
NIKEY5x2x_x64AMD_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe</A></TD>
    <TD>Windows XP x64 /Vista x64 / Server 2k3 / Server 2k8 and Server =
2k8 R2=20
      / Windows 7 Setup for OMNIKEY 5x21 and 5x25 V3.0.3.0 (driver =
version=20
      1.2.3.6 - digitally signed) 2831kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool x64</TD>
    <TD>6537896</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x64AMD_V2_4_0_5.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/O=
KDiagnosticTool_x64AMD_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x64AMD_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>Unattended Setup for OMNIKEY 5x2x x64 AMD/EMT</TD>
    <TD>4213154</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.=
zip:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/=
omnikey/OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R03.0.3.0 for OMNIKEY 5121, 5321, 5125, 5325, =
6321=20
      (V1.2.3.6 - 4115kB - XP / 2k3 Server / Vista /2k8 Server / Windows =
7 -=20
      digitally signed for Windows XP, Vista, Windows 7 -=20
x64)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv16>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows Vista</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv21>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows 7</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Driver Self-Extractor (for manual =
installation)</TD>
    <TD>224096</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6.exe:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIKEY5x2x_V=
1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6.exe</A></TD>
    <TD>PC/SC Driver for OMNIKEY 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/12/14 - 219 kB - Windows 2000 / XP / 2k3 Server / =
Vista /=20
      2k8 Server / Windows 7 - digitally signed for Win 2000, XP, Vista, =
Windows=20
      7)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x Unattended Setup Installer</TD>
    <TD>2829568</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x86_for_R1_2_3_6.exe:/driverDo=
wnloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNIK=
EY5x2x_x86_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x86_for_R1_2_3_6.exe</A></TD>
    <TD>2000/XP/Vista/2k3 Server/2k8 Server/ Windows 7 Setup for OMNIKEY =
5x21=20
      and 5x25 V3.0.3.0 (driver version 1.2.3.6 - digitally signed) =
2762kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool</TD>
    <TD>7422144</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x86_V2_4_0_5.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OKDi=
agnosticTool_x86_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x86_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x MSI Unattended Setup Files</TD>
    <TD>4074248</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zi=
p:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/om=
nikey/OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_x86_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R3.0.3.0 for 5121, 5321, 5125, 5325, 6321 =
(V1.2.3.6 -=20
      3979kB - Windows 2000 / XP / 2k3 Server / Vista / 2k8 Server / =
Windows 7 -=20
      digitally signed for Win 2000, XP, Vista, Server 2003, Server =
2008,=20
      Windows 7)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv23>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows 7 x64</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>CardMan 5X2X PC/SC Selfextractor (manual installation) Windows =
x64=20
      Edition</TD>
    <TD>258505</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNI=
KEY5x2x_V1_2_3_6_64BitAMD.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe</A></TD>
    <TD>PC/SC Driver for CardMan 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/05/10 - 253kB - Windows XP x64, Windows Vista x64 - =
AMD64,=20
      2k3 Server x64, 2k8 Server x64, Windows Server 2008 R2 x64 &amp; =
Windows 7=20
      x64 - digitally signed)</TD></TR>
  <TR>
    <TD>CardMan 5x2x PC/SC Driver Setup</TD>
    <TD>2898816</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe:/drive=
rDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OM=
NIKEY5x2x_x64AMD_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe</A></TD>
    <TD>Windows XP x64 /Vista x64 / Server 2k3 / Server 2k8 and Server =
2k8 R2=20
      / Windows 7 Setup for OMNIKEY 5x21 and 5x25 V3.0.3.0 (driver =
version=20
      1.2.3.6 - digitally signed) 2831kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool x64</TD>
    <TD>6537896</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x64AMD_V2_4_0_5.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/O=
KDiagnosticTool_x64AMD_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x64AMD_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>Unattended Setup for OMNIKEY 5x2x x64 AMD/EMT</TD>
    <TD>4213154</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.=
zip:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/=
omnikey/OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R03.0.3.0 for OMNIKEY 5121, 5321, 5125, 5325, =
6321=20
      (V1.2.3.6 - 4115kB - XP / 2k3 Server / Vista /2k8 Server / Windows =
7 -=20
      digitally signed for Windows XP, Vista, Windows 7 -=20
x64)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv17>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Windows Vista x64</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY Synchronous API for Windows</TD>
    <TD>3232576</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CardMan_Synchronous_API_V1_1_1_4.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/C=
ardMan_Synchronous_API_V1_1_1_4.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CardMan_Synchronous_API_V1_1_1_4.exe</A></TD>
    <TD>OMNIKEY synchronous API (V1.1.1.4 - Release: 10/10/07 - 3927kB =
)</TD></TR>
  <TR>
    <TD>CT-API for Windows</TD>
    <TD>2778992</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"CT-API_V4_0_2_2A.exe:/driverDownloads.php?=
techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/CT-API_V4_0_2_2A.=
exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">CT-API_V4_0_2_2A.exe</A></TD>
    <TD>CT-API (V4.0.2.2A - Release: 04/01/09 - 2714kB)</TD></TR>
  <TR>
    <TD>CardMan 5X2X PC/SC Selfextractor (manual installation) Windows =
x64=20
      Edition</TD>
    <TD>258505</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe:/driverD=
ownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OMNI=
KEY5x2x_V1_2_3_6_64BitAMD.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_V1_2_3_6_64BitAMD.exe</A></TD>
    <TD>PC/SC Driver for CardMan 5121, 5321, 5125, 5325, 6321 (V1.2.3.6 =
-=20
      Release: 2010/05/10 - 253kB - Windows XP x64, Windows Vista x64 - =
AMD64,=20
      2k3 Server x64, 2k8 Server x64, Windows Server 2008 R2 x64 &amp; =
Windows 7=20
      x64 - digitally signed)</TD></TR>
  <TR>
    <TD>CardMan 5x2x PC/SC Driver Setup</TD>
    <TD>2898816</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe:/drive=
rDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OM=
NIKEY5x2x_x64AMD_for_R1_2_3_6.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_x64AMD_for_R1_2_3_6.exe</A></TD>
    <TD>Windows XP x64 /Vista x64 / Server 2k3 / Server 2k8 and Server =
2k8 R2=20
      / Windows 7 Setup for OMNIKEY 5x21 and 5x25 V3.0.3.0 (driver =
version=20
      1.2.3.6 - digitally signed) 2831kB</TD></TR>
  <TR>
    <TD>OMNIKEY Diagnostic Tool x64</TD>
    <TD>6537896</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OKDiagnosticTool_x64AMD_V2_4_0_5.exe:/driv=
erDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/O=
KDiagnosticTool_x64AMD_V2_4_0_5.exe")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OKDiagnosticTool_x64AMD_V2_4_0_5.exe</A></TD>
    <TD>Please be aware that this new diagnostic tool is a stand alone=20
      programm which can be started from Start Menu Programms menu.=20
      Additionally, on Windows Vista and Windows 7 administrative =
privileges are=20
      needed to execute the application.</TD></TR>
  <TR>
    <TD>Unattended Setup for OMNIKEY 5x2x x64 AMD/EMT</TD>
    <TD>4213154</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.=
zip:/driverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/=
omnikey/OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OMNIKEY5x2x_Unattended_amd64_for_R1_2_3_6.zip</A></TD>
    <TD>Unattended Setup R03.0.3.0 for OMNIKEY 5121, 5321, 5125, 5325, =
6321=20
      (V1.2.3.6 - 4115kB - XP / 2k3 Server / Vista /2k8 Server / Windows =
7 -=20
      digitally signed for Windows XP, Vista, Windows 7 -=20
x64)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv6>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Win CE</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x PC/SC driver for Windows CE</TD>
    <TD>1721890</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"OK5x2x_CE_R01_2_3_6.zip:/driverDownloads.p=
hp?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/OK5x2x_CE_R01_=
2_3_6.zip")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">OK5x2x_CE_R01_2_3_6.zip</A></TD>
    <TD>This driver package contains the OMNIKEY 5x2x driver files and=20
      registry settings for Windows CE 4.2 on ARMV4, ARMV4I, MIPSII, =
SH3, SH4,=20
      x86 processor architecture as well as for Windows CE.NET 5.0 and =
6.0 for=20
      ARMv4I, MIPSII, SH4, x86 processor architecture - Driver Version=20
      1.2.3.6<BR></TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv7>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Linux</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x PC/SC for Linux 32Bit</TD>
    <TD>290073</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"ifdokrfid_lnx_i686-2.8.1.tar.gz:/driverDow=
nloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/ifdokr=
fid_lnx_i686-2.8.1.tar.gz")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">ifdokrfid_lnx_i686-2.8.1.tar.gz</A></TD>
    <TD>PC/SC driver for OMNIKEY 5x21 and 5x25 (V2.8.1 - Release: =
10/29/2010 -=20
      284KB - Linux 32Bit)</TD></TR>
  <TR>
    <TD>Sync-API for Linux 32 Bit</TD>
    <TD>470865</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"syncapi_lnx-1.5.0.tar.gz:/driverDownloads.=
php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/syncapi_lnx-1=
.5.0.tar.gz")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">syncapi_lnx-1.5.0.tar.gz</A></TD>
    <TD>Synchronous-API (V1.5.0 - Release: 09/21/07- 1118KB - Linux 32=20
  Bit)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" =
id=3DosDiv15>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>Linux x64</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>Sync-API for Linux 64 Bit</TD>
    <TD>1430138</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"syncapi_lnx-amd64-1.5.0.tar.gz:/driverDown=
loads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/syncapi=
_lnx-amd64-1.5.0.tar.gz")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">syncapi_lnx-amd64-1.5.0.tar.gz</A></TD>
    <TD>Synchronous-API (V1.5.0 - Release: 09/24/07- 1122KB - Linux 64=20
  Bit)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x PC/SC for Linux 64Bit</TD>
    <TD>295089</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"ifdokrfid_lnx_x64-2.8.1.tar.gz:/driverDown=
loads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/ifdokrf=
id_lnx_x64-2.8.1.tar.gz")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">ifdokrfid_lnx_x64-2.8.1.tar.gz</A></TD>
    <TD>PC/SC driver for OMNIKEY 5x21 and 5x25 (V2.8.1 - Release: =
10/29/2010 -=20
      289KB - Linux 64Bit)</TD></TR></TBODY></TABLE></DIV>
<DIV style=3D"MARGIN-TOP: 10px; DISPLAY: none; CLEAR: both" id=3DosDiv8>
<TABLE style=3D"WIDTH: 100%" border=3D1>
  <TBODY>
  <TR>
    <TD colSpan=3D4>MacOS X</TD></TR>
  <TR>
    <TD>Title</TD>
    <TD>Size</TD>
    <TD>File</TD>
    <TD>Description</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x PC/SC driver for Mac OS X 10.5.x</TD>
    <TD>127879</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"ifdokrfid_mac_intel_10.5_i386-2.4.0.dmg:/d=
riverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnike=
y/ifdokrfid_mac_intel_10.5_i386-2.4.0.dmg")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">ifdokrfid_mac_intel_10.5_i386-2.4.0.dmg</A></TD>
    <TD>PC/SC driver for OMNIKEY 5321, 5325, 6321 (V2.4.0 Release: =
06/30/2010=20
      - 125kb - MacOS X 10.5.x on Intel)</TD></TR>
  <TR>
    <TD>CardMan Synchronous API for Mac OS X 10.5 and 10.6 on Intel</TD>
    <TD>2284204</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"syncapi_macos-1.6.0.tar.gz:/driverDownload=
s.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnikey/syncapi_mac=
os-1.6.0.tar.gz")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">syncapi_macos-1.6.0.tar.gz</A></TD>
    <TD>Synchronous-API (V1.6.0 - Release: 03/11/2009- 2.231KB - MacOS X =
10.5=20
      and MacOS X 10.6 on Intel)</TD></TR>
  <TR>
    <TD>OMNIKEY 5x2x PC/SC driver for Mac OS X 10.6.x</TD>
    <TD>132803</TD>
    <TD><A=20
      =
onclick=3D'handleOnClick(this,"ifdokrfid_mac_intel_10.6_i386-2.4.0.dmg:/d=
riverDownloads.php?techCat=3D19&amp;prod_id=3D171:omnikey:/drivers/omnike=
y/ifdokrfid_mac_intel_10.6_i386-2.4.0.dmg")'=20
      =
href=3D"http://www.hidglobal.com/driverDownloads.php?techCat=3D19&amp;pro=
d_id=3D171#">ifdokrfid_mac_intel_10.6_i386-2.4.0.dmg</A></TD>
    <TD>PC/SC driver for OMNIKEY 5321, 5325, 6321 (V2.4.0 Release: =
06/30/2010=20
      - 130kb - MacOS X 10.6.x on =
Intel)</TD></TR></TBODY></TABLE></DIV><!-- InstanceEndEditable =
--></DIV><!--end pageContent div --></DIV><!--end container =
--></DIV><!--end shadowDiv -->
<DIV id=3DshadowBottom></DIV></DIV><!--end page Container --><!-- =
######### BEGIN NEW FOOTER ######### -->
<SCRIPT type=3Dtext/JavaScript=20
src=3D"http://www.hidglobal.com/new-header/js/hoverIntent.js"></SCRIPT>

<SCRIPT type=3Dtext/JavaScript=20
src=3D"http://www.hidglobal.com/new-header/js/superfish.js"></SCRIPT>

<SCRIPT type=3Dtext/JavaScript>=0A=
$(document).ready(function() {=0A=
	// Clear/restore default text in search boxes etc=0A=
	$('.input-text').focus(function() {=0A=
		if (this.value=3D=3Dthis.defaultValue)=0A=
		this.value =3D ''=0A=
	});=0A=
	$('.input-text').blur(function() {=0A=
		if (this.value=3D=3D'')=0A=
		this.value =3D this.defaultValue=0A=
	});=0A=
	=0A=
	// Dropdown navigation=0A=
	$('ul#global-nav-main').superfish({=0A=
		autoArrows: false,=0A=
		speed: 'fast'=0A=
	});=0A=
});=0A=
</SCRIPT>

<DIV id=3Dfooter>
<DIV id=3Dfooter-inner>
<DIV class=3Dpkg>
<UL id=3Dfooter-nav-1>
  <LI class=3Dfirst><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','About HID');"=20
  href=3D"http://www.hidglobal.com/about/index.php">About HID</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Sustainability');"=20
  =
href=3D"http://www.hidglobal.com/main/sustainability/">Sustainability</A>=
</LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Media Center');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D209">Media =
Center</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Contact Us');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D210">Contact =
Us</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Careers');"=20
  href=3D"http://www.hidglobal.com/main/careers/">Careers</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','RMA');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D20">RMA</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Site Map');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D216">Site =
Map</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Privacy');"=20
  =
href=3D"http://www.hidglobal.com/page.php?page_id=3D163">Privacy</A></LI>=

  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Security Center');"=20
  =
href=3D"http://www.hidglobal.com/main/product-security-reporting-center/"=
>Security=20
  Center</A></LI>
  <LI><A=20
  onclick=3D"var =
s=3Ds_gi(s_account);s.linkTrackVars=3D'prop12,events';s.prop12=3D'en';s.l=
inkTrackEvents=3D'event23';s.tl(this,'o','Terms of Use');"=20
  href=3D"http://www.hidglobal.com/page.php?page_id=3D340">Terms of =
Use</A></LI></UL>
<SCRIPT language=3DJavaScript>=0A=
function goto(form) { =0A=
var hname =3D window.location.hostname;=0A=
var index=3Dform.language.selectedIndex=0A=
	if (form.language.options[index].value !=3D "0") {=0A=
		var subDomain =3D form.language.options[index].value;=0A=
		var destinationRaw =3D hname+"/"+subDomain;=0A=
	}else{=0A=
		var destinationRaw =3D hname+"/";=0A=
	}=0A=
		var destination =3D destinationRaw.replace("<","&lt;");=0A=
	location=3D "http://"+destination;	=0A=
}=0A=
//-->=0A=
</SCRIPT>

<FORM id=3Dlanguage-selector action=3D""><SELECT id=3Dlanguage=20
onchange=3Dgoto(this.form) name=3Dlanguage> <OPTION selected =
value=3D"">Choose a=20
  language</OPTION> <OPTION=20
  =
value=3DdriverDownloads.php?techCat=3D19&amp;prod_id=3D171>English</OPTIO=
N> <OPTION=20
  =
value=3Dchinese/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>=E4=B8=
=AD=E6=96=87</OPTION>=20
  <OPTION=20
  =
value=3Ddeutsch/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>Deutsc=
h</OPTION>=20
  <OPTION=20
  =
value=3Dfrancais/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>Fran=C3=
=A7ais</OPTION>=20
  <OPTION=20
  =
value=3Despanol/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>Espa=C3=
=B1ol</OPTION>=20
  <OPTION=20
  =
value=3Ditaliano/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>Itali=
ano</OPTION>=20
  <OPTION=20
  =
value=3Djapanese/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>=E6=97=
=A5=E6=9C=AC=E8=AA=9E</OPTION>=20
  <OPTION=20
  =
value=3Dkorean/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>=ED=95=9C=
=EA=B5=AD=EC=96=B4</OPTION>=20
  <OPTION=20
  =
value=3Dportugues/driverDownloads.php?techCat=3D19&amp;prod_id=3D171>Port=
ugu=C3=AAs</OPTION></SELECT>=20
</FORM></DIV>
<DIV class=3Dpkg>
<DIV id=3Dfooter-nav-2>
<UL>
  <LI class=3Dfirst>=C2=A9 2011 <A =
href=3D"http://www.hidglobal.com/">HID=20
Global</A></LI></UL></DIV>
<DIV id=3Dfooter-logo><A href=3D"http://assaabloy.com/en/com/" =
target=3D_blank>ASSA=20
ABLOY</A></DIV></DIV></DIV><!-- end #footer-inner --></DIV><!-- end =
#footer --><!-- ######### END NEW FOOTER ######### -->
<SCRIPT type=3Dtext/javascript>
		var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
		document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
		</SCRIPT>

<SCRIPT type=3Dtext/javascript>
		var pageTracker =3D _gat._getTracker("UA-5157769-1");
		pageTracker._initData();
		pageTracker._trackPageview();
		</SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/javascript/omnitureWriterHelper.js"></SCR=
IPT>
<!-- SiteCatalyst code version: H.19.4.
		Copyright 1997-2009 Omniture, Inc. More info available at
		http://www.omniture.com -->
<SCRIPT language=3DJavaScript type=3Dtext/javascript=20
src=3D"http://www.hidglobal.com/javascript/s_code.js"></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
		/* You may give each page an identifying name, server, and channel on
		the next lines. */
		=0A=

			s.pageName=3D"identity and access management : logical access : =
driver downloads : omnikey : omnikey 5321 usb"
			s.channel=3D"identity and access management"
			s.prop1=3D"identity and access management : logical access"
			s.prop2=3D"identity and access management : logical access : driver =
downloads"
			s.prop3=3D"identity and access management : logical access : driver =
downloads : omnikey"
			s.prop4=3D"identity and access management : logical access : driver =
downloads : omnikey : omnikey 5321 usb"
			s.prop12=3D"en_US"
			s.prop17=3Ds.pageName;=0A=
=0A=

		if (typeof omniCmpid !=3D 'undefined') {
			if (omniCmpid){
				s.prop17=3DomniCmpid+" : "+s.pageName
			}
		}
		/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
		var s_code=3Ds.t();if(s_code)document.write(s_code)//--></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
		=
if(navigator.appVersion.indexOf('MSIE')>=3D0)document.write(unescape('%3C=
')+'\!-'+'-')
		//--></SCRIPT>
<NOSCRIPT><A title=3D"Web Analytics" =
href=3D"http://www.omniture.com/"><IMG border=3D0=20
alt=3D"" src=3D"http://hidglobal.122.2o7.net/b/ss/hidDev/1/H.19.4--NS/0" =
width=3D1=20
height=3D1></A></NOSCRIPT><!--/DO NOT REMOVE/--> <!-- End SiteCatalyst =
code version: H.19.4. --><!-- InstanceEnd --></BODY></HTML>

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://hidglobal.122.2o7.net/b/ss/hidDev/1/H.19.4--NS/0

R0lGODlhAgACAIAAAP///wAAACH5BAEAAAAALAAAAAACAAIAAAIChFEAOw==

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/quickmenu_styles.css

.qmmc .qmdivider {
	BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; DISPLAY: block; =
FONT-SIZE: 1px; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid
}
.qmmc .qmdividery {
	WIDTH: 0px; FLOAT: left
}
.qmmc .qmtitle {
	DISPLAY: block; WHITE-SPACE: nowrap; CURSOR: default
}
.qmclear {
	LINE-HEIGHT: 0px; WIDTH: 0px; DISPLAY: block; HEIGHT: 0px; CLEAR: left; =
FONT-SIZE: 1px
}
.qmmc {
	POSITION: relative; HEIGHT: 1%
}
.qmmc A {
	DISPLAY: block; WHITE-SPACE: nowrap; FLOAT: left
}
.qmmc LI {
	DISPLAY: block; WHITE-SPACE: nowrap; FLOAT: left
}
.qmmc DIV A {
	FLOAT: none
}
.qmmc UL A {
	FLOAT: none
}
.qmmc UL LI {
	FLOAT: none
}
.qmsh DIV A {
	FLOAT: left
}
.qmmc DIV {
	POSITION: absolute; VISIBILITY: hidden
}
#qm0 {
	WIDTH: 810px; BACKGROUND: url(images/navback.png) #a2bfe9 repeat-x; =
HEIGHT: 35px
}
#qm0 BLOCKQUOTE {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 5px 0px 5px 15px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
#qm0 A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 13px; =
FONT-FAMILY: Arial, Helvetica, Sans; BACKGROUND: url(images/nav_sep.png) =
no-repeat right top; COLOR: #ffffff; FONT-SIZE: 12px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none; PADDING-TOP: 6px
}
#qm0 A.lastnav {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#qm0 A:hover {
=09
}
BODY #qm0 .qmactive {
	TEXT-DECORATION: none
}
BODY #qm0 .qmactive:hover {
	TEXT-DECORATION: none
}
#qm0 DIV {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cfcfcf 3px inset; FILTER: =
progid:DXImageTransform.Microsoft.BasicImage(opacity=3D0.85); =
BORDER-LEFT: #ffffff 3px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
#ffffff; MARGIN: 6px 0px 0px -1px; PADDING-LEFT: 5px; WIDTH: auto; =
PADDING-RIGHT: 5px; BORDER-TOP: #ffffff 3px solid; BORDER-RIGHT: #cfcfcf =
3px inset; PADDING-TOP: 5px; -moz-opacity: 0.85; opacity: 0.85
}
#qm0 DIV .qmparent {
	BACKGROUND-IMAGE: url(images/arrow_right_blue.gif); BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: 92% 50%
}
#qm0 DIV A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 40px; FONT-FAMILY: Arial, Helvetica, =
Sans; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #060807; =
FONT-SIZE: 11px; BORDER-TOP: 0px; FONT-WEIGHT: bold; BORDER-RIGHT: 0px; =
PADDING-TOP: 2px
}
#qm0 DIV A:hover {
	TEXT-DECORATION: underline
}
#qm1 DIV A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 40px; FONT-FAMILY: Arial, Helvetica, =
Sans; COLOR: #666666; FONT-SIZE: 11px; BORDER-TOP: 0px; FONT-WEIGHT: =
bold; BORDER-RIGHT: 0px; PADDING-TOP: 2px
}
#qm1 DIV A:hover {
	TEXT-DECORATION: none
}

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/new-header/css/header.css

#header-inner {
	POSITION: relative; PADDING-BOTTOM: 10px; MARGIN: 0px 12px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 76px; FONT-SIZE: 12px
}
#logo {
	POSITION: absolute; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 133px; PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: 54px; =
TOP: 14px; PADDING-TOP: 0px; LEFT: 0px
}
#logo A {
	PADDING-BOTTOM: 0px; TEXT-INDENT: -9999px; MARGIN: 0px; OUTLINE-STYLE: =
none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium; =
WIDTH: 133px; PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: =
url(../images/logo-hid.png) no-repeat left top; HEIGHT: 54px; OVERFLOW: =
hidden; PADDING-TOP: 0px
}
#tagline {
	POSITION: absolute; COLOR: #808080; FONT-SIZE: 13px; TOP: 24px; LEFT: =
138px
}
#tagline A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
COLOR: #808080 !important
}
#support-nav {
	POSITION: absolute; TOP: 18px; RIGHT: 202px
}
#support-nav UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px
}
#support-nav LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
5px; PADDING-RIGHT: 5px; DISPLAY: inline; FONT-SIZE: 11px; BORDER-RIGHT: =
#333 1px solid; PADDING-TOP: 0px
}
#support-nav-contact {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
#support-nav A {
	COLOR: #333
}
#support-nav A:hover {
	COLOR: #fc861e
}
#global-search {
	POSITION: absolute; TOP: 14px; RIGHT: 0px
}
#global-search .input-text {
	PADDING-BOTTOM: 3px; MARGIN: 0px 10px 0px 0px; PADDING-LEFT: 3px; =
WIDTH: 150px; PADDING-RIGHT: 3px; FONT-FAMILY: Arial, Helvetica, =
Verdana, sans-serif; COLOR: #333; FONT-SIZE: 11px; PADDING-TOP: 3px
}
#search-submit {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; TEXT-INDENT: -9999px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 22px; =
PADDING-RIGHT: 0px; BACKGROUND: url(../images/button-arrow.png) =
no-repeat 0px 0px; HEIGHT: 22px; OVERFLOW: hidden; BORDER-TOP: medium =
none; CURSOR: pointer; BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
#search-submit:hover {
	BACKGROUND-POSITION: 0px -22px
}
#global-nav {
	POSITION: absolute; TOP: 50px; RIGHT: -15px
}
#global-nav-main {
	Z-INDEX: 12; POSITION: relative; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
inline; PADDING-TOP: 0px
}
#global-nav-main LI {
	Z-INDEX: 13; POSITION: relative; PADDING-BOTTOM: 7px; LIST-STYLE-TYPE: =
none; MARGIN: 0px 0px 0px -7px; PADDING-LEFT: 0px; PADDING-RIGHT: 8px; =
DISPLAY: inline; FLOAT: left; PADDING-TOP: 0px
}
#global-nav-main H4 {
	PADDING-BOTTOM: 7px; MARGIN: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: =
20px; BACKGROUND: url(../images/arrow-dropdown.png) no-repeat right =
10px; COLOR: #6fabe9; FONT-SIZE: 12px; CURSOR: default; FONT-WEIGHT: =
bold; PADDING-TOP: 7px; _background: transparent =
url(../images/arrow-dropdown.gif) no-repeat right 10px
}
#global-nav-main LI.sfHover H4 {
	BACKGROUND: url(../images/arrow-dropdown.png) #6fabe9 no-repeat right =
-53px; COLOR: #fff; _background: #6fabe9 =
url(../images/arrow-dropdown.gif) no-repeat right -53px
}
#global-nav-main UL {
	Z-INDEX: 14; POSITION: absolute; LINE-HEIGHT: 1; DISPLAY: none; =
MARGIN-LEFT: 0px; TOP: 28px; LEFT: 0px
}
#global-nav-support-sub {
	RIGHT: 0px !important; LEFT: auto !important
}
#global-nav-main UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 150px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: #6fabe9; FLOAT: none; =
BORDER-TOP: #fff 1px solid; PADDING-TOP: 0px
}
#global-nav-main UL LI.first {
	BORDER-TOP: medium none
}
#global-nav-main UL LI A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; DISPLAY: =
block; COLOR: #fff; PADDING-TOP: 5px
}
#global-nav-main UL LI.first A {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; PADDING-TOP: 20px
}
#global-nav-main UL LI A:hover {
	BACKGROUND: #e1e1e1; COLOR: #005aab
}
.sf-shadow UL {
	PADDING-BOTTOM: 9px; PADDING-LEFT: 0px; PADDING-RIGHT: 8px; BACKGROUND: =
url(../images/menu-shadow.png) no-repeat right bottom; PADDING-TOP: 0px; =
-moz-border-radius-bottomleft: 17px; -moz-border-radius-topright: 17px; =
-webkit-border-top-right-radius: 17px; =
-webkit-border-bottom-left-radius: 17px
}
#global-nav-support-sub {
	-moz-border-radius-topright: 0; -webkit-border-top-right-radius: 0
}
#global-nav-main LI.sfHover {
	BACKGROUND: url(../images/menu-shadow.png) no-repeat right bottom; =
-moz-border-radius-bottomleft: 17px; -moz-border-radius-topright: 17px; =
-webkit-border-top-right-radius: 17px; =
-webkit-border-bottom-left-radius: 17px
}
.sfHover#global-nav-support {
	PADDING-BOTTOM: 0px; BACKGROUND: url(../images/menu-shadow.png) =
no-repeat right top
}
#footer {
	PADDING-BOTTOM: 20px; MARGIN: 0px auto; PADDING-LEFT: 20px; WIDTH: =
900px; PADDING-RIGHT: 20px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
FONT-SIZE: 12px; PADDING-TOP: 20px
}
#footer UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#footer-nav-1 {
	FLOAT: left
}
#footer-nav-1 LI {
	FLOAT: left
}
#footer-nav-2 {
	FLOAT: left
}
#footer-nav-2 LI {
	FLOAT: left
}
#footer-nav-1 LI {
	BORDER-LEFT: #7f7f7f 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #999999 !important; PADDING-TOP: 0px
}
#footer-nav-1 A:link {
	COLOR: #0066cc !important; FONT-WEIGHT: normal !important
}
#footer-nav-1 A:visited {
	COLOR: #0066cc !important; FONT-WEIGHT: normal !important
}
#footer-nav-1 A:hover {
	COLOR: #aaa7a7 !important; FONT-WEIGHT: normal !important
}
#footer-nav-1 A:active {
	COLOR: #aaa7a7 !important; FONT-WEIGHT: normal !important
}
#footer-nav-2 {
	FONT-SIZE: 10px
}
#footer-nav-2 UL {
	MARGIN: 30px 0px 10px
}
#footer-nav-2 LI {
	BORDER-LEFT: #999999 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #999999 !important; PADDING-TOP: 0px
}
#footer-nav-1 LI.first {
	BORDER-LEFT: medium none; PADDING-LEFT: 0px
}
#footer-nav-2 LI.first {
	BORDER-LEFT: medium none; PADDING-LEFT: 0px
}
#footer-nav-2 A:link {
	COLOR: #999999 !important; FONT-WEIGHT: normal !important
}
#footer-nav-2 A:visited {
	COLOR: #999999 !important; FONT-WEIGHT: normal !important
}
#footer-nav-2 A:hover {
	COLOR: #aaa7a7 !important; FONT-WEIGHT: normal !important
}
#footer-nav-2 A:active {
	COLOR: #aaa7a7 !important; FONT-WEIGHT: normal !important
}
#language-selector {
	FLOAT: right
}
#footer-logo {
	FLOAT: right
}
#footer-logo {
	MARGIN-TOP: 30px
}
#footer-logo A {
	TEXT-INDENT: -9999px; WIDTH: 81px; DISPLAY: block; BACKGROUND: =
url(http://www.hidglobal.com/images/assa_abloy.gif) no-repeat left top; =
HEIGHT: 11px; OVERFLOW: hidden
}
.pkg:after {
	LINE-HEIGHT: 0; DISPLAY: block; HEIGHT: 0.1px; VISIBILITY: hidden; =
CLEAR: both; FONT-SIZE: 0.1em; CONTENT: " "
}
.pkg {
	DISPLAY: inline-block
}
* HTML .pkg {
	HEIGHT: 1%
}
[id].pkg {
	HEIGHT: auto
}
.pkg {
	DISPLAY: block
}

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/includes_common2/commonStyles.css

@import url( /new-header/css/header.css );
BODY {
	MIN-WIDTH: 900px; TEXT-ALIGN: center; MARGIN-TOP: 0px; BACKGROUND: =
url(/images/back.png) #cccccc repeat-x 50% top
}
#pageContainer {
	TEXT-ALIGN: left; MARGIN-TOP: 0px; WIDTH: 900px; MARGIN-LEFT: auto; =
MARGIN-RIGHT: auto
}
#shadowDiv {
	WIDTH: 900px
}
#container {
	BACKGROUND-COLOR: #ffffff; WIDTH: 900px; OVERFLOW: hidden
}
#shadowBottom {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 900px; =
PADDING-RIGHT: 0px; HEIGHT: 1px; PADDING-TOP: 0px
}
#logoheader {
	BACKGROUND-COLOR: #ffffff; WIDTH: 100%
}
#topLogo {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FLOAT: =
left; PADDING-TOP: 4px
}
#languageHeader {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FLOAT: =
right; PADDING-TOP: 4px
}
#searchHeader {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FLOAT: =
right; PADDING-TOP: 9px
}
#pageContent {
	MARGIN: 10px 50px; MIN-HEIGHT: 400px; WIDTH: 800px; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; HEIGHT: auto !important; =
FONT-SIZE: 11px
}
#mainContent {
	CLEAR: both
}
.salesTable TD {
	VERTICAL-ALIGN: top
}
.salesContacts {
	MARGIN: 0px 0px 6px; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 12px
}
UL.sales {
	LINE-HEIGHT: 1.2; LIST-STYLE-IMAGE: none
}
LI.blackArrowBullet {
	MARGIN: 0px; FONT-WEIGHT: bold
}
LI.noBullet {
	MARGIN: 0px; LIST-STYLE-IMAGE: none
}
LI.subtitle {
	MARGIN: 0px; COLOR: red; FONT-SIZE: 10px; LIST-STYLE-IMAGE: none
}
.channelNameHeader {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #0e3192; =
MARGIN: 10px 0px 5px; PADDING-LEFT: 5px; WIDTH: 100%; PADDING-RIGHT: =
0px; FONT: bold 12px Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
20px; COLOR: #ffffff; PADDING-TOP: 3px
}
#pageContent DIV.itdr_article_header {
	BORDER-BOTTOM: #20458a 1px solid; PADDING-BOTTOM: 2px; =
BACKGROUND-COLOR: #d6e0eb; MARGIN: 10px 0px 0px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; COLOR: #244d92; FONT-WEIGHT: bold; PADDING-TOP: 2px
}
#pageContent LI {
	FONT-SIZE: 11px
}
#pageContent TD {
	FONT-SIZE: 11px
}
#pageContent LI {
	FONT-SIZE: 11px
}
#pageContent DD {
	FONT-SIZE: 11px
}
#pageContent DT {
	FONT-SIZE: 11px
}
#pageContent P {
	FONT-SIZE: 11px
}
#pageContent P.app_header {
	BACKGROUND-COLOR: #e4e4e4; TEXT-INDENT: 3px; MARGIN: 0px; WIDTH: 250px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: 22px; COLOR: =
#333333; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: 4px
}
#pageContent P.content_general {
	LINE-HEIGHT: 130%; MARGIN-TOP: 0px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: 11px; PADDING-TOP: 0px
}
#prodDetailLeftDiv {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 200px; =
PADDING-RIGHT: 0px; FLOAT: left; HEIGHT: auto !important; PADDING-TOP: =
0px
}
#prodDetailRightDiv {
=09
}
.infoButton {
	BACKGROUND-IMAGE: url(/images/grey1pixelfade.gif); TEXT-ALIGN: center; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 100px; PADDING-RIGHT: =
2px; BACKGROUND-REPEAT: repeat-x; FONT: 12px Verdana, Arial, Helvetica, =
sans-serif; HEIGHT: 20px; CURSOR: pointer; MARGIN-RIGHT: 2px; =
PADDING-TOP: 2px
}
.infoButtonActive {
	BACKGROUND-IMAGE: url(/images/darkgrey1pixelfade.gif); TEXT-ALIGN: =
center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 100px; =
PADDING-RIGHT: 2px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; HEIGHT: 20px; FONT-SIZE: 12px; CURSOR: =
pointer; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.infoButton2 {
	BACKGROUND-IMAGE: url(/images/grey1pixelfade.gif); TEXT-ALIGN: center; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 100px; PADDING-RIGHT: =
2px; BACKGROUND-REPEAT: repeat-x; FONT: 12px Verdana, Arial, Helvetica, =
sans-serif; CURSOR: pointer; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.infoButtonActive2 {
	BACKGROUND-IMAGE: url(/images/darkgrey1pixelfade.gif); TEXT-ALIGN: =
center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 150px; =
PADDING-RIGHT: 2px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; HEIGHT: 40px; FONT-SIZE: 12px; CURSOR: =
pointer; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.infoButton3 {
	BACKGROUND-IMAGE: url(/images/bg_tab_lightgrey.png); TEXT-ALIGN: =
center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 115px; =
PADDING-RIGHT: 2px; BACKGROUND-REPEAT: repeat-x; FONT: 12px Verdana, =
Arial, Helvetica, sans-serif; CURSOR: pointer; MARGIN-RIGHT: 2px; =
PADDING-TOP: 2px
}
.infoButtonActive3 {
	BACKGROUND-IMAGE: url(/images/bg_tab_blue.png); TEXT-ALIGN: center; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 115px; PADDING-RIGHT: =
2px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; HEIGHT: 30px; COLOR: #fff; FONT-SIZE: 12px; =
CURSOR: pointer; FONT-WEIGHT: bold; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.infoButton4 {
	BACKGROUND-IMAGE: url(/images/bg_tab_lightgrey.png); TEXT-ALIGN: =
center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 150px; =
PADDING-RIGHT: 2px; BACKGROUND-REPEAT: repeat-x; FONT: 12px Verdana, =
Arial, Helvetica, sans-serif; CURSOR: pointer; MARGIN-RIGHT: 2px; =
PADDING-TOP: 2px
}
.infoButtonActive4 {
	BACKGROUND-IMAGE: url(/images/bg_tab_blue.png); TEXT-ALIGN: center; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 150px; PADDING-RIGHT: =
2px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; HEIGHT: 30px; COLOR: #fff; FONT-SIZE: 12px; =
CURSOR: pointer; FONT-WEIGHT: bold; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.partnerQuestionHeader {
	BACKGROUND-IMAGE: url(/images/bg_tab_blue.png); TEXT-ALIGN: left; =
PADDING-BOTTOM: 3px; PADDING-LEFT: 7px; WIDTH: 217px; PADDING-RIGHT: =
7px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; HEIGHT: 30px; COLOR: #fff; FONT-SIZE: 12px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.ts_tabButton {
	BACKGROUND-IMAGE: url(/images/bg_tab_lightgrey.png); TEXT-ALIGN: =
center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 200px; =
PADDING-RIGHT: 2px; BACKGROUND-REPEAT: repeat-x; FONT: 12px Verdana, =
Arial, Helvetica, sans-serif; CURSOR: pointer; MARGIN-RIGHT: 2px; =
PADDING-TOP: 2px
}
.ts_tabButtonActive {
	BACKGROUND-IMAGE: url(/images/bg_tab_blue.png); TEXT-ALIGN: center; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 200px; PADDING-RIGHT: =
2px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; HEIGHT: 30px; COLOR: #fff; FONT-SIZE: 12px; =
CURSOR: pointer; FONT-WEIGHT: bold; MARGIN-RIGHT: 2px; PADDING-TOP: 2px
}
.tabbedContentModuleTbl {
	BORDER-BOTTOM: #2579d1 thin solid; BORDER-LEFT: #2579d1 thin solid; =
LINE-HEIGHT: 135%; HEIGHT: 200px; BORDER-TOP: #2579d1 thin solid; =
BORDER-RIGHT: #2579d1 thin solid
}
.tabbedContentPartnerModuleTbl {
	BORDER-BOTTOM: #2579d1 thin solid; BORDER-LEFT: #2579d1 thin solid; =
LINE-HEIGHT: 135%; HEIGHT: 400px; BORDER-TOP: #2579d1 thin solid; =
BORDER-RIGHT: #2579d1 thin solid
}
.showcaseContent0Div {
	BORDER-BOTTOM: #2579d1 thin solid; BORDER-LEFT: #2579d1 thin solid; =
WIDTH: 380px; BORDER-TOP: #2579d1 thin solid; BORDER-RIGHT: #2579d1 thin =
solid
}
.showcaseModule {
	BORDER-BOTTOM: #2579d1 thin solid; BORDER-LEFT: #2579d1 thin solid; =
WIDTH: 400px; BORDER-TOP: #2579d1 thin solid; BORDER-RIGHT: #2579d1 thin =
solid
}
#productTitleAndButtonsDiv {
	PADDING-LEFT: 10px; WIDTH: auto; HEIGHT: auto; MARGIN-LEFT: 210px
}
#infoDiv {
	PADDING-LEFT: 20px; MARGIN-LEFT: 10px
}
#descriptionInfoDiv {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 20px; PADDING-RIGHT: 4px; DISPLAY: =
block; PADDING-TOP: 4px
}
.productDetailTbl DIV {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-TOP: #dddddd 2px solid; PADDING-TOP: 10px
}
.productDetailTbl DIV DIV {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.productDetailTbl DIV.clear {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#featuresInfoDiv {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 20px; PADDING-RIGHT: 4px; DISPLAY: =
none; PADDING-TOP: 4px
}
#specsInfoDiv {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 20px; PADDING-RIGHT: 4px; DISPLAY: =
none; PADDING-TOP: 4px
}
#specsInfoDiv UL {
	BORDER-BOTTOM: #dddddd 1px solid; PADDING-BOTTOM: 10px
}
TABLE.productspecstable {
	MARGIN-BOTTOM: 10px
}
TR.specsheader {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
#cccccc; PADDING-TOP: 4px
}
TR.specshighlight {
	BACKGROUND: #eeeeee
}
.productDetailTbl {
	HEIGHT: 400px
}
.productDetailTbl TD {
	PADDING-LEFT: 20px; VERTICAL-ALIGN: top
}
.productDetailTbl LI {
=09
}
.white2greyTop {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BACKGROUND-COLOR: =
#f4f4f4; PADDING-LEFT: 5px; BACKGROUND-REPEAT: repeat-x; MARGIN-BOTTOM: =
5px
}
.white2greyTop UL {
	MARGIN-TOP: 0px
}
.white2greyTop2 {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f4f4f4; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 300px; =
PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: right; =
BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.white2greyTop2 UL {
	MARGIN-TOP: 0px
}
.headline13 {
	FONT: bold 13px Verdana, Arial, Helvetica, sans-serif
}
.blueTwoToneHeader {
	BACKGROUND-IMAGE: url(/images/header_bl_light.gif); BACKGROUND-COLOR: =
#002675; TEXT-INDENT: 100px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; HEIGHT: 70px; COLOR: #ffffff; =
FONT-SIZE: 24px
}
.blueTwoToneHeader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.proxheader {
	BACKGROUND-IMAGE: url(/images/header_prox_light.gif); BACKGROUND-COLOR: =
#fcd116; TEXT-INDENT: 100px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; HEIGHT: 70px; COLOR: #ffffff; =
FONT-SIZE: 24px
}
.proxheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.indalaheader {
	BACKGROUND-IMAGE: url(/images/header_indala_light.gif); =
BACKGROUND-COLOR: #e28c05; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.indalaheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.iclassheader {
	BACKGROUND-IMAGE: url(/images/header_iclass_light.gif); =
BACKGROUND-COLOR: #7fba00; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.iclassheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.flexsmartheader {
	BACKGROUND-IMAGE: url(/images/header_flexsmart_light.gif); =
BACKGROUND-COLOR: #59118e; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.flexsmartheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.vertxheader {
	BACKGROUND-IMAGE: url(/images/header_vertx_light.gif); =
BACKGROUND-COLOR: #fd1214; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.vertxheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.wiegandheader {
	BACKGROUND-IMAGE: url(/images/header_wiegand_light.gif); =
BACKGROUND-COLOR: #c0c0c0; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.wiegandheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.magstripeheader {
	BACKGROUND-IMAGE: url(/images/header_magstripe_light.gif); =
BACKGROUND-COLOR: #000000; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.magstripeheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.edgeheader {
	BACKGROUND-IMAGE: url(/images/header_edge_light.gif); BACKGROUND-COLOR: =
#06c3f9; TEXT-INDENT: 100px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; HEIGHT: 70px; COLOR: #ffffff; =
FONT-SIZE: 24px
}
.edgeheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.axioheader {
	BACKGROUND-IMAGE: url(/images/header_axio_light.gif); BACKGROUND-COLOR: =
#019aa2; TEXT-INDENT: 100px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; HEIGHT: 70px; COLOR: #ffffff; =
FONT-SIZE: 24px
}
.axioheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.multiclassheader {
	BACKGROUND-IMAGE: url(/images/header_iclass_light.gif); =
BACKGROUND-COLOR: #7fba00; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.multiclassheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.printerheader {
	BACKGROUND-IMAGE: url(/images/header_printer_light.gif); =
BACKGROUND-COLOR: #aa1c12; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.printerheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.cardservicesheader {
	BACKGROUND-IMAGE: url(/images/header_cardservices_light.gif); =
BACKGROUND-COLOR: #002675; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.cardservicesheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.smartidheader {
	BACKGROUND-IMAGE: url(/images/header_flexsmart_light.gif); =
BACKGROUND-COLOR: #59118e; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.smartidheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.omnikeyheader {
	BACKGROUND-IMAGE: url(/images/header_omnikey_light.gif); =
BACKGROUND-COLOR: #fa8621; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.omnikeyheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.navigoheader {
	BACKGROUND-IMAGE: url(/images/header_navigo_light.gif); =
BACKGROUND-COLOR: #505050; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.navigoheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.identiclassheader {
	BACKGROUND-COLOR: #cccccc; TEXT-INDENT: 100px; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; HEIGHT: 70px; COLOR: #ffffff; FONT-SIZE: =
24px
}
.identiclassheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.sokymatheader {
	BACKGROUND-IMAGE: url(/images/header_sokymat_light.gif); =
BACKGROUND-COLOR: #f8981d; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.sokymatheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.fargoheader {
	BACKGROUND-IMAGE: url(/images/header_fargo_light.gif); =
BACKGROUND-COLOR: #006bb6; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.fargoheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.crescendoheader {
	BACKGROUND-IMAGE: url(/images/header_crescendo_light.gif); =
BACKGROUND-COLOR: #009987; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.crescendoheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
.migrationheader {
	BACKGROUND-IMAGE: url(/images/header_iclass_light.gif); =
BACKGROUND-COLOR: #7fba00; TEXT-INDENT: 100px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: =
70px; COLOR: #ffffff; FONT-SIZE: 24px
}
.migrationheader P {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 24px; TOP: 40px; PADDING-TOP: 0px
}
#homepageImage {
	Z-INDEX: -5; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; HEIGHT: 265px; CLEAR: both; OVERFLOW: hidden; =
PADDING-TOP: 0px
}
.pageHeaderImageDiv {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; CLEAR: both; PADDING-TOP: 0px
}
#leftBox {
	BACKGROUND-COLOR: #ffffff; MARGIN: 0px; WIDTH: 532px; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif; FLOAT: left; HEIGHT: 476px; =
FONT-SIZE: 11px; OVERFLOW: hidden; PADDING-TOP: 0px
}
#rightBox {
	BACKGROUND-IMAGE: url(/images/quicklinksBackground.jpg); MARGIN: 0px; =
WIDTH: 268px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FLOAT: right; HEIGHT: 476px; FONT-SIZE: 11px; =
OVERFLOW: auto; PADDING-TOP: 0px
}
.rightBoxIndent {
	PADDING-BOTTOM: 0px; MARGIN: 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#newsAndEvents {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 8px; =
WIDTH: 528px; PADDING-RIGHT: 8px; HEIGHT: 260px; OVERFLOW: hidden; =
PADDING-TOP: 8px
}
#homepageNews {
	BACKGROUND-IMAGE: url(/images/homeListBackground.gif); POSITION: =
relative; WIDTH: 260px; BACKGROUND-REPEAT: repeat-y; HEIGHT: 260px; =
OVERFLOW: hidden; TOP: 0px; LEFT: 0px
}
#homepageEvents {
	BACKGROUND-IMAGE: url(/images/homeListBackground.gif); POSITION: =
relative; BACKGROUND-COLOR: #efefeb; WIDTH: 260px; BACKGROUND-REPEAT: =
repeat-y; HEIGHT: 260px; OVERFLOW: hidden; TOP: -260px; LEFT: 260px
}
.greenHeaders {
	BACKGROUND-COLOR: #75c11d; PADDING-LEFT: 12px; FONT: bold 12px =
Trebuchet MS; HEIGHT: 20px; COLOR: #ffffff
}
#newsListDiv {
	HEIGHT: 220px
}
#eventsListDiv {
	BORDER-LEFT: #ffffff 2px solid; HEIGHT: 220px
}
#newsListDiv UL {
	MARGIN-TOP: 5px
}
#eventsListDiv UL {
	MARGIN-TOP: 5px
}
.whiteDiv {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #ffffff; MARGIN-TOP: 0px; =
PADDING-TOP: 3px
}
.blackDiv {
=09
}
#copyrightDiv {
	PADDING-BOTTOM: 0px; MARGIN: 0px auto; PADDING-LEFT: 0px; WIDTH: 800px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Helvetica, Arial, sans-serif; CLEAR: =
both; FONT-SIZE: 12px; PADDING-TOP: 0px
}
#copyrightDiv UL {
	POSITION: relative; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: =
10px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: =
right; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#copyrightDiv LI {
	FLOAT: left
}
#copyrightDiv UL LI A {
	FONT-FAMILY: Helvetica, Arial, sans-serif; COLOR: #000; FONT-WEIGHT: =
bold; TEXT-DECORATION: none
}
#footer UL LI A:visited {
	FONT-FAMILY: Helvetica, Arial, sans-serif; COLOR: #000; FONT-WEIGHT: =
bold; TEXT-DECORATION: none
}
#copyrightDiv .login {
	MARGIN-LEFT: 23px
}
#copyrightDiv .userActions {
	COLOR: #2779cf
}
#copyrightDiv .userActions A {
	COLOR: #2779cf
}
#copyrightDiv .userActions A:visited {
	COLOR: #2779cf
}
#copyright {
	POSITION: relative; TEXT-ALIGN: left; FLOAT: left; COLOR: #fff; =
FONT-SIZE: 11px
}
#assaAbloy {
	POSITION: relative; DISPLAY: block; FLOAT: right
}
#homeCopyrightDiv {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 532px; BOTTOM: -26px; PADDING-RIGHT: 0px; OVERFLOW: hidden; =
PADDING-TOP: 0px; LEFT: 0px
}
.copyrightFull {
	PADDING-LEFT: 4px; FONT: 11px Verdana, Arial, Helvetica, sans-serif; =
FLOAT: left; PADDING-TOP: 4px
}
.posBottomRight {
	POSITION: relative; TEXT-ALIGN: right; BOTTOM: 8px; RIGHT: 5px
}
.underlineBlack {
	BORDER-BOTTOM: #333333 1px solid; FONT: bold 16px Verdana, Arial, =
Helvetica, sans-serif; COLOR: #333333; PADDING-TOP: 10px
}
#pressReleaseDL DT {
	BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; =
MARGIN: 0px; WIDTH: 80px; FLOAT: left; COLOR: #333333; FONT-SIZE: =
larger; BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid
}
#pressReleaseDL DD {
	BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; =
MARGIN-BOTTOM: 12px; MARGIN-LEFT: 80px; FONT-SIZE: larger; BORDER-TOP: =
#ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid
}
#prYearForm {
	MARGIN: 10px 0px
}
.leftContentContainerDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 405px; =
PADDING-RIGHT: 4px; FLOAT: left; BORDER-TOP: 0px solid; BORDER-RIGHT: =
0px solid; PADDING-TOP: 4px
}
.leftContentDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px; =
PADDING-LEFT: 4px; WIDTH: 405px; PADDING-RIGHT: 4px; FLOAT: left; =
BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.rightContentContainerDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 250px; =
PADDING-RIGHT: 4px; FLOAT: right; CLEAR: both; BORDER-TOP: 0px solid; =
BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.rightContentDiv {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px 0px 25px 25px; PADDING-LEFT: 4px; =
WIDTH: 250px; PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: =
right; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.verticalContentDiv {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px 0px 25px 25px; PADDING-LEFT: 4px; =
WIDTH: 200px; PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: =
right; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.verticalContentPartnerDiv {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: #2579d1 =
thin solid; TEXT-ALIGN: left; BORDER-LEFT: #2579d1 thin solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px 0px 25px =
25px; PADDING-LEFT: 4px; WIDTH: 230px; PADDING-RIGHT: 4px; =
BACKGROUND-REPEAT: repeat-x; FLOAT: right; BORDER-TOP: #2579d1 thin =
solid; BORDER-RIGHT: #2579d1 thin solid; PADDING-TOP: 4px
}
.verticalContentHeader {
	TEXT-TRANSFORM: uppercase; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.techQuickLinksDiv {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px 0px 25px 25px; PADDING-LEFT: 4px; =
WIDTH: 300px; PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: =
right; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.techQuickLinksDiv2 {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 300px; =
PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: right; =
BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.techQuickLinksHeader {
	TEXT-TRANSFORM: uppercase; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.infoQuickLinksH2PDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 0px 0px 25px =
25px; PADDING-LEFT: 0px; WIDTH: 300px; PADDING-RIGHT: 0px; FLOAT: right; =
BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 0px
}
.red {
	COLOR: #ff0000
}
A {
	LIST-STYLE-TYPE: none; COLOR: #0066cc; TEXT-DECORATION: none
}
A:hover {
	LIST-STYLE-TYPE: none; COLOR: #e28c05; TEXT-DECORATION: none
}
.newsAndEventsItem {
	LINE-HEIGHT: 1.2em; MARGIN-BOTTOM: 10px; COLOR: #333333; =
LIST-STYLE-IMAGE: url(/images/bullet2.gif)
}
.prHeadline {
	COLOR: #000000; FONT-SIZE: 15px; FONT-WEIGHT: bolder
}
.prSubtitle {
	COLOR: #ff6600; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
.quicklinks {
	COLOR: #333333; LIST-STYLE-IMAGE: url(/images/arrowbullet.gif); =
TEXT-DECORATION: none
}
.quick_tech {
	COLOR: #333333; LIST-STYLE-IMAGE: url(/images/arrowbullet.gif); =
TEXT-DECORATION: none
}
.quick_tech:hover {
	COLOR: #ff6600; LIST-STYLE-IMAGE: url(/images/arrowbullet.gif); =
TEXT-DECORATION: none
}
.quick {
	COLOR: #333333; LIST-STYLE-IMAGE: url(/images/arrowbullet.gif); =
TEXT-DECORATION: none
}
.quick:hover {
	COLOR: #ff6600; LIST-STYLE-IMAGE: url(/images/arrowbullet.gif); =
TEXT-DECORATION: none
}
.ourbrands {
	TEXT-TRANSFORM: uppercase; COLOR: #66675e; FONT-SIZE: 10px
}
.product_title {
	FONT-FAMILY: inherit; COLOR: #333333; FONT-SIZE: 20px; FONT-WEIGHT: =
bold
}
.product_subtitle {
	FONT-FAMILY: inherit; COLOR: #002675; FONT-SIZE: 14px
}
.regionHeader {
	MARGIN: 10px 0px 0px; COLOR: #003399; FONT-SIZE: 12px; FONT-WEIGHT: =
bold
}
.greyTR {
	BACKGROUND-COLOR: #cccccc
}
.header1 {
	TEXT-TRANSFORM: none; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #003399; FONT-SIZE: 12px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none
}
.header2 {
	TEXT-TRANSFORM: capitalize; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #000000; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
.tradeshowTable {
	BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; WIDTH: 650px; =
BORDER-COLLAPSE: collapse; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px =
solid
}
.tradeshowTable TR.trRowcolor {
	BACKGROUND-COLOR: #d6e0eb
}
.tradeshowTable TD {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FONT-SIZE: =
12px; PADDING-TOP: 2px
}
#supportTable {
	BORDER-COLLAPSE: collapse
}
#supportTable TD {
	VERTICAL-ALIGN: top
}
#supportTable TR.trRowcolor {
	BACKGROUND-COLOR: #d6e0eb
}
.supportSectionHeader {
	BORDER-BOTTOM: #0e3192 6px solid; MARGIN: 15px 0px 5px; WIDTH: 100%; =
FONT: bold 12px Verdana, Arial, Helvetica, sans-serif; LIST-STYLE-IMAGE: =
none
}
.supportName {
	FONT-WEIGHT: bold
}
.supportTitle {
=09
}
.supportArea {
	COLOR: red; FONT-SIZE: 10px
}
.supportPhone {
	FONT-SIZE: 10px
}
#supportContactUL LI {
	LINE-HEIGHT: 1; LIST-STYLE-TYPE: none; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FONT-SIZE: 12px; LIST-STYLE-IMAGE: none
}
.supportContactUL LI {
	LINE-HEIGHT: 1; LIST-STYLE-TYPE: none; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FONT-SIZE: 12px; LIST-STYLE-IMAGE: none
}
cell1 {
=09
}
.cell1_hover {
=09
}
.celllink {
=09
}
.celllink:hover {
=09
}
.prod_header {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; =
FONT-SIZE: 20px; FONT-WEIGHT: bold
}
.prod_white_header {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 0px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; =
FONT-SIZE: 18px; PADDING-TOP: 2px
}
.prod_white_header A {
	COLOR: #ffffff
}
.prod_white_header A:hover {
	COLOR: #ffffff
}
.prod_techno_header {
	BACKGROUND-COLOR: #666666; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 12px
}
.prod_form_header {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #afc9c9; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; HEIGHT: 12px; COLOR: #000000; FONT-SIZE: =
10px
}
.technologyDescription A {
	LIST-STYLE-TYPE: none; COLOR: #0066cc; TEXT-DECORATION: none
}
.technologyDescription A:hover {
	LIST-STYLE-TYPE: none; COLOR: #e28c05; TEXT-DECORATION: none
}
#documentList UL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
#documentList LI {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
#documentList LI A {
	LIST-STYLE-TYPE: none; COLOR: #0066cc; LIST-STYLE-IMAGE: none; =
TEXT-DECORATION: none
}
#documentList LI A:hover {
	LIST-STYLE-TYPE: none; COLOR: #e28c05; LIST-STYLE-IMAGE: none; =
TEXT-DECORATION: none
}
.table_header {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; =
FONT-SIZE: 14px; FONT-WEIGHT: normal
}
.trline {
	BORDER-BOTTOM: #999999 1pt solid; BORDER-LEFT: 0px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.productsTable {
	MARGIN-BOTTOM: 40px
}
.productsTable TD {
	BORDER-BOTTOM: #666666 1px solid; FONT-SIZE: 14px
}
.prox_product_grey {
	BACKGROUND-COLOR: #f4f4f4
}
.prox_product_white {
	BACKGROUND-COLOR: #ffffff
}
.product_listing_subtitle {
	LIST-STYLE-TYPE: none; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #999999; FONT-SIZE: 11px; TEXT-DECORATION: none
}
.product_listing_title {
	LIST-STYLE-TYPE: none; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #333333; FONT-SIZE: 12px; TEXT-DECORATION: none
}
.product_listing_title:hover {
	LIST-STYLE-TYPE: none; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; COLOR: #0066cc; FONT-SIZE: 12px; TEXT-DECORATION: none
}
.fullPageFooterDiv {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 770px; PADDING-RIGHT: =
0px; PADDING-TOP: 5px
}
.pageFooterLeftDiv {
	TEXT-ALIGN: left; WIDTH: auto; FLOAT: left
}
.pageFooterRightDiv {
	TEXT-ALIGN: right; FLOAT: right
}
#featuresDiv {
	Z-INDEX: 5; BORDER-BOTTOM: #999999 1px solid; POSITION: absolute; =
FILTER: progid:DXImageTransform.Microsoft.BasicImage(opacity =3D 0.90); =
BORDER-LEFT: #999999 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: =
#ffffff; PADDING-LEFT: 3px; WIDTH: 300px; PADDING-RIGHT: 3px; HEIGHT: =
200px; VISIBILITY: hidden; OVERFLOW: auto; BORDER-TOP: #999999 1px =
solid; TOP: 0px; BORDER-RIGHT: #999999 1px solid; PADDING-TOP: 3px; =
LEFT: 280px; -moz-opacity: 0.90
}
#hideFeaturesButtonDiv {
	BORDER-BOTTOM: #999999 1px solid; TEXT-ALIGN: right; BACKGROUND-COLOR: =
#cccccc; PADDING-RIGHT: 10px; MARGIN-BOTTOM: 5px
}
#featuresDivGreyHeader {
	BORDER-BOTTOM: #999999 1px solid; TEXT-ALIGN: center; BACKGROUND-COLOR: =
#cccccc; PADDING-RIGHT: 10px; MARGIN-BOTTOM: 5px
}
.faded_bg {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); TEXT-ALIGN: left; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #f0f0f0; LIST-STYLE-TYPE: none; =
PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #033e9a; =
FONT-SIZE: 12px; PADDING-TOP: 4px
}
.generalheader {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
.matrixHeader {
	FONT-WEIGHT: bold
}
.technologyDescriptionHeader {
	FONT-WEIGHT: bold
}
#partnercontact {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; WIDTH: 220px; PADDING-RIGHT: =
4px; FLOAT: left; PADDING-TOP: 4px
}
#partnerProductImageDiv {
	TEXT-ALIGN: center
}
#partnerproduct {
	BORDER-LEFT: #999999 2px solid; PADDING-BOTTOM: 4px; MIN-HEIGHT: 700px; =
PADDING-LEFT: 4px; WIDTH: 400px; PADDING-RIGHT: 4px; FLOAT: left; =
HEIGHT: auto !important; PADDING-TOP: 4px
}
#partnerdescription {
	BORDER-BOTTOM: #999999 2px solid; PADDING-BOTTOM: 4px; PADDING-LEFT: =
4px; WIDTH: 100%; PADDING-RIGHT: 4px; FLOAT: left; PADDING-TOP: 4px
}
#connectDoc {
	POSITION: relative; FLOAT: right
}
.inlineProductImage {
	FLOAT: left
}
.inlineProductImageDesc {
	FLOAT: left
}
.inlineProductImage {
	MARGIN-RIGHT: 10px
}
.inlineProductImageDesc {
	WIDTH: 250px
}
.inlineProductImage2 {
	FLOAT: right
}
.inlineProductImageDesc {
	FLOAT: right
}
.inlineProductImage2 {
	MARGIN: 50px 10px
}
.inlineProductImageDesc2 {
	WIDTH: 330px; FLOAT: right; VERTICAL-ALIGN: top
}
.inlineProductImageDesc H3 {
	PADDING-LEFT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
FONT-SIZE: 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.inlineProductImageDesc3 {
	WIDTH: 560px; FLOAT: right; VERTICAL-ALIGN: top
}
.inlineProductImageDesc4 {
	WIDTH: 560px; FLOAT: right; VERTICAL-ALIGN: top
}
.inlineProductImageDesc4 A {
	LIST-STYLE-TYPE: none; COLOR: #0066cc; TEXT-DECORATION: none
}
.inlineProductImageDesc4 A:hover {
	LIST-STYLE-TYPE: none; COLOR: #e28c05; TEXT-DECORATION: none
}
.inlinePartnerDesc3 {
	WIDTH: 560px; FLOAT: left; VERTICAL-ALIGN: top
}
.inlineLogoImage {
	FLOAT: left
}
.inlineLogoImageDesc {
	FLOAT: left
}
.inlineLogoImage {
	PADDING-BOTTOM: 20px; MARGIN: 10px
}
.inlineLogoImageDesc {
	WIDTH: 610px; FLOAT: left; VERTICAL-ALIGN: top
}
.tinyText {
	LINE-HEIGHT: 120%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
FONT-SIZE: 10px
}
#identityPageContent {
	MARGIN: 10px 5px 20px; WIDTH: 800px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FONT-SIZE: 11px
}
.hididentityMenuDiv {
	MARGIN: 0px 12px 12px 0px; FLOAT: left
}
.identityLeftImageBox {
	MARGIN: 10px 0px 0px
}
.hididentityRightDiv {
	PADDING-BOTTOM: 0px; MARGIN: 40px 10px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FLOAT: right; PADDING-TOP: 0px
}
#identityPageContent LI {
	FONT-SIZE: 11px
}
#identityPageContent TD {
	FONT-SIZE: 11px
}
#identityPageContent LI {
	FONT-SIZE: 11px
}
#identityPageContent DD {
	FONT-SIZE: 11px
}
#identityPageContent DT {
	FONT-SIZE: 11px
}
#identityPageContent P {
	FONT-SIZE: 11px
}
#identityPageContent P.app_header {
	BACKGROUND-COLOR: #e4e4e4; TEXT-INDENT: 3px; MARGIN: 0px; WIDTH: 250px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: 22px; COLOR: =
#333333; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: 4px
}
#identityPageContent P.content_general {
	MARGIN-TOP: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
COLOR: #000000; FONT-SIZE: 11px; PADDING-TOP: 0px
}
#identityMiddleContent {
	FLOAT: left
}
#identityMiddleContent H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #005baa; FONT-SIZE: =
14px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#identityMiddleContent H1.section {
	BORDER-BOTTOM: #888888 1px solid; PADDING-BOTTOM: 0pt; MARGIN: 0.8em =
0pt; LETTER-SPACING: -1px; COLOR: #888888; FONT-SIZE: 1.8em
}
#identityMiddleContent H2 {
	FONT-FAMILY: Arial, Verdana, Helvetica, sans-serif; COLOR: #666666; =
FONT-SIZE: 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#identityMiddleContent H2.homeitem {
	BORDER-BOTTOM: #1c466e 1px solid; BORDER-LEFT: #1c466e 0pt solid; =
PADDING-BOTTOM: 0pt; LINE-HEIGHT: 1.4; TEXT-TRANSFORM: uppercase; =
BACKGROUND-COLOR: #005baa; MARGIN: 10px 0pt; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #ffffff; FONT-SIZE: 12px; BORDER-TOP: #1c466e =
1px solid; BORDER-RIGHT: #1c466e 0pt solid; PADDING-TOP: 0pt
}
.funnellink {
	BACKGROUND-IMAGE: url(/images/funnellink_bg.gif); BORDER-BOTTOM: =
#660000 1px solid; BORDER-LEFT: #660000 1px solid; PADDING-BOTTOM: 0px; =
BACKGROUND-COLOR: #005baa; MARGIN: 0pt auto; PADDING-LEFT: 0px; WIDTH: =
160px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: right center; BORDER-TOP: #660000 1px solid; =
BORDER-RIGHT: #660000 1px solid; PADDING-TOP: 0px
}
.funnellink A {
	TEXT-ALIGN: left; PADDING-BOTTOM: 3px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 20px; DISPLAY: block; FONT-SIZE: 12px; PADDING-TOP: 3px
}
.funnellink A:link {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:visited {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:hover {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:active {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:link {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:visited {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:hover {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellink A:active {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.funnellinkRed {
	BACKGROUND-IMAGE: url(/images/funnellink_bg.gif); BORDER-BOTTOM: 1px =
solid; BORDER-LEFT: 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: =
#cc0000; MARGIN: 0pt auto; PADDING-LEFT: 0px; WIDTH: 180px; =
PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right center; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid; =
PADDING-TOP: 0px
}
.funnellinkRed A {
	TEXT-ALIGN: left; PADDING-BOTTOM: 3px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 20px; DISPLAY: block; COLOR: #ffffff; FONT-SIZE: 12px; =
TEXT-DECORATION: none; PADDING-TOP: 3px
}
.identityTestimonial {
	LINE-HEIGHT: 1.5; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
COLOR: #b0b6c9; FONT-SIZE: 13px; FONT-WEIGHT: 800
}
#identityTestimonialDiv {
	Z-INDEX: 5; BORDER-BOTTOM: #999999 1px solid; POSITION: absolute; =
TEXT-ALIGN: left; BORDER-LEFT: #999999 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 3px; WIDTH: 300px; =
PADDING-RIGHT: 3px; HEIGHT: 200px; VISIBILITY: hidden; OVERFLOW: auto; =
BORDER-TOP: #999999 1px solid; TOP: 0px; BORDER-RIGHT: #999999 1px =
solid; PADDING-TOP: 3px; LEFT: 280px
}
#hididentityTestimonialButtonDiv {
	BORDER-BOTTOM: #999999 1px solid; TEXT-ALIGN: right; BACKGROUND-COLOR: =
#cccccc; PADDING-RIGHT: 10px; MARGIN-BOTTOM: 5px
}
.productDetailTbl H1 {
	FONT: bold 12px Arial, Helvetica, sans-serif; MARGIN-LEFT: 20px
}
.productDetailTbl H2 {
	FONT: bold 12px Arial, Helvetica, sans-serif; COLOR: #999999; =
MARGIN-LEFT: 20px
}
.productDetailTbl LI {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 5px
}
.productDetailTbl H4 {
	MARGIN-BOTTOM: 15px; FONT-SIZE: 11px
}
#infoDiv H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #005baa; FONT-SIZE: =
14px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#infoDiv H2 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #005baa; FONT-SIZE: =
12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#specsInfoDiv H1 {
	PADDING-LEFT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: =
#005baa; FONT-SIZE: 14px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#specsInfoDiv H2 {
	FONT: bold 12px Arial, Helvetica, sans-serif; COLOR: #999999; =
MARGIN-LEFT: 20px
}
#specsInfoDiv H3 {
	PADDING-LEFT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
FONT-SIZE: 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#specsInfoDiv LI {
	PADDING-BOTTOM: 0px
}
.productDetailTbl {
	HEIGHT: 400px
}
.productDetailTbl TD {
	PADDING-LEFT: 20px; VERTICAL-ALIGN: top
}
.whiteText {
	LINE-HEIGHT: 135%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
COLOR: #ffffff; FONT-SIZE: 12px; TEXT-DECORATION: none
}
.redText {
	LINE-HEIGHT: 135%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
COLOR: #005baa; FONT-SIZE: 11px; TEXT-DECORATION: none
}
HR.greyLine {
	DISPLAY: none
}
HR.blueLine {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #2579d1; =
MARGIN: 5px 5px 5px 0px; WIDTH: 800px; HEIGHT: 4px; COLOR: #2579d1; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; align: left
}
.roundedRectTop150 {
	BACKGROUND-IMAGE: url(/images/roundedRectTop150px.gif); PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 150px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 9px; PADDING-TOP: 0px
}
.roundedRectBottom150 {
	BACKGROUND-IMAGE: url(/images/roundedRectBottom150px.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; WIDTH: =
150px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 10px; =
PADDING-TOP: 0px
}
DIV .roundedRectContent {
	BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; MARGIN: 0px; =
PADDING-LEFT: 3px; WIDTH: 145px; PADDING-RIGHT: 0px; BORDER-RIGHT: =
#000000 1px solid; PADDING-TOP: 3px
}
DIV .roundedRectContentHeadline {
	TEXT-ALIGN: left; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
LINE-HEIGHT: 9px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 3px; WIDTH: =
145px; PADDING-RIGHT: 0px; FONT-WEIGHT: bold; BORDER-RIGHT: #000000 1px =
solid; PADDING-TOP: 3px
}
.roundedRectTop150Grey {
	BACKGROUND-IMAGE: url(/images/roundedRectTop150pxGrey.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 150px; =
PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 9px; =
PADDING-TOP: 0px
}
.roundedRectBottom150Grey {
	BACKGROUND-IMAGE: url(/images/roundedRectBottom150pxGrey.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; WIDTH: =
150px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 10px; =
PADDING-TOP: 0px
}
.roundedRectContentGreyHeadline {
	TEXT-ALIGN: left; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
LINE-HEIGHT: 11px; BACKGROUND-COLOR: #e0e0e0; PADDING-LEFT: 3px; WIDTH: =
145px; PADDING-RIGHT: 0px; FONT-WEIGHT: bold; BORDER-RIGHT: #000000 1px =
solid; PADDING-TOP: 3px
}
.roundedRectContentGrey {
	TEXT-ALIGN: left; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #e0e0e0; MARGIN: 0px; PADDING-LEFT: 3px; WIDTH: 145px; =
PADDING-RIGHT: 0px; BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 3px
}
.roundedRedRect150X150 {
	BACKGROUND-IMAGE: url(/images/roundedRedRect150X150.gif); TEXT-ALIGN: =
center; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.5; MARGIN: 0px 0px 10px; =
PADDING-LEFT: 0px; WIDTH: 150px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 150px; =
COLOR: #ffffff; FONT-SIZE: 16px; PADDING-TOP: 0px
}
.roundedRedRect150X150 A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.roundedRedRect150X150 DIV {
	TEXT-ALIGN: center; MARGIN-TOP: 15px; WIDTH: 140px
}
OL.steps {
	PADDING-BOTTOM: 0px; MARGIN: 1em 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
OL.steps LI {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; WIDTH: 200px; PADDING-RIGHT: 0px; FLOAT: left; =
PADDING-TOP: 0px
}
.identityCompTableHeader {
	BACKGROUND-COLOR: #999999; COLOR: #ffffff; FONT-WEIGHT: bold
}
.underline_double {
	BORDER-BOTTOM: #000000 3px double
}
.underline_single {
	BORDER-BOTTOM: #000000 1px solid
}
#identityMenu .closed {
	DISPLAY: none
}
#identityMenu .open {
	DISPLAY: block
}
#identityMenu .subClosed {
	DISPLAY: none
}
#identityMenu .subOpen {
	DISPLAY: block; BORDER-TOP: #dddddd 1px dotted
}
#identityMenu .subOpen LI {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#identityMenu .subOpen A {
	COLOR: #333333; FONT-WEIGHT: normal
}
.pagination {
	FLOAT: right; FONT-WEIGHT: bold
}
.pagination LI {
	BORDER-BOTTOM: #cccccc 2px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#cccccc 2px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #fff; =
LIST-STYLE-TYPE: none; WIDTH: 20px; FLOAT: left; HEIGHT: 18px; =
MARGIN-LEFT: 2px; BORDER-TOP: #cccccc 2px solid; CURSOR: pointer; =
LIST-STYLE-IMAGE: none; BORDER-RIGHT: #cccccc 2px solid
}
.pagination A {
	TEXT-DECORATION: none
}
.pagination A:hover {
	BACKGROUND-COLOR: #fff
}
.pagination LI A {
	DISPLAY: block; COLOR: #000
}
.pagination P {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; FLOAT: =
left; PADDING-TOP: 5px
}
#pagcurrent {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
BACKGROUND-COLOR: #fff !important; BORDER-TOP: #ddebee 2px solid; =
BORDER-RIGHT: #ddebee 2px solid
}
.curr {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
BACKGROUND-COLOR: #fff !important; BORDER-TOP: #ddebee 2px solid; =
BORDER-RIGHT: #ddebee 2px solid
}
.next {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
WIDTH: 30px !important; BORDER-TOP: #ddebee 2px solid; BORDER-RIGHT: =
#ddebee 2px solid
}
.prev {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
WIDTH: 30px !important; BORDER-TOP: #ddebee 2px solid; BORDER-RIGHT: =
#ddebee 2px solid
}
.next5 {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
WIDTH: 40px !important; BORDER-TOP: #ddebee 2px solid; BORDER-RIGHT: =
#ddebee 2px solid
}
.prev5 {
	BORDER-BOTTOM: #ddebee 2px solid; BORDER-LEFT: #ddebee 2px solid; =
WIDTH: 40px !important; BORDER-TOP: #ddebee 2px solid; BORDER-RIGHT: =
#ddebee 2px solid
}
SPAN.lineHeight {
	LINE-HEIGHT: 135%
}
SPAN.rm {
	FONT-SIZE: 10px
}
#identityMenu {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 10px 2px 2px 0px; =
PADDING-LEFT: 0px; WIDTH: 100px; PADDING-RIGHT: 0px; DISPLAY: =
inline-table; PADDING-TOP: 0px
}
#identityMenu A {
	PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 8px; =
WIDTH: 100%; PADDING-RIGHT: 40px; DISPLAY: block; FONT-FAMILY: Arial; =
COLOR: #003399; FONT-SIZE: 11px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none; PADDING-TOP: 5px
}
#identityMenu .itopclosed {
	BACKGROUND-IMAGE: url(/images/arrow_right_blue.gif); BORDER-BOTTOM: =
#dddddd 1px solid; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right 50%; MARGIN-BOTTOM: 1px
}
#identityMenu .itopopen {
	BACKGROUND-IMAGE: url(/images/arrow_down_blue.gif); BORDER-BOTTOM: =
#dddddd 1px solid; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right 50%; MARGIN-BOTTOM: 1px
}
#identityMenu A:hover {
	BACKGROUND-COLOR: #efefef
}
#identityMenu UL {
	PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffffff; LIST-STYLE-TYPE: none; =
MARGIN: -1px 0px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}
#identityMenu UL A {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #dddddd 1px dotted; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: transparent; PADDING-LEFT: 15px; =
PADDING-RIGHT: 20px; COLOR: #747474; FONT-SIZE: 11px; FONT-WEIGHT: bold; =
PADDING-TOP: 2px
}
#identityMenu UL A:hover {
	BORDER-BOTTOM: #dddddd 1px dotted; BACKGROUND-COLOR: #fffffe; COLOR: =
#003399; TEXT-DECORATION: none
}
.clr {
	CLEAR: both
}
#videoplayercontainer {
	POSITION: relative
}
#anchor {
	POSITION: absolute; TOP: 25px; LEFT: 25px
}
#videoplayer_partner {
	WIDTH: 400px
}
#video-container {
	TEXT-ALIGN: center; MARGIN: 0px auto
}
#video-container_partner {
	TEXT-ALIGN: left; MARGIN: 0px auto
}
#videoplayer IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
SPAN.light {
	COLOR: #333
}
INPUT.embedinput {
=09
}
#videoplayer A:link {
	COLOR: #35acff; FONT-SIZE: 11px; TEXT-DECORATION: none
}
#videoplayer A:visited {
	COLOR: #35acff; FONT-SIZE: 11px; TEXT-DECORATION: none
}
#videoplayer A:hover {
	COLOR: #000
}
#videoplayer_partner A:link {
	COLOR: #35acff; FONT-SIZE: 11px; TEXT-DECORATION: none
}
#videoplayer_partner A:visited {
	COLOR: #35acff; FONT-SIZE: 11px; TEXT-DECORATION: none
}
#videoplayer_partner A:hover {
	COLOR: #000
}
.header12_blue {
	FONT-FAMILY: Arial; COLOR: #003399; FONT-SIZE: 14px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none
}
.header18_blue {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #003399; FONT-SIZE: =
18px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
H1.biotoggle {
	TEXT-ALIGN: left; MARGIN: 20px 0px; PADDING-LEFT: 10px; PADDING-RIGHT: =
0px; BACKGROUND: url(/images/bg_tab_blue.png) #002675; HEIGHT: 45px; =
COLOR: #fff; FONT-SIZE: 1em
}
H1.bioHeader {
	TEXT-ALIGN: left; MARGIN: 20px 0px; PADDING-LEFT: 10px; PADDING-RIGHT: =
0px; BACKGROUND: url(/images/bg_tab_blue.png) #002675; HEIGHT: 1px; =
COLOR: #fff; FONT-SIZE: 1em
}
#bioWrapper {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #fff; MARGIN: 0px; PADDING-LEFT: =
4px; WIDTH: 400px; PADDING-RIGHT: 4px; FLOAT: right; VERTICAL-ALIGN: =
top; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
#biodescription {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eaeaea; MARGIN: 0px; =
PADDING-LEFT: 4px; WIDTH: 400px; PADDING-RIGHT: 4px; FLOAT: right; =
VERTICAL-ALIGN: top; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; =
PADDING-TOP: 4px
}
#galleryArticle {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 230px; =
PADDING-RIGHT: 4px; FLOAT: left; BORDER-TOP: 0px solid; BORDER-RIGHT: =
0px solid; PADDING-TOP: 4px
}
.bioContainer {
	PADDING-BOTTOM: 0px; MARGIN: 0px; BACKGROUND: #eaeaea; PADDING-TOP: 0px
}
.bioContainer IMG {
	MARGIN: 0px 10px; DISPLAY: inline; FLOAT: left
}
#bioContainer H1 {
	TEXT-ALIGN: left; MARGIN: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; =
BACKGROUND: #002675; HEIGHT: 80px; COLOR: #fff; FONT-SIZE: 0.5em
}
.bioContainer P {
	TEXT-ALIGN: left; LINE-HEIGHT: 1.4; MARGIN: 0px 10px; FONT-SIZE: 0.9em
}
.bioContainer A {
	LIST-STYLE-TYPE: none; COLOR: #0066cc; TEXT-DECORATION: none
}
.bioContainer A:hover {
	LIST-STYLE-TYPE: none; COLOR: #e28c05; TEXT-DECORATION: none
}
.blueWhiteHeadline {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #002675; MARGIN: 5px 0px; =
PADDING-LEFT: 4px; PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; COLOR: #ffffff; FONT-SIZE: 18px; PADDING-TOP: 2px
}
.advantagePartnerLogoTd {
	BORDER-BOTTOM: 2px groove; PADDING-BOTTOM: 4px; PADDING-LEFT: 0px; =
WIDTH: 120px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: top; PADDING-TOP: 6px
}
.advantagePartnerAddressTd {
	BORDER-BOTTOM: 2px groove; PADDING-BOTTOM: 4px; PADDING-LEFT: 6px; =
WIDTH: 170px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: top; PADDING-TOP: 6px
}
.advantagePartnerTable {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 100%; =
BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium =
none
}
#promoPageContent {
	MARGIN: 20px 50px 20px 100px; MIN-HEIGHT: 400px; WIDTH: 675px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; HEIGHT: auto =
!important; FONT-SIZE: 11px
}
#promoPageContent LI {
	FONT-SIZE: 11px
}
#promoPageContent TD {
	FONT-SIZE: 11px
}
#promoPageContent LI {
	FONT-SIZE: 11px
}
#promoPageContent DD {
	FONT-SIZE: 11px
}
#promoPageContent DT {
	FONT-SIZE: 11px
}
.techSupportLeftRailContainerDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 405px; =
PADDING-RIGHT: 4px; FLOAT: left; BORDER-TOP: 0px solid; BORDER-RIGHT: =
0px solid; PADDING-TOP: 4px
}
.techSupportLeftRailDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px; =
PADDING-LEFT: 4px; WIDTH: 405px; PADDING-RIGHT: 4px; FLOAT: left; =
BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.techSupportRightRailContainerDiv {
	BORDER-BOTTOM: 0px solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: 250px; =
PADDING-RIGHT: 4px; FLOAT: right; CLEAR: both; BORDER-TOP: 0px solid; =
BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.techSupportRightRailDiv {
	BACKGROUND-IMAGE: url(/images/documents_bg.jpg); BORDER-BOTTOM: 0px =
solid; TEXT-ALIGN: left; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #f0f0f0; MARGIN: 0px 0px 25px 25px; PADDING-LEFT: 4px; =
WIDTH: 250px; PADDING-RIGHT: 4px; BACKGROUND-REPEAT: repeat-x; FLOAT: =
right; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 4px
}
.hid-expander-box {
	FLOAT: left
}
.hid-expander-header {
	FLOAT: left
}
.hid-expander-header IMG {
	FLOAT: left
}
.hid-expander-header H3 {
	FLOAT: left
}
.hid-expander-blurb {
	FLOAT: left
}
.hid-expander-header {
	MARGIN-BOTTOM: 5px; CURSOR: pointer
}
.hid-expander-header H3 {
	MARGIN: 0px 0px 0px 10px; COLOR: #007f60; FONT-SIZE: 125%
}
.hid-expander-box {
	BORDER-BOTTOM: #007f60 1px solid; POSITION: relative; BORDER-LEFT: =
#007f60 1px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff; =
PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT-FAMILY: arial, verdana, =
sans-serif; MARGIN-BOTTOM: 10px; COLOR: #000; BORDER-TOP: #007f60 1px =
solid; BORDER-RIGHT: #007f60 1px solid; PADDING-TOP: 10px; BEHAVIOR: =
url(/includes_common2/PIE.htc); -webkit-border-radius: 20px; =
-moz-border-radius: 20px; border-radius: 20px
}
.hid-expander-box {
	FONT-SIZE: 9pt
}
.hid-expander-box P {
	FONT-SIZE: 9pt
}
.hid-expander-box A {
	FONT-STYLE: italic; COLOR: #007f60; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.hid-expander-blurb {
	WIDTH: 100%; CLEAR: left
}
.hid-expander-link {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FLOAT: right; PADDING-TOP: 0px
}
.hid-expander-blurb P {
	MARGIN: 0px 0px 6px
}
* HTML .hid-expander-box {
	PADDING-BOTTOM: 10px
}

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js

/*!=0A=
 * jQuery JavaScript Library v1.4.4=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: Thu Nov 11 19:04:53 2010 -0500=0A=
 */=0A=
(function(E,B){function =
ka(a,b,d){if(d=3D=3D=3DB&&a.nodeType=3D=3D=3D1){d=3Da.getAttribute("data-=
"+b);if(typeof =
d=3D=3D=3D"string"){try{d=3Dd=3D=3D=3D"true"?true:d=3D=3D=3D"false"?false=
:d=3D=3D=3D"null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d=
):d}catch(e){}c.data(a,b,d)}else d=3DB}return d}function U(){return =
false}function ca(){return true}function la(a,b,d){d[0].type=3Da;return =
c.event.handle.apply(b,d)}function Ka(a){var =
b,d,e,f,h,l,k,o,x,r,A,C=3D[];f=3D[];h=3Dc.data(this,this.nodeType?"events=
":"__events__");if(typeof h=3D=3D=3D"function")h=3D=0A=
h.events;if(!(a.liveFired=3D=3D=3Dthis||!h||!h.live||a.button&&a.type=3D=3D=
=3D"click")){if(a.namespace)A=3DRegExp("(^|\\.)"+a.namespace.split(".").j=
oin("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=3Dthis;var =
J=3Dh.live.slice(0);for(k=3D0;k<J.length;k++){h=3DJ[k];h.origType.replace=
(X,"")=3D=3D=3Da.type?f.push(h.selector):J.splice(k--,1)}f=3Dc(a.target).=
closest(f,a.currentTarget);o=3D0;for(x=3Df.length;o<x;o++){r=3Df[o];for(k=
=3D0;k<J.length;k++){h=3DJ[k];if(r.selector=3D=3D=3Dh.selector&&(!A||A.te=
st(h.namespace))){l=3Dr.elem;e=3Dnull;if(h.preType=3D=3D=3D"mouseenter"||=0A=
h.preType=3D=3D=3D"mouseleave"){a.type=3Dh.preType;e=3Dc(a.relatedTarget)=
.closest(h.selector)[0]}if(!e||e!=3D=3Dl)C.push({elem:l,handleObj:h,level=
:r.level})}}}o=3D0;for(x=3DC.length;o<x;o++){f=3DC[o];if(d&&f.level>d)bre=
ak;a.currentTarget=3Df.elem;a.data=3Df.handleObj.data;a.handleObj=3Df.han=
dleObj;A=3Df.handleObj.origHandler.apply(f.elem,arguments);if(A=3D=3D=3Df=
alse||a.isPropagationStopped()){d=3Df.level;if(A=3D=3D=3Dfalse)b=3Dfalse;=
if(a.isImmediatePropagationStopped())break}}return b}}function =
Y(a,b){return(a&&a!=3D=3D"*"?a+".":"")+b.replace(La,=0A=
"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return =
c.grep(a,function(f,h){return!!b.call(f,h,f)=3D=3D=3Dd});else =
if(b.nodeType)return c.grep(a,function(f){return =
f=3D=3D=3Db=3D=3D=3Dd});else if(typeof b=3D=3D=3D"string"){var =
e=3Dc.grep(a,function(f){return =
f.nodeType=3D=3D=3D1});if(Na.test(b))return c.filter(b,e,!d);else =
b=3Dc.filter(b,e)}return c.grep(a,function(f){return =
c.inArray(f,b)>=3D0=3D=3D=3Dd})}function na(a,b){var =
d=3D0;b.each(function(){if(this.nodeName=3D=3D=3D(a[d]&&a[d].nodeName)){v=
ar e=3Dc.data(a[d++]),f=3Dc.data(this,=0A=
e);if(e=3De&&e.events){delete f.handle;f.events=3D{};for(var h in =
e)for(var l in =
e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function =
Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalE=
val(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.re=
moveChild(b)}function oa(a,b,d){var =
e=3Db=3D=3D=3D"width"?a.offsetWidth:a.offsetHeight;if(d=3D=3D=3D"border")=
return =
e;c.each(b=3D=3D=3D"width"?Pa:Qa,function(){d||(e-=3DparseFloat(c.css(a,"=
padding"+this))||0);if(d=3D=3D=3D"margin")e+=3DparseFloat(c.css(a,=0A=
"margin"+this))||0;else =
e-=3DparseFloat(c.css(a,"border"+this+"Width"))||0});return e}function =
da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a=
)?e(a,h):da(a+"["+(typeof =
h=3D=3D=3D"object"||c.isArray(h)?f:"")+"]",h,d,e)});else =
if(!d&&b!=3Dnull&&typeof =
b=3D=3D=3D"object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a=
+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var =
d=3D{};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=3Da});=
return d}function qa(a){if(!ea[a]){var b=3Dc("<"+=0A=
a+">").appendTo("body"),d=3Db.css("display");b.remove();if(d=3D=3D=3D"non=
e"||d=3D=3D=3D"")d=3D"block";ea[a]=3Dd}return ea[a]}function =
fa(a){return =
c.isWindow(a)?a:a.nodeType=3D=3D=3D9?a.defaultView||a.parentWindow:false}=
var t=3DE.document,c=3Dfunction(){function =
a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTim=
eout(a,1);return}b.ready()}}var b=3Dfunction(j,s){return new =
b.fn.init(j,s)},d=3DE.jQuery,e=3DE.$,f,h=3D/^(?:[^<]*(<[\w\W]+>)[^>]*$|#(=
[\w\-]+)$)/,l=3D/\S/,k=3D/^\s+/,o=3D/\s+$/,x=3D/\W/,r=3D/\d/,A=3D/^<(\w+)=
\s*\/?>(?:<\/\1>)?$/,=0A=
C=3D/^[\],:{}\s]*$/,J=3D/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=3D/"[^"\\=
\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=3D/(?:^|:|,=
)(?:\s*\[)+/g,L=3D/(webkit)[ \/]([\w.]+)/,g=3D/(opera)(?:.*version)?[ =
\/]([\w.]+)/,i=3D/(msie) ([\w.]+)/,n=3D/(mozilla)(?:.*? =
rv:([\w.]+))?/,m=3Dnavigator.userAgent,p=3Dfalse,q=3D[],u,y=3DObject.prot=
otype.toString,F=3DObject.prototype.hasOwnProperty,M=3DArray.prototype.pu=
sh,N=3DArray.prototype.slice,O=3DString.prototype.trim,D=3DArray.prototyp=
e.indexOf,R=3D{};b.fn=3Db.prototype=3D{init:function(j,=0A=
s){var v,z,H;if(!j)return =
this;if(j.nodeType){this.context=3Dthis[0]=3Dj;this.length=3D1;return =
this}if(j=3D=3D=3D"body"&&!s&&t.body){this.context=3Dt;this[0]=3Dt.body;t=
his.selector=3D"body";this.length=3D1;return this}if(typeof =
j=3D=3D=3D"string")if((v=3Dh.exec(j))&&(v[1]||!s))if(v[1]){H=3Ds?s.ownerD=
ocument||s:t;if(z=3DA.exec(j))if(b.isPlainObject(s)){j=3D[t.createElement=
(z[1])];b.fn.attr.call(j,s,true)}else =
j=3D[H.createElement(z[1])];else{z=3Db.buildFragment([v[1]],[H]);j=3D(z.c=
acheable?z.fragment.cloneNode(true):z.fragment).childNodes}return =
b.merge(this,=0A=
j)}else{if((z=3Dt.getElementById(v[2]))&&z.parentNode){if(z.id!=3D=3Dv[2]=
)return =
f.find(j);this.length=3D1;this[0]=3Dz}this.context=3Dt;this.selector=3Dj;=
return this}else =
if(!s&&!x.test(j)){this.selector=3Dj;this.context=3Dt;j=3Dt.getElementsBy=
TagName(j);return b.merge(this,j)}else =
return!s||s.jquery?(s||f).find(j):b(s).find(j);else =
if(b.isFunction(j))return =
f.ready(j);if(j.selector!=3D=3DB){this.selector=3Dj.selector;this.context=
=3Dj.context}return =
b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){=
return this.length},=0A=
toArray:function(){return N.call(this,0)},get:function(j){return =
j=3D=3Dnull?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:functi=
on(j,s,v){var =
z=3Db();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=3Dthis;z.cont=
ext=3Dthis.context;if(s=3D=3D=3D"find")z.selector=3Dthis.selector+(this.s=
elector?" ":"")+v;else =
if(s)z.selector=3Dthis.selector+"."+s+"("+v+")";return =
z},each:function(j,s){return =
b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b=
);else q&&q.push(j);return this},eq:function(j){return j=3D=3D=3D=0A=
-1?this.slice(j):this.slice(j,+j+1)},first:function(){return =
this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return =
this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","=
))},map:function(j){return =
this.pushStack(b.map(this,function(s,v){return =
j.call(s,v,s)}))},end:function(){return =
this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init=
.prototype=3Db.fn;b.extend=3Db.fn.extend=3Dfunction(){var =
j,s,v,z,H,G=3Darguments[0]||{},K=3D1,Q=3Darguments.length,ga=3Dfalse;=0A=
if(typeof =
G=3D=3D=3D"boolean"){ga=3DG;G=3Darguments[1]||{};K=3D2}if(typeof =
G!=3D=3D"object"&&!b.isFunction(G))G=3D{};if(Q=3D=3D=3DK){G=3Dthis;--K}fo=
r(;K<Q;K++)if((j=3Darguments[K])!=3Dnull)for(s in =
j){v=3DG[s];z=3Dj[s];if(G!=3D=3Dz)if(ga&&z&&(b.isPlainObject(z)||(H=3Db.i=
sArray(z)))){if(H){H=3Dfalse;v=3Dv&&b.isArray(v)?v:[]}else =
v=3Dv&&b.isPlainObject(v)?v:{};G[s]=3Db.extend(ga,v,z)}else =
if(z!=3D=3DB)G[s]=3Dz}return =
G};b.extend({noConflict:function(j){E.$=3De;if(j)E.jQuery=3Dd;return =
b},isReady:false,readyWait:1,ready:function(j){j=3D=3D=3Dtrue&&b.readyWai=
t--;=0A=
if(!b.readyWait||j!=3D=3Dtrue&&!b.isReady){if(!t.body)return =
setTimeout(b.ready,1);b.isReady=3Dtrue;if(!(j!=3D=3Dtrue&&--b.readyWait>0=
))if(q){var =
s=3D0,v=3Dq;for(q=3Dnull;j=3Dv[s++];)j.call(t,b);b.fn.trigger&&b(t).trigg=
er("ready").unbind("ready")}}},bindReady:function(){if(!p){p=3Dtrue;if(t.=
readyState=3D=3D=3D"complete")return =
setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMConte=
ntLoaded",u,false);E.addEventListener("load",b.ready,false)}else =
if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("on=
load",=0A=
b.ready);var =
j=3Dfalse;try{j=3DE.frameElement=3D=3Dnull}catch(s){}t.documentElement.do=
Scroll&&j&&a()}}},isFunction:function(j){return =
b.type(j)=3D=3D=3D"function"},isArray:Array.isArray||function(j){return =
b.type(j)=3D=3D=3D"array"},isWindow:function(j){return j&&typeof =
j=3D=3D=3D"object"&&"setInterval"in j},isNaN:function(j){return =
j=3D=3Dnull||!r.test(j)||isNaN(j)},type:function(j){return =
j=3D=3Dnull?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){i=
f(!j||b.type(j)!=3D=3D"object"||j.nodeType||b.isWindow(j))return =
false;if(j.constructor&&=0A=
!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"=
))return false;for(var s in j);return =
s=3D=3D=3DB||F.call(j,s)},isEmptyObject:function(j){for(var s in =
j)return false;return true},error:function(j){throw =
j;},parseJSON:function(j){if(typeof j!=3D=3D"string"||!j)return =
null;j=3Db.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,""=
)))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return =
"+j))();else b.error("Invalid JSON: =
"+j)},noop:function(){},globalEval:function(j){if(j&&=0A=
l.test(j)){var =
s=3Dt.getElementsByTagName("head")[0]||t.documentElement,v=3Dt.createElem=
ent("script");v.type=3D"text/javascript";if(b.support.scriptEval)v.append=
Child(t.createTextNode(j));else =
v.text=3Dj;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:fun=
ction(j,s){return =
j.nodeName&&j.nodeName.toUpperCase()=3D=3D=3Ds.toUpperCase()},each:functi=
on(j,s,v){var =
z,H=3D0,G=3Dj.length,K=3DG=3D=3D=3DB||b.isFunction(j);if(v)if(K)for(z in =
j){if(s.apply(j[z],v)=3D=3D=3Dfalse)break}else =
for(;H<G;){if(s.apply(j[H++],v)=3D=3D=3Dfalse)break}else if(K)for(z in =
j){if(s.call(j[z],=0A=
z,j[z])=3D=3D=3Dfalse)break}else =
for(v=3Dj[0];H<G&&s.call(v,H,v)!=3D=3Dfalse;v=3Dj[++H]);return =
j},trim:O?function(j){return =
j=3D=3Dnull?"":O.call(j)}:function(j){return =
j=3D=3Dnull?"":j.toString().replace(k,"").replace(o,"")},makeArray:functi=
on(j,s){var v=3Ds||[];if(j!=3Dnull){var =
z=3Db.type(j);j.length=3D=3Dnull||z=3D=3D=3D"string"||z=3D=3D=3D"function=
"||z=3D=3D=3D"regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return =
v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var =
v=3D0,z=3Ds.length;v<z;v++)if(s[v]=3D=3D=3Dj)return =
v;return-1},merge:function(j,=0A=
s){var v=3Dj.length,z=3D0;if(typeof s.length=3D=3D=3D"number")for(var =
H=3Ds.length;z<H;z++)j[v++]=3Ds[z];else =
for(;s[z]!=3D=3DB;)j[v++]=3Ds[z++];j.length=3Dv;return =
j},grep:function(j,s,v){var z=3D[],H;v=3D!!v;for(var =
G=3D0,K=3Dj.length;G<K;G++){H=3D!!s(j[G],G);v!=3D=3DH&&z.push(j[G])}retur=
n z},map:function(j,s,v){for(var =
z=3D[],H,G=3D0,K=3Dj.length;G<K;G++){H=3Ds(j[G],G,v);if(H!=3Dnull)z[z.len=
gth]=3DH}return =
z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length=3D=
=3D=3D2)if(typeof s=3D=3D=3D"string"){v=3Dj;j=3Dv[s];s=3DB}else =
if(s&&!b.isFunction(s)){v=3D=0A=
s;s=3DB}if(!s&&j)s=3Dfunction(){return =
j.apply(v||this,arguments)};if(j)s.guid=3Dj.guid=3Dj.guid||s.guid||b.guid=
++;return s},access:function(j,s,v,z,H,G){var K=3Dj.length;if(typeof =
s=3D=3D=3D"object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return =
j}if(v!=3D=3DB){z=3D!G&&z&&b.isFunction(v);for(Q=3D0;Q<K;Q++)H(j[Q],s,z?v=
.call(j[Q],Q,H(j[Q],s)):v,G);return j}return =
K?H(j[0],s):B},now:function(){return(new =
Date).getTime()},uaMatch:function(j){j=3Dj.toLowerCase();j=3DL.exec(j)||g=
.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||=0A=
[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boole=
an Number String Function Array Date RegExp Object".split(" =
"),function(j,s){R["[object =
"+s+"]"]=3Ds.toLowerCase()});m=3Db.uaMatch(m);if(m.browser){b.browser[m.b=
rowser]=3Dtrue;b.browser.version=3Dm.version}if(b.browser.webkit)b.browse=
r.safari=3Dtrue;if(D)b.inArray=3Dfunction(j,s){return =
D.call(s,j)};if(!/\s/.test("\u00a0")){k=3D/^[\s\xA0]+/;o=3D/[\s\xA0]+$/}f=
=3Db(t);if(t.addEventListener)u=3Dfunction(){t.removeEventListener("DOMCo=
ntentLoaded",u,=0A=
false);b.ready()};else =
if(t.attachEvent)u=3Dfunction(){if(t.readyState=3D=3D=3D"complete"){t.det=
achEvent("onreadystatechange",u);b.ready()}};return =
E.jQuery=3DE.$=3Db}();(function(){c.support=3D{};var =
a=3Dt.documentElement,b=3Dt.createElement("script"),d=3Dt.createElement("=
div"),e=3D"script"+c.now();d.style.display=3D"none";d.innerHTML=3D"   =
<link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";var =
f=3Dd.getElementsByTagName("*"),h=3Dd.getElementsByTagName("a")[0],l=3Dt.=
createElement("select"),=0A=
k=3Dl.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.s=
upport=3D{leadingWhitespace:d.firstChild.nodeType=3D=3D=3D3,tbody:!d.getE=
lementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("=
link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.=
getAttribute("href")=3D=3D=3D"/a",opacity:/^0.55$/.test(h.style.opacity),=
cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].va=
lue=3D=3D=3D"on",optSelected:k.selected,deleteExpando:true,optDisabled:fa=
lse,checkClone:false,=0A=
scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:f=
alse,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=3Dtrue=
;c.support.optDisabled=3D!k.disabled;b.type=3D"text/javascript";try{b.app=
endChild(t.createTextNode("window."+e+"=3D1;"))}catch(o){}a.insertBefore(=
b,a.firstChild);if(E[e]){c.support.scriptEval=3Dtrue;delete =
E[e]}try{delete =
b.test}catch(x){c.support.deleteExpando=3Dfalse}a.removeChild(b);if(d.att=
achEvent&&d.fireEvent){d.attachEvent("onclick",function =
r(){c.support.noCloneEvent=3D=0A=
false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")=
}d=3Dt.createElement("div");d.innerHTML=3D"<input type=3D'radio' =
name=3D'radiotest' =
checked=3D'checked'/>";a=3Dt.createDocumentFragment();a.appendChild(d.fir=
stChild);c.support.checkClone=3Da.cloneNode(true).cloneNode(true).lastChi=
ld.checked;c(function(){var =
r=3Dt.createElement("div");r.style.width=3Dr.style.paddingLeft=3D"1px";t.=
body.appendChild(r);c.boxModel=3Dc.support.boxModel=3Dr.offsetWidth=3D=3D=
=3D2;if("zoom"in r.style){r.style.display=3D"inline";r.style.zoom=3D=0A=
1;c.support.inlineBlockNeedsLayout=3Dr.offsetWidth=3D=3D=3D2;r.style.disp=
lay=3D"";r.innerHTML=3D"<div =
style=3D'width:4px;'></div>";c.support.shrinkWrapBlocks=3Dr.offsetWidth!=3D=
=3D2}r.innerHTML=3D"<table><tr><td =
style=3D'padding:0;display:none'></td><td>t</td></tr></table>";var =
A=3Dr.getElementsByTagName("td");c.support.reliableHiddenOffsets=3DA[0].o=
ffsetHeight=3D=3D=3D0;A[0].style.display=3D"";A[1].style.display=3D"none"=
;c.support.reliableHiddenOffsets=3Dc.support.reliableHiddenOffsets&&A[0].=
offsetHeight=3D=3D=3D0;r.innerHTML=3D"";t.body.removeChild(r).style.displ=
ay=3D=0A=
"none"});a=3Dfunction(r){var A=3Dt.createElement("div");r=3D"on"+r;var =
C=3Dr in A;if(!C){A.setAttribute(r,"return;");C=3Dtypeof =
A[r]=3D=3D=3D"function"}return =
C};c.support.submitBubbles=3Da("submit");c.support.changeBubbles=3Da("cha=
nge");a=3Db=3Dd=3Df=3Dh=3Dnull}})();var =
ra=3D{},Ja=3D/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQu=
ery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444=
553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=3Da=3D=
=3DE?ra:a;var e=3Da.nodeType,f=3De?a[c.expando]:null,h=3D=0A=
c.cache;if(!(e&&!f&&typeof =
b=3D=3D=3D"string"&&d=3D=3D=3DB)){if(e)f||(a[c.expando]=3Df=3D++c.uuid);e=
lse h=3Da;if(typeof b=3D=3D=3D"object")if(e)h[f]=3Dc.extend(h[f],b);else =
c.extend(h,b);else =
if(e&&!h[f])h[f]=3D{};a=3De?h[f]:h;if(d!=3D=3DB)a[b]=3Dd;return typeof =
b=3D=3D=3D"string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a))=
{a=3Da=3D=3DE?ra:a;var =
d=3Da.nodeType,e=3Dd?a[c.expando]:a,f=3Dc.cache,h=3Dd?f[e]:e;if(b){if(h){=
delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else =
if(d&&c.support.deleteExpando)delete a[c.expando];else =
if(a.removeAttribute)a.removeAttribute(c.expando);=0A=
else if(d)delete f[e];else for(var l in a)delete =
a[l]}},acceptData:function(a){if(a.nodeName){var =
b=3Dc.noData[a.nodeName.toLowerCase()];if(b)return!(b=3D=3D=3Dtrue||a.get=
Attribute("classid")!=3D=3Db)}return =
true}});c.fn.extend({data:function(a,b){var d=3Dnull;if(typeof =
a=3D=3D=3D"undefined"){if(this.length){var =
e=3Dthis[0].attributes,f;d=3Dc.data(this[0]);for(var =
h=3D0,l=3De.length;h<l;h++){f=3De[h].name;if(f.indexOf("data-")=3D=3D=3D0=
){f=3Df.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof =
a=3D=3D=3D"object")return this.each(function(){c.data(this,=0A=
a)});var =
k=3Da.split(".");k[1]=3Dk[1]?"."+k[1]:"";if(b=3D=3D=3DB){d=3Dthis.trigger=
Handler("getData"+k[1]+"!",[k[0]]);if(d=3D=3D=3DB&&this.length){d=3Dc.dat=
a(this[0],a);d=3Dka(this[0],a,d)}return =
d=3D=3D=3DB&&k[1]?this.data(k[0]):d}else return this.each(function(){var =
o=3Dc(this),x=3D[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(th=
is,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(=
a){return =
this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a=
,b,d){if(a){b=3D(b||"fx")+"queue";var e=3D=0A=
c.data(a,b);if(!d)return =
e||[];if(!e||c.isArray(d))e=3Dc.data(a,b,c.makeArray(d));else =
e.push(d);return e}},dequeue:function(a,b){b=3Db||"fx";var =
d=3Dc.queue(a,b),e=3Dd.shift();if(e=3D=3D=3D"inprogress")e=3Dd.shift();if=
(e){b=3D=3D=3D"fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue=
(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof =
a!=3D=3D"string"){b=3Da;a=3D"fx"}if(b=3D=3D=3DB)return =
c.queue(this[0],a);return this.each(function(){var =
d=3Dc.queue(this,a,b);a=3D=3D=3D"fx"&&d[0]!=3D=3D"inprogress"&&c.dequeue(=
this,a)})},dequeue:function(a){return =
this.each(function(){c.dequeue(this,=0A=
a)})},delay:function(a,b){a=3Dc.fx?c.fx.speeds[a]||a:a;b=3Db||"fx";return=
 this.queue(b,function(){var =
d=3Dthis;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(=
a){return this.queue(a||"fx",[])}});var =
sa=3D/[\n\t]/g,ha=3D/\s+/,Sa=3D/\r/g,Ta=3D/^(?:href|src|style)$/,Ua=3D/^(=
?:button|input)$/i,Va=3D/^(?:button|input|object|select|textarea)$/i,Wa=3D=
/^a(?:rea)?$/i,ta=3D/^(?:radio|checkbox)$/i;c.props=3D{"for":"htmlFor","c=
lass":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"=
cellSpacing",rowspan:"rowSpan",=0A=
colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameB=
order"};c.fn.extend({attr:function(a,b){return =
c.access(this,a,b,true,c.attr)},removeAttr:function(a){return =
this.each(function(){c.attr(this,a,"");this.nodeType=3D=3D=3D1&&this.remo=
veAttribute(a)})},addClass:function(a){if(c.isFunction(a))return =
this.each(function(x){var =
r=3Dc(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof =
a=3D=3D=3D"string")for(var =
b=3D(a||"").split(ha),d=3D0,e=3Dthis.length;d<e;d++){var =
f=3Dthis[d];if(f.nodeType=3D=3D=3D=0A=
1)if(f.className){for(var h=3D" "+f.className+" =
",l=3Df.className,k=3D0,o=3Db.length;k<o;k++)if(h.indexOf(" "+b[k]+" =
")<0)l+=3D" "+b[k];f.className=3Dc.trim(l)}else f.className=3Da}return =
this},removeClass:function(a){if(c.isFunction(a))return =
this.each(function(o){var =
x=3Dc(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof =
a=3D=3D=3D"string"||a=3D=3D=3DB)for(var =
b=3D(a||"").split(ha),d=3D0,e=3Dthis.length;d<e;d++){var =
f=3Dthis[d];if(f.nodeType=3D=3D=3D1&&f.className)if(a){for(var h=3D(" =
"+f.className+" ").replace(sa," "),=0A=
l=3D0,k=3Db.length;l<k;l++)h=3Dh.replace(" "+b[l]+" "," =
");f.className=3Dc.trim(h)}else f.className=3D""}return =
this},toggleClass:function(a,b){var d=3Dtypeof a,e=3Dtypeof =
b=3D=3D=3D"boolean";if(c.isFunction(a))return this.each(function(f){var =
h=3Dc(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return =
this.each(function(){if(d=3D=3D=3D"string")for(var =
f,h=3D0,l=3Dc(this),k=3Db,o=3Da.split(ha);f=3Do[h++];){k=3De?k:!l.hasClas=
s(f);l[k?"addClass":"removeClass"](f)}else =
if(d=3D=3D=3D"undefined"||d=3D=3D=3D"boolean"){this.className&&c.data(thi=
s,=0A=
"__className__",this.className);this.className=3Dthis.className||a=3D=3D=3D=
false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=3D" =
"+a+" ";for(var b=3D0,d=3Dthis.length;b<d;b++)if((" =
"+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return =
true;return false},val:function(a){if(!arguments.length){var =
b=3Dthis[0];if(b){if(c.nodeName(b,"option")){var =
d=3Db.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName=
(b,"select")){var e=3Db.selectedIndex;d=3D[];var =
f=3Db.options;b=3Db.type=3D=3D=3D"select-one";=0A=
if(e<0)return null;var h=3Db?e:0;for(e=3Db?e+1:f.length;h<e;h++){var =
l=3Df[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute=
("disabled")=3D=3D=3Dnull)&&(!l.parentNode.disabled||!c.nodeName(l.parent=
Node,"optgroup"))){a=3Dc(l).val();if(b)return a;d.push(a)}}return =
d}if(ta.test(b.type)&&!c.support.checkOn)return =
b.getAttribute("value")=3D=3D=3Dnull?"on":b.value;return(b.value||"").rep=
lace(Sa,"")}return B}var k=3Dc.isFunction(a);return =
this.each(function(o){var =
x=3Dc(this),r=3Da;if(this.nodeType=3D=3D=3D1){if(k)r=3D=0A=
a.call(this,o,x.val());if(r=3D=3Dnull)r=3D"";else if(typeof =
r=3D=3D=3D"number")r+=3D"";else =
if(c.isArray(r))r=3Dc.map(r,function(C){return =
C=3D=3Dnull?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=3D=
c.inArray(x.val(),r)>=3D0;else if(c.nodeName(this,"select")){var =
A=3Dc.makeArray(r);c("option",this).each(function(){this.selected=3Dc.inA=
rray(c(this).val(),A)>=3D0});if(!A.length)this.selectedIndex=3D-1}else =
this.value=3Dr}})}});c.extend({attrFn:{val:true,css:true,html:true,text:t=
rue,data:true,width:true,height:true,offset:true},=0A=
attr:function(a,b,d,e){if(!a||a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)=
return B;if(e&&b in c.attrFn)return =
c(a)[b](d);e=3Da.nodeType!=3D=3D1||!c.isXMLDoc(a);var =
f=3Dd!=3D=3DB;b=3De&&c.props[b]||b;var h=3DTa.test(b);if((b in =
a||a[b]!=3D=3DB)&&e&&!h){if(f){b=3D=3D=3D"type"&&Ua.test(a.nodeName)&&a.p=
arentNode&&c.error("type property can't be =
changed");if(d=3D=3D=3Dnull)a.nodeType=3D=3D=3D1&&a.removeAttribute(b);el=
se a[b]=3Dd}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return =
a.getAttributeNode(b).nodeValue;if(b=3D=3D=3D"tabIndex")return(b=3Da.getA=
ttributeNode("tabIndex"))&&=0A=
b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;=
return =
a[b]}if(!c.support.style&&e&&b=3D=3D=3D"style"){if(f)a.style.cssText=3D""=
+d;return =
a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttri=
bute&&!a.hasAttribute(b))return =
B;a=3D!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(=
b);return a=3D=3D=3Dnull?B:a}});var =
X=3D/\.(.*)$/,ia=3D/^(?:textarea|input|select)$/i,La=3D/\./g,Ma=3D/ =
/g,Xa=3D/[^\w\s.|`]/g,Ya=3Dfunction(a){return =
a.replace(Xa,"\\$&")},ua=3D{focusin:0,focusout:0};=0A=
c.event=3D{add:function(a,b,d,e){if(!(a.nodeType=3D=3D=3D3||a.nodeType=3D=
=3D=3D8)){if(c.isWindow(a)&&a!=3D=3DE&&!a.frameElement)a=3DE;if(d=3D=3D=3D=
false)d=3DU;else if(!d)return;var =
f,h;if(d.handler){f=3Dd;d=3Df.handler}if(!d.guid)d.guid=3Dc.guid++;if(h=3D=
c.data(a)){var =
l=3Da.nodeType?"events":"__events__",k=3Dh[l],o=3Dh.handle;if(typeof =
k=3D=3D=3D"function"){o=3Dk.handle;k=3Dk.events}else =
if(!k){a.nodeType||(h[l]=3Dh=3Dfunction(){});h.events=3Dk=3D{}}if(!o)h.ha=
ndle=3Do=3Dfunction(){return typeof =
c!=3D=3D"undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,=0A=
arguments):B};o.elem=3Da;b=3Db.split(" ");for(var =
x=3D0,r;l=3Db[x++];){h=3Df?c.extend({},f):{handler:d,data:e};if(l.indexOf=
(".")>-1){r=3Dl.split(".");l=3Dr.shift();h.namespace=3Dr.slice(0).sort().=
join(".")}else{r=3D[];h.namespace=3D""}h.type=3Dl;if(!h.guid)h.guid=3Dd.g=
uid;var =
A=3Dk[l],C=3Dc.event.special[l]||{};if(!A){A=3Dk[l]=3D[];if(!C.setup||C.s=
etup.call(a,e,r,o)=3D=3D=3Dfalse)if(a.addEventListener)a.addEventListener=
(l,o,false);else =
a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.ha=
ndler.guid)h.handler.guid=3D=0A=
d.guid}A.push(h);c.event.global[l]=3Dtrue}a=3Dnull}}},global:{},remove:fu=
nction(a,b,d,e){if(!(a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)){if(d=3D=
=3D=3Dfalse)d=3DU;var =
f,h,l=3D0,k,o,x,r,A,C,J=3Da.nodeType?"events":"__events__",w=3Dc.data(a),=
I=3Dw&&w[J];if(w&&I){if(typeof =
I=3D=3D=3D"function"){w=3DI;I=3DI.events}if(b&&b.type){d=3Db.handler;b=3D=
b.type}if(!b||typeof =
b=3D=3D=3D"string"&&b.charAt(0)=3D=3D=3D"."){b=3Db||"";for(f in =
I)c.event.remove(a,f+b)}else{for(b=3Db.split(" =
");f=3Db[l++];){r=3Df;k=3Df.indexOf(".")<0;o=3D[];if(!k){o=3Df.split(".")=
;f=3Do.shift();x=3DRegExp("(^|\\.)"+=0A=
c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=3DI[f])=
if(d){r=3Dc.event.special[f]||{};for(h=3De||0;h<A.length;h++){C=3DA[h];if=
(d.guid=3D=3D=3DC.guid){if(k||x.test(C.namespace)){e=3D=3Dnull&&A.splice(=
h--,1);r.remove&&r.remove.call(a,C)}if(e!=3Dnull)break}}if(A.length=3D=3D=
=3D0||e!=3Dnull&&A.length=3D=3D=3D1){if(!r.teardown||r.teardown.call(a,o)=
=3D=3D=3Dfalse)c.removeEvent(a,f,w.handle);delete I[f]}}else =
for(h=3D0;h<A.length;h++){C=3DA[h];if(k||x.test(C.namespace)){c.event.rem=
ove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=3D=0A=
w.handle)b.elem=3Dnull;delete w.events;delete w.handle;if(typeof =
w=3D=3D=3D"function")c.removeData(a,J);else =
c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var =
f=3Da.type||a;if(!e){a=3Dtypeof =
a=3D=3D=3D"object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.=
indexOf("!")>=3D0){a.type=3Df=3Df.slice(0,-1);a.exclusive=3Dtrue}if(!d){a=
.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.even=
ts&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.node=
Type=3D=3D=3D3||d.nodeType=3D=3D=3D=0A=
8)return =
B;a.result=3DB;a.target=3Dd;b=3Dc.makeArray(b);b.unshift(a)}a.currentTarg=
et=3Dd;(e=3Dd.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).ha=
ndle)&&e.apply(d,b);e=3Dd.parentNode||d.ownerDocument;try{if(!(d&&d.nodeN=
ame&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,=
b)=3D=3D=3Dfalse){a.result=3Dfalse;a.preventDefault()}}catch(h){}if(!a.is=
PropagationStopped()&&e)c.event.trigger(a,b,e,true);else =
if(!a.isDefaultPrevented()){var l;e=3Da.target;var =
k=3Df.replace(X,""),o=3Dc.nodeName(e,"a")&&k=3D=3D=3D=0A=
"click",x=3Dc.event.special[k]||{};if((!x._default||x._default.call(d,a)=3D=
=3D=3Dfalse)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){t=
ry{if(e[k]){if(l=3De["on"+k])e["on"+k]=3Dnull;c.event.triggered=3Dtrue;e[=
k]()}}catch(r){}if(l)e["on"+k]=3Dl;c.event.triggered=3Dfalse}}},handle:fu=
nction(a){var b,d,e,f;d=3D[];var =
h=3Dc.makeArray(arguments);a=3Dh[0]=3Dc.event.fix(a||E.event);a.currentTa=
rget=3Dthis;b=3Da.type.indexOf(".")<0&&!a.exclusive;if(!b){e=3Da.type.spl=
it(".");a.type=3De.shift();d=3De.slice(0).sort();e=3DRegExp("(^|\\.)"+=0A=
d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=3Da.namespace||d.join(".")=
;f=3Dc.data(this,this.nodeType?"events":"__events__");if(typeof =
f=3D=3D=3D"function")f=3Df.events;d=3D(f||{})[a.type];if(f&&d){d=3Dd.slic=
e(0);f=3D0;for(var l=3Dd.length;f<l;f++){var =
k=3Dd[f];if(b||e.test(k.namespace)){a.handler=3Dk.handler;a.data=3Dk.data=
;a.handleObj=3Dk;k=3Dk.handler.apply(this,h);if(k!=3D=3DB){a.result=3Dk;i=
f(k=3D=3D=3Dfalse){a.preventDefault();a.stopPropagation()}}if(a.isImmedia=
tePropagationStopped())break}}}return a.result},props:"altKey attrChange =
attrName bubbles button cancelable charCode clientX clientY ctrlKey =
currentTarget data detail eventPhase fromElement handler keyCode layerX =
layerY metaKey newValue offsetX offsetY pageX pageY prevValue =
relatedNode relatedTarget screenX screenY shiftKey srcElement target =
toElement view wheelDelta which".split(" "),=0A=
fix:function(a){if(a[c.expando])return a;var =
b=3Da;a=3Dc.Event(b);for(var =
d=3Dthis.props.length,e;d;){e=3Dthis.props[--d];a[e]=3Db[e]}if(!a.target)=
a.target=3Da.srcElement||t;if(a.target.nodeType=3D=3D=3D3)a.target=3Da.ta=
rget.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=3Da.fr=
omElement=3D=3D=3Da.target?a.toElement:a.fromElement;if(a.pageX=3D=3Dnull=
&&a.clientX!=3Dnull){b=3Dt.documentElement;d=3Dt.body;a.pageX=3Da.clientX=
+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft|=
|0);a.pageY=3Da.clientY+(b&&b.scrollTop||=0A=
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which=3D=3Dnu=
ll&&(a.charCode!=3Dnull||a.keyCode!=3Dnull))a.which=3Da.charCode!=3Dnull?=
a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=3Da.ctrlKey;if(!a=
.which&&a.button!=3D=3DB)a.which=3Da.button&1?1:a.button&2?3:a.button&4?2=
:0;return =
a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.no=
op},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.ext=
end({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.r=
emove(this,=0A=
Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.is=
Window(this))this.onbeforeunload=3Dd},teardown:function(a,b){if(this.onbe=
foreunload=3D=3D=3Db)this.onbeforeunload=3Dnull}}}};c.removeEvent=3Dt.rem=
oveEventListener?function(a,b,d){a.removeEventListener&&a.removeEventList=
ener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};=
c.Event=3Dfunction(a){if(!this.preventDefault)return new =
c.Event(a);if(a&&a.type){this.originalEvent=3Da;this.type=3Da.type}else =
this.type=3Da;this.timeStamp=3D=0A=
c.now();this[c.expando]=3Dtrue};c.Event.prototype=3D{preventDefault:funct=
ion(){this.isDefaultPrevented=3Dca;var =
a=3Dthis.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else =
a.returnValue=3Dfalse},stopPropagation:function(){this.isPropagationStopp=
ed=3Dca;var =
a=3Dthis.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.can=
celBubble=3Dtrue}},stopImmediatePropagation:function(){this.isImmediatePr=
opagationStopped=3Dca;this.stopPropagation()},isDefaultPrevented:U,isProp=
agationStopped:U,isImmediatePropagationStopped:U};=0A=
var va=3Dfunction(a){var =
b=3Da.relatedTarget;try{for(;b&&b!=3D=3Dthis;)b=3Db.parentNode;if(b!=3D=3D=
this){a.type=3Da.data;c.event.handle.apply(this,arguments)}}catch(d){}},w=
a=3Dfunction(a){a.type=3Da.data;c.event.handle.apply(this,arguments)};c.e=
ach({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.=
special[a]=3D{setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)=
},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(=
!c.support.submitBubbles)c.event.special.submit=3D{setup:function(){if(th=
is.nodeName.toLowerCase()!=3D=3D=0A=
"form"){c.event.add(this,"click.specialSubmit",function(a){var =
b=3Da.target,d=3Db.type;if((d=3D=3D=3D"submit"||d=3D=3D=3D"image")&&c(b).=
closest("form").length){a.liveFired=3DB;return =
la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",=
function(a){var =
b=3Da.target,d=3Db.type;if((d=3D=3D=3D"text"||d=3D=3D=3D"password")&&c(b)=
.closest("form").length&&a.keyCode=3D=3D=3D13){a.liveFired=3DB;return =
la("submit",this,arguments)}})}else return =
false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.=
support.changeBubbles){var V,=0A=
xa=3Dfunction(a){var =
b=3Da.type,d=3Da.value;if(b=3D=3D=3D"radio"||b=3D=3D=3D"checkbox")d=3Da.c=
hecked;else =
if(b=3D=3D=3D"select-multiple")d=3Da.selectedIndex>-1?c.map(a.options,fun=
ction(e){return e.selected}).join("-"):"";else =
if(a.nodeName.toLowerCase()=3D=3D=3D"select")d=3Da.selectedIndex;return =
d},Z=3Dfunction(a,b){var =
d=3Da.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=3Dc.data(d,"_c=
hange_data");f=3Dxa(d);if(a.type!=3D=3D"focusout"||d.type!=3D=3D"radio")c=
.data(d,"_change_data",f);if(!(e=3D=3D=3DB||f=3D=3D=3De))if(e!=3Dnull||f)=
{a.type=3D"change";a.liveFired=3D=0A=
B;return =
c.event.trigger(a,b,d)}}};c.event.special.change=3D{filters:{focusout:Z,b=
eforedeactivate:Z,click:function(a){var =
b=3Da.target,d=3Db.type;if(d=3D=3D=3D"radio"||d=3D=3D=3D"checkbox"||b.nod=
eName.toLowerCase()=3D=3D=3D"select")return =
Z.call(this,a)},keydown:function(a){var =
b=3Da.target,d=3Db.type;if(a.keyCode=3D=3D=3D13&&b.nodeName.toLowerCase()=
!=3D=3D"textarea"||a.keyCode=3D=3D=3D32&&(d=3D=3D=3D"checkbox"||d=3D=3D=3D=
"radio")||d=3D=3D=3D"select-multiple")return =
Z.call(this,a)},beforeactivate:function(a){a=3Da.target;c.data(a,"_change=
_data",xa(a))}},setup:function(){if(this.type=3D=3D=3D=0A=
"file")return false;for(var a in =
V)c.event.add(this,a+".specialChange",V[a]);return =
ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".special=
Change");return =
ia.test(this.nodeName)}};V=3Dc.event.special.change.filters;V.focus=3DV.b=
eforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"=
},function(a,b){function d(e){e=3Dc.event.fix(e);e.type=3Db;return =
c.event.trigger(e,null,e.target)}c.event.special[b]=3D{setup:function(){u=
a[b]++=3D=3D=3D0&&t.addEventListener(a,d,true)},teardown:function(){--ua[=
b]=3D=3D=3D=0A=
0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b=
){c.fn[b]=3Dfunction(d,e,f){if(typeof d=3D=3D=3D"object"){for(var h in =
d)this[b](h,e,d[h],f);return =
this}if(c.isFunction(e)||e=3D=3D=3Dfalse){f=3De;e=3DB}var =
l=3Db=3D=3D=3D"one"?c.proxy(f,function(o){c(this).unbind(o,l);return =
f.apply(this,arguments)}):f;if(d=3D=3D=3D"unload"&&b!=3D=3D"one")this.one=
(d,e,f);else{h=3D0;for(var =
k=3Dthis.length;h<k;h++)c.event.add(this[h],d,l,e)}return =
this}});c.fn.extend({unbind:function(a,b){if(typeof =
a=3D=3D=3D"object"&&!a.preventDefault)for(var d in a)this.unbind(d,=0A=
a[d]);else{d=3D0;for(var =
e=3Dthis.length;d<e;d++)c.event.remove(this[d],a,b)}return =
this},delegate:function(a,b,d,e){return =
this.live(b,d,e,a)},undelegate:function(a,b,d){return =
arguments.length=3D=3D=3D0?this.unbind("live"):this.die(b,null,d,a)},trig=
ger:function(a,b){return =
this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function=
(a,b){if(this[0]){var =
d=3Dc.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b=
,this[0]);return d.result}},toggle:function(a){for(var b=3Darguments,d=3D=0A=
1;d<b.length;)c.proxy(a,b[d++]);return =
this.click(c.proxy(a,function(e){var =
f=3D(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.gu=
id,f+1);e.preventDefault();return =
b[f].apply(this,arguments)||false}))},hover:function(a,b){return =
this.mouseenter(a).mouseleave(b||a)}});var =
ya=3D{focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"=
mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=3Dfunction(d,e,f,h=
){var =
l,k=3D0,o,x,r=3Dh||this.selector;h=3Dh?this:c(this.context);if(typeof =
d=3D=3D=3D=0A=
"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return =
this}if(c.isFunction(e)){f=3De;e=3DB}for(d=3D(d||"").split(" =
");(l=3Dd[k++])!=3Dnull;){o=3DX.exec(l);x=3D"";if(o){x=3Do[0];l=3Dl.repla=
ce(X,"")}if(l=3D=3D=3D"hover")d.push("mouseenter"+x,"mouseleave"+x);else{=
o=3Dl;if(l=3D=3D=3D"focus"||l=3D=3D=3D"blur"){d.push(ya[l]+x);l+=3Dx}else=
 l=3D(ya[l]||l)+x;if(b=3D=3D=3D"live"){x=3D0;for(var =
A=3Dh.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,h=
andler:f,origType:l,origHandler:f,preType:o})}else =
h.unbind("live."+Y(l,r),f)}}return this}});=0A=
c.each("blur focus focusin focusout load resize scroll unload click =
dblclick mousedown mouseup mousemove mouseover mouseout mouseenter =
mouseleave change select submit keydown keypress keyup error".split(" =
"),function(a,b){c.fn[b]=3Dfunction(d,e){if(e=3D=3Dnull){e=3Dd;d=3Dnull}r=
eturn =
arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn=
[b]=3Dtrue});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",funct=
ion(){for(var a in =
c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}c=
atch(b){}});=0A=
(function(){function a(g,i,n,m,p,q){p=3D0;for(var =
u=3Dm.length;p<u;p++){var y=3Dm[p];if(y){var =
F=3Dfalse;for(y=3Dy[g];y;){if(y.sizcache=3D=3D=3Dn){F=3Dm[y.sizset];break=
}if(y.nodeType=3D=3D=3D1&&!q){y.sizcache=3Dn;y.sizset=3Dp}if(y.nodeName.t=
oLowerCase()=3D=3D=3Di){F=3Dy;break}y=3Dy[g]}m[p]=3DF}}}function =
b(g,i,n,m,p,q){p=3D0;for(var u=3Dm.length;p<u;p++){var =
y=3Dm[p];if(y){var =
F=3Dfalse;for(y=3Dy[g];y;){if(y.sizcache=3D=3D=3Dn){F=3Dm[y.sizset];break=
}if(y.nodeType=3D=3D=3D1){if(!q){y.sizcache=3Dn;y.sizset=3Dp}if(typeof =
i!=3D=3D"string"){if(y=3D=3D=3Di){F=3Dtrue;break}}else if(k.filter(i,=0A=
[y]).length>0){F=3Dy;break}}y=3Dy[g]}m[p]=3DF}}}var =
d=3D/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[=
\]'"]+)+\]|\\.|[^ =
>+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=3D0,f=3DObject.prototype=
.toString,h=3Dfalse,l=3Dtrue;[0,0].sort(function(){l=3Dfalse;return =
0});var k=3Dfunction(g,i,n,m){n=3Dn||[];var =
p=3Di=3Di||t;if(i.nodeType!=3D=3D1&&i.nodeType!=3D=3D9)return[];if(!g||ty=
peof g!=3D=3D"string")return n;var =
q,u,y,F,M,N=3Dtrue,O=3Dk.isXML(i),D=3D[],R=3Dg;do{d.exec("");if(q=3Dd.exe=
c(R)){R=3Dq[3];D.push(q[1]);if(q[2]){F=3Dq[3];=0A=
break}}}while(q);if(D.length>1&&x.exec(g))if(D.length=3D=3D=3D2&&o.relati=
ve[D[0]])u=3DL(D[0]+D[1],i);else =
for(u=3Do.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=3DD.shift();if(o=
.relative[g])g+=3DD.shift();u=3DL(g,u)}else{if(!m&&D.length>1&&i.nodeType=
=3D=3D=3D9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=
=3Dk.find(D.shift(),i,O);i=3Dq.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if=
(i){q=3Dm?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length=3D=3D=3D1&&(D[0=
]=3D=3D=3D"~"||D[0]=3D=3D=3D"+")&&i.parentNode?i.parentNode:i,O);u=3Dq.ex=
pr?k.filter(q.expr,=0A=
q.set):q.set;if(D.length>0)y=3DC(u);else =
N=3Dfalse;for(;D.length;){q=3DM=3DD.pop();if(o.relative[M])q=3DD.pop();el=
se M=3D"";if(q=3D=3Dnull)q=3Di;o.relative[M](y,q,O)}}else =
y=3D[]}y||(y=3Du);y||k.error(M||g);if(f.call(y)=3D=3D=3D"[object =
Array]")if(N)if(i&&i.nodeType=3D=3D=3D1)for(g=3D0;y[g]!=3Dnull;g++){if(y[=
g]&&(y[g]=3D=3D=3Dtrue||y[g].nodeType=3D=3D=3D1&&k.contains(i,y[g])))n.pu=
sh(u[g])}else =
for(g=3D0;y[g]!=3Dnull;g++)y[g]&&y[g].nodeType=3D=3D=3D1&&n.push(u[g]);el=
se n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return =
n};k.uniqueSort=3Dfunction(g){if(w){h=3D=0A=
l;g.sort(w);if(h)for(var =
i=3D1;i<g.length;i++)g[i]=3D=3D=3Dg[i-1]&&g.splice(i--,1)}return =
g};k.matches=3Dfunction(g,i){return =
k(g,null,null,i)};k.matchesSelector=3Dfunction(g,i){return =
k(i,null,null,[g]).length>0};k.find=3Dfunction(g,i,n){var =
m;if(!g)return[];for(var p=3D0,q=3Do.order.length;p<q;p++){var =
u,y=3Do.order[p];if(u=3Do.leftMatch[y].exec(g)){var =
F=3Du[1];u.splice(1,1);if(F.substr(F.length-1)!=3D=3D"\\"){u[1]=3D(u[1]||=
"").replace(/\\/g,"");m=3Do.find[y](u,i,n);if(m!=3Dnull){g=3Dg.replace(o.=
match[y],"");break}}}}m||(m=3Di.getElementsByTagName("*"));=0A=
return{set:m,expr:g}};k.filter=3Dfunction(g,i,n,m){for(var =
p,q,u=3Dg,y=3D[],F=3Di,M=3Di&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var =
N in o.filter)if((p=3Do.leftMatch[N].exec(g))!=3Dnull&&p[2]){var =
O,D,R=3Do.filter[N];D=3Dp[1];q=3Dfalse;p.splice(1,1);if(D.substr(D.length=
-1)!=3D=3D"\\"){if(F=3D=3D=3Dy)y=3D[];if(o.preFilter[N])if(p=3Do.preFilte=
r[N](p,F,n,y,m,M)){if(p=3D=3D=3Dtrue)continue}else =
q=3DO=3Dtrue;if(p)for(var =
j=3D0;(D=3DF[j])!=3Dnull;j++)if(D){O=3DR(D,p,j,F);var =
s=3Dm^!!O;if(n&&O!=3Dnull)if(s)q=3Dtrue;else F[j]=3Dfalse;else =
if(s){y.push(D);q=3Dtrue}}if(O!=3D=3D=0A=
B){n||(F=3Dy);g=3Dg.replace(o.match[N],"");if(!q)return[];break}}}if(g=3D=
=3D=3Du)if(q=3D=3Dnull)k.error(g);else break;u=3Dg}return =
F};k.error=3Dfunction(g){throw"Syntax error, unrecognized expression: =
"+g;};var =
o=3Dk.selectors=3D{order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\u=
FFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=3D[=
'"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFF=
F\-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\u=
FFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+=
\-]*)\))?/,=0A=
POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^\-]|$)/,PSEU=
DO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)=
\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrH=
andle:{href:function(g){return =
g.getAttribute("href")}},relative:{"+":function(g,i){var n=3Dtypeof =
i=3D=3D=3D"string",m=3Dn&&!/\W/.test(i);n=3Dn&&!m;if(m)i=3Di.toLowerCase(=
);m=3D0;for(var =
p=3Dg.length,q;m<p;m++)if(q=3Dg[m]){for(;(q=3Dq.previousSibling)&&q.nodeT=
ype!=3D=3D1;);g[m]=3Dn||q&&q.nodeName.toLowerCase()=3D=3D=3D=0A=
i?q||false:q=3D=3D=3Di}n&&k.filter(i,g,true)},">":function(g,i){var =
n,m=3Dtypeof =
i=3D=3D=3D"string",p=3D0,q=3Dg.length;if(m&&!/\W/.test(i))for(i=3Di.toLow=
erCase();p<q;p++){if(n=3Dg[p]){n=3Dn.parentNode;g[p]=3Dn.nodeName.toLower=
Case()=3D=3D=3Di?n:false}}else{for(;p<q;p++)if(n=3Dg[p])g[p]=3Dm?n.parent=
Node:n.parentNode=3D=3D=3Di;m&&k.filter(i,g,true)}},"":function(g,i,n){va=
r m,p=3De++,q=3Db;if(typeof =
i=3D=3D=3D"string"&&!/\W/.test(i)){m=3Di=3Di.toLowerCase();q=3Da}q("paren=
tNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=3De++,q=3Db;if(typeof =
i=3D=3D=3D"string"&&!/\W/.test(i)){m=3D=0A=
i=3Di.toLowerCase();q=3Da}q("previousSibling",i,p,g,m,n)}},find:{ID:funct=
ion(g,i,n){if(typeof =
i.getElementById!=3D=3D"undefined"&&!n)return(g=3Di.getElementById(g[1]))=
&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof =
i.getElementsByName!=3D=3D"undefined"){for(var =
n=3D[],m=3Di.getElementsByName(g[1]),p=3D0,q=3Dm.length;p<q;p++)m[p].getA=
ttribute("name")=3D=3D=3Dg[1]&&n.push(m[p]);return =
n.length=3D=3D=3D0?null:n}},TAG:function(g,i){return =
i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=3D=
" "+g[1].replace(/\\/g,=0A=
"")+" ";if(q)return g;q=3D0;for(var =
u;(u=3Di[q])!=3Dnull;q++)if(u)if(p^(u.className&&(" "+u.className+" =
").replace(/[\t\n]/g," ").indexOf(g)>=3D0))n||m.push(u);else =
if(n)i[q]=3Dfalse;return false},ID:function(g){return =
g[1].replace(/\\/g,"")},TAG:function(g){return =
g[1].toLowerCase()},CHILD:function(g){if(g[1]=3D=3D=3D"nth"){var =
i=3D/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]=3D=3D=3D"even"&&"2n"||g[2]=3D=3D=
=3D"odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=3Di[1]+(i[2]||=
1)-0;g[3]=3Di[3]-0}g[0]=3De++;return g},ATTR:function(g,i,n,=0A=
m,p,q){i=3Dg[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=3Do.attrMap[i]=
;if(g[2]=3D=3D=3D"~=3D")g[4]=3D" "+g[4]+" ";return =
g},PSEUDO:function(g,i,n,m,p){if(g[1]=3D=3D=3D"not")if((d.exec(g[3])||"")=
.length>1||/^\w/.test(g[3]))g[3]=3Dk(g[3],null,null,i);else{g=3Dk.filter(=
g[3],i,n,true^p);n||m.push.apply(m,g);return false}else =
if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return =
g},POS:function(g){g.unshift(true);return =
g}},filters:{enabled:function(g){return =
g.disabled=3D=3D=3Dfalse&&g.type!=3D=3D"hidden"},disabled:function(g){ret=
urn g.disabled=3D=3D=3D=0A=
true},checked:function(g){return =
g.checked=3D=3D=3Dtrue},selected:function(g){return =
g.selected=3D=3D=3Dtrue},parent:function(g){return!!g.firstChild},empty:f=
unction(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).len=
gth},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){r=
eturn"text"=3D=3D=3Dg.type},radio:function(g){return"radio"=3D=3D=3Dg.typ=
e},checkbox:function(g){return"checkbox"=3D=3D=3Dg.type},file:function(g)=
{return"file"=3D=3D=3Dg.type},password:function(g){return"password"=3D=3D=
=3Dg.type},submit:function(g){return"submit"=3D=3D=3D=0A=
g.type},image:function(g){return"image"=3D=3D=3Dg.type},reset:function(g)=
{return"reset"=3D=3D=3Dg.type},button:function(g){return"button"=3D=3D=3D=
g.type||g.nodeName.toLowerCase()=3D=3D=3D"button"},input:function(g){retu=
rn/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:fu=
nction(g,i){return i=3D=3D=3D0},last:function(g,i,n,m){return =
i=3D=3D=3Dm.length-1},even:function(g,i){return =
i%2=3D=3D=3D0},odd:function(g,i){return =
i%2=3D=3D=3D1},lt:function(g,i,n){return =
i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return =
n[3]-=0A=
0=3D=3D=3Di},eq:function(g,i,n){return =
n[3]-0=3D=3D=3Di}},filter:{PSEUDO:function(g,i,n,m){var =
p=3Di[1],q=3Do.filters[p];if(q)return q(g,n,i,m);else =
if(p=3D=3D=3D"contains")return(g.textContent||g.innerText||k.getText([g])=
||"").indexOf(i[3])>=3D0;else =
if(p=3D=3D=3D"not"){i=3Di[3];n=3D0;for(m=3Di.length;n<m;n++)if(i[n]=3D=3D=
=3Dg)return false;return true}else k.error("Syntax error, unrecognized =
expression: "+p)},CHILD:function(g,i){var n=3Di[1],m=3Dg;switch(n){case =
"only":case =
"first":for(;m=3Dm.previousSibling;)if(m.nodeType=3D=3D=3D1)return =
false;if(n=3D=3D=3D=0A=
"first")return true;m=3Dg;case =
"last":for(;m=3Dm.nextSibling;)if(m.nodeType=3D=3D=3D1)return =
false;return true;case "nth":n=3Di[2];var =
p=3Di[3];if(n=3D=3D=3D1&&p=3D=3D=3D0)return true;var =
q=3Di[0],u=3Dg.parentNode;if(u&&(u.sizcache!=3D=3Dq||!g.nodeIndex)){var =
y=3D0;for(m=3Du.firstChild;m;m=3Dm.nextSibling)if(m.nodeType=3D=3D=3D1)m.=
nodeIndex=3D++y;u.sizcache=3Dq}m=3Dg.nodeIndex-p;return =
n=3D=3D=3D0?m=3D=3D=3D0:m%n=3D=3D=3D0&&m/n>=3D0}},ID:function(g,i){return=
 =
g.nodeType=3D=3D=3D1&&g.getAttribute("id")=3D=3D=3Di},TAG:function(g,i){r=
eturn =
i=3D=3D=3D"*"&&g.nodeType=3D=3D=3D1||g.nodeName.toLowerCase()=3D=3D=3D=0A=
i},CLASS:function(g,i){return(" =
"+(g.className||g.getAttribute("class"))+" =
").indexOf(i)>-1},ATTR:function(g,i){var =
n=3Di[1];n=3Do.attrHandle[n]?o.attrHandle[n](g):g[n]!=3Dnull?g[n]:g.getAt=
tribute(n);var m=3Dn+"",p=3Di[2],q=3Di[4];return =
n=3D=3Dnull?p=3D=3D=3D"!=3D":p=3D=3D=3D"=3D"?m=3D=3D=3Dq:p=3D=3D=3D"*=3D"=
?m.indexOf(q)>=3D0:p=3D=3D=3D"~=3D"?(" "+m+" =
").indexOf(q)>=3D0:!q?m&&n!=3D=3Dfalse:p=3D=3D=3D"!=3D"?m!=3D=3Dq:p=3D=3D=
=3D"^=3D"?m.indexOf(q)=3D=3D=3D0:p=3D=3D=3D"$=3D"?m.substr(m.length-q.len=
gth)=3D=3D=3Dq:p=3D=3D=3D"|=3D"?m=3D=3D=3Dq||m.substr(0,q.length+1)=3D=3D=
=3Dq+"-":false},POS:function(g,i,n,m){var p=3Do.setFilters[i[2]];=0A=
if(p)return =
p(g,n,i,m)}}},x=3Do.match.POS,r=3Dfunction(g,i){return"\\"+(i-0+1)},A;for=
(A in =
o.match){o.match[A]=3DRegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/=
.source);o.leftMatch[A]=3DRegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].sou=
rce.replace(/\\(\d+)/g,r))}var =
C=3Dfunction(g,i){g=3DArray.prototype.slice.call(g,0);if(i){i.push.apply(=
i,g);return i}return =
g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J=
){C=3Dfunction(g,i){var n=3D0,m=3Di||[];if(f.call(g)=3D=3D=3D"[object =
Array]")Array.prototype.push.apply(m,=0A=
g);else if(typeof g.length=3D=3D=3D"number")for(var =
p=3Dg.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return =
m}}var =
w,I;if(t.documentElement.compareDocumentPosition)w=3Dfunction(g,i){if(g=3D=
=3D=3Di){h=3Dtrue;return =
0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return =
g.compareDocumentPosition?-1:1;return =
g.compareDocumentPosition(i)&4?-1:1};else{w=3Dfunction(g,i){var =
n,m,p=3D[],q=3D[];n=3Dg.parentNode;m=3Di.parentNode;var =
u=3Dn;if(g=3D=3D=3Di){h=3Dtrue;return 0}else if(n=3D=3D=3Dm)return =
I(g,i);else if(n){if(!m)return 1}else return-1;=0A=
for(;u;){p.unshift(u);u=3Du.parentNode}for(u=3Dm;u;){q.unshift(u);u=3Du.p=
arentNode}n=3Dp.length;m=3Dq.length;for(u=3D0;u<n&&u<m;u++)if(p[u]!=3D=3D=
q[u])return I(p[u],q[u]);return =
u=3D=3D=3Dn?I(g,q[u],-1):I(p[u],i,1)};I=3Dfunction(g,i,n){if(g=3D=3D=3Di)=
return =
n;for(g=3Dg.nextSibling;g;){if(g=3D=3D=3Di)return-1;g=3Dg.nextSibling}ret=
urn 1}}k.getText=3Dfunction(g){for(var =
i=3D"",n,m=3D0;g[m];m++){n=3Dg[m];if(n.nodeType=3D=3D=3D3||n.nodeType=3D=3D=
=3D4)i+=3Dn.nodeValue;else =
if(n.nodeType!=3D=3D8)i+=3Dk.getText(n.childNodes)}return =
i};(function(){var g=3Dt.createElement("div"),=0A=
i=3D"script"+(new =
Date).getTime(),n=3Dt.documentElement;g.innerHTML=3D"<a =
name=3D'"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){=
o.find.ID=3Dfunction(m,p,q){if(typeof =
p.getElementById!=3D=3D"undefined"&&!q)return(p=3Dp.getElementById(m[1]))=
?p.id=3D=3D=3Dm[1]||typeof =
p.getAttributeNode!=3D=3D"undefined"&&p.getAttributeNode("id").nodeValue=3D=
=3D=3Dm[1]?[p]:B:[]};o.filter.ID=3Dfunction(m,p){var q=3Dtypeof =
m.getAttributeNode!=3D=3D"undefined"&&m.getAttributeNode("id");return =
m.nodeType=3D=3D=3D1&&q&&q.nodeValue=3D=3D=3Dp}}n.removeChild(g);=0A=
n=3Dg=3Dnull})();(function(){var =
g=3Dt.createElement("div");g.appendChild(t.createComment(""));if(g.getEle=
mentsByTagName("*").length>0)o.find.TAG=3Dfunction(i,n){var =
m=3Dn.getElementsByTagName(i[1]);if(i[1]=3D=3D=3D"*"){for(var =
p=3D[],q=3D0;m[q];q++)m[q].nodeType=3D=3D=3D1&&p.push(m[q]);m=3Dp}return =
m};g.innerHTML=3D"<a href=3D'#'></a>";if(g.firstChild&&typeof =
g.firstChild.getAttribute!=3D=3D"undefined"&&g.firstChild.getAttribute("h=
ref")!=3D=3D"#")o.attrHandle.href=3Dfunction(i){return =
i.getAttribute("href",2)};g=3Dnull})();t.querySelectorAll&&=0A=
function(){var g=3Dk,i=3Dt.createElement("div");i.innerHTML=3D"<p =
class=3D'TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST")=
.length=3D=3D=3D0)){k=3Dfunction(m,p,q,u){p=3Dp||t;m=3Dm.replace(/\=3D\s*=
([^'"\]]*)\s*\]/g,"=3D'$1']");if(!u&&!k.isXML(p))if(p.nodeType=3D=3D=3D9)=
try{return C(p.querySelectorAll(m),q)}catch(y){}else =
if(p.nodeType=3D=3D=3D1&&p.nodeName.toLowerCase()!=3D=3D"object"){var =
F=3Dp.getAttribute("id"),M=3DF||"__sizzle__";F||p.setAttribute("id",M);tr=
y{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||=0A=
p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in =
g)k[n]=3Dg[n];i=3Dnull}}();(function(){var =
g=3Dt.documentElement,i=3Dg.matchesSelector||g.mozMatchesSelector||g.webk=
itMatchesSelector||g.msMatchesSelector,n=3Dfalse;try{i.call(t.documentEle=
ment,"[test!=3D'']:sizzle")}catch(m){n=3Dtrue}if(i)k.matchesSelector=3Dfu=
nction(p,q){q=3Dq.replace(/\=3D\s*([^'"\]]*)\s*\]/g,"=3D'$1']");if(!k.isX=
ML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=3D/.test(q))return =
i.call(p,q)}catch(u){}return =
k(q,null,null,[p]).length>0}})();(function(){var g=3D=0A=
t.createElement("div");g.innerHTML=3D"<div class=3D'test e'></div><div =
class=3D'test'></div>";if(!(!g.getElementsByClassName||g.getElementsByCla=
ssName("e").length=3D=3D=3D0)){g.lastChild.className=3D"e";if(g.getElemen=
tsByClassName("e").length!=3D=3D1){o.order.splice(1,0,"CLASS");o.find.CLA=
SS=3Dfunction(i,n,m){if(typeof =
n.getElementsByClassName!=3D=3D"undefined"&&!m)return =
n.getElementsByClassName(i[1])};g=3Dnull}}})();k.contains=3Dt.documentEle=
ment.contains?function(g,i){return =
g!=3D=3Di&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocu=
mentPosition?=0A=
function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){retur=
n =
false};k.isXML=3Dfunction(g){return(g=3D(g?g.ownerDocument||g:0).document=
Element)?g.nodeName!=3D=3D"HTML":false};var L=3Dfunction(g,i){for(var =
n,m=3D[],p=3D"",q=3Di.nodeType?[i]:i;n=3Do.match.PSEUDO.exec(g);){p+=3Dn[=
0];g=3Dg.replace(o.match.PSEUDO,"")}g=3Do.relative[g]?g+"*":g;n=3D0;for(v=
ar u=3Dq.length;n<u;n++)k(g,q[n],m);return =
k.filter(p,m)};c.find=3Dk;c.expr=3Dk.selectors;c.expr[":"]=3Dc.expr.filte=
rs;c.unique=3Dk.uniqueSort;c.text=3Dk.getText;c.isXMLDoc=3Dk.isXML;=0A=
c.contains=3Dk.contains})();var =
Za=3D/Until$/,$a=3D/^(?:parents|prevUntil|prevAll)/,ab=3D/,/,Na=3D/^.[^:#=
\[\.,]*$/,bb=3DArray.prototype.slice,cb=3Dc.expr.match.POS;c.fn.extend({f=
ind:function(a){for(var =
b=3Dthis.pushStack("","find",a),d=3D0,e=3D0,f=3Dthis.length;e<f;e++){d=3D=
b.length;c.find(a,this[e],b);if(e>0)for(var h=3Dd;h<b.length;h++)for(var =
l=3D0;l<d;l++)if(b[l]=3D=3D=3Db[h]){b.splice(h--,1);break}}return =
b},has:function(a){var b=3Dc(a);return this.filter(function(){for(var =
d=3D0,e=3Db.length;d<e;d++)if(c.contains(this,b[d]))return true})},=0A=
not:function(a){return =
this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return =
this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.f=
ilter(a,this).length>0},closest:function(a,b){var =
d=3D[],e,f,h=3Dthis[0];if(c.isArray(a)){var =
l,k=3D{},o=3D1;if(h&&a.length){e=3D0;for(f=3Da.length;e<f;e++){l=3Da[e];k=
[l]||(k[l]=3Dc.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.o=
wnerDocument&&h!=3D=3Db;){for(l in =
k){e=3Dk[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:=
h,level:o})}h=3D=0A=
h.parentNode;o++}}return =
d}l=3Dcb.test(a)?c(a,b||this.context):null;e=3D0;for(f=3Dthis.length;e<f;=
e++)for(h=3Dthis[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.=
push(h);break}else{h=3Dh.parentNode;if(!h||!h.ownerDocument||h=3D=3D=3Db)=
break}d=3Dd.length>1?c.unique(d):d;return =
this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof =
a=3D=3D=3D"string")return =
c.inArray(this[0],a?c(a):this.parent().children());return =
c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=3Dtypeof =
a=3D=3D=3D"string"?c(a,b||this.context):=0A=
c.makeArray(a),e=3Dc.merge(this.get(),d);return =
this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType=3D=3D=3D=
11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType=3D=3D=3D11?e:c.uniq=
ue(e))},andSelf:function(){return =
this.add(this.prevObject)}});c.each({parent:function(a){return(a=3Da.pare=
ntNode)&&a.nodeType!=3D=3D11?a:null},parents:function(a){return =
c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return =
c.dir(a,"parentNode",d)},next:function(a){return =
c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,=0A=
2,"previousSibling")},nextAll:function(a){return =
c.dir(a,"nextSibling")},prevAll:function(a){return =
c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return =
c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return =
c.dir(a,"previousSibling",d)},siblings:function(a){return =
c.sibling(a.parentNode.firstChild,a)},children:function(a){return =
c.sibling(a.firstChild)},contents:function(a){return =
c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.make=
Array(a.childNodes)}},function(a,=0A=
b){c.fn[a]=3Dfunction(d,e){var =
f=3Dc.map(this,b,d);Za.test(a)||(e=3Dd);if(e&&typeof =
e=3D=3D=3D"string")f=3Dc.filter(e,f);f=3Dthis.length>1?c.unique(f):f;if((=
this.length>1||ab.test(e))&&$a.test(a))f=3Df.reverse();return =
this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:func=
tion(a,b,d){if(d)a=3D":not("+a+")";return =
b.length=3D=3D=3D1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matche=
s(a,b)},dir:function(a,b,d){var =
e=3D[];for(a=3Da[b];a&&a.nodeType!=3D=3D9&&(d=3D=3D=3DB||a.nodeType!=3D=3D=
1||!c(a).is(d));){a.nodeType=3D=3D=3D1&&=0A=
e.push(a);a=3Da[b]}return e},nth:function(a,b,d){b=3Db||1;for(var =
e=3D0;a;a=3Da[d])if(a.nodeType=3D=3D=3D1&&++e=3D=3D=3Db)break;return =
a},sibling:function(a,b){for(var =
d=3D[];a;a=3Da.nextSibling)a.nodeType=3D=3D=3D1&&a!=3D=3Db&&d.push(a);ret=
urn d}});var za=3D/ =
jQuery\d+=3D"(?:\d+|null)"/g,$=3D/^\s+/,Aa=3D/<(?!area|br|col|embed|hr|im=
g|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=3D/<([\w:]+)/,db=3D/<tbo=
dy/i,eb=3D/<|&#?\w+;/,Ca=3D/<(?:script|object|embed|option|style)/i,Da=3D=
/checked\s*(?:[^=3D]|=3D\s*.checked.)/i,fb=3D/\=3D([^=3D"'>\s]+\/)>/g,P=3D=
{option:[1,=0A=
"<select =
multiple=3D'multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"=
],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>=
"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tb=
ody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],=
_default:[0,"",""]};P.optgroup=3DP.option;P.tbody=3DP.tfoot=3DP.colgroup=3D=
P.caption=3DP.thead;P.th=3DP.td;if(!c.support.htmlSerialize)P._default=3D=
[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))=
return this.each(function(b){var d=3D=0A=
c(this);d.text(a.call(this,b,d.text()))});if(typeof =
a!=3D=3D"object"&&a!=3D=3DB)return =
this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a)=
);return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return =
this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var =
b=3Dc(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.in=
sertBefore(this[0]);b.map(function(){for(var =
d=3Dthis;d.firstChild&&d.firstChild.nodeType=3D=3D=3D1;)d=3Dd.firstChild;=
return d}).append(this)}return this},=0A=
wrapInner:function(a){if(c.isFunction(a))return =
this.each(function(b){c(this).wrapInner(a.call(this,b))});return =
this.each(function(){var =
b=3Dc(this),d=3Db.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:fu=
nction(a){return =
this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return =
this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWit=
h(this.childNodes)}).end()},append:function(){return =
this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.ap=
pendChild(a)})},=0A=
prepend:function(){return =
this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.in=
sertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].pa=
rentNode)return =
this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,=
this)});else if(arguments.length){var =
a=3Dc(arguments[0]);a.push.apply(a,this.toArray());return =
this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[=
0].parentNode)return =
this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,=0A=
this.nextSibling)});else if(arguments.length){var =
a=3Dthis.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0])=
.toArray());return a}},remove:function(a,b){for(var =
d=3D0,e;(e=3Dthis[d])!=3Dnull;d++)if(!a||c.filter(a,[e]).length){if(!b&&e=
.nodeType=3D=3D=3D1){c.cleanData(e.getElementsByTagName("*"));c.cleanData=
([e])}e.parentNode&&e.parentNode.removeChild(e)}return =
this},empty:function(){for(var =
a=3D0,b;(b=3Dthis[a])!=3Dnull;a++)for(b.nodeType=3D=3D=3D1&&c.cleanData(b=
.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);=0A=
return this},clone:function(a){var =
b=3Dthis.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){va=
r =
d=3Dthis.outerHTML,e=3Dthis.ownerDocument;if(!d){d=3De.createElement("div=
");d.appendChild(this.cloneNode(true));d=3Dd.innerHTML}return =
c.clean([d.replace(za,"").replace(fb,'=3D"$1">').replace($,"")],e)[0]}els=
e return =
this.cloneNode(true)});if(a=3D=3D=3Dtrue){na(this,b);na(this.find("*"),b.=
find("*"))}return b},html:function(a){if(a=3D=3D=3DB)return =
this[0]&&this[0].nodeType=3D=3D=3D1?this[0].innerHTML.replace(za,""):null=
;=0A=
else if(typeof =
a=3D=3D=3D"string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a)=
)&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=3Da.replace(Aa,"<$1></$2=
>");try{for(var =
b=3D0,d=3Dthis.length;b<d;b++)if(this[b].nodeType=3D=3D=3D1){c.cleanData(=
this[b].getElementsByTagName("*"));this[b].innerHTML=3Da}}catch(e){this.e=
mpty().append(a)}}else c.isFunction(a)?this.each(function(f){var =
h=3Dc(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);retu=
rn =
this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunc=
tion(a))return this.each(function(b){var d=3D=0A=
c(this),e=3Dd.html();d.replaceWith(a.call(this,b,e))});if(typeof =
a!=3D=3D"string")a=3Dc(a).detach();return this.each(function(){var =
b=3Dthis.nextSibling,d=3Dthis.parentNode;c(this).remove();b?c(b).before(a=
):c(d).append(a)})}else return =
this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function=
(a){return this.remove(a,true)},domManip:function(a,b,d){var =
e,f,h,l=3Da[0],k=3D[];if(!c.support.checkClone&&arguments.length=3D=3D=3D=
3&&typeof l=3D=3D=3D"string"&&Da.test(l))return =
this.each(function(){c(this).domManip(a,=0A=
b,d,true)});if(c.isFunction(l))return this.each(function(x){var =
r=3Dc(this);a[0]=3Dl.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(thi=
s[0]){e=3Dl&&l.parentNode;e=3Dc.support.parentNode&&e&&e.nodeType=3D=3D=3D=
11&&e.childNodes.length=3D=3D=3Dthis.length?{fragment:e}:c.buildFragment(=
a,this,k);h=3De.fragment;if(f=3Dh.childNodes.length=3D=3D=3D1?h=3Dh.first=
Child:h.firstChild){b=3Db&&c.nodeName(f,"tr");f=3D0;for(var =
o=3Dthis.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getE=
lementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.c=
reateElement("tbody")):=0A=
this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.le=
ngth&&c.each(k,Oa)}return this}});c.buildFragment=3Dfunction(a,b,d){var =
e,f,h;b=3Db&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length=3D=3D=3D1&&typeo=
f =
a[0]=3D=3D=3D"string"&&a[0].length<512&&b=3D=3D=3Dt&&!Ca.test(a[0])&&(c.s=
upport.checkClone||!Da.test(a[0]))){f=3Dtrue;if(h=3Dc.fragments[a[0]])if(=
h!=3D=3D1)e=3Dh}if(!e){e=3Db.createDocumentFragment();c.clean(a,b,e,d)}if=
(f)c.fragments[a[0]]=3Dh?e:1;return{fragment:e,cacheable:f}};c.fragments=3D=
{};c.each({appendTo:"append",=0A=
prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:=
"replaceWith"},function(a,b){c.fn[a]=3Dfunction(d){var =
e=3D[];d=3Dc(d);var =
f=3Dthis.length=3D=3D=3D1&&this[0].parentNode;if(f&&f.nodeType=3D=3D=3D11=
&&f.childNodes.length=3D=3D=3D1&&d.length=3D=3D=3D1){d[b](this[0]);return=
 this}else{f=3D0;for(var h=3Dd.length;f<h;f++){var =
l=3D(f>0?this.clone(true):this).get();c(d[f])[b](l);e=3De.concat(l)}retur=
n =
this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=3D=
b||t;if(typeof b.createElement=3D=3D=3D"undefined")b=3Db.ownerDocument||=0A=
b[0]&&b[0].ownerDocument||t;for(var =
f=3D[],h=3D0,l;(l=3Da[h])!=3Dnull;h++){if(typeof =
l=3D=3D=3D"number")l+=3D"";if(l){if(typeof =
l=3D=3D=3D"string"&&!eb.test(l))l=3Db.createTextNode(l);else if(typeof =
l=3D=3D=3D"string"){l=3Dl.replace(Aa,"<$1></$2>");var =
k=3D(Ba.exec(l)||["",""])[1].toLowerCase(),o=3DP[k]||P._default,x=3Do[0],=
r=3Db.createElement("div");for(r.innerHTML=3Do[1]+l+o[2];x--;)r=3Dr.lastC=
hild;if(!c.support.tbody){x=3Ddb.test(l);k=3Dk=3D=3D=3D"table"&&!x?r.firs=
tChild&&r.firstChild.childNodes:o[1]=3D=3D=3D"<table>"&&!x?r.childNodes:[=
];for(o=3Dk.length-=0A=
1;o>=3D0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].pare=
ntNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.inser=
tBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=3Dr.childNodes}if(=
l.nodeType)f.push(l);else =
f=3Dc.merge(f,l)}}if(d)for(h=3D0;f[h];h++)if(e&&c.nodeName(f[h],"script")=
&&(!f[h].type||f[h].type.toLowerCase()=3D=3D=3D"text/javascript"))e.push(=
f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeTyp=
e=3D=3D=3D1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElements=
ByTagName("script"))));=0A=
d.appendChild(f[h])}return f},cleanData:function(a){for(var =
b,d,e=3Dc.cache,f=3Dc.event.special,h=3Dc.support.deleteExpando,l=3D0,k;(=
k=3Da[l])!=3Dnull;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]=
))if(d=3Dk[c.expando]){if((b=3De[d])&&b.events)for(var o in =
b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete=
 k[c.expando];else =
k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var =
Ea=3D/alpha\([^)]*\)/i,gb=3D/opacity=3D([^)]*)/,hb=3D/-([a-z])/ig,ib=3D/(=
[A-Z])/g,Fa=3D/^-?\d+(?:px)?$/i,=0A=
jb=3D/^-?\d/,kb=3D{position:"absolute",visibility:"hidden",display:"block=
"},Pa=3D["Left","Right"],Qa=3D["Top","Bottom"],W,Ga,aa,lb=3Dfunction(a,b)=
{return =
b.toUpperCase()};c.fn.css=3Dfunction(a,b){if(arguments.length=3D=3D=3D2&&=
b=3D=3D=3DB)return this;return =
c.access(this,a,b,true,function(d,e,f){return =
f!=3D=3DB?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:f=
unction(a,b){if(b){var d=3DW(a,"opacity","opacity");return =
d=3D=3D=3D""?"1":d}else return =
a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,=0A=
zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat=
":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType=3D=3D=3D3||a.=
nodeType=3D=3D=3D8||!a.style)){var =
f,h=3Dc.camelCase(b),l=3Da.style,k=3Dc.cssHooks[h];b=3Dc.cssProps[h]||h;i=
f(d!=3D=3DB){if(!(typeof =
d=3D=3D=3D"number"&&isNaN(d)||d=3D=3Dnull)){if(typeof =
d=3D=3D=3D"number"&&!c.cssNumber[h])d+=3D"px";if(!k||!("set"in =
k)||(d=3Dk.set(a,d))!=3D=3DB)try{l[b]=3Dd}catch(o){}}}else{if(k&&"get"in =
k&&(f=3Dk.get(a,false,e))!=3D=3DB)return f;return =
l[b]}}},css:function(a,b,d){var e,f=3Dc.camelCase(b),=0A=
h=3Dc.cssHooks[f];b=3Dc.cssProps[f]||f;if(h&&"get"in =
h&&(e=3Dh.get(a,true,d))!=3D=3DB)return e;else if(W)return =
W(a,b,f)},swap:function(a,b,d){var e=3D{},f;for(f in =
b){e[f]=3Da.style[f];a.style[f]=3Db[f]}d.call(a);for(f in =
b)a.style[f]=3De[f]},camelCase:function(a){return =
a.replace(hb,lb)}});c.curCSS=3Dc.css;c.each(["height","width"],function(a=
,b){c.cssHooks[b]=3D{get:function(d,e,f){var =
h;if(e){if(d.offsetWidth!=3D=3D0)h=3Doa(d,b,f);else =
c.swap(d,kb,function(){h=3Doa(d,b,f)});if(h<=3D0){h=3DW(d,b,b);if(h=3D=3D=
=3D"0px"&&aa)h=3Daa(d,b,b);=0A=
if(h!=3Dnull)return =
h=3D=3D=3D""||h=3D=3D=3D"auto"?"0px":h}if(h<0||h=3D=3Dnull){h=3Dd.style[b=
];return h=3D=3D=3D""||h=3D=3D=3D"auto"?"0px":h}return typeof =
h=3D=3D=3D"string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=3DparseF=
loat(e);if(e>=3D0)return e+"px"}else return =
e}}});if(!c.support.opacity)c.cssHooks.opacity=3D{get:function(a,b){retur=
n =
gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?par=
seFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var =
d=3Da.style;d.zoom=3D1;var =
e=3Dc.isNaN(b)?"":"alpha(opacity=3D"+b*100+")",f=3D=0A=
d.filter||"";d.filter=3DEa.test(f)?f.replace(Ea,e):d.filter+" =
"+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=3Dfunction(a,b,=
d){var =
e;d=3Dd.replace(ib,"-$1").toLowerCase();if(!(b=3Da.ownerDocument.defaultV=
iew))return =
B;if(b=3Db.getComputedStyle(a,null)){e=3Db.getPropertyValue(d);if(e=3D=3D=
=3D""&&!c.contains(a.ownerDocument.documentElement,a))e=3Dc.style(a,d)}re=
turn e};if(t.documentElement.currentStyle)aa=3Dfunction(a,b){var =
d,e,f=3Da.currentStyle&&a.currentStyle[b],h=3Da.style;if(!Fa.test(f)&&jb.=
test(f)){d=3Dh.left;=0A=
e=3Da.runtimeStyle.left;a.runtimeStyle.left=3Da.currentStyle.left;h.left=3D=
b=3D=3D=3D"fontSize"?"1em":f||0;f=3Dh.pixelLeft+"px";h.left=3Dd;a.runtime=
Style.left=3De}return =
f=3D=3D=3D""?"auto":f};W=3DGa||aa;if(c.expr&&c.expr.filters){c.expr.filte=
rs.hidden=3Dfunction(a){var b=3Da.offsetHeight;return =
a.offsetWidth=3D=3D=3D0&&b=3D=3D=3D0||!c.support.reliableHiddenOffsets&&(=
a.style.display||c.css(a,"display"))=3D=3D=3D"none"};c.expr.filters.visib=
le=3Dfunction(a){return!c.expr.filters.hidden(a)}}var =
mb=3Dc.now(),nb=3D/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,=0A=
ob=3D/^(?:select|textarea)/i,pb=3D/^(?:color|date|datetime|email|hidden|m=
onth|number|password|range|search|tel|text|time|url|week)$/i,qb=3D/^(?:GE=
T|HEAD)$/,Ra=3D/\[\]$/,T=3D/\=3D\?(&|$)/,ja=3D/\?/,rb=3D/([?&])_=3D[^&]*/=
,sb=3D/^(\w+:)?\/\/([^\/?#]+)/,tb=3D/%20/g,ub=3D/#.*$/,Ha=3Dc.fn.load;c.f=
n.extend({load:function(a,b,d){if(typeof a!=3D=3D"string"&&Ha)return =
Ha.apply(this,arguments);else if(!this.length)return this;var =
e=3Da.indexOf(" ");if(e>=3D0){var =
f=3Da.slice(e,a.length);a=3Da.slice(0,e)}e=3D"GET";if(b)if(c.isFunction(b=
)){d=3Db;b=3Dnull}else if(typeof b=3D=3D=3D=0A=
"object"){b=3Dc.param(b,c.ajaxSettings.traditional);e=3D"POST"}var =
h=3Dthis;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,=
k){if(k=3D=3D=3D"success"||k=3D=3D=3D"notmodified")h.html(f?c("<div>").ap=
pend(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[=
l.responseText,k,l])}});return this},serialize:function(){return =
c.param(this.serializeArray())},serializeArray:function(){return =
this.map(function(){return =
this.elements?c.makeArray(this.elements):this}).filter(function(){return =
this.name&&=0A=
!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type)=
)}).map(function(a,b){var d=3Dc(this).val();return =
d=3D=3Dnull?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,valu=
e:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop =
ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" =
"),function(a,b){c.fn[b]=3Dfunction(d){return =
this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=3D=
e||d;d=3Db;b=3Dnull}return =
c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},=0A=
getScript:function(a,b){return =
c.get(a,null,b,"script")},getJSON:function(a,b,d){return =
c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=3De||d;=
d=3Db;b=3D{}}return =
c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:functi=
on(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:=
true,type:"GET",contentType:"application/x-www-form-urlencoded",processDa=
ta:true,async:true,xhr:function(){return new =
E.XMLHttpRequest},accepts:{xml:"application/xml, =
text/xml",html:"text/html",=0A=
script:"text/javascript, application/javascript",json:"application/json, =
text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var =
b=3Dc.extend(true,{},c.ajaxSettings,a),d,e,f,h=3Db.type.toUpperCase(),l=3D=
qb.test(h);b.url=3Db.url.replace(ub,"");b.context=3Da&&a.context!=3Dnull?=
a.context:b;if(b.data&&b.processData&&typeof =
b.data!=3D=3D"string")b.data=3Dc.param(b.data,b.traditional);if(b.dataTyp=
e=3D=3D=3D"jsonp"){if(h=3D=3D=3D"GET")T.test(b.url)||(b.url+=3D(ja.test(b=
.url)?"&":"?")+(b.jsonp||"callback")+"=3D?");else if(!b.data||=0A=
!T.test(b.data))b.data=3D(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=3D=
?";b.dataType=3D"json"}if(b.dataType=3D=3D=3D"json"&&(b.data&&T.test(b.da=
ta)||T.test(b.url))){d=3Db.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=3D=
(b.data+"").replace(T,"=3D"+d+"$1");b.url=3Db.url.replace(T,"=3D"+d+"$1")=
;b.dataType=3D"script";var =
k=3DE[d];E[d]=3Dfunction(m){if(c.isFunction(k))k(m);else{E[d]=3DB;try{del=
ete =
E[d]}catch(p){}}f=3Dm;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);=
r&&r.removeChild(A)}}if(b.dataType=3D=3D=3D"script"&&b.cache=3D=3D=3Dnull=
)b.cache=3D=0A=
false;if(b.cache=3D=3D=3Dfalse&&l){var =
o=3Dc.now(),x=3Db.url.replace(rb,"$1_=3D"+o);b.url=3Dx+(x=3D=3D=3Db.url?(=
ja.test(b.url)?"&":"?")+"_=3D"+o:"")}if(b.data&&l)b.url+=3D(ja.test(b.url=
)?"&":"?")+b.data;b.global&&c.active++=3D=3D=3D0&&c.event.trigger("ajaxSt=
art");o=3D(o=3Dsb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!=3D=3Dlocation.=
protocol||o[2].toLowerCase()!=3D=3Dlocation.host);if(b.dataType=3D=3D=3D"=
script"&&h=3D=3D=3D"GET"&&o){var =
r=3Dt.getElementsByTagName("head")[0]||t.documentElement,A=3Dt.createElem=
ent("script");if(b.scriptCharset)A.charset=3Db.scriptCharset;=0A=
A.src=3Db.url;if(!d){var =
C=3Dfalse;A.onload=3DA.onreadystatechange=3Dfunction(){if(!C&&(!this.read=
yState||this.readyState=3D=3D=3D"loaded"||this.readyState=3D=3D=3D"comple=
te")){C=3Dtrue;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onloa=
d=3DA.onreadystatechange=3Dnull;r&&A.parentNode&&r.removeChild(A)}}}r.ins=
ertBefore(A,r.firstChild);return B}var =
J=3Dfalse,w=3Db.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,=
b.password):w.open(h,b.url,b.async);try{if(b.data!=3Dnull&&!l||a&&a.conte=
ntType)w.setRequestHeader("Content-Type",=0A=
b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader=
("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHe=
ader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-Wi=
th","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b=
.dataType]?b.accepts[b.dataType]+", */*; =
q=3D0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.cal=
l(b.context,w,b)=3D=3D=3Dfalse){b.global&&c.active--=3D=3D=3D1&&c.event.t=
rigger("ajaxStop");w.abort();return false}b.global&&=0A=
c.triggerGlobal(b,"ajaxSend",[w,b]);var =
L=3Dw.onreadystatechange=3Dfunction(m){if(!w||w.readyState=3D=3D=3D0||m=3D=
=3D=3D"abort"){J||c.handleComplete(b,w,e,f);J=3Dtrue;if(w)w.onreadystatec=
hange=3Dc.noop}else =
if(!J&&w&&(w.readyState=3D=3D=3D4||m=3D=3D=3D"timeout")){J=3Dtrue;w.onrea=
dystatechange=3Dc.noop;e=3Dm=3D=3D=3D"timeout"?"timeout":!c.httpSuccess(w=
)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success=
";var =
p;if(e=3D=3D=3D"success")try{f=3Dc.httpData(w,b.dataType,b)}catch(q){e=3D=
"parsererror";p=3Dq}if(e=3D=3D=3D"success"||e=3D=3D=3D"notmodified")d||=0A=
c.handleSuccess(b,w,e,f);else =
c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m=3D=3D=3D"timeout"&&=
w.abort();if(b.async)w=3Dnull}};try{var =
g=3Dw.abort;w.abort=3Dfunction(){w&&Function.prototype.call.call(g,w);L("=
abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("=
timeout")},b.timeout);try{w.send(l||b.data=3D=3Dnull?null:b.data)}catch(n=
){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return=
 w}},param:function(a,b){var =
d=3D[],e=3Dfunction(h,l){l=3Dc.isFunction(l)?l():l;d[d.length]=3D=0A=
encodeURIComponent(h)+"=3D"+encodeURIComponent(l)};if(b=3D=3D=3DB)b=3Dc.a=
jaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(t=
his.name,this.value)});else for(var f in a)da(f,a[f],b,e);return =
d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{}=
,handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.g=
lobal&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b=
,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGloba=
l(a,"ajaxSuccess",=0A=
[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.cont=
ext,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.ac=
tive--=3D=3D=3D1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b=
,d){(a.context&&a.context.url=3D=3Dnull?c(a.context):c.event).trigger(b,d=
)},httpSuccess:function(a){try{return!a.status&&location.protocol=3D=3D=3D=
"file:"||a.status>=3D200&&a.status<300||a.status=3D=3D=3D304||a.status=3D=
=3D=3D1223}catch(b){}return false},httpNotModified:function(a,b){var =
d=3Da.getResponseHeader("Last-Modified"),=0A=
e=3Da.getResponseHeader("Etag");if(d)c.lastModified[b]=3Dd;if(e)c.etag[b]=
=3De;return a.status=3D=3D=3D304},httpData:function(a,b,d){var =
e=3Da.getResponseHeader("content-type")||"",f=3Db=3D=3D=3D"xml"||!b&&e.in=
dexOf("xml")>=3D0;a=3Df?a.responseXML:a.responseText;f&&a.documentElement=
.nodeName=3D=3D=3D"parsererror"&&c.error("parsererror");if(d&&d.dataFilte=
r)a=3Dd.dataFilter(a,b);if(typeof =
a=3D=3D=3D"string")if(b=3D=3D=3D"json"||!b&&e.indexOf("json")>=3D0)a=3Dc.=
parseJSON(a);else =
if(b=3D=3D=3D"script"||!b&&e.indexOf("javascript")>=3D0)c.globalEval(a);r=
eturn a}});=0A=
if(E.ActiveXObject)c.ajaxSettings.xhr=3Dfunction(){if(E.location.protocol=
!=3D=3D"file:")try{return new E.XMLHttpRequest}catch(a){}try{return new =
E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=3D!!c.aja=
xSettings.xhr();var =
ea=3D{},vb=3D/^(?:toggle|show|hide)$/,wb=3D/^([+\-]=3D)?([\d+.\-]+)(.*)$/=
,ba,pa=3D[["height","marginTop","marginBottom","paddingTop","paddingBotto=
m"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["o=
pacity"]];c.fn.extend({show:function(a,b,d){if(a||a=3D=3D=3D0)return =
this.animate(S("show",=0A=
3),a,b,d);else{d=3D0;for(var =
e=3Dthis.length;d<e;d++){a=3Dthis[d];b=3Da.style.display;if(!c.data(a,"ol=
ddisplay")&&b=3D=3D=3D"none")b=3Da.style.display=3D"";b=3D=3D=3D""&&c.css=
(a,"display")=3D=3D=3D"none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=
=3D0;d<e;d++){a=3Dthis[d];b=3Da.style.display;if(b=3D=3D=3D""||b=3D=3D=3D=
"none")a.style.display=3Dc.data(a,"olddisplay")||""}return =
this}},hide:function(a,b,d){if(a||a=3D=3D=3D0)return =
this.animate(S("hide",3),a,b,d);else{a=3D0;for(b=3Dthis.length;a<b;a++){d=
=3Dc.css(this[a],"display");d!=3D=3D"none"&&c.data(this[a],"olddisplay",=0A=
d)}for(a=3D0;a<b;a++)this[a].style.display=3D"none";return =
this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=3Dtypeof =
a=3D=3D=3D"boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.appl=
y(this,arguments);else a=3D=3Dnull||e?this.each(function(){var =
f=3De?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S=
("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return =
this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},=
a,d,e)},animate:function(a,b,d,e){var f=3Dc.speed(b,=0A=
d,e);if(c.isEmptyObject(a))return this.each(f.complete);return =
this[f.queue=3D=3D=3Dfalse?"each":"queue"](function(){var =
h=3Dc.extend({},f),l,k=3Dthis.nodeType=3D=3D=3D1,o=3Dk&&c(this).is(":hidd=
en"),x=3Dthis;for(l in a){var =
r=3Dc.camelCase(l);if(l!=3D=3Dr){a[r]=3Da[l];delete =
a[l];l=3Dr}if(a[l]=3D=3D=3D"hide"&&o||a[l]=3D=3D=3D"show"&&!o)return =
h.complete.call(this);if(k&&(l=3D=3D=3D"height"||l=3D=3D=3D"width")){h.ov=
erflow=3D[this.style.overflow,this.style.overflowX,this.style.overflowY];=
if(c.css(this,"display")=3D=3D=3D"inline"&&c.css(this,"float")=3D=3D=3D"n=
one")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)=3D=3D=3D=0A=
"inline")this.style.display=3D"inline-block";else{this.style.display=3D"i=
nline";this.style.zoom=3D1}else =
this.style.display=3D"inline-block"}if(c.isArray(a[l])){(h.specialEasing=3D=
h.specialEasing||{})[l]=3Da[l][1];a[l]=3Da[l][0]}}if(h.overflow!=3Dnull)t=
his.style.overflow=3D"hidden";h.curAnim=3Dc.extend({},a);c.each(a,functio=
n(A,C){var J=3Dnew =
c.fx(x,h,A);if(vb.test(C))J[C=3D=3D=3D"toggle"?o?"show":"hide":C](a);else=
{var w=3Dwb.exec(C),I=3DJ.cur()||0;if(w){var =
L=3DparseFloat(w[2]),g=3Dw[3]||"px";if(g!=3D=3D"px"){c.style(x,A,(L||1)+g=
);I=3D(L||=0A=
1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=3D(w[1]=3D=3D=3D"-=3D"?-1:1)*L+I;=
J.custom(I,L,g)}else J.custom(I,C,"")}});return =
true})},stop:function(a,b){var =
d=3Dc.timers;a&&this.queue([]);this.each(function(){for(var =
e=3Dd.length-1;e>=3D0;e--)if(d[e].elem=3D=3D=3Dthis){b&&d[e](true);d.spli=
ce(e,1)}});b||this.dequeue();return =
this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("=
toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{o=
pacity:"toggle"}},function(a,b){c.fn[a]=3Dfunction(d,e,f){return =
this.animate(b,=0A=
d,e,f)}});c.extend({speed:function(a,b,d){var e=3Da&&typeof =
a=3D=3D=3D"object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,=
duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=3Dc.fx.off?0:t=
ypeof e.duration=3D=3D=3D"number"?e.duration:e.duration in =
c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=3De.comple=
te;e.complete=3Dfunction(){e.queue!=3D=3Dfalse&&c(this).dequeue();c.isFun=
ction(e.old)&&e.old.call(this)};return =
e},easing:{linear:function(a,b,d,e){return =
d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*=0A=
Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=3Db;this.=
elem=3Da;this.prop=3Dd;if(!b.orig)b.orig=3D{}}});c.fx.prototype=3D{update=
:function(){this.options.step&&this.options.step.call(this.elem,this.now,=
this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if=
(this.elem[this.prop]!=3Dnull&&(!this.elem.style||this.elem.style[this.pr=
op]=3D=3Dnull))return this.elem[this.prop];var =
a=3DparseFloat(c.css(this.elem,this.prop));return =
a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}=0A=
var =
f=3Dthis,h=3Dc.fx;this.startTime=3Dc.now();this.start=3Da;this.end=3Db;th=
is.unit=3Dd||this.unit||"px";this.now=3Dthis.start;this.pos=3Dthis.state=3D=
0;e.elem=3Dthis.elem;if(e()&&c.timers.push(e)&&!ba)ba=3DsetInterval(h.tic=
k,h.interval)},show:function(){this.options.orig[this.prop]=3Dc.style(thi=
s.elem,this.prop);this.options.show=3Dtrue;this.custom(this.prop=3D=3D=3D=
"width"||this.prop=3D=3D=3D"height"?1:0,this.cur());c(this.elem).show()},=
hide:function(){this.options.orig[this.prop]=3Dc.style(this.elem,this.pro=
p);this.options.hide=3Dtrue;=0A=
this.custom(this.cur(),0)},step:function(a){var =
b=3Dc.now(),d=3Dtrue;if(a||b>=3Dthis.options.duration+this.startTime){thi=
s.now=3Dthis.end;this.pos=3Dthis.state=3D1;this.update();this.options.cur=
Anim[this.prop]=3Dtrue;for(var e in =
this.options.curAnim)if(this.options.curAnim[e]!=3D=3Dtrue)d=3Dfalse;if(d=
){if(this.options.overflow!=3Dnull&&!c.support.shrinkWrapBlocks){var =
f=3Dthis.elem,h=3Dthis.options;c.each(["","X","Y"],function(k,o){f.style[=
"overflow"+o]=3Dh.overflow[k]})}this.options.hide&&c(this.elem).hide();if=
(this.options.hide||=0A=
this.options.show)for(var l in =
this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.optio=
ns.complete.call(this.elem)}return =
false}else{a=3Db-this.startTime;this.state=3Da/this.options.duration;b=3D=
this.options.easing||(c.easing.swing?"swing":"linear");this.pos=3Dc.easin=
g[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](t=
his.state,a,0,1,this.options.duration);this.now=3Dthis.start+(this.end-th=
is.start)*this.pos;this.update()}return =
true}};c.extend(c.fx,{tick:function(){for(var a=3D=0A=
c.timers,b=3D0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop=
()},interval:13,stop:function(){clearInterval(ba);ba=3Dnull},speeds:{slow=
:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opa=
city",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=
=3Dnull)a.elem.style[a.prop]=3D(a.prop=3D=3D=3D"width"||a.prop=3D=3D=3D"h=
eight"?Math.max(0,a.now):a.now)+a.unit;else =
a.elem[a.prop]=3Da.now}}});if(c.expr&&c.expr.filters)c.expr.filters.anima=
ted=3Dfunction(a){return c.grep(c.timers,function(b){return a=3D=3D=3D=0A=
b.elem}).length};var =
xb=3D/^t(?:able|d|h)$/i,Ia=3D/^(?:body|html)$/i;c.fn.offset=3D"getBoundin=
gClientRect"in t.documentElement?function(a){var =
b=3Dthis[0],d;if(a)return =
this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocum=
ent)return null;if(b=3D=3D=3Db.ownerDocument.body)return =
c.offset.bodyOffset(b);try{d=3Db.getBoundingClientRect()}catch(e){}var =
f=3Db.ownerDocument,h=3Df.documentElement;if(!d||!c.contains(h,b))return =
d||{top:0,left:0};b=3Df.body;f=3Dfa(f);return{top:d.top+(f.pageYOffset||c=
.support.boxModel&&=0A=
h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pa=
geXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft|=
|b.clientLeft||0)}}:function(a){var b=3Dthis[0];if(a)return =
this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocum=
ent)return null;if(b=3D=3D=3Db.ownerDocument.body)return =
c.offset.bodyOffset(b);c.offset.initialize();var =
d,e=3Db.offsetParent,f=3Db.ownerDocument,h=3Df.documentElement,l=3Df.body=
;d=3D(f=3Df.defaultView)?f.getComputedStyle(b,null):b.currentStyle;=0A=
for(var =
k=3Db.offsetTop,o=3Db.offsetLeft;(b=3Db.parentNode)&&b!=3D=3Dl&&b!=3D=3Dh=
;){if(c.offset.supportsFixedPosition&&d.position=3D=3D=3D"fixed")break;d=3D=
f?f.getComputedStyle(b,null):b.currentStyle;k-=3Db.scrollTop;o-=3Db.scrol=
lLeft;if(b=3D=3D=3De){k+=3Db.offsetTop;o+=3Db.offsetLeft;if(c.offset.does=
NotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeNam=
e))){k+=3DparseFloat(d.borderTopWidth)||0;o+=3DparseFloat(d.borderLeftWid=
th)||0}e=3Db.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisibl=
e&&d.overflow!=3D=3D"visible"){k+=3D=0A=
parseFloat(d.borderTopWidth)||0;o+=3DparseFloat(d.borderLeftWidth)||0}d=3D=
d}if(d.position=3D=3D=3D"relative"||d.position=3D=3D=3D"static"){k+=3Dl.o=
ffsetTop;o+=3Dl.offsetLeft}if(c.offset.supportsFixedPosition&&d.position=3D=
=3D=3D"fixed"){k+=3DMath.max(h.scrollTop,l.scrollTop);o+=3DMath.max(h.scr=
ollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset=3D{initialize:functi=
on(){var =
a=3Dt.body,b=3Dt.createElement("div"),d,e,f,h=3DparseFloat(c.css(a,"margi=
nTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,bo=
rder:0,width:"1px",=0A=
height:"1px",visibility:"hidden"});b.innerHTML=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>";a.insertBefore(b,a.firstChi=
ld);d=3Db.firstChild;e=3Dd.firstChild;f=3Dd.nextSibling.firstChild.firstC=
hild;this.doesNotAddBorder=3De.offsetTop!=3D=3D5;this.doesAddBorderForTab=
leAndCells=3D=0A=
f.offsetTop=3D=3D=3D5;e.style.position=3D"fixed";e.style.top=3D"20px";thi=
s.supportsFixedPosition=3De.offsetTop=3D=3D=3D20||e.offsetTop=3D=3D=3D15;=
e.style.position=3De.style.top=3D"";d.style.overflow=3D"hidden";d.style.p=
osition=3D"relative";this.subtractsBorderForOverflowNotVisible=3De.offset=
Top=3D=3D=3D-5;this.doesNotIncludeMarginInBodyOffset=3Da.offsetTop!=3D=3D=
h;a.removeChild(b);c.offset.initialize=3Dc.noop},bodyOffset:function(a){v=
ar =
b=3Da.offsetTop,d=3Da.offsetLeft;c.offset.initialize();if(c.offset.doesNo=
tIncludeMarginInBodyOffset){b+=3DparseFloat(c.css(a,=0A=
"marginTop"))||0;d+=3DparseFloat(c.css(a,"marginLeft"))||0}return{top:b,l=
eft:d}},setOffset:function(a,b,d){var =
e=3Dc.css(a,"position");if(e=3D=3D=3D"static")a.style.position=3D"relativ=
e";var =
f=3Dc(a),h=3Df.offset(),l=3Dc.css(a,"top"),k=3Dc.css(a,"left"),o=3De=3D=3D=
=3D"absolute"&&c.inArray("auto",[l,k])>-1;e=3D{};var =
x=3D{};if(o)x=3Df.position();l=3Do?x.top:parseInt(l,10)||0;k=3Do?x.left:p=
arseInt(k,10)||0;if(c.isFunction(b))b=3Db.call(a,d,h);if(b.top!=3Dnull)e.=
top=3Db.top-h.top+l;if(b.left!=3Dnull)e.left=3Db.left-h.left+k;"using"in =
b?b.using.call(a,=0A=
e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return =
null;var =
a=3Dthis[0],b=3Dthis.offsetParent(),d=3Dthis.offset(),e=3DIa.test(b[0].no=
deName)?{top:0,left:0}:b.offset();d.top-=3DparseFloat(c.css(a,"marginTop"=
))||0;d.left-=3DparseFloat(c.css(a,"marginLeft"))||0;e.top+=3DparseFloat(=
c.css(b[0],"borderTopWidth"))||0;e.left+=3DparseFloat(c.css(b[0],"borderL=
eftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:f=
unction(){return this.map(function(){for(var =
a=3Dthis.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&=0A=
c.css(a,"position")=3D=3D=3D"static";)a=3Da.offsetParent;return =
a})}});c.each(["Left","Top"],function(a,b){var =
d=3D"scroll"+b;c.fn[d]=3Dfunction(e){var f=3Dthis[0],h;if(!f)return =
null;if(e!=3D=3DB)return =
this.each(function(){if(h=3Dfa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?=
e:c(h).scrollTop());else this[d]=3De});else =
return(h=3Dfa(f))?"pageXOffset"in =
h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documen=
tElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],functio=
n(a,b){var d=3Db.toLowerCase();=0A=
c.fn["inner"+b]=3Dfunction(){return =
this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=3Dfu=
nction(e){return =
this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=3D=
function(e){var f=3Dthis[0];if(!f)return =
e=3D=3Dnull?null:this;if(c.isFunction(e))return =
this.each(function(l){var =
k=3Dc(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return =
f.document.compatMode=3D=3D=3D"CSS1Compat"&&f.document.documentElement["c=
lient"+b]||f.document.body["client"+b];else =
if(f.nodeType=3D=3D=3D9)return Math.max(f.documentElement["client"+=0A=
b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.=
documentElement["offset"+b]);else if(e=3D=3D=3DB){f=3Dc.css(f,d);var =
h=3DparseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof =
e=3D=3D=3D"string"?e:e+"px")}})})(window);=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.js

/*!=0A=
 * jQuery UI 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
// prevent duplicate loading=0A=
// this is only a problem because we proxy existing functions=0A=
// and we don't want to double proxy them=0A=
$.ui =3D $.ui || {};=0A=
if ( $.ui.version ) {=0A=
	return;=0A=
}=0A=
=0A=
$.extend( $.ui, {=0A=
	version: "1.8.10",=0A=
=0A=
	keyCode: {=0A=
		ALT: 18,=0A=
		BACKSPACE: 8,=0A=
		CAPS_LOCK: 20,=0A=
		COMMA: 188,=0A=
		COMMAND: 91,=0A=
		COMMAND_LEFT: 91, // COMMAND=0A=
		COMMAND_RIGHT: 93,=0A=
		CONTROL: 17,=0A=
		DELETE: 46,=0A=
		DOWN: 40,=0A=
		END: 35,=0A=
		ENTER: 13,=0A=
		ESCAPE: 27,=0A=
		HOME: 36,=0A=
		INSERT: 45,=0A=
		LEFT: 37,=0A=
		MENU: 93, // COMMAND_RIGHT=0A=
		NUMPAD_ADD: 107,=0A=
		NUMPAD_DECIMAL: 110,=0A=
		NUMPAD_DIVIDE: 111,=0A=
		NUMPAD_ENTER: 108,=0A=
		NUMPAD_MULTIPLY: 106,=0A=
		NUMPAD_SUBTRACT: 109,=0A=
		PAGE_DOWN: 34,=0A=
		PAGE_UP: 33,=0A=
		PERIOD: 190,=0A=
		RIGHT: 39,=0A=
		SHIFT: 16,=0A=
		SPACE: 32,=0A=
		TAB: 9,=0A=
		UP: 38,=0A=
		WINDOWS: 91 // COMMAND=0A=
	}=0A=
});=0A=
=0A=
// plugins=0A=
$.fn.extend({=0A=
	_focus: $.fn.focus,=0A=
	focus: function( delay, fn ) {=0A=
		return typeof delay =3D=3D=3D "number" ?=0A=
			this.each(function() {=0A=
				var elem =3D this;=0A=
				setTimeout(function() {=0A=
					$( elem ).focus();=0A=
					if ( fn ) {=0A=
						fn.call( elem );=0A=
					}=0A=
				}, delay );=0A=
			}) :=0A=
			this._focus.apply( this, arguments );=0A=
	},=0A=
=0A=
	scrollParent: function() {=0A=
		var scrollParent;=0A=
		if (($.browser.msie && =
(/(static|relative)/).test(this.css('position'))) || =
(/absolute/).test(this.css('position'))) {=0A=
			scrollParent =3D this.parents().filter(function() {=0A=
				return =
(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && =
(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflo=
w-y',1)+$.curCSS(this,'overflow-x',1));=0A=
			}).eq(0);=0A=
		} else {=0A=
			scrollParent =3D this.parents().filter(function() {=0A=
				return =
(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflo=
w-y',1)+$.curCSS(this,'overflow-x',1));=0A=
			}).eq(0);=0A=
		}=0A=
=0A=
		return (/fixed/).test(this.css('position')) || !scrollParent.length ? =
$(document) : scrollParent;=0A=
	},=0A=
=0A=
	zIndex: function( zIndex ) {=0A=
		if ( zIndex !=3D=3D undefined ) {=0A=
			return this.css( "zIndex", zIndex );=0A=
		}=0A=
=0A=
		if ( this.length ) {=0A=
			var elem =3D $( this[ 0 ] ), position, value;=0A=
			while ( elem.length && elem[ 0 ] !=3D=3D document ) {=0A=
				// Ignore z-index if position is set to a value where z-index is =
ignored by the browser=0A=
				// This makes behavior of this function consistent across browsers=0A=
				// WebKit always returns auto if the element is positioned=0A=
				position =3D elem.css( "position" );=0A=
				if ( position =3D=3D=3D "absolute" || position =3D=3D=3D "relative" =
|| position =3D=3D=3D "fixed" ) {=0A=
					// IE returns 0 when zIndex is not specified=0A=
					// other browsers return a string=0A=
					// we ignore the case of nested elements with an explicit value of 0=0A=
					// <div style=3D"z-index: -10;"><div style=3D"z-index: =
0;"></div></div>=0A=
					value =3D parseInt( elem.css( "zIndex" ), 10 );=0A=
					if ( !isNaN( value ) && value !=3D=3D 0 ) {=0A=
						return value;=0A=
					}=0A=
				}=0A=
				elem =3D elem.parent();=0A=
			}=0A=
		}=0A=
=0A=
		return 0;=0A=
	},=0A=
=0A=
	disableSelection: function() {=0A=
		return this.bind( ( $.support.selectstart ? "selectstart" : =
"mousedown" ) +=0A=
			".ui-disableSelection", function( event ) {=0A=
				event.preventDefault();=0A=
			});=0A=
	},=0A=
=0A=
	enableSelection: function() {=0A=
		return this.unbind( ".ui-disableSelection" );=0A=
	}=0A=
});=0A=
=0A=
$.each( [ "Width", "Height" ], function( i, name ) {=0A=
	var side =3D name =3D=3D=3D "Width" ? [ "Left", "Right" ] : [ "Top", =
"Bottom" ],=0A=
		type =3D name.toLowerCase(),=0A=
		orig =3D {=0A=
			innerWidth: $.fn.innerWidth,=0A=
			innerHeight: $.fn.innerHeight,=0A=
			outerWidth: $.fn.outerWidth,=0A=
			outerHeight: $.fn.outerHeight=0A=
		};=0A=
=0A=
	function reduce( elem, size, border, margin ) {=0A=
		$.each( side, function() {=0A=
			size -=3D parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;=0A=
			if ( border ) {=0A=
				size -=3D parseFloat( $.curCSS( elem, "border" + this + "Width", =
true) ) || 0;=0A=
			}=0A=
			if ( margin ) {=0A=
				size -=3D parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;=0A=
			}=0A=
		});=0A=
		return size;=0A=
	}=0A=
=0A=
	$.fn[ "inner" + name ] =3D function( size ) {=0A=
		if ( size =3D=3D=3D undefined ) {=0A=
			return orig[ "inner" + name ].call( this );=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			$( this ).css( type, reduce( this, size ) + "px" );=0A=
		});=0A=
	};=0A=
=0A=
	$.fn[ "outer" + name] =3D function( size, margin ) {=0A=
		if ( typeof size !=3D=3D "number" ) {=0A=
			return orig[ "outer" + name ].call( this, size );=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			$( this).css( type, reduce( this, size, true, margin ) + "px" );=0A=
		});=0A=
	};=0A=
});=0A=
=0A=
// selectors=0A=
function visible( element ) {=0A=
	return !$( element ).parents().andSelf().filter(function() {=0A=
		return $.curCSS( this, "visibility" ) =3D=3D=3D "hidden" ||=0A=
			$.expr.filters.hidden( this );=0A=
	}).length;=0A=
}=0A=
=0A=
$.extend( $.expr[ ":" ], {=0A=
	data: function( elem, i, match ) {=0A=
		return !!$.data( elem, match[ 3 ] );=0A=
	},=0A=
=0A=
	focusable: function( element ) {=0A=
		var nodeName =3D element.nodeName.toLowerCase(),=0A=
			tabIndex =3D $.attr( element, "tabindex" );=0A=
		if ( "area" =3D=3D=3D nodeName ) {=0A=
			var map =3D element.parentNode,=0A=
				mapName =3D map.name,=0A=
				img;=0A=
			if ( !element.href || !mapName || map.nodeName.toLowerCase() !=3D=3D =
"map" ) {=0A=
				return false;=0A=
			}=0A=
			img =3D $( "img[usemap=3D#" + mapName + "]" )[0];=0A=
			return !!img && visible( img );=0A=
		}=0A=
		return ( /input|select|textarea|button|object/.test( nodeName )=0A=
			? !element.disabled=0A=
			: "a" =3D=3D nodeName=0A=
				? element.href || !isNaN( tabIndex )=0A=
				: !isNaN( tabIndex ))=0A=
			// the element and all of its ancestors must be visible=0A=
			&& visible( element );=0A=
	},=0A=
=0A=
	tabbable: function( element ) {=0A=
		var tabIndex =3D $.attr( element, "tabindex" );=0A=
		return ( isNaN( tabIndex ) || tabIndex >=3D 0 ) && $( element ).is( =
":focusable" );=0A=
	}=0A=
});=0A=
=0A=
// support=0A=
$(function() {=0A=
	var body =3D document.body,=0A=
		div =3D body.appendChild( div =3D document.createElement( "div" ) );=0A=
=0A=
	$.extend( div.style, {=0A=
		minHeight: "100px",=0A=
		height: "auto",=0A=
		padding: 0,=0A=
		borderWidth: 0=0A=
	});=0A=
=0A=
	$.support.minHeight =3D div.offsetHeight =3D=3D=3D 100;=0A=
	$.support.selectstart =3D "onselectstart" in div;=0A=
=0A=
	// set display to none to avoid a layout bug in IE=0A=
	// http://dev.jquery.com/ticket/4014=0A=
	body.removeChild( div ).style.display =3D "none";=0A=
});=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
// deprecated=0A=
$.extend( $.ui, {=0A=
	// $.ui.plugin is deprecated.  Use the proxy pattern instead.=0A=
	plugin: {=0A=
		add: function( module, option, set ) {=0A=
			var proto =3D $.ui[ module ].prototype;=0A=
			for ( var i in set ) {=0A=
				proto.plugins[ i ] =3D proto.plugins[ i ] || [];=0A=
				proto.plugins[ i ].push( [ option, set[ i ] ] );=0A=
			}=0A=
		},=0A=
		call: function( instance, name, args ) {=0A=
			var set =3D instance.plugins[ name ];=0A=
			if ( !set || !instance.element[ 0 ].parentNode ) {=0A=
				return;=0A=
			}=0A=
	=0A=
			for ( var i =3D 0; i < set.length; i++ ) {=0A=
				if ( instance.options[ set[ i ][ 0 ] ] ) {=0A=
					set[ i ][ 1 ].apply( instance.element, args );=0A=
				}=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	// will be deprecated when we switch to jQuery 1.4 - use =
jQuery.contains()=0A=
	contains: function( a, b ) {=0A=
		return document.compareDocumentPosition ?=0A=
			a.compareDocumentPosition( b ) & 16 :=0A=
			a !=3D=3D b && a.contains( b );=0A=
	},=0A=
	=0A=
	// only used by resizable=0A=
	hasScroll: function( el, a ) {=0A=
	=0A=
		//If overflow is hidden, the element might have extra content, but the =
user wants to hide it=0A=
		if ( $( el ).css( "overflow" ) =3D=3D=3D "hidden") {=0A=
			return false;=0A=
		}=0A=
	=0A=
		var scroll =3D ( a && a =3D=3D=3D "left" ) ? "scrollLeft" : =
"scrollTop",=0A=
			has =3D false;=0A=
	=0A=
		if ( el[ scroll ] > 0 ) {=0A=
			return true;=0A=
		}=0A=
	=0A=
		// TODO: determine which cases actually cause this to happen=0A=
		// if the element doesn't have the scroll set, see if it's possible to=0A=
		// set the scroll=0A=
		el[ scroll ] =3D 1;=0A=
		has =3D ( el[ scroll ] > 0 );=0A=
		el[ scroll ] =3D 0;=0A=
		return has;=0A=
	},=0A=
	=0A=
	// these are odd functions, fix the API or move into individual plugins=0A=
	isOverAxis: function( x, reference, size ) {=0A=
		//Determines when x coordinate is over "b" element axis=0A=
		return ( x > reference ) && ( x < ( reference + size ) );=0A=
	},=0A=
	isOver: function( y, x, top, left, height, width ) {=0A=
		//Determines when x, y coordinates is over "b" element=0A=
		return $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, =
width );=0A=
	}=0A=
});=0A=
=0A=
})( jQuery );=0A=
/*!=0A=
 * jQuery UI Widget 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Widget=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
// jQuery 1.4+=0A=
if ( $.cleanData ) {=0A=
	var _cleanData =3D $.cleanData;=0A=
	$.cleanData =3D function( elems ) {=0A=
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			$( elem ).triggerHandler( "remove" );=0A=
		}=0A=
		_cleanData( elems );=0A=
	};=0A=
} else {=0A=
	var _remove =3D $.fn.remove;=0A=
	$.fn.remove =3D function( selector, keepData ) {=0A=
		return this.each(function() {=0A=
			if ( !keepData ) {=0A=
				if ( !selector || $.filter( selector, [ this ] ).length ) {=0A=
					$( "*", this ).add( [ this ] ).each(function() {=0A=
						$( this ).triggerHandler( "remove" );=0A=
					});=0A=
				}=0A=
			}=0A=
			return _remove.call( $(this), selector, keepData );=0A=
		});=0A=
	};=0A=
}=0A=
=0A=
$.widget =3D function( name, base, prototype ) {=0A=
	var namespace =3D name.split( "." )[ 0 ],=0A=
		fullName;=0A=
	name =3D name.split( "." )[ 1 ];=0A=
	fullName =3D namespace + "-" + name;=0A=
=0A=
	if ( !prototype ) {=0A=
		prototype =3D base;=0A=
		base =3D $.Widget;=0A=
	}=0A=
=0A=
	// create selector for plugin=0A=
	$.expr[ ":" ][ fullName ] =3D function( elem ) {=0A=
		return !!$.data( elem, name );=0A=
	};=0A=
=0A=
	$[ namespace ] =3D $[ namespace ] || {};=0A=
	$[ namespace ][ name ] =3D function( options, element ) {=0A=
		// allow instantiation without initializing for simple inheritance=0A=
		if ( arguments.length ) {=0A=
			this._createWidget( options, element );=0A=
		}=0A=
	};=0A=
=0A=
	var basePrototype =3D new base();=0A=
	// we need to make the options hash a property directly on the new =
instance=0A=
	// otherwise we'll modify the options hash on the prototype that we're=0A=
	// inheriting from=0A=
//	$.each( basePrototype, function( key, val ) {=0A=
//		if ( $.isPlainObject(val) ) {=0A=
//			basePrototype[ key ] =3D $.extend( {}, val );=0A=
//		}=0A=
//	});=0A=
	basePrototype.options =3D $.extend( true, {}, basePrototype.options );=0A=
	$[ namespace ][ name ].prototype =3D $.extend( true, basePrototype, {=0A=
		namespace: namespace,=0A=
		widgetName: name,=0A=
		widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix =
|| name,=0A=
		widgetBaseClass: fullName=0A=
	}, prototype );=0A=
=0A=
	$.widget.bridge( name, $[ namespace ][ name ] );=0A=
};=0A=
=0A=
$.widget.bridge =3D function( name, object ) {=0A=
	$.fn[ name ] =3D function( options ) {=0A=
		var isMethodCall =3D typeof options =3D=3D=3D "string",=0A=
			args =3D Array.prototype.slice.call( arguments, 1 ),=0A=
			returnValue =3D this;=0A=
=0A=
		// allow multiple hashes to be passed on init=0A=
		options =3D !isMethodCall && args.length ?=0A=
			$.extend.apply( null, [ true, options ].concat(args) ) :=0A=
			options;=0A=
=0A=
		// prevent calls to internal methods=0A=
		if ( isMethodCall && options.charAt( 0 ) =3D=3D=3D "_" ) {=0A=
			return returnValue;=0A=
		}=0A=
=0A=
		if ( isMethodCall ) {=0A=
			this.each(function() {=0A=
				var instance =3D $.data( this, name ),=0A=
					methodValue =3D instance && $.isFunction( instance[options] ) ?=0A=
						instance[ options ].apply( instance, args ) :=0A=
						instance;=0A=
				// TODO: add this back in 1.9 and use $.error() (see #5972)=0A=
//				if ( !instance ) {=0A=
//					throw "cannot call methods on " + name + " prior to =
initialization; " +=0A=
//						"attempted to call method '" + options + "'";=0A=
//				}=0A=
//				if ( !$.isFunction( instance[options] ) ) {=0A=
//					throw "no such method '" + options + "' for " + name + " widget =
instance";=0A=
//				}=0A=
//				var methodValue =3D instance[ options ].apply( instance, args );=0A=
				if ( methodValue !=3D=3D instance && methodValue !=3D=3D undefined ) =
{=0A=
					returnValue =3D methodValue;=0A=
					return false;=0A=
				}=0A=
			});=0A=
		} else {=0A=
			this.each(function() {=0A=
				var instance =3D $.data( this, name );=0A=
				if ( instance ) {=0A=
					instance.option( options || {} )._init();=0A=
				} else {=0A=
					$.data( this, name, new object( options, this ) );=0A=
				}=0A=
			});=0A=
		}=0A=
=0A=
		return returnValue;=0A=
	};=0A=
};=0A=
=0A=
$.Widget =3D function( options, element ) {=0A=
	// allow instantiation without initializing for simple inheritance=0A=
	if ( arguments.length ) {=0A=
		this._createWidget( options, element );=0A=
	}=0A=
};=0A=
=0A=
$.Widget.prototype =3D {=0A=
	widgetName: "widget",=0A=
	widgetEventPrefix: "",=0A=
	options: {=0A=
		disabled: false=0A=
	},=0A=
	_createWidget: function( options, element ) {=0A=
		// $.widget.bridge stores the plugin instance, but we do it anyway=0A=
		// so that it's stored even before the _create function runs=0A=
		$.data( element, this.widgetName, this );=0A=
		this.element =3D $( element );=0A=
		this.options =3D $.extend( true, {},=0A=
			this.options,=0A=
			this._getCreateOptions(),=0A=
			options );=0A=
=0A=
		var self =3D this;=0A=
		this.element.bind( "remove." + this.widgetName, function() {=0A=
			self.destroy();=0A=
		});=0A=
=0A=
		this._create();=0A=
		this._trigger( "create" );=0A=
		this._init();=0A=
	},=0A=
	_getCreateOptions: function() {=0A=
		return $.metadata && $.metadata.get( this.element[0] )[ =
this.widgetName ];=0A=
	},=0A=
	_create: function() {},=0A=
	_init: function() {},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.unbind( "." + this.widgetName )=0A=
			.removeData( this.widgetName );=0A=
		this.widget()=0A=
			.unbind( "." + this.widgetName )=0A=
			.removeAttr( "aria-disabled" )=0A=
			.removeClass(=0A=
				this.widgetBaseClass + "-disabled " +=0A=
				"ui-state-disabled" );=0A=
	},=0A=
=0A=
	widget: function() {=0A=
		return this.element;=0A=
	},=0A=
=0A=
	option: function( key, value ) {=0A=
		var options =3D key;=0A=
=0A=
		if ( arguments.length =3D=3D=3D 0 ) {=0A=
			// don't return a reference to the internal hash=0A=
			return $.extend( {}, this.options );=0A=
		}=0A=
=0A=
		if  (typeof key =3D=3D=3D "string" ) {=0A=
			if ( value =3D=3D=3D undefined ) {=0A=
				return this.options[ key ];=0A=
			}=0A=
			options =3D {};=0A=
			options[ key ] =3D value;=0A=
		}=0A=
=0A=
		this._setOptions( options );=0A=
=0A=
		return this;=0A=
	},=0A=
	_setOptions: function( options ) {=0A=
		var self =3D this;=0A=
		$.each( options, function( key, value ) {=0A=
			self._setOption( key, value );=0A=
		});=0A=
=0A=
		return this;=0A=
	},=0A=
	_setOption: function( key, value ) {=0A=
		this.options[ key ] =3D value;=0A=
=0A=
		if ( key =3D=3D=3D "disabled" ) {=0A=
			this.widget()=0A=
				[ value ? "addClass" : "removeClass"](=0A=
					this.widgetBaseClass + "-disabled" + " " +=0A=
					"ui-state-disabled" )=0A=
				.attr( "aria-disabled", value );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	enable: function() {=0A=
		return this._setOption( "disabled", false );=0A=
	},=0A=
	disable: function() {=0A=
		return this._setOption( "disabled", true );=0A=
	},=0A=
=0A=
	_trigger: function( type, event, data ) {=0A=
		var callback =3D this.options[ type ];=0A=
=0A=
		event =3D $.Event( event );=0A=
		event.type =3D ( type =3D=3D=3D this.widgetEventPrefix ?=0A=
			type :=0A=
			this.widgetEventPrefix + type ).toLowerCase();=0A=
		data =3D data || {};=0A=
=0A=
		// copy original event properties over to the new event=0A=
		// this would happen if we could call $.event.fix instead of $.Event=0A=
		// but we don't have a way to force an event to be fixed multiple times=0A=
		if ( event.originalEvent ) {=0A=
			for ( var i =3D $.event.props.length, prop; i; ) {=0A=
				prop =3D $.event.props[ --i ];=0A=
				event[ prop ] =3D event.originalEvent[ prop ];=0A=
			}=0A=
		}=0A=
=0A=
		this.element.trigger( event, data );=0A=
=0A=
		return !( $.isFunction(callback) &&=0A=
			callback.call( this.element[0], event, data ) =3D=3D=3D false ||=0A=
			event.isDefaultPrevented() );=0A=
	}=0A=
};=0A=
=0A=
})( jQuery );=0A=
/*!=0A=
 * jQuery UI Mouse 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Mouse=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.mouse", {=0A=
	options: {=0A=
		cancel: ':input,option',=0A=
		distance: 1,=0A=
		delay: 0=0A=
	},=0A=
	_mouseInit: function() {=0A=
		var self =3D this;=0A=
=0A=
		this.element=0A=
			.bind('mousedown.'+this.widgetName, function(event) {=0A=
				return self._mouseDown(event);=0A=
			})=0A=
			.bind('click.'+this.widgetName, function(event) {=0A=
				if (true =3D=3D=3D $.data(event.target, self.widgetName + =
'.preventClickEvent')) {=0A=
				    $.removeData(event.target, self.widgetName + =
'.preventClickEvent');=0A=
					event.stopImmediatePropagation();=0A=
					return false;=0A=
				}=0A=
			});=0A=
=0A=
		this.started =3D false;=0A=
	},=0A=
=0A=
	// TODO: make sure destroying one instance of mouse doesn't mess with=0A=
	// other instances of mouse=0A=
	_mouseDestroy: function() {=0A=
		this.element.unbind('.'+this.widgetName);=0A=
	},=0A=
=0A=
	_mouseDown: function(event) {=0A=
		// don't let more than one widget handle mouseStart=0A=
		// TODO: figure out why we have to use originalEvent=0A=
		event.originalEvent =3D event.originalEvent || {};=0A=
		if (event.originalEvent.mouseHandled) { return; }=0A=
=0A=
		// we may have missed mouseup (out of window)=0A=
		(this._mouseStarted && this._mouseUp(event));=0A=
=0A=
		this._mouseDownEvent =3D event;=0A=
=0A=
		var self =3D this,=0A=
			btnIsLeft =3D (event.which =3D=3D 1),=0A=
			elIsCancel =3D (typeof this.options.cancel =3D=3D "string" ? =
$(event.target).parents().add(event.target).filter(this.options.cancel).l=
ength : false);=0A=
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {=0A=
			return true;=0A=
		}=0A=
=0A=
		this.mouseDelayMet =3D !this.options.delay;=0A=
		if (!this.mouseDelayMet) {=0A=
			this._mouseDelayTimer =3D setTimeout(function() {=0A=
				self.mouseDelayMet =3D true;=0A=
			}, this.options.delay);=0A=
		}=0A=
=0A=
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {=0A=
			this._mouseStarted =3D (this._mouseStart(event) !=3D=3D false);=0A=
			if (!this._mouseStarted) {=0A=
				event.preventDefault();=0A=
				return true;=0A=
			}=0A=
		}=0A=
=0A=
		// these delegates are required to keep context=0A=
		this._mouseMoveDelegate =3D function(event) {=0A=
			return self._mouseMove(event);=0A=
		};=0A=
		this._mouseUpDelegate =3D function(event) {=0A=
			return self._mouseUp(event);=0A=
		};=0A=
		$(document)=0A=
			.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)=0A=
			.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);=0A=
=0A=
		event.preventDefault();=0A=
		event.originalEvent.mouseHandled =3D true;=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseMove: function(event) {=0A=
		// IE mouseup check - mouseup happened when mouse was out of window=0A=
		if ($.browser.msie && !(document.documentMode >=3D 9) && =
!event.button) {=0A=
			return this._mouseUp(event);=0A=
		}=0A=
=0A=
		if (this._mouseStarted) {=0A=
			this._mouseDrag(event);=0A=
			return event.preventDefault();=0A=
		}=0A=
=0A=
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {=0A=
			this._mouseStarted =3D=0A=
				(this._mouseStart(this._mouseDownEvent, event) !=3D=3D false);=0A=
			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));=0A=
		}=0A=
=0A=
		return !this._mouseStarted;=0A=
	},=0A=
=0A=
	_mouseUp: function(event) {=0A=
		$(document)=0A=
			.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)=0A=
			.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);=0A=
=0A=
		if (this._mouseStarted) {=0A=
			this._mouseStarted =3D false;=0A=
=0A=
			if (event.target =3D=3D this._mouseDownEvent.target) {=0A=
			    $.data(event.target, this.widgetName + '.preventClickEvent', =
true);=0A=
			}=0A=
=0A=
			this._mouseStop(event);=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseDistanceMet: function(event) {=0A=
		return (Math.max(=0A=
				Math.abs(this._mouseDownEvent.pageX - event.pageX),=0A=
				Math.abs(this._mouseDownEvent.pageY - event.pageY)=0A=
			) >=3D this.options.distance=0A=
		);=0A=
	},=0A=
=0A=
	_mouseDelayMet: function(event) {=0A=
		return this.mouseDelayMet;=0A=
	},=0A=
=0A=
	// These are placeholder methods, to be overriden by extending plugin=0A=
	_mouseStart: function(event) {},=0A=
	_mouseDrag: function(event) {},=0A=
	_mouseStop: function(event) {},=0A=
	_mouseCapture: function(event) { return true; }=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Draggable 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Draggables=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.draggable", $.ui.mouse, {=0A=
	widgetEventPrefix: "drag",=0A=
	options: {=0A=
		addClasses: true,=0A=
		appendTo: "parent",=0A=
		axis: false,=0A=
		connectToSortable: false,=0A=
		containment: false,=0A=
		cursor: "auto",=0A=
		cursorAt: false,=0A=
		grid: false,=0A=
		handle: false,=0A=
		helper: "original",=0A=
		iframeFix: false,=0A=
		opacity: false,=0A=
		refreshPositions: false,=0A=
		revert: false,=0A=
		revertDuration: 500,=0A=
		scope: "default",=0A=
		scroll: true,=0A=
		scrollSensitivity: 20,=0A=
		scrollSpeed: 20,=0A=
		snap: false,=0A=
		snapMode: "both",=0A=
		snapTolerance: 20,=0A=
		stack: false,=0A=
		zIndex: false=0A=
	},=0A=
	_create: function() {=0A=
=0A=
		if (this.options.helper =3D=3D 'original' && =
!(/^(?:r|a|f)/).test(this.element.css("position")))=0A=
			this.element[0].style.position =3D 'relative';=0A=
=0A=
		(this.options.addClasses && this.element.addClass("ui-draggable"));=0A=
		(this.options.disabled && =
this.element.addClass("ui-draggable-disabled"));=0A=
=0A=
		this._mouseInit();=0A=
=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		if(!this.element.data('draggable')) return;=0A=
		this.element=0A=
			.removeData("draggable")=0A=
			.unbind(".draggable")=0A=
			.removeClass("ui-draggable"=0A=
				+ " ui-draggable-dragging"=0A=
				+ " ui-draggable-disabled");=0A=
		this._mouseDestroy();=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_mouseCapture: function(event) {=0A=
=0A=
		var o =3D this.options;=0A=
=0A=
		// among others, prevent a drag on a resizable-handle=0A=
		if (this.helper || o.disabled || =
$(event.target).is('.ui-resizable-handle'))=0A=
			return false;=0A=
=0A=
		//Quit if we're not on a valid handle=0A=
		this.handle =3D this._getHandle(event);=0A=
		if (!this.handle)=0A=
			return false;=0A=
=0A=
		return true;=0A=
=0A=
	},=0A=
=0A=
	_mouseStart: function(event) {=0A=
=0A=
		var o =3D this.options;=0A=
=0A=
		//Create and append the visible helper=0A=
		this.helper =3D this._createHelper(event);=0A=
=0A=
		//Cache the helper size=0A=
		this._cacheHelperProportions();=0A=
=0A=
		//If ddmanager is used for droppables, set the global draggable=0A=
		if($.ui.ddmanager)=0A=
			$.ui.ddmanager.current =3D this;=0A=
=0A=
		/*=0A=
		 * - Position generation -=0A=
		 * This block generates everything position related - it's the core of =
draggables.=0A=
		 */=0A=
=0A=
		//Cache the margins of the original element=0A=
		this._cacheMargins();=0A=
=0A=
		//Store the helper's css position=0A=
		this.cssPosition =3D this.helper.css("position");=0A=
		this.scrollParent =3D this.helper.scrollParent();=0A=
=0A=
		//The element's absolute position on the page minus margins=0A=
		this.offset =3D this.positionAbs =3D this.element.offset();=0A=
		this.offset =3D {=0A=
			top: this.offset.top - this.margins.top,=0A=
			left: this.offset.left - this.margins.left=0A=
		};=0A=
=0A=
		$.extend(this.offset, {=0A=
			click: { //Where the click happened, relative to the element=0A=
				left: event.pageX - this.offset.left,=0A=
				top: event.pageY - this.offset.top=0A=
			},=0A=
			parent: this._getParentOffset(),=0A=
			relative: this._getRelativeOffset() //This is a relative to absolute =
position minus the actual position calculation - only used for relative =
positioned helper=0A=
		});=0A=
=0A=
		//Generate the original position=0A=
		this.originalPosition =3D this.position =3D =
this._generatePosition(event);=0A=
		this.originalPageX =3D event.pageX;=0A=
		this.originalPageY =3D event.pageY;=0A=
=0A=
		//Adjust the mouse offset relative to the helper if 'cursorAt' is =
supplied=0A=
		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));=0A=
=0A=
		//Set a containment if given in the options=0A=
		if(o.containment)=0A=
			this._setContainment();=0A=
=0A=
		//Trigger event + callbacks=0A=
		if(this._trigger("start", event) =3D=3D=3D false) {=0A=
			this._clear();=0A=
			return false;=0A=
		}=0A=
=0A=
		//Recache the helper size=0A=
		this._cacheHelperProportions();=0A=
=0A=
		//Prepare the droppable offsets=0A=
		if ($.ui.ddmanager && !o.dropBehaviour)=0A=
			$.ui.ddmanager.prepareOffsets(this, event);=0A=
=0A=
		this.helper.addClass("ui-draggable-dragging");=0A=
		this._mouseDrag(event, true); //Execute the drag once - this causes =
the helper not to be visible before getting its correct position=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseDrag: function(event, noPropagation) {=0A=
=0A=
		//Compute the helpers position=0A=
		this.position =3D this._generatePosition(event);=0A=
		this.positionAbs =3D this._convertPositionTo("absolute");=0A=
=0A=
		//Call plugins and callbacks and use the resulting position if =
something is returned=0A=
		if (!noPropagation) {=0A=
			var ui =3D this._uiHash();=0A=
			if(this._trigger('drag', event, ui) =3D=3D=3D false) {=0A=
				this._mouseUp({});=0A=
				return false;=0A=
			}=0A=
			this.position =3D ui.position;=0A=
		}=0A=
=0A=
		if(!this.options.axis || this.options.axis !=3D "y") =
this.helper[0].style.left =3D this.position.left+'px';=0A=
		if(!this.options.axis || this.options.axis !=3D "x") =
this.helper[0].style.top =3D this.position.top+'px';=0A=
		if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseStop: function(event) {=0A=
=0A=
		//If we are using droppables, inform the manager about the drop=0A=
		var dropped =3D false;=0A=
		if ($.ui.ddmanager && !this.options.dropBehaviour)=0A=
			dropped =3D $.ui.ddmanager.drop(this, event);=0A=
=0A=
		//if a drop comes from outside (a sortable)=0A=
		if(this.dropped) {=0A=
			dropped =3D this.dropped;=0A=
			this.dropped =3D false;=0A=
		}=0A=
		=0A=
		//if the original element is removed, don't bother to continue if =
helper is set to "original"=0A=
		if((!this.element[0] || !this.element[0].parentNode) && =
this.options.helper =3D=3D "original")=0A=
			return false;=0A=
=0A=
		if((this.options.revert =3D=3D "invalid" && !dropped) || =
(this.options.revert =3D=3D "valid" && dropped) || this.options.revert =
=3D=3D=3D true || ($.isFunction(this.options.revert) && =
this.options.revert.call(this.element, dropped))) {=0A=
			var self =3D this;=0A=
			$(this.helper).animate(this.originalPosition, =
parseInt(this.options.revertDuration, 10), function() {=0A=
				if(self._trigger("stop", event) !=3D=3D false) {=0A=
					self._clear();=0A=
				}=0A=
			});=0A=
		} else {=0A=
			if(this._trigger("stop", event) !=3D=3D false) {=0A=
				this._clear();=0A=
			}=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
	=0A=
	cancel: function() {=0A=
		=0A=
		if(this.helper.is(".ui-draggable-dragging")) {=0A=
			this._mouseUp({});=0A=
		} else {=0A=
			this._clear();=0A=
		}=0A=
		=0A=
		return this;=0A=
		=0A=
	},=0A=
=0A=
	_getHandle: function(event) {=0A=
=0A=
		var handle =3D !this.options.handle || !$(this.options.handle, =
this.element).length ? true : false;=0A=
		$(this.options.handle, this.element)=0A=
			.find("*")=0A=
			.andSelf()=0A=
			.each(function() {=0A=
				if(this =3D=3D event.target) handle =3D true;=0A=
			});=0A=
=0A=
		return handle;=0A=
=0A=
	},=0A=
=0A=
	_createHelper: function(event) {=0A=
=0A=
		var o =3D this.options;=0A=
		var helper =3D $.isFunction(o.helper) ? =
$(o.helper.apply(this.element[0], [event])) : (o.helper =3D=3D 'clone' ? =
this.element.clone() : this.element);=0A=
=0A=
		if(!helper.parents('body').length)=0A=
			helper.appendTo((o.appendTo =3D=3D 'parent' ? =
this.element[0].parentNode : o.appendTo));=0A=
=0A=
		if(helper[0] !=3D this.element[0] && =
!(/(fixed|absolute)/).test(helper.css("position")))=0A=
			helper.css("position", "absolute");=0A=
=0A=
		return helper;=0A=
=0A=
	},=0A=
=0A=
	_adjustOffsetFromHelper: function(obj) {=0A=
		if (typeof obj =3D=3D 'string') {=0A=
			obj =3D obj.split(' ');=0A=
		}=0A=
		if ($.isArray(obj)) {=0A=
			obj =3D {left: +obj[0], top: +obj[1] || 0};=0A=
		}=0A=
		if ('left' in obj) {=0A=
			this.offset.click.left =3D obj.left + this.margins.left;=0A=
		}=0A=
		if ('right' in obj) {=0A=
			this.offset.click.left =3D this.helperProportions.width - obj.right + =
this.margins.left;=0A=
		}=0A=
		if ('top' in obj) {=0A=
			this.offset.click.top =3D obj.top + this.margins.top;=0A=
		}=0A=
		if ('bottom' in obj) {=0A=
			this.offset.click.top =3D this.helperProportions.height - obj.bottom =
+ this.margins.top;=0A=
		}=0A=
	},=0A=
=0A=
	_getParentOffset: function() {=0A=
=0A=
		//Get the offsetParent and cache its position=0A=
		this.offsetParent =3D this.helper.offsetParent();=0A=
		var po =3D this.offsetParent.offset();=0A=
=0A=
		// This is a special case where we need to modify a offset calculated =
on start, since the following happened:=0A=
		// 1. The position of the helper is absolute, so it's position is =
calculated based on the next positioned parent=0A=
		// 2. The actual offset parent is a child of the scroll parent, and =
the scroll parent isn't the document, which means that=0A=
		//    the scroll is included in the initial calculation of the offset =
of the parent, and never recalculated upon drag=0A=
		if(this.cssPosition =3D=3D 'absolute' && this.scrollParent[0] !=3D =
document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {=0A=
			po.left +=3D this.scrollParent.scrollLeft();=0A=
			po.top +=3D this.scrollParent.scrollTop();=0A=
		}=0A=
=0A=
		if((this.offsetParent[0] =3D=3D document.body) //This needs to be =
actually done for all browsers, since pageX/pageY includes this =
information=0A=
		|| (this.offsetParent[0].tagName && =
this.offsetParent[0].tagName.toLowerCase() =3D=3D 'html' && =
$.browser.msie)) //Ugly IE fix=0A=
			po =3D { top: 0, left: 0 };=0A=
=0A=
		return {=0A=
			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) =
|| 0),=0A=
			left: po.left + =
(parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_getRelativeOffset: function() {=0A=
=0A=
		if(this.cssPosition =3D=3D "relative") {=0A=
			var p =3D this.element.position();=0A=
			return {=0A=
				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + =
this.scrollParent.scrollTop(),=0A=
				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + =
this.scrollParent.scrollLeft()=0A=
			};=0A=
		} else {=0A=
			return { top: 0, left: 0 };=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_cacheMargins: function() {=0A=
		this.margins =3D {=0A=
			left: (parseInt(this.element.css("marginLeft"),10) || 0),=0A=
			top: (parseInt(this.element.css("marginTop"),10) || 0)=0A=
		};=0A=
	},=0A=
=0A=
	_cacheHelperProportions: function() {=0A=
		this.helperProportions =3D {=0A=
			width: this.helper.outerWidth(),=0A=
			height: this.helper.outerHeight()=0A=
		};=0A=
	},=0A=
=0A=
	_setContainment: function() {=0A=
=0A=
		var o =3D this.options;=0A=
		if(o.containment =3D=3D 'parent') o.containment =3D =
this.helper[0].parentNode;=0A=
		if(o.containment =3D=3D 'document' || o.containment =3D=3D 'window') =
this.containment =3D [=0A=
			(o.containment =3D=3D 'document' ? 0 : $(window).scrollLeft()) - =
this.offset.relative.left - this.offset.parent.left,=0A=
			(o.containment =3D=3D 'document' ? 0 : $(window).scrollTop()) - =
this.offset.relative.top - this.offset.parent.top,=0A=
			(o.containment =3D=3D 'document' ? 0 : $(window).scrollLeft()) + =
$(o.containment =3D=3D 'document' ? document : window).width() - =
this.helperProportions.width - this.margins.left,=0A=
			(o.containment =3D=3D 'document' ? 0 : $(window).scrollTop()) + =
($(o.containment =3D=3D 'document' ? document : window).height() || =
document.body.parentNode.scrollHeight) - this.helperProportions.height - =
this.margins.top=0A=
		];=0A=
=0A=
		if(!(/^(document|window|parent)$/).test(o.containment) && =
o.containment.constructor !=3D Array) {=0A=
			var ce =3D $(o.containment)[0]; if(!ce) return;=0A=
			var co =3D $(o.containment).offset();=0A=
			var over =3D ($(ce).css("overflow") !=3D 'hidden');=0A=
=0A=
			this.containment =3D [=0A=
				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + =
(parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,=0A=
				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + =
(parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,=0A=
				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : =
ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - =
(parseInt($(ce).css("paddingRight"),10) || 0) - =
this.helperProportions.width - this.margins.left,=0A=
				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : =
ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - =
(parseInt($(ce).css("paddingBottom"),10) || 0) - =
this.helperProportions.height - this.margins.top=0A=
			];=0A=
		} else if(o.containment.constructor =3D=3D Array) {=0A=
			this.containment =3D o.containment;=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_convertPositionTo: function(d, pos) {=0A=
=0A=
		if(!pos) pos =3D this.position;=0A=
		var mod =3D d =3D=3D "absolute" ? 1 : -1;=0A=
		var o =3D this.options, scroll =3D this.cssPosition =3D=3D 'absolute' =
&& !(this.scrollParent[0] !=3D document && =
$.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? =
this.offsetParent : this.scrollParent, scrollIsRootNode =3D =
(/(html|body)/i).test(scroll[0].tagName);=0A=
=0A=
		return {=0A=
			top: (=0A=
				pos.top																	// The absolute mouse position=0A=
				+ this.offset.relative.top * mod										// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				+ this.offset.parent.top * mod											// The offsetParent's =
offset without borders (offset + border)=0A=
				- ($.browser.safari && $.browser.version < 526 && this.cssPosition =
=3D=3D 'fixed' ? 0 : ( this.cssPosition =3D=3D 'fixed' ? =
-this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : =
scroll.scrollTop() ) ) * mod)=0A=
			),=0A=
			left: (=0A=
				pos.left																// The absolute mouse position=0A=
				+ this.offset.relative.left * mod										// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				+ this.offset.parent.left * mod											// The offsetParent's =
offset without borders (offset + border)=0A=
				- ($.browser.safari && $.browser.version < 526 && this.cssPosition =
=3D=3D 'fixed' ? 0 : ( this.cssPosition =3D=3D 'fixed' ? =
-this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : =
scroll.scrollLeft() ) * mod)=0A=
			)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_generatePosition: function(event) {=0A=
=0A=
		var o =3D this.options, scroll =3D this.cssPosition =3D=3D 'absolute' =
&& !(this.scrollParent[0] !=3D document && =
$.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? =
this.offsetParent : this.scrollParent, scrollIsRootNode =3D =
(/(html|body)/i).test(scroll[0].tagName);=0A=
		var pageX =3D event.pageX;=0A=
		var pageY =3D event.pageY;=0A=
=0A=
		/*=0A=
		 * - Position constraining -=0A=
		 * Constrain the position to a mix of grid, containment.=0A=
		 */=0A=
=0A=
		if(this.originalPosition) { //If we are not dragging yet, we won't =
check for options=0A=
=0A=
			if(this.containment) {=0A=
				if(event.pageX - this.offset.click.left < this.containment[0]) pageX =
=3D this.containment[0] + this.offset.click.left;=0A=
				if(event.pageY - this.offset.click.top < this.containment[1]) pageY =
=3D this.containment[1] + this.offset.click.top;=0A=
				if(event.pageX - this.offset.click.left > this.containment[2]) pageX =
=3D this.containment[2] + this.offset.click.left;=0A=
				if(event.pageY - this.offset.click.top > this.containment[3]) pageY =
=3D this.containment[3] + this.offset.click.top;=0A=
			}=0A=
=0A=
			if(o.grid) {=0A=
				var top =3D this.originalPageY + Math.round((pageY - =
this.originalPageY) / o.grid[1]) * o.grid[1];=0A=
				pageY =3D this.containment ? (!(top - this.offset.click.top < =
this.containment[1] || top - this.offset.click.top > =
this.containment[3]) ? top : (!(top - this.offset.click.top < =
this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;=0A=
=0A=
				var left =3D this.originalPageX + Math.round((pageX - =
this.originalPageX) / o.grid[0]) * o.grid[0];=0A=
				pageX =3D this.containment ? (!(left - this.offset.click.left < =
this.containment[0] || left - this.offset.click.left > =
this.containment[2]) ? left : (!(left - this.offset.click.left < =
this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;=0A=
			}=0A=
=0A=
		}=0A=
=0A=
		return {=0A=
			top: (=0A=
				pageY																// The absolute mouse position=0A=
				- this.offset.click.top													// Click offset (relative to the =
element)=0A=
				- this.offset.relative.top												// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				- this.offset.parent.top												// The offsetParent's offset =
without borders (offset + border)=0A=
				+ ($.browser.safari && $.browser.version < 526 && this.cssPosition =
=3D=3D 'fixed' ? 0 : ( this.cssPosition =3D=3D 'fixed' ? =
-this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : =
scroll.scrollTop() ) ))=0A=
			),=0A=
			left: (=0A=
				pageX																// The absolute mouse position=0A=
				- this.offset.click.left												// Click offset (relative to the =
element)=0A=
				- this.offset.relative.left												// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				- this.offset.parent.left												// The offsetParent's offset =
without borders (offset + border)=0A=
				+ ($.browser.safari && $.browser.version < 526 && this.cssPosition =
=3D=3D 'fixed' ? 0 : ( this.cssPosition =3D=3D 'fixed' ? =
-this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : =
scroll.scrollLeft() ))=0A=
			)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_clear: function() {=0A=
		this.helper.removeClass("ui-draggable-dragging");=0A=
		if(this.helper[0] !=3D this.element[0] && !this.cancelHelperRemoval) =
this.helper.remove();=0A=
		//if($.ui.ddmanager) $.ui.ddmanager.current =3D null;=0A=
		this.helper =3D null;=0A=
		this.cancelHelperRemoval =3D false;=0A=
	},=0A=
=0A=
	// From now on bulk stuff - mainly helpers=0A=
=0A=
	_trigger: function(type, event, ui) {=0A=
		ui =3D ui || this._uiHash();=0A=
		$.ui.plugin.call(this, type, [event, ui]);=0A=
		if(type =3D=3D "drag") this.positionAbs =3D =
this._convertPositionTo("absolute"); //The absolute position has to be =
recalculated after plugins=0A=
		return $.Widget.prototype._trigger.call(this, type, event, ui);=0A=
	},=0A=
=0A=
	plugins: {},=0A=
=0A=
	_uiHash: function(event) {=0A=
		return {=0A=
			helper: this.helper,=0A=
			position: this.position,=0A=
			originalPosition: this.originalPosition,=0A=
			offset: this.positionAbs=0A=
		};=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend($.ui.draggable, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "connectToSortable", {=0A=
	start: function(event, ui) {=0A=
=0A=
		var inst =3D $(this).data("draggable"), o =3D inst.options,=0A=
			uiSortable =3D $.extend({}, ui, { item: inst.element });=0A=
		inst.sortables =3D [];=0A=
		$(o.connectToSortable).each(function() {=0A=
			var sortable =3D $.data(this, 'sortable');=0A=
			if (sortable && !sortable.options.disabled) {=0A=
				inst.sortables.push({=0A=
					instance: sortable,=0A=
					shouldRevert: sortable.options.revert=0A=
				});=0A=
				sortable._refreshItems();	//Do a one-time refresh at start to =
refresh the containerCache=0A=
				sortable._trigger("activate", event, uiSortable);=0A=
			}=0A=
		});=0A=
=0A=
	},=0A=
	stop: function(event, ui) {=0A=
=0A=
		//If we are still over the sortable, we fake the stop event of the =
sortable, but also remove helper=0A=
		var inst =3D $(this).data("draggable"),=0A=
			uiSortable =3D $.extend({}, ui, { item: inst.element });=0A=
=0A=
		$.each(inst.sortables, function() {=0A=
			if(this.instance.isOver) {=0A=
=0A=
				this.instance.isOver =3D 0;=0A=
=0A=
				inst.cancelHelperRemoval =3D true; //Don't remove the helper in the =
draggable instance=0A=
				this.instance.cancelHelperRemoval =3D false; //Remove it in the =
sortable instance (so sortable plugins like revert still work)=0A=
=0A=
				//The sortable revert is supported, and we have to set a temporary =
dropped variable on the draggable to support revert: 'valid/invalid'=0A=
				if(this.shouldRevert) this.instance.options.revert =3D true;=0A=
=0A=
				//Trigger the stop of the sortable=0A=
				this.instance._mouseStop(event);=0A=
=0A=
				this.instance.options.helper =3D this.instance.options._helper;=0A=
=0A=
				//If the helper has been the original item, restore properties in =
the sortable=0A=
				if(inst.options.helper =3D=3D 'original')=0A=
					this.instance.currentItem.css({ top: 'auto', left: 'auto' });=0A=
=0A=
			} else {=0A=
				this.instance.cancelHelperRemoval =3D false; //Remove the helper in =
the sortable instance=0A=
				this.instance._trigger("deactivate", event, uiSortable);=0A=
			}=0A=
=0A=
		});=0A=
=0A=
	},=0A=
	drag: function(event, ui) {=0A=
=0A=
		var inst =3D $(this).data("draggable"), self =3D this;=0A=
=0A=
		var checkPos =3D function(o) {=0A=
			var dyClick =3D this.offset.click.top, dxClick =3D =
this.offset.click.left;=0A=
			var helperTop =3D this.positionAbs.top, helperLeft =3D =
this.positionAbs.left;=0A=
			var itemHeight =3D o.height, itemWidth =3D o.width;=0A=
			var itemTop =3D o.top, itemLeft =3D o.left;=0A=
=0A=
			return $.ui.isOver(helperTop + dyClick, helperLeft + dxClick, =
itemTop, itemLeft, itemHeight, itemWidth);=0A=
		};=0A=
=0A=
		$.each(inst.sortables, function(i) {=0A=
			=0A=
			//Copy over some variables to allow calling the sortable's native =
_intersectsWith=0A=
			this.instance.positionAbs =3D inst.positionAbs;=0A=
			this.instance.helperProportions =3D inst.helperProportions;=0A=
			this.instance.offset.click =3D inst.offset.click;=0A=
			=0A=
			if(this.instance._intersectsWith(this.instance.containerCache)) {=0A=
=0A=
				//If it intersects, we use a little isOver variable and set it once, =
so our move-in stuff gets fired only once=0A=
				if(!this.instance.isOver) {=0A=
=0A=
					this.instance.isOver =3D 1;=0A=
					//Now we fake the start of dragging for the sortable instance,=0A=
					//by cloning the list group item, appending it to the sortable and =
using it as inst.currentItem=0A=
					//We can then fire the start event of the sortable with our passed =
browser event, and our own helper (so it doesn't create a new one)=0A=
					this.instance.currentItem =3D =
$(self).clone().appendTo(this.instance.element).data("sortable-item", =
true);=0A=
					this.instance.options._helper =3D this.instance.options.helper; =
//Store helper option to later restore it=0A=
					this.instance.options.helper =3D function() { return ui.helper[0]; =
};=0A=
=0A=
					event.target =3D this.instance.currentItem[0];=0A=
					this.instance._mouseCapture(event, true);=0A=
					this.instance._mouseStart(event, true, true);=0A=
=0A=
					//Because the browser event is way off the new appended portlet, we =
modify a couple of variables to reflect the changes=0A=
					this.instance.offset.click.top =3D inst.offset.click.top;=0A=
					this.instance.offset.click.left =3D inst.offset.click.left;=0A=
					this.instance.offset.parent.left -=3D inst.offset.parent.left - =
this.instance.offset.parent.left;=0A=
					this.instance.offset.parent.top -=3D inst.offset.parent.top - =
this.instance.offset.parent.top;=0A=
=0A=
					inst._trigger("toSortable", event);=0A=
					inst.dropped =3D this.instance.element; //draggable revert needs =
that=0A=
					//hack so receive/update callbacks work (mostly)=0A=
					inst.currentItem =3D inst.element;=0A=
					this.instance.fromOutside =3D inst;=0A=
=0A=
				}=0A=
=0A=
				//Provided we did all the previous steps, we can fire the drag event =
of the sortable on every draggable drag, when it intersects with the =
sortable=0A=
				if(this.instance.currentItem) this.instance._mouseDrag(event);=0A=
=0A=
			} else {=0A=
=0A=
				//If it doesn't intersect with the sortable, and it intersected =
before,=0A=
				//we fake the drag stop of the sortable, but make sure it doesn't =
remove the helper by using cancelHelperRemoval=0A=
				if(this.instance.isOver) {=0A=
=0A=
					this.instance.isOver =3D 0;=0A=
					this.instance.cancelHelperRemoval =3D true;=0A=
					=0A=
					//Prevent reverting on this forced stop=0A=
					this.instance.options.revert =3D false;=0A=
					=0A=
					// The out event needs to be triggered independently=0A=
					this.instance._trigger('out', event, =
this.instance._uiHash(this.instance));=0A=
					=0A=
					this.instance._mouseStop(event, true);=0A=
					this.instance.options.helper =3D this.instance.options._helper;=0A=
=0A=
					//Now we remove our currentItem, the list group clone again, and =
the placeholder, and animate the helper back to it's original size=0A=
					this.instance.currentItem.remove();=0A=
					if(this.instance.placeholder) this.instance.placeholder.remove();=0A=
=0A=
					inst._trigger("fromSortable", event);=0A=
					inst.dropped =3D false; //draggable revert needs that=0A=
				}=0A=
=0A=
			};=0A=
=0A=
		});=0A=
=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "cursor", {=0A=
	start: function(event, ui) {=0A=
		var t =3D $('body'), o =3D $(this).data('draggable').options;=0A=
		if (t.css("cursor")) o._cursor =3D t.css("cursor");=0A=
		t.css("cursor", o.cursor);=0A=
	},=0A=
	stop: function(event, ui) {=0A=
		var o =3D $(this).data('draggable').options;=0A=
		if (o._cursor) $('body').css("cursor", o._cursor);=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "iframeFix", {=0A=
	start: function(event, ui) {=0A=
		var o =3D $(this).data('draggable').options;=0A=
		$(o.iframeFix =3D=3D=3D true ? "iframe" : o.iframeFix).each(function() =
{=0A=
			$('<div class=3D"ui-draggable-iframeFix" style=3D"background: =
#fff;"></div>')=0A=
			.css({=0A=
				width: this.offsetWidth+"px", height: this.offsetHeight+"px",=0A=
				position: "absolute", opacity: "0.001", zIndex: 1000=0A=
			})=0A=
			.css($(this).offset())=0A=
			.appendTo("body");=0A=
		});=0A=
	},=0A=
	stop: function(event, ui) {=0A=
		$("div.ui-draggable-iframeFix").each(function() { =
this.parentNode.removeChild(this); }); //Remove frame helpers=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "opacity", {=0A=
	start: function(event, ui) {=0A=
		var t =3D $(ui.helper), o =3D $(this).data('draggable').options;=0A=
		if(t.css("opacity")) o._opacity =3D t.css("opacity");=0A=
		t.css('opacity', o.opacity);=0A=
	},=0A=
	stop: function(event, ui) {=0A=
		var o =3D $(this).data('draggable').options;=0A=
		if(o._opacity) $(ui.helper).css('opacity', o._opacity);=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "scroll", {=0A=
	start: function(event, ui) {=0A=
		var i =3D $(this).data("draggable");=0A=
		if(i.scrollParent[0] !=3D document && i.scrollParent[0].tagName !=3D =
'HTML') i.overflowOffset =3D i.scrollParent.offset();=0A=
	},=0A=
	drag: function(event, ui) {=0A=
=0A=
		var i =3D $(this).data("draggable"), o =3D i.options, scrolled =3D =
false;=0A=
=0A=
		if(i.scrollParent[0] !=3D document && i.scrollParent[0].tagName !=3D =
'HTML') {=0A=
=0A=
			if(!o.axis || o.axis !=3D 'x') {=0A=
				if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - =
event.pageY < o.scrollSensitivity)=0A=
					i.scrollParent[0].scrollTop =3D scrolled =3D =
i.scrollParent[0].scrollTop + o.scrollSpeed;=0A=
				else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)=0A=
					i.scrollParent[0].scrollTop =3D scrolled =3D =
i.scrollParent[0].scrollTop - o.scrollSpeed;=0A=
			}=0A=
=0A=
			if(!o.axis || o.axis !=3D 'y') {=0A=
				if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - =
event.pageX < o.scrollSensitivity)=0A=
					i.scrollParent[0].scrollLeft =3D scrolled =3D =
i.scrollParent[0].scrollLeft + o.scrollSpeed;=0A=
				else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)=0A=
					i.scrollParent[0].scrollLeft =3D scrolled =3D =
i.scrollParent[0].scrollLeft - o.scrollSpeed;=0A=
			}=0A=
=0A=
		} else {=0A=
=0A=
			if(!o.axis || o.axis !=3D 'x') {=0A=
				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollTop($(document).scrollTop() - =
o.scrollSpeed);=0A=
				else if($(window).height() - (event.pageY - $(document).scrollTop()) =
< o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollTop($(document).scrollTop() + =
o.scrollSpeed);=0A=
			}=0A=
=0A=
			if(!o.axis || o.axis !=3D 'y') {=0A=
				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollLeft($(document).scrollLeft() - =
o.scrollSpeed);=0A=
				else if($(window).width() - (event.pageX - $(document).scrollLeft()) =
< o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollLeft($(document).scrollLeft() + =
o.scrollSpeed);=0A=
			}=0A=
=0A=
		}=0A=
=0A=
		if(scrolled !=3D=3D false && $.ui.ddmanager && !o.dropBehaviour)=0A=
			$.ui.ddmanager.prepareOffsets(i, event);=0A=
=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "snap", {=0A=
	start: function(event, ui) {=0A=
=0A=
		var i =3D $(this).data("draggable"), o =3D i.options;=0A=
		i.snapElements =3D [];=0A=
=0A=
		$(o.snap.constructor !=3D String ? ( o.snap.items || =
':data(draggable)' ) : o.snap).each(function() {=0A=
			var $t =3D $(this); var $o =3D $t.offset();=0A=
			if(this !=3D i.element[0]) i.snapElements.push({=0A=
				item: this,=0A=
				width: $t.outerWidth(), height: $t.outerHeight(),=0A=
				top: $o.top, left: $o.left=0A=
			});=0A=
		});=0A=
=0A=
	},=0A=
	drag: function(event, ui) {=0A=
=0A=
		var inst =3D $(this).data("draggable"), o =3D inst.options;=0A=
		var d =3D o.snapTolerance;=0A=
=0A=
		var x1 =3D ui.offset.left, x2 =3D x1 + inst.helperProportions.width,=0A=
			y1 =3D ui.offset.top, y2 =3D y1 + inst.helperProportions.height;=0A=
=0A=
		for (var i =3D inst.snapElements.length - 1; i >=3D 0; i--){=0A=
=0A=
			var l =3D inst.snapElements[i].left, r =3D l + =
inst.snapElements[i].width,=0A=
				t =3D inst.snapElements[i].top, b =3D t + =
inst.snapElements[i].height;=0A=
=0A=
			//Yes, I know, this is insane ;)=0A=
			if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && =
x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 =
&& y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) {=0A=
				if(inst.snapElements[i].snapping) (inst.options.snap.release && =
inst.options.snap.release.call(inst.element, event, =
$.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));=0A=
				inst.snapElements[i].snapping =3D false;=0A=
				continue;=0A=
			}=0A=
=0A=
			if(o.snapMode !=3D 'inner') {=0A=
				var ts =3D Math.abs(t - y2) <=3D d;=0A=
				var bs =3D Math.abs(b - y1) <=3D d;=0A=
				var ls =3D Math.abs(l - x2) <=3D d;=0A=
				var rs =3D Math.abs(r - x1) <=3D d;=0A=
				if(ts) ui.position.top =3D inst._convertPositionTo("relative", { =
top: t - inst.helperProportions.height, left: 0 }).top - =
inst.margins.top;=0A=
				if(bs) ui.position.top =3D inst._convertPositionTo("relative", { =
top: b, left: 0 }).top - inst.margins.top;=0A=
				if(ls) ui.position.left =3D inst._convertPositionTo("relative", { =
top: 0, left: l - inst.helperProportions.width }).left - =
inst.margins.left;=0A=
				if(rs) ui.position.left =3D inst._convertPositionTo("relative", { =
top: 0, left: r }).left - inst.margins.left;=0A=
			}=0A=
=0A=
			var first =3D (ts || bs || ls || rs);=0A=
=0A=
			if(o.snapMode !=3D 'outer') {=0A=
				var ts =3D Math.abs(t - y1) <=3D d;=0A=
				var bs =3D Math.abs(b - y2) <=3D d;=0A=
				var ls =3D Math.abs(l - x1) <=3D d;=0A=
				var rs =3D Math.abs(r - x2) <=3D d;=0A=
				if(ts) ui.position.top =3D inst._convertPositionTo("relative", { =
top: t, left: 0 }).top - inst.margins.top;=0A=
				if(bs) ui.position.top =3D inst._convertPositionTo("relative", { =
top: b - inst.helperProportions.height, left: 0 }).top - =
inst.margins.top;=0A=
				if(ls) ui.position.left =3D inst._convertPositionTo("relative", { =
top: 0, left: l }).left - inst.margins.left;=0A=
				if(rs) ui.position.left =3D inst._convertPositionTo("relative", { =
top: 0, left: r - inst.helperProportions.width }).left - =
inst.margins.left;=0A=
			}=0A=
=0A=
			if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first))=0A=
				(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, =
event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item =
})));=0A=
			inst.snapElements[i].snapping =3D (ts || bs || ls || rs || first);=0A=
=0A=
		};=0A=
=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "stack", {=0A=
	start: function(event, ui) {=0A=
=0A=
		var o =3D $(this).data("draggable").options;=0A=
=0A=
		var group =3D $.makeArray($(o.stack)).sort(function(a,b) {=0A=
			return (parseInt($(a).css("zIndex"),10) || 0) - =
(parseInt($(b).css("zIndex"),10) || 0);=0A=
		});=0A=
		if (!group.length) { return; }=0A=
		=0A=
		var min =3D parseInt(group[0].style.zIndex) || 0;=0A=
		$(group).each(function(i) {=0A=
			this.style.zIndex =3D min + i;=0A=
		});=0A=
=0A=
		this[0].style.zIndex =3D min + group.length;=0A=
=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("draggable", "zIndex", {=0A=
	start: function(event, ui) {=0A=
		var t =3D $(ui.helper), o =3D $(this).data("draggable").options;=0A=
		if(t.css("zIndex")) o._zIndex =3D t.css("zIndex");=0A=
		t.css('zIndex', o.zIndex);=0A=
	},=0A=
	stop: function(event, ui) {=0A=
		var o =3D $(this).data("draggable").options;=0A=
		if(o._zIndex) $(ui.helper).css('zIndex', o._zIndex);=0A=
	}=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Droppable 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Droppables=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.draggable.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.droppable", {=0A=
	widgetEventPrefix: "drop",=0A=
	options: {=0A=
		accept: '*',=0A=
		activeClass: false,=0A=
		addClasses: true,=0A=
		greedy: false,=0A=
		hoverClass: false,=0A=
		scope: 'default',=0A=
		tolerance: 'intersect'=0A=
	},=0A=
	_create: function() {=0A=
=0A=
		var o =3D this.options, accept =3D o.accept;=0A=
		this.isover =3D 0; this.isout =3D 1;=0A=
=0A=
		this.accept =3D $.isFunction(accept) ? accept : function(d) {=0A=
			return d.is(accept);=0A=
		};=0A=
=0A=
		//Store the droppable's proportions=0A=
		this.proportions =3D { width: this.element[0].offsetWidth, height: =
this.element[0].offsetHeight };=0A=
=0A=
		// Add the reference and positions to the manager=0A=
		$.ui.ddmanager.droppables[o.scope] =3D =
$.ui.ddmanager.droppables[o.scope] || [];=0A=
		$.ui.ddmanager.droppables[o.scope].push(this);=0A=
=0A=
		(o.addClasses && this.element.addClass("ui-droppable"));=0A=
=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		var drop =3D $.ui.ddmanager.droppables[this.options.scope];=0A=
		for ( var i =3D 0; i < drop.length; i++ )=0A=
			if ( drop[i] =3D=3D this )=0A=
				drop.splice(i, 1);=0A=
=0A=
		this.element=0A=
			.removeClass("ui-droppable ui-droppable-disabled")=0A=
			.removeData("droppable")=0A=
			.unbind(".droppable");=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_setOption: function(key, value) {=0A=
=0A=
		if(key =3D=3D 'accept') {=0A=
			this.accept =3D $.isFunction(value) ? value : function(d) {=0A=
				return d.is(value);=0A=
			};=0A=
		}=0A=
		$.Widget.prototype._setOption.apply(this, arguments);=0A=
	},=0A=
=0A=
	_activate: function(event) {=0A=
		var draggable =3D $.ui.ddmanager.current;=0A=
		if(this.options.activeClass) =
this.element.addClass(this.options.activeClass);=0A=
		(draggable && this._trigger('activate', event, this.ui(draggable)));=0A=
	},=0A=
=0A=
	_deactivate: function(event) {=0A=
		var draggable =3D $.ui.ddmanager.current;=0A=
		if(this.options.activeClass) =
this.element.removeClass(this.options.activeClass);=0A=
		(draggable && this._trigger('deactivate', event, this.ui(draggable)));=0A=
	},=0A=
=0A=
	_over: function(event) {=0A=
=0A=
		var draggable =3D $.ui.ddmanager.current;=0A=
		if (!draggable || (draggable.currentItem || draggable.element)[0] =
=3D=3D this.element[0]) return; // Bail if draggable and droppable are =
same element=0A=
=0A=
		if (this.accept.call(this.element[0],(draggable.currentItem || =
draggable.element))) {=0A=
			if(this.options.hoverClass) =
this.element.addClass(this.options.hoverClass);=0A=
			this._trigger('over', event, this.ui(draggable));=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_out: function(event) {=0A=
=0A=
		var draggable =3D $.ui.ddmanager.current;=0A=
		if (!draggable || (draggable.currentItem || draggable.element)[0] =
=3D=3D this.element[0]) return; // Bail if draggable and droppable are =
same element=0A=
=0A=
		if (this.accept.call(this.element[0],(draggable.currentItem || =
draggable.element))) {=0A=
			if(this.options.hoverClass) =
this.element.removeClass(this.options.hoverClass);=0A=
			this._trigger('out', event, this.ui(draggable));=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_drop: function(event,custom) {=0A=
=0A=
		var draggable =3D custom || $.ui.ddmanager.current;=0A=
		if (!draggable || (draggable.currentItem || draggable.element)[0] =
=3D=3D this.element[0]) return false; // Bail if draggable and droppable =
are same element=0A=
=0A=
		var childrenIntersection =3D false;=0A=
		=
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(=
function() {=0A=
			var inst =3D $.data(this, 'droppable');=0A=
			if(=0A=
				inst.options.greedy=0A=
				&& !inst.options.disabled=0A=
				&& inst.options.scope =3D=3D draggable.options.scope=0A=
				&& inst.accept.call(inst.element[0], (draggable.currentItem || =
draggable.element))=0A=
				&& $.ui.intersect(draggable, $.extend(inst, { offset: =
inst.element.offset() }), inst.options.tolerance)=0A=
			) { childrenIntersection =3D true; return false; }=0A=
		});=0A=
		if(childrenIntersection) return false;=0A=
=0A=
		if(this.accept.call(this.element[0],(draggable.currentItem || =
draggable.element))) {=0A=
			if(this.options.activeClass) =
this.element.removeClass(this.options.activeClass);=0A=
			if(this.options.hoverClass) =
this.element.removeClass(this.options.hoverClass);=0A=
			this._trigger('drop', event, this.ui(draggable));=0A=
			return this.element;=0A=
		}=0A=
=0A=
		return false;=0A=
=0A=
	},=0A=
=0A=
	ui: function(c) {=0A=
		return {=0A=
			draggable: (c.currentItem || c.element),=0A=
			helper: c.helper,=0A=
			position: c.position,=0A=
			offset: c.positionAbs=0A=
		};=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend($.ui.droppable, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
$.ui.intersect =3D function(draggable, droppable, toleranceMode) {=0A=
=0A=
	if (!droppable.offset) return false;=0A=
=0A=
	var x1 =3D (draggable.positionAbs || draggable.position.absolute).left, =
x2 =3D x1 + draggable.helperProportions.width,=0A=
		y1 =3D (draggable.positionAbs || draggable.position.absolute).top, y2 =
=3D y1 + draggable.helperProportions.height;=0A=
	var l =3D droppable.offset.left, r =3D l + droppable.proportions.width,=0A=
		t =3D droppable.offset.top, b =3D t + droppable.proportions.height;=0A=
=0A=
	switch (toleranceMode) {=0A=
		case 'fit':=0A=
			return (l <=3D x1 && x2 <=3D r=0A=
				&& t <=3D y1 && y2 <=3D b);=0A=
			break;=0A=
		case 'intersect':=0A=
			return (l < x1 + (draggable.helperProportions.width / 2) // Right Half=0A=
				&& x2 - (draggable.helperProportions.width / 2) < r // Left Half=0A=
				&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half=0A=
				&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half=0A=
			break;=0A=
		case 'pointer':=0A=
			var draggableLeft =3D ((draggable.positionAbs || =
draggable.position.absolute).left + (draggable.clickOffset || =
draggable.offset.click).left),=0A=
				draggableTop =3D ((draggable.positionAbs || =
draggable.position.absolute).top + (draggable.clickOffset || =
draggable.offset.click).top),=0A=
				isOver =3D $.ui.isOver(draggableTop, draggableLeft, t, l, =
droppable.proportions.height, droppable.proportions.width);=0A=
			return isOver;=0A=
			break;=0A=
		case 'touch':=0A=
			return (=0A=
					(y1 >=3D t && y1 <=3D b) ||	// Top edge touching=0A=
					(y2 >=3D t && y2 <=3D b) ||	// Bottom edge touching=0A=
					(y1 < t && y2 > b)		// Surrounded vertically=0A=
				) && (=0A=
					(x1 >=3D l && x1 <=3D r) ||	// Left edge touching=0A=
					(x2 >=3D l && x2 <=3D r) ||	// Right edge touching=0A=
					(x1 < l && x2 > r)		// Surrounded horizontally=0A=
				);=0A=
			break;=0A=
		default:=0A=
			return false;=0A=
			break;=0A=
		}=0A=
=0A=
};=0A=
=0A=
/*=0A=
	This manager tracks offsets of draggables and droppables=0A=
*/=0A=
$.ui.ddmanager =3D {=0A=
	current: null,=0A=
	droppables: { 'default': [] },=0A=
	prepareOffsets: function(t, event) {=0A=
=0A=
		var m =3D $.ui.ddmanager.droppables[t.options.scope] || [];=0A=
		var type =3D event ? event.type : null; // workaround for #2317=0A=
		var list =3D (t.currentItem || =
t.element).find(":data(droppable)").andSelf();=0A=
=0A=
		droppablesLoop: for (var i =3D 0; i < m.length; i++) {=0A=
=0A=
			if(m[i].options.disabled || (t && =
!m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) =
continue;	//No disabled and non-accepted=0A=
			for (var j=3D0; j < list.length; j++) { if(list[j] =3D=3D =
m[i].element[0]) { m[i].proportions.height =3D 0; continue =
droppablesLoop; } }; //Filter out elements in the current dragged item=0A=
			m[i].visible =3D m[i].element.css("display") !=3D "none"; =
if(!m[i].visible) continue; 									//If the element is not visible, =
continue=0A=
=0A=
			m[i].offset =3D m[i].element.offset();=0A=
			m[i].proportions =3D { width: m[i].element[0].offsetWidth, height: =
m[i].element[0].offsetHeight };=0A=
=0A=
			if(type =3D=3D "mousedown") m[i]._activate.call(m[i], event); =
//Activate the droppable if used directly from draggables=0A=
=0A=
		}=0A=
=0A=
	},=0A=
	drop: function(draggable, event) {=0A=
=0A=
		var dropped =3D false;=0A=
		$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], =
function() {=0A=
=0A=
			if(!this.options) return;=0A=
			if (!this.options.disabled && this.visible && =
$.ui.intersect(draggable, this, this.options.tolerance))=0A=
				dropped =3D dropped || this._drop.call(this, event);=0A=
=0A=
			if (!this.options.disabled && this.visible && =
this.accept.call(this.element[0],(draggable.currentItem || =
draggable.element))) {=0A=
				this.isout =3D 1; this.isover =3D 0;=0A=
				this._deactivate.call(this, event);=0A=
			}=0A=
=0A=
		});=0A=
		return dropped;=0A=
=0A=
	},=0A=
	drag: function(draggable, event) {=0A=
=0A=
		//If you have a highly dynamic page, you might try this option. It =
renders positions every time you move the mouse.=0A=
		if(draggable.options.refreshPositions) =
$.ui.ddmanager.prepareOffsets(draggable, event);=0A=
=0A=
		//Run through all droppables and check their positions based on =
specific tolerance options=0A=
		$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], =
function() {=0A=
=0A=
			if(this.options.disabled || this.greedyChild || !this.visible) return;=0A=
			var intersects =3D $.ui.intersect(draggable, this, =
this.options.tolerance);=0A=
=0A=
			var c =3D !intersects && this.isover =3D=3D 1 ? 'isout' : (intersects =
&& this.isover =3D=3D 0 ? 'isover' : null);=0A=
			if(!c) return;=0A=
=0A=
			var parentInstance;=0A=
			if (this.options.greedy) {=0A=
				var parent =3D this.element.parents(':data(droppable):eq(0)');=0A=
				if (parent.length) {=0A=
					parentInstance =3D $.data(parent[0], 'droppable');=0A=
					parentInstance.greedyChild =3D (c =3D=3D 'isover' ? 1 : 0);=0A=
				}=0A=
			}=0A=
=0A=
			// we just moved into a greedy child=0A=
			if (parentInstance && c =3D=3D 'isover') {=0A=
				parentInstance['isover'] =3D 0;=0A=
				parentInstance['isout'] =3D 1;=0A=
				parentInstance._out.call(parentInstance, event);=0A=
			}=0A=
=0A=
			this[c] =3D 1; this[c =3D=3D 'isout' ? 'isover' : 'isout'] =3D 0;=0A=
			this[c =3D=3D "isover" ? "_over" : "_out"].call(this, event);=0A=
=0A=
			// we just moved out of a greedy child=0A=
			if (parentInstance && c =3D=3D 'isout') {=0A=
				parentInstance['isout'] =3D 0;=0A=
				parentInstance['isover'] =3D 1;=0A=
				parentInstance._over.call(parentInstance, event);=0A=
			}=0A=
		});=0A=
=0A=
	}=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Resizable 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Resizables=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.resizable", $.ui.mouse, {=0A=
	widgetEventPrefix: "resize",=0A=
	options: {=0A=
		alsoResize: false,=0A=
		animate: false,=0A=
		animateDuration: "slow",=0A=
		animateEasing: "swing",=0A=
		aspectRatio: false,=0A=
		autoHide: false,=0A=
		containment: false,=0A=
		ghost: false,=0A=
		grid: false,=0A=
		handles: "e,s,se",=0A=
		helper: false,=0A=
		maxHeight: null,=0A=
		maxWidth: null,=0A=
		minHeight: 10,=0A=
		minWidth: 10,=0A=
		zIndex: 1000=0A=
	},=0A=
	_create: function() {=0A=
=0A=
		var self =3D this, o =3D this.options;=0A=
		this.element.addClass("ui-resizable");=0A=
=0A=
		$.extend(this, {=0A=
			_aspectRatio: !!(o.aspectRatio),=0A=
			aspectRatio: o.aspectRatio,=0A=
			originalElement: this.element,=0A=
			_proportionallyResizeElements: [],=0A=
			_helper: o.helper || o.ghost || o.animate ? o.helper || =
'ui-resizable-helper' : null=0A=
		});=0A=
=0A=
		//Wrap the element if it cannot hold child nodes=0A=
		=
if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|im=
g/i)) {=0A=
=0A=
			//Opera fix for relative positioning=0A=
			if (/relative/.test(this.element.css('position')) && $.browser.opera)=0A=
				this.element.css({ position: 'relative', top: 'auto', left: 'auto' =
});=0A=
=0A=
			//Create a wrapper element and set the wrapper to the new current =
internal element=0A=
			this.element.wrap(=0A=
				$('<div class=3D"ui-wrapper" style=3D"overflow: =
hidden;"></div>').css({=0A=
					position: this.element.css('position'),=0A=
					width: this.element.outerWidth(),=0A=
					height: this.element.outerHeight(),=0A=
					top: this.element.css('top'),=0A=
					left: this.element.css('left')=0A=
				})=0A=
			);=0A=
=0A=
			//Overwrite the original this.element=0A=
			this.element =3D this.element.parent().data(=0A=
				"resizable", this.element.data('resizable')=0A=
			);=0A=
=0A=
			this.elementIsWrapper =3D true;=0A=
=0A=
			//Move margins to the wrapper=0A=
			this.element.css({ marginLeft: =
this.originalElement.css("marginLeft"), marginTop: =
this.originalElement.css("marginTop"), marginRight: =
this.originalElement.css("marginRight"), marginBottom: =
this.originalElement.css("marginBottom") });=0A=
			this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: =
0, marginBottom: 0});=0A=
=0A=
			//Prevent Safari textarea resize=0A=
			this.originalResizeStyle =3D this.originalElement.css('resize');=0A=
			this.originalElement.css('resize', 'none');=0A=
=0A=
			//Push the actual element to our proportionallyResize internal array=0A=
			this._proportionallyResizeElements.push(this.originalElement.css({ =
position: 'static', zoom: 1, display: 'block' }));=0A=
=0A=
			// avoid IE jump (hard set the margin)=0A=
			this.originalElement.css({ margin: this.originalElement.css('margin') =
});=0A=
=0A=
			// fix handlers offset=0A=
			this._proportionallyResize();=0A=
=0A=
		}=0A=
=0A=
		this.handles =3D o.handles || (!$('.ui-resizable-handle', =
this.element).length ? "e,s,se" : { n: '.ui-resizable-n', e: =
'.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: =
'.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: =
'.ui-resizable-nw' });=0A=
		if(this.handles.constructor =3D=3D String) {=0A=
=0A=
			if(this.handles =3D=3D 'all') this.handles =3D 'n,e,s,w,se,sw,ne,nw';=0A=
			var n =3D this.handles.split(","); this.handles =3D {};=0A=
=0A=
			for(var i =3D 0; i < n.length; i++) {=0A=
=0A=
				var handle =3D $.trim(n[i]), hname =3D 'ui-resizable-'+handle;=0A=
				var axis =3D $('<div class=3D"ui-resizable-handle ' + hname + =
'"></div>');=0A=
=0A=
				// increase zIndex of sw, se, ne, nw axis=0A=
				//TODO : this modifies original option=0A=
				if(/sw|se|ne|nw/.test(handle)) axis.css({ zIndex: ++o.zIndex });=0A=
=0A=
				//TODO : What's going on here?=0A=
				if ('se' =3D=3D handle) {=0A=
					axis.addClass('ui-icon ui-icon-gripsmall-diagonal-se');=0A=
				};=0A=
=0A=
				//Insert into internal handles object and append to element=0A=
				this.handles[handle] =3D '.ui-resizable-'+handle;=0A=
				this.element.append(axis);=0A=
			}=0A=
=0A=
		}=0A=
=0A=
		this._renderAxis =3D function(target) {=0A=
=0A=
			target =3D target || this.element;=0A=
=0A=
			for(var i in this.handles) {=0A=
=0A=
				if(this.handles[i].constructor =3D=3D String)=0A=
					this.handles[i] =3D $(this.handles[i], this.element).show();=0A=
=0A=
				//Apply pad to wrapper element, needed to fix axis position =
(textarea, inputs, scrolls)=0A=
				if (this.elementIsWrapper && =
this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) =
{=0A=
=0A=
					var axis =3D $(this.handles[i], this.element), padWrapper =3D 0;=0A=
=0A=
					//Checking the correct pad and border=0A=
					padWrapper =3D /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : =
axis.outerWidth();=0A=
=0A=
					//The padding type i have to apply...=0A=
					var padPos =3D [ 'padding',=0A=
						/ne|nw|n/.test(i) ? 'Top' :=0A=
						/se|sw|s/.test(i) ? 'Bottom' :=0A=
						/^e$/.test(i) ? 'Right' : 'Left' ].join("");=0A=
=0A=
					target.css(padPos, padWrapper);=0A=
=0A=
					this._proportionallyResize();=0A=
=0A=
				}=0A=
=0A=
				//TODO: What's that good for? There's not anything to be executed =
left=0A=
				if(!$(this.handles[i]).length)=0A=
					continue;=0A=
=0A=
			}=0A=
		};=0A=
=0A=
		//TODO: make renderAxis a prototype function=0A=
		this._renderAxis(this.element);=0A=
=0A=
		this._handles =3D $('.ui-resizable-handle', this.element)=0A=
			.disableSelection();=0A=
=0A=
		//Matching axis name=0A=
		this._handles.mouseover(function() {=0A=
			if (!self.resizing) {=0A=
				if (this.className)=0A=
					var axis =3D =
this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);=0A=
				//Axis, default =3D se=0A=
				self.axis =3D axis && axis[1] ? axis[1] : 'se';=0A=
			}=0A=
		});=0A=
=0A=
		//If we want to auto hide the elements=0A=
		if (o.autoHide) {=0A=
			this._handles.hide();=0A=
			$(this.element)=0A=
				.addClass("ui-resizable-autohide")=0A=
				.hover(function() {=0A=
					$(this).removeClass("ui-resizable-autohide");=0A=
					self._handles.show();=0A=
				},=0A=
				function(){=0A=
					if (!self.resizing) {=0A=
						$(this).addClass("ui-resizable-autohide");=0A=
						self._handles.hide();=0A=
					}=0A=
				});=0A=
		}=0A=
=0A=
		//Initialize the mouse interaction=0A=
		this._mouseInit();=0A=
=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
=0A=
		this._mouseDestroy();=0A=
=0A=
		var _destroy =3D function(exp) {=0A=
			$(exp).removeClass("ui-resizable ui-resizable-disabled =
ui-resizable-resizing")=0A=
				=
.removeData("resizable").unbind(".resizable").find('.ui-resizable-handle'=
).remove();=0A=
		};=0A=
=0A=
		//TODO: Unwrap at same DOM position=0A=
		if (this.elementIsWrapper) {=0A=
			_destroy(this.element);=0A=
			var wrapper =3D this.element;=0A=
			wrapper.after(=0A=
				this.originalElement.css({=0A=
					position: wrapper.css('position'),=0A=
					width: wrapper.outerWidth(),=0A=
					height: wrapper.outerHeight(),=0A=
					top: wrapper.css('top'),=0A=
					left: wrapper.css('left')=0A=
				})=0A=
			).remove();=0A=
		}=0A=
=0A=
		this.originalElement.css('resize', this.originalResizeStyle);=0A=
		_destroy(this.originalElement);=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_mouseCapture: function(event) {=0A=
		var handle =3D false;=0A=
		for (var i in this.handles) {=0A=
			if ($(this.handles[i])[0] =3D=3D event.target) {=0A=
				handle =3D true;=0A=
			}=0A=
		}=0A=
=0A=
		return !this.options.disabled && handle;=0A=
	},=0A=
=0A=
	_mouseStart: function(event) {=0A=
=0A=
		var o =3D this.options, iniPos =3D this.element.position(), el =3D =
this.element;=0A=
=0A=
		this.resizing =3D true;=0A=
		this.documentScroll =3D { top: $(document).scrollTop(), left: =
$(document).scrollLeft() };=0A=
=0A=
		// bugfix for http://dev.jquery.com/ticket/1749=0A=
		if (el.is('.ui-draggable') || (/absolute/).test(el.css('position'))) {=0A=
			el.css({ position: 'absolute', top: iniPos.top, left: iniPos.left });=0A=
		}=0A=
=0A=
		//Opera fixing relative position=0A=
		if ($.browser.opera && (/relative/).test(el.css('position')))=0A=
			el.css({ position: 'relative', top: 'auto', left: 'auto' });=0A=
=0A=
		this._renderProxy();=0A=
=0A=
		var curleft =3D num(this.helper.css('left')), curtop =3D =
num(this.helper.css('top'));=0A=
=0A=
		if (o.containment) {=0A=
			curleft +=3D $(o.containment).scrollLeft() || 0;=0A=
			curtop +=3D $(o.containment).scrollTop() || 0;=0A=
		}=0A=
=0A=
		//Store needed variables=0A=
		this.offset =3D this.helper.offset();=0A=
		this.position =3D { left: curleft, top: curtop };=0A=
		this.size =3D this._helper ? { width: el.outerWidth(), height: =
el.outerHeight() } : { width: el.width(), height: el.height() };=0A=
		this.originalSize =3D this._helper ? { width: el.outerWidth(), height: =
el.outerHeight() } : { width: el.width(), height: el.height() };=0A=
		this.originalPosition =3D { left: curleft, top: curtop };=0A=
		this.sizeDiff =3D { width: el.outerWidth() - el.width(), height: =
el.outerHeight() - el.height() };=0A=
		this.originalMousePosition =3D { left: event.pageX, top: event.pageY };=0A=
=0A=
		//Aspect Ratio=0A=
		this.aspectRatio =3D (typeof o.aspectRatio =3D=3D 'number') ? =
o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || =
1);=0A=
=0A=
	    var cursor =3D $('.ui-resizable-' + this.axis).css('cursor');=0A=
	    $('body').css('cursor', cursor =3D=3D 'auto' ? this.axis + =
'-resize' : cursor);=0A=
=0A=
		el.addClass("ui-resizable-resizing");=0A=
		this._propagate("start", event);=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseDrag: function(event) {=0A=
=0A=
		//Increase performance, avoid regex=0A=
		var el =3D this.helper, o =3D this.options, props =3D {},=0A=
			self =3D this, smp =3D this.originalMousePosition, a =3D this.axis;=0A=
=0A=
		var dx =3D (event.pageX-smp.left)||0, dy =3D (event.pageY-smp.top)||0;=0A=
		var trigger =3D this._change[a];=0A=
		if (!trigger) return false;=0A=
=0A=
		// Calculate the attrs that will be change=0A=
		var data =3D trigger.apply(this, [event, dx, dy]), ie6 =3D =
$.browser.msie && $.browser.version < 7, csdif =3D this.sizeDiff;=0A=
=0A=
		if (this._aspectRatio || event.shiftKey)=0A=
			data =3D this._updateRatio(data, event);=0A=
=0A=
		data =3D this._respectSize(data, event);=0A=
=0A=
		// plugins callbacks need to be called first=0A=
		this._propagate("resize", event);=0A=
=0A=
		el.css({=0A=
			top: this.position.top + "px", left: this.position.left + "px",=0A=
			width: this.size.width + "px", height: this.size.height + "px"=0A=
		});=0A=
=0A=
		if (!this._helper && this._proportionallyResizeElements.length)=0A=
			this._proportionallyResize();=0A=
=0A=
		this._updateCache(data);=0A=
=0A=
		// calling the user callback at the end=0A=
		this._trigger('resize', event, this.ui());=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseStop: function(event) {=0A=
=0A=
		this.resizing =3D false;=0A=
		var o =3D this.options, self =3D this;=0A=
=0A=
		if(this._helper) {=0A=
			var pr =3D this._proportionallyResizeElements, ista =3D pr.length && =
(/textarea/i).test(pr[0].nodeName),=0A=
				soffseth =3D ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump =
height */ ? 0 : self.sizeDiff.height,=0A=
				soffsetw =3D ista ? 0 : self.sizeDiff.width;=0A=
=0A=
			var s =3D { width: (self.helper.width()  - soffsetw), height: =
(self.helper.height() - soffseth) },=0A=
				left =3D (parseInt(self.element.css('left'), 10) + =
(self.position.left - self.originalPosition.left)) || null,=0A=
				top =3D (parseInt(self.element.css('top'), 10) + (self.position.top =
- self.originalPosition.top)) || null;=0A=
=0A=
			if (!o.animate)=0A=
				this.element.css($.extend(s, { top: top, left: left }));=0A=
=0A=
			self.helper.height(self.size.height);=0A=
			self.helper.width(self.size.width);=0A=
=0A=
			if (this._helper && !o.animate) this._proportionallyResize();=0A=
		}=0A=
=0A=
		$('body').css('cursor', 'auto');=0A=
=0A=
		this.element.removeClass("ui-resizable-resizing");=0A=
=0A=
		this._propagate("stop", event);=0A=
=0A=
		if (this._helper) this.helper.remove();=0A=
		return false;=0A=
=0A=
	},=0A=
=0A=
	_updateCache: function(data) {=0A=
		var o =3D this.options;=0A=
		this.offset =3D this.helper.offset();=0A=
		if (isNumber(data.left)) this.position.left =3D data.left;=0A=
		if (isNumber(data.top)) this.position.top =3D data.top;=0A=
		if (isNumber(data.height)) this.size.height =3D data.height;=0A=
		if (isNumber(data.width)) this.size.width =3D data.width;=0A=
	},=0A=
=0A=
	_updateRatio: function(data, event) {=0A=
=0A=
		var o =3D this.options, cpos =3D this.position, csize =3D this.size, a =
=3D this.axis;=0A=
=0A=
		if (data.height) data.width =3D (csize.height * this.aspectRatio);=0A=
		else if (data.width) data.height =3D (csize.width / this.aspectRatio);=0A=
=0A=
		if (a =3D=3D 'sw') {=0A=
			data.left =3D cpos.left + (csize.width - data.width);=0A=
			data.top =3D null;=0A=
		}=0A=
		if (a =3D=3D 'nw') {=0A=
			data.top =3D cpos.top + (csize.height - data.height);=0A=
			data.left =3D cpos.left + (csize.width - data.width);=0A=
		}=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	_respectSize: function(data, event) {=0A=
=0A=
		var el =3D this.helper, o =3D this.options, pRatio =3D =
this._aspectRatio || event.shiftKey, a =3D this.axis,=0A=
				ismaxw =3D isNumber(data.width) && o.maxWidth && (o.maxWidth < =
data.width), ismaxh =3D isNumber(data.height) && o.maxHeight && =
(o.maxHeight < data.height),=0A=
					isminw =3D isNumber(data.width) && o.minWidth && (o.minWidth > =
data.width), isminh =3D isNumber(data.height) && o.minHeight && =
(o.minHeight > data.height);=0A=
=0A=
		if (isminw) data.width =3D o.minWidth;=0A=
		if (isminh) data.height =3D o.minHeight;=0A=
		if (ismaxw) data.width =3D o.maxWidth;=0A=
		if (ismaxh) data.height =3D o.maxHeight;=0A=
=0A=
		var dw =3D this.originalPosition.left + this.originalSize.width, dh =
=3D this.position.top + this.size.height;=0A=
		var cw =3D /sw|nw|w/.test(a), ch =3D /nw|ne|n/.test(a);=0A=
=0A=
		if (isminw && cw) data.left =3D dw - o.minWidth;=0A=
		if (ismaxw && cw) data.left =3D dw - o.maxWidth;=0A=
		if (isminh && ch)	data.top =3D dh - o.minHeight;=0A=
		if (ismaxh && ch)	data.top =3D dh - o.maxHeight;=0A=
=0A=
		// fixing jump error on top/left - bug #2330=0A=
		var isNotwh =3D !data.width && !data.height;=0A=
		if (isNotwh && !data.left && data.top) data.top =3D null;=0A=
		else if (isNotwh && !data.top && data.left) data.left =3D null;=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	_proportionallyResize: function() {=0A=
=0A=
		var o =3D this.options;=0A=
		if (!this._proportionallyResizeElements.length) return;=0A=
		var element =3D this.helper || this.element;=0A=
=0A=
		for (var i=3D0; i < this._proportionallyResizeElements.length; i++) {=0A=
=0A=
			var prel =3D this._proportionallyResizeElements[i];=0A=
=0A=
			if (!this.borderDif) {=0A=
				var b =3D [prel.css('borderTopWidth'), prel.css('borderRightWidth'), =
prel.css('borderBottomWidth'), prel.css('borderLeftWidth')],=0A=
					p =3D [prel.css('paddingTop'), prel.css('paddingRight'), =
prel.css('paddingBottom'), prel.css('paddingLeft')];=0A=
=0A=
				this.borderDif =3D $.map(b, function(v, i) {=0A=
					var border =3D parseInt(v,10)||0, padding =3D parseInt(p[i],10)||0;=0A=
					return border + padding;=0A=
				});=0A=
			}=0A=
=0A=
			if ($.browser.msie && !(!($(element).is(':hidden') || =
$(element).parents(':hidden').length)))=0A=
				continue;=0A=
=0A=
			prel.css({=0A=
				height: (element.height() - this.borderDif[0] - this.borderDif[2]) =
|| 0,=0A=
				width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0=0A=
			});=0A=
=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_renderProxy: function() {=0A=
=0A=
		var el =3D this.element, o =3D this.options;=0A=
		this.elementOffset =3D el.offset();=0A=
=0A=
		if(this._helper) {=0A=
=0A=
			this.helper =3D this.helper || $('<div =
style=3D"overflow:hidden;"></div>');=0A=
=0A=
			// fix ie6 offset TODO: This seems broken=0A=
			var ie6 =3D $.browser.msie && $.browser.version < 7, ie6offset =3D =
(ie6 ? 1 : 0),=0A=
			pxyoffset =3D ( ie6 ? 2 : -1 );=0A=
=0A=
			this.helper.addClass(this._helper).css({=0A=
				width: this.element.outerWidth() + pxyoffset,=0A=
				height: this.element.outerHeight() + pxyoffset,=0A=
				position: 'absolute',=0A=
				left: this.elementOffset.left - ie6offset +'px',=0A=
				top: this.elementOffset.top - ie6offset +'px',=0A=
				zIndex: ++o.zIndex //TODO: Don't modify option=0A=
			});=0A=
=0A=
			this.helper=0A=
				.appendTo("body")=0A=
				.disableSelection();=0A=
=0A=
		} else {=0A=
			this.helper =3D this.element;=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_change: {=0A=
		e: function(event, dx, dy) {=0A=
			return { width: this.originalSize.width + dx };=0A=
		},=0A=
		w: function(event, dx, dy) {=0A=
			var o =3D this.options, cs =3D this.originalSize, sp =3D =
this.originalPosition;=0A=
			return { left: sp.left + dx, width: cs.width - dx };=0A=
		},=0A=
		n: function(event, dx, dy) {=0A=
			var o =3D this.options, cs =3D this.originalSize, sp =3D =
this.originalPosition;=0A=
			return { top: sp.top + dy, height: cs.height - dy };=0A=
		},=0A=
		s: function(event, dx, dy) {=0A=
			return { height: this.originalSize.height + dy };=0A=
		},=0A=
		se: function(event, dx, dy) {=0A=
			return $.extend(this._change.s.apply(this, arguments), =
this._change.e.apply(this, [event, dx, dy]));=0A=
		},=0A=
		sw: function(event, dx, dy) {=0A=
			return $.extend(this._change.s.apply(this, arguments), =
this._change.w.apply(this, [event, dx, dy]));=0A=
		},=0A=
		ne: function(event, dx, dy) {=0A=
			return $.extend(this._change.n.apply(this, arguments), =
this._change.e.apply(this, [event, dx, dy]));=0A=
		},=0A=
		nw: function(event, dx, dy) {=0A=
			return $.extend(this._change.n.apply(this, arguments), =
this._change.w.apply(this, [event, dx, dy]));=0A=
		}=0A=
	},=0A=
=0A=
	_propagate: function(n, event) {=0A=
		$.ui.plugin.call(this, n, [event, this.ui()]);=0A=
		(n !=3D "resize" && this._trigger(n, event, this.ui()));=0A=
	},=0A=
=0A=
	plugins: {},=0A=
=0A=
	ui: function() {=0A=
		return {=0A=
			originalElement: this.originalElement,=0A=
			element: this.element,=0A=
			helper: this.helper,=0A=
			position: this.position,=0A=
			size: this.size,=0A=
			originalSize: this.originalSize,=0A=
			originalPosition: this.originalPosition=0A=
		};=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend($.ui.resizable, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
/*=0A=
 * Resizable Extensions=0A=
 */=0A=
=0A=
$.ui.plugin.add("resizable", "alsoResize", {=0A=
=0A=
	start: function (event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options;=0A=
=0A=
		var _store =3D function (exp) {=0A=
			$(exp).each(function() {=0A=
				var el =3D $(this);=0A=
				el.data("resizable-alsoresize", {=0A=
					width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),=0A=
					left: parseInt(el.css('left'), 10), top: parseInt(el.css('top'), =
10),=0A=
					position: el.css('position') // to reset Opera on stop()=0A=
				});=0A=
			});=0A=
		};=0A=
=0A=
		if (typeof(o.alsoResize) =3D=3D 'object' && !o.alsoResize.parentNode) {=0A=
			if (o.alsoResize.length) { o.alsoResize =3D o.alsoResize[0]; =
_store(o.alsoResize); }=0A=
			else { $.each(o.alsoResize, function (exp) { _store(exp); }); }=0A=
		}else{=0A=
			_store(o.alsoResize);=0A=
		}=0A=
	},=0A=
=0A=
	resize: function (event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options, os =3D =
self.originalSize, op =3D self.originalPosition;=0A=
=0A=
		var delta =3D {=0A=
			height: (self.size.height - os.height) || 0, width: (self.size.width =
- os.width) || 0,=0A=
			top: (self.position.top - op.top) || 0, left: (self.position.left - =
op.left) || 0=0A=
		},=0A=
=0A=
		_alsoResize =3D function (exp, c) {=0A=
			$(exp).each(function() {=0A=
				var el =3D $(this), start =3D $(this).data("resizable-alsoresize"), =
style =3D {}, =0A=
					css =3D c && c.length ? c : =
el.parents(ui.originalElement[0]).length ? ['width', 'height'] : =
['width', 'height', 'top', 'left'];=0A=
=0A=
				$.each(css, function (i, prop) {=0A=
					var sum =3D (start[prop]||0) + (delta[prop]||0);=0A=
					if (sum && sum >=3D 0)=0A=
						style[prop] =3D sum || null;=0A=
				});=0A=
=0A=
				// Opera fixing relative position=0A=
				if ($.browser.opera && /relative/.test(el.css('position'))) {=0A=
					self._revertToRelativePosition =3D true;=0A=
					el.css({ position: 'absolute', top: 'auto', left: 'auto' });=0A=
				}=0A=
=0A=
				el.css(style);=0A=
			});=0A=
		};=0A=
=0A=
		if (typeof(o.alsoResize) =3D=3D 'object' && !o.alsoResize.nodeType) {=0A=
			$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });=0A=
		}else{=0A=
			_alsoResize(o.alsoResize);=0A=
		}=0A=
	},=0A=
=0A=
	stop: function (event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options;=0A=
=0A=
		var _reset =3D function (exp) {=0A=
			$(exp).each(function() {=0A=
				var el =3D $(this);=0A=
				// reset position for Opera - no need to verify it was changed=0A=
				el.css({ position: el.data("resizable-alsoresize").position });=0A=
			});=0A=
		};=0A=
=0A=
		if (self._revertToRelativePosition) {=0A=
			self._revertToRelativePosition =3D false;=0A=
			if (typeof(o.alsoResize) =3D=3D 'object' && !o.alsoResize.nodeType) {=0A=
				$.each(o.alsoResize, function (exp) { _reset(exp); });=0A=
			}else{=0A=
				_reset(o.alsoResize);=0A=
			}=0A=
		}=0A=
=0A=
		$(this).removeData("resizable-alsoresize");=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("resizable", "animate", {=0A=
=0A=
	stop: function(event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options;=0A=
=0A=
		var pr =3D self._proportionallyResizeElements, ista =3D pr.length && =
(/textarea/i).test(pr[0].nodeName),=0A=
					soffseth =3D ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump =
height */ ? 0 : self.sizeDiff.height,=0A=
						soffsetw =3D ista ? 0 : self.sizeDiff.width;=0A=
=0A=
		var style =3D { width: (self.size.width - soffsetw), height: =
(self.size.height - soffseth) },=0A=
					left =3D (parseInt(self.element.css('left'), 10) + =
(self.position.left - self.originalPosition.left)) || null,=0A=
						top =3D (parseInt(self.element.css('top'), 10) + =
(self.position.top - self.originalPosition.top)) || null;=0A=
=0A=
		self.element.animate(=0A=
			$.extend(style, top && left ? { top: top, left: left } : {}), {=0A=
				duration: o.animateDuration,=0A=
				easing: o.animateEasing,=0A=
				step: function() {=0A=
=0A=
					var data =3D {=0A=
						width: parseInt(self.element.css('width'), 10),=0A=
						height: parseInt(self.element.css('height'), 10),=0A=
						top: parseInt(self.element.css('top'), 10),=0A=
						left: parseInt(self.element.css('left'), 10)=0A=
					};=0A=
=0A=
					if (pr && pr.length) $(pr[0]).css({ width: data.width, height: =
data.height });=0A=
=0A=
					// propagating resize, and updating values for each animation step=0A=
					self._updateCache(data);=0A=
					self._propagate("resize", event);=0A=
=0A=
				}=0A=
			}=0A=
		);=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.ui.plugin.add("resizable", "containment", {=0A=
=0A=
	start: function(event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options, el =3D =
self.element;=0A=
		var oc =3D o.containment,	ce =3D (oc instanceof $) ? oc.get(0) : =
(/parent/.test(oc)) ? el.parent().get(0) : oc;=0A=
		if (!ce) return;=0A=
=0A=
		self.containerElement =3D $(ce);=0A=
=0A=
		if (/document/.test(oc) || oc =3D=3D document) {=0A=
			self.containerOffset =3D { left: 0, top: 0 };=0A=
			self.containerPosition =3D { left: 0, top: 0 };=0A=
=0A=
			self.parentData =3D {=0A=
				element: $(document), left: 0, top: 0,=0A=
				width: $(document).width(), height: $(document).height() || =
document.body.parentNode.scrollHeight=0A=
			};=0A=
		}=0A=
=0A=
		// i'm a node, so compute top, left, right, bottom=0A=
		else {=0A=
			var element =3D $(ce), p =3D [];=0A=
			$([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] =
=3D num(element.css("padding" + name)); });=0A=
=0A=
			self.containerOffset =3D element.offset();=0A=
			self.containerPosition =3D element.position();=0A=
			self.containerSize =3D { height: (element.innerHeight() - p[3]), =
width: (element.innerWidth() - p[1]) };=0A=
=0A=
			var co =3D self.containerOffset, ch =3D self.containerSize.height,	cw =
=3D self.containerSize.width,=0A=
						width =3D ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw ), =
height =3D ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);=0A=
=0A=
			self.parentData =3D {=0A=
				element: ce, left: co.left, top: co.top, width: width, height: height=0A=
			};=0A=
		}=0A=
	},=0A=
=0A=
	resize: function(event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options,=0A=
				ps =3D self.containerSize, co =3D self.containerOffset, cs =3D =
self.size, cp =3D self.position,=0A=
				pRatio =3D self._aspectRatio || event.shiftKey, cop =3D { top:0, =
left:0 }, ce =3D self.containerElement;=0A=
=0A=
		if (ce[0] !=3D document && (/static/).test(ce.css('position'))) cop =
=3D co;=0A=
=0A=
		if (cp.left < (self._helper ? co.left : 0)) {=0A=
			self.size.width =3D self.size.width + (self._helper ? =
(self.position.left - co.left) : (self.position.left - cop.left));=0A=
			if (pRatio) self.size.height =3D self.size.width / o.aspectRatio;=0A=
			self.position.left =3D o.helper ? co.left : 0;=0A=
		}=0A=
=0A=
		if (cp.top < (self._helper ? co.top : 0)) {=0A=
			self.size.height =3D self.size.height + (self._helper ? =
(self.position.top - co.top) : self.position.top);=0A=
			if (pRatio) self.size.width =3D self.size.height * o.aspectRatio;=0A=
			self.position.top =3D self._helper ? co.top : 0;=0A=
		}=0A=
=0A=
		self.offset.left =3D self.parentData.left+self.position.left;=0A=
		self.offset.top =3D self.parentData.top+self.position.top;=0A=
=0A=
		var woset =3D Math.abs( (self._helper ? self.offset.left - cop.left : =
(self.offset.left - cop.left)) + self.sizeDiff.width ),=0A=
					hoset =3D Math.abs( (self._helper ? self.offset.top - cop.top : =
(self.offset.top - co.top)) + self.sizeDiff.height );=0A=
=0A=
		var isParent =3D self.containerElement.get(0) =3D=3D =
self.element.parent().get(0),=0A=
		    isOffsetRelative =3D =
/relative|absolute/.test(self.containerElement.css('position'));=0A=
=0A=
		if(isParent && isOffsetRelative) woset -=3D self.parentData.left;=0A=
=0A=
		if (woset + self.size.width >=3D self.parentData.width) {=0A=
			self.size.width =3D self.parentData.width - woset;=0A=
			if (pRatio) self.size.height =3D self.size.width / self.aspectRatio;=0A=
		}=0A=
=0A=
		if (hoset + self.size.height >=3D self.parentData.height) {=0A=
			self.size.height =3D self.parentData.height - hoset;=0A=
			if (pRatio) self.size.width =3D self.size.height * self.aspectRatio;=0A=
		}=0A=
	},=0A=
=0A=
	stop: function(event, ui){=0A=
		var self =3D $(this).data("resizable"), o =3D self.options, cp =3D =
self.position,=0A=
				co =3D self.containerOffset, cop =3D self.containerPosition, ce =3D =
self.containerElement;=0A=
=0A=
		var helper =3D $(self.helper), ho =3D helper.offset(), w =3D =
helper.outerWidth() - self.sizeDiff.width, h =3D helper.outerHeight() - =
self.sizeDiff.height;=0A=
=0A=
		if (self._helper && !o.animate && =
(/relative/).test(ce.css('position')))=0A=
			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h =
});=0A=
=0A=
		if (self._helper && !o.animate && (/static/).test(ce.css('position')))=0A=
			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h =
});=0A=
=0A=
	}=0A=
});=0A=
=0A=
$.ui.plugin.add("resizable", "ghost", {=0A=
=0A=
	start: function(event, ui) {=0A=
=0A=
		var self =3D $(this).data("resizable"), o =3D self.options, cs =3D =
self.size;=0A=
=0A=
		self.ghost =3D self.originalElement.clone();=0A=
		self.ghost=0A=
			.css({ opacity: .25, display: 'block', position: 'relative', height: =
cs.height, width: cs.width, margin: 0, left: 0, top: 0 })=0A=
			.addClass('ui-resizable-ghost')=0A=
			.addClass(typeof o.ghost =3D=3D 'string' ? o.ghost : '');=0A=
=0A=
		self.ghost.appendTo(self.helper);=0A=
=0A=
	},=0A=
=0A=
	resize: function(event, ui){=0A=
		var self =3D $(this).data("resizable"), o =3D self.options;=0A=
		if (self.ghost) self.ghost.css({ position: 'relative', height: =
self.size.height, width: self.size.width });=0A=
	},=0A=
=0A=
	stop: function(event, ui){=0A=
		var self =3D $(this).data("resizable"), o =3D self.options;=0A=
		if (self.ghost && self.helper) =
self.helper.get(0).removeChild(self.ghost.get(0));=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.ui.plugin.add("resizable", "grid", {=0A=
=0A=
	resize: function(event, ui) {=0A=
		var self =3D $(this).data("resizable"), o =3D self.options, cs =3D =
self.size, os =3D self.originalSize, op =3D self.originalPosition, a =3D =
self.axis, ratio =3D o._aspectRatio || event.shiftKey;=0A=
		o.grid =3D typeof o.grid =3D=3D "number" ? [o.grid, o.grid] : o.grid;=0A=
		var ox =3D Math.round((cs.width - os.width) / (o.grid[0]||1)) * =
(o.grid[0]||1), oy =3D Math.round((cs.height - os.height) / =
(o.grid[1]||1)) * (o.grid[1]||1);=0A=
=0A=
		if (/^(se|s|e)$/.test(a)) {=0A=
			self.size.width =3D os.width + ox;=0A=
			self.size.height =3D os.height + oy;=0A=
		}=0A=
		else if (/^(ne)$/.test(a)) {=0A=
			self.size.width =3D os.width + ox;=0A=
			self.size.height =3D os.height + oy;=0A=
			self.position.top =3D op.top - oy;=0A=
		}=0A=
		else if (/^(sw)$/.test(a)) {=0A=
			self.size.width =3D os.width + ox;=0A=
			self.size.height =3D os.height + oy;=0A=
			self.position.left =3D op.left - ox;=0A=
		}=0A=
		else {=0A=
			self.size.width =3D os.width + ox;=0A=
			self.size.height =3D os.height + oy;=0A=
			self.position.top =3D op.top - oy;=0A=
			self.position.left =3D op.left - ox;=0A=
		}=0A=
	}=0A=
=0A=
});=0A=
=0A=
var num =3D function(v) {=0A=
	return parseInt(v, 10) || 0;=0A=
};=0A=
=0A=
var isNumber =3D function(value) {=0A=
	return !isNaN(parseInt(value, 10));=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Selectable 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Selectables=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.selectable", $.ui.mouse, {=0A=
	options: {=0A=
		appendTo: 'body',=0A=
		autoRefresh: true,=0A=
		distance: 0,=0A=
		filter: '*',=0A=
		tolerance: 'touch'=0A=
	},=0A=
	_create: function() {=0A=
		var self =3D this;=0A=
=0A=
		this.element.addClass("ui-selectable");=0A=
=0A=
		this.dragged =3D false;=0A=
=0A=
		// cache selectee children based on filter=0A=
		var selectees;=0A=
		this.refresh =3D function() {=0A=
			selectees =3D $(self.options.filter, self.element[0]);=0A=
			selectees.each(function() {=0A=
				var $this =3D $(this);=0A=
				var pos =3D $this.offset();=0A=
				$.data(this, "selectable-item", {=0A=
					element: this,=0A=
					$element: $this,=0A=
					left: pos.left,=0A=
					top: pos.top,=0A=
					right: pos.left + $this.outerWidth(),=0A=
					bottom: pos.top + $this.outerHeight(),=0A=
					startselected: false,=0A=
					selected: $this.hasClass('ui-selected'),=0A=
					selecting: $this.hasClass('ui-selecting'),=0A=
					unselecting: $this.hasClass('ui-unselecting')=0A=
				});=0A=
			});=0A=
		};=0A=
		this.refresh();=0A=
=0A=
		this.selectees =3D selectees.addClass("ui-selectee");=0A=
=0A=
		this._mouseInit();=0A=
=0A=
		this.helper =3D $("<div class=3D'ui-selectable-helper'></div>");=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.selectees=0A=
			.removeClass("ui-selectee")=0A=
			.removeData("selectable-item");=0A=
		this.element=0A=
			.removeClass("ui-selectable ui-selectable-disabled")=0A=
			.removeData("selectable")=0A=
			.unbind(".selectable");=0A=
		this._mouseDestroy();=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_mouseStart: function(event) {=0A=
		var self =3D this;=0A=
=0A=
		this.opos =3D [event.pageX, event.pageY];=0A=
=0A=
		if (this.options.disabled)=0A=
			return;=0A=
=0A=
		var options =3D this.options;=0A=
=0A=
		this.selectees =3D $(options.filter, this.element[0]);=0A=
=0A=
		this._trigger("start", event);=0A=
=0A=
		$(options.appendTo).append(this.helper);=0A=
		// position helper (lasso)=0A=
		this.helper.css({=0A=
			"left": event.clientX,=0A=
			"top": event.clientY,=0A=
			"width": 0,=0A=
			"height": 0=0A=
		});=0A=
=0A=
		if (options.autoRefresh) {=0A=
			this.refresh();=0A=
		}=0A=
=0A=
		this.selectees.filter('.ui-selected').each(function() {=0A=
			var selectee =3D $.data(this, "selectable-item");=0A=
			selectee.startselected =3D true;=0A=
			if (!event.metaKey) {=0A=
				selectee.$element.removeClass('ui-selected');=0A=
				selectee.selected =3D false;=0A=
				selectee.$element.addClass('ui-unselecting');=0A=
				selectee.unselecting =3D true;=0A=
				// selectable UNSELECTING callback=0A=
				self._trigger("unselecting", event, {=0A=
					unselecting: selectee.element=0A=
				});=0A=
			}=0A=
		});=0A=
=0A=
		$(event.target).parents().andSelf().each(function() {=0A=
			var selectee =3D $.data(this, "selectable-item");=0A=
			if (selectee) {=0A=
				var doSelect =3D !event.metaKey || =
!selectee.$element.hasClass('ui-selected');=0A=
				selectee.$element=0A=
					.removeClass(doSelect ? "ui-unselecting" : "ui-selected")=0A=
					.addClass(doSelect ? "ui-selecting" : "ui-unselecting");=0A=
				selectee.unselecting =3D !doSelect;=0A=
				selectee.selecting =3D doSelect;=0A=
				selectee.selected =3D doSelect;=0A=
				// selectable (UN)SELECTING callback=0A=
				if (doSelect) {=0A=
					self._trigger("selecting", event, {=0A=
						selecting: selectee.element=0A=
					});=0A=
				} else {=0A=
					self._trigger("unselecting", event, {=0A=
						unselecting: selectee.element=0A=
					});=0A=
				}=0A=
				return false;=0A=
			}=0A=
		});=0A=
=0A=
	},=0A=
=0A=
	_mouseDrag: function(event) {=0A=
		var self =3D this;=0A=
		this.dragged =3D true;=0A=
=0A=
		if (this.options.disabled)=0A=
			return;=0A=
=0A=
		var options =3D this.options;=0A=
=0A=
		var x1 =3D this.opos[0], y1 =3D this.opos[1], x2 =3D event.pageX, y2 =
=3D event.pageY;=0A=
		if (x1 > x2) { var tmp =3D x2; x2 =3D x1; x1 =3D tmp; }=0A=
		if (y1 > y2) { var tmp =3D y2; y2 =3D y1; y1 =3D tmp; }=0A=
		this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});=0A=
=0A=
		this.selectees.each(function() {=0A=
			var selectee =3D $.data(this, "selectable-item");=0A=
			//prevent helper from being selected if appendTo: selectable=0A=
			if (!selectee || selectee.element =3D=3D self.element[0])=0A=
				return;=0A=
			var hit =3D false;=0A=
			if (options.tolerance =3D=3D 'touch') {=0A=
				hit =3D ( !(selectee.left > x2 || selectee.right < x1 || =
selectee.top > y2 || selectee.bottom < y1) );=0A=
			} else if (options.tolerance =3D=3D 'fit') {=0A=
				hit =3D (selectee.left > x1 && selectee.right < x2 && selectee.top > =
y1 && selectee.bottom < y2);=0A=
			}=0A=
=0A=
			if (hit) {=0A=
				// SELECT=0A=
				if (selectee.selected) {=0A=
					selectee.$element.removeClass('ui-selected');=0A=
					selectee.selected =3D false;=0A=
				}=0A=
				if (selectee.unselecting) {=0A=
					selectee.$element.removeClass('ui-unselecting');=0A=
					selectee.unselecting =3D false;=0A=
				}=0A=
				if (!selectee.selecting) {=0A=
					selectee.$element.addClass('ui-selecting');=0A=
					selectee.selecting =3D true;=0A=
					// selectable SELECTING callback=0A=
					self._trigger("selecting", event, {=0A=
						selecting: selectee.element=0A=
					});=0A=
				}=0A=
			} else {=0A=
				// UNSELECT=0A=
				if (selectee.selecting) {=0A=
					if (event.metaKey && selectee.startselected) {=0A=
						selectee.$element.removeClass('ui-selecting');=0A=
						selectee.selecting =3D false;=0A=
						selectee.$element.addClass('ui-selected');=0A=
						selectee.selected =3D true;=0A=
					} else {=0A=
						selectee.$element.removeClass('ui-selecting');=0A=
						selectee.selecting =3D false;=0A=
						if (selectee.startselected) {=0A=
							selectee.$element.addClass('ui-unselecting');=0A=
							selectee.unselecting =3D true;=0A=
						}=0A=
						// selectable UNSELECTING callback=0A=
						self._trigger("unselecting", event, {=0A=
							unselecting: selectee.element=0A=
						});=0A=
					}=0A=
				}=0A=
				if (selectee.selected) {=0A=
					if (!event.metaKey && !selectee.startselected) {=0A=
						selectee.$element.removeClass('ui-selected');=0A=
						selectee.selected =3D false;=0A=
=0A=
						selectee.$element.addClass('ui-unselecting');=0A=
						selectee.unselecting =3D true;=0A=
						// selectable UNSELECTING callback=0A=
						self._trigger("unselecting", event, {=0A=
							unselecting: selectee.element=0A=
						});=0A=
					}=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseStop: function(event) {=0A=
		var self =3D this;=0A=
=0A=
		this.dragged =3D false;=0A=
=0A=
		var options =3D this.options;=0A=
=0A=
		$('.ui-unselecting', this.element[0]).each(function() {=0A=
			var selectee =3D $.data(this, "selectable-item");=0A=
			selectee.$element.removeClass('ui-unselecting');=0A=
			selectee.unselecting =3D false;=0A=
			selectee.startselected =3D false;=0A=
			self._trigger("unselected", event, {=0A=
				unselected: selectee.element=0A=
			});=0A=
		});=0A=
		$('.ui-selecting', this.element[0]).each(function() {=0A=
			var selectee =3D $.data(this, "selectable-item");=0A=
			selectee.$element.removeClass('ui-selecting').addClass('ui-selected');=0A=
			selectee.selecting =3D false;=0A=
			selectee.selected =3D true;=0A=
			selectee.startselected =3D true;=0A=
			self._trigger("selected", event, {=0A=
				selected: selectee.element=0A=
			});=0A=
		});=0A=
		this._trigger("stop", event);=0A=
=0A=
		this.helper.remove();=0A=
=0A=
		return false;=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend($.ui.selectable, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Sortable 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Sortables=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget("ui.sortable", $.ui.mouse, {=0A=
	widgetEventPrefix: "sort",=0A=
	options: {=0A=
		appendTo: "parent",=0A=
		axis: false,=0A=
		connectWith: false,=0A=
		containment: false,=0A=
		cursor: 'auto',=0A=
		cursorAt: false,=0A=
		dropOnEmpty: true,=0A=
		forcePlaceholderSize: false,=0A=
		forceHelperSize: false,=0A=
		grid: false,=0A=
		handle: false,=0A=
		helper: "original",=0A=
		items: '> *',=0A=
		opacity: false,=0A=
		placeholder: false,=0A=
		revert: false,=0A=
		scroll: true,=0A=
		scrollSensitivity: 20,=0A=
		scrollSpeed: 20,=0A=
		scope: "default",=0A=
		tolerance: "intersect",=0A=
		zIndex: 1000=0A=
	},=0A=
	_create: function() {=0A=
=0A=
		var o =3D this.options;=0A=
		this.containerCache =3D {};=0A=
		this.element.addClass("ui-sortable");=0A=
=0A=
		//Get the items=0A=
		this.refresh();=0A=
=0A=
		//Let's determine if the items are floating=0A=
		this.floating =3D this.items.length ? =
(/left|right/).test(this.items[0].item.css('float')) : false;=0A=
=0A=
		//Let's determine the parent's offset=0A=
		this.offset =3D this.element.offset();=0A=
=0A=
		//Initialize mouse events for interaction=0A=
		this._mouseInit();=0A=
=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.removeClass("ui-sortable ui-sortable-disabled")=0A=
			.removeData("sortable")=0A=
			.unbind(".sortable");=0A=
		this._mouseDestroy();=0A=
=0A=
		for ( var i =3D this.items.length - 1; i >=3D 0; i-- )=0A=
			this.items[i].item.removeData("sortable-item");=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_setOption: function(key, value){=0A=
		if ( key =3D=3D=3D "disabled" ) {=0A=
			this.options[ key ] =3D value;=0A=
	=0A=
			this.widget()=0A=
				[ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" );=0A=
		} else {=0A=
			// Don't call widget base _setOption for disable as it adds =
ui-state-disabled class=0A=
			$.Widget.prototype._setOption.apply(this, arguments);=0A=
		}=0A=
	},=0A=
=0A=
	_mouseCapture: function(event, overrideHandle) {=0A=
=0A=
		if (this.reverting) {=0A=
			return false;=0A=
		}=0A=
=0A=
		if(this.options.disabled || this.options.type =3D=3D 'static') return =
false;=0A=
=0A=
		//We have to refresh the items data once first=0A=
		this._refreshItems(event);=0A=
=0A=
		//Find out if the clicked node (or one of its parents) is a actual =
item in this.items=0A=
		var currentItem =3D null, self =3D this, nodes =3D =
$(event.target).parents().each(function() {=0A=
			if($.data(this, 'sortable-item') =3D=3D self) {=0A=
				currentItem =3D $(this);=0A=
				return false;=0A=
			}=0A=
		});=0A=
		if($.data(event.target, 'sortable-item') =3D=3D self) currentItem =3D =
$(event.target);=0A=
=0A=
		if(!currentItem) return false;=0A=
		if(this.options.handle && !overrideHandle) {=0A=
			var validHandle =3D false;=0A=
=0A=
			$(this.options.handle, =
currentItem).find("*").andSelf().each(function() { if(this =3D=3D =
event.target) validHandle =3D true; });=0A=
			if(!validHandle) return false;=0A=
		}=0A=
=0A=
		this.currentItem =3D currentItem;=0A=
		this._removeCurrentsFromItems();=0A=
		return true;=0A=
=0A=
	},=0A=
=0A=
	_mouseStart: function(event, overrideHandle, noActivation) {=0A=
=0A=
		var o =3D this.options, self =3D this;=0A=
		this.currentContainer =3D this;=0A=
=0A=
		//We only need to call refreshPositions, because the refreshItems call =
has been moved to mouseCapture=0A=
		this.refreshPositions();=0A=
=0A=
		//Create and append the visible helper=0A=
		this.helper =3D this._createHelper(event);=0A=
=0A=
		//Cache the helper size=0A=
		this._cacheHelperProportions();=0A=
=0A=
		/*=0A=
		 * - Position generation -=0A=
		 * This block generates everything position related - it's the core of =
draggables.=0A=
		 */=0A=
=0A=
		//Cache the margins of the original element=0A=
		this._cacheMargins();=0A=
=0A=
		//Get the next scrolling parent=0A=
		this.scrollParent =3D this.helper.scrollParent();=0A=
=0A=
		//The element's absolute position on the page minus margins=0A=
		this.offset =3D this.currentItem.offset();=0A=
		this.offset =3D {=0A=
			top: this.offset.top - this.margins.top,=0A=
			left: this.offset.left - this.margins.left=0A=
		};=0A=
=0A=
		// Only after we got the offset, we can change the helper's position =
to absolute=0A=
		// TODO: Still need to figure out a way to make relative sorting =
possible=0A=
		this.helper.css("position", "absolute");=0A=
		this.cssPosition =3D this.helper.css("position");=0A=
=0A=
		$.extend(this.offset, {=0A=
			click: { //Where the click happened, relative to the element=0A=
				left: event.pageX - this.offset.left,=0A=
				top: event.pageY - this.offset.top=0A=
			},=0A=
			parent: this._getParentOffset(),=0A=
			relative: this._getRelativeOffset() //This is a relative to absolute =
position minus the actual position calculation - only used for relative =
positioned helper=0A=
		});=0A=
=0A=
		//Generate the original position=0A=
		this.originalPosition =3D this._generatePosition(event);=0A=
		this.originalPageX =3D event.pageX;=0A=
		this.originalPageY =3D event.pageY;=0A=
=0A=
		//Adjust the mouse offset relative to the helper if 'cursorAt' is =
supplied=0A=
		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));=0A=
=0A=
		//Cache the former DOM position=0A=
		this.domPosition =3D { prev: this.currentItem.prev()[0], parent: =
this.currentItem.parent()[0] };=0A=
=0A=
		//If the helper is not the original, hide the original so it's not =
playing any role during the drag, won't cause anything bad this way=0A=
		if(this.helper[0] !=3D this.currentItem[0]) {=0A=
			this.currentItem.hide();=0A=
		}=0A=
=0A=
		//Create the placeholder=0A=
		this._createPlaceholder();=0A=
=0A=
		//Set a containment if given in the options=0A=
		if(o.containment)=0A=
			this._setContainment();=0A=
=0A=
		if(o.cursor) { // cursor option=0A=
			if ($('body').css("cursor")) this._storedCursor =3D =
$('body').css("cursor");=0A=
			$('body').css("cursor", o.cursor);=0A=
		}=0A=
=0A=
		if(o.opacity) { // opacity option=0A=
			if (this.helper.css("opacity")) this._storedOpacity =3D =
this.helper.css("opacity");=0A=
			this.helper.css("opacity", o.opacity);=0A=
		}=0A=
=0A=
		if(o.zIndex) { // zIndex option=0A=
			if (this.helper.css("zIndex")) this._storedZIndex =3D =
this.helper.css("zIndex");=0A=
			this.helper.css("zIndex", o.zIndex);=0A=
		}=0A=
=0A=
		//Prepare scrolling=0A=
		if(this.scrollParent[0] !=3D document && this.scrollParent[0].tagName =
!=3D 'HTML')=0A=
			this.overflowOffset =3D this.scrollParent.offset();=0A=
=0A=
		//Call callbacks=0A=
		this._trigger("start", event, this._uiHash());=0A=
=0A=
		//Recache the helper size=0A=
		if(!this._preserveHelperProportions)=0A=
			this._cacheHelperProportions();=0A=
=0A=
=0A=
		//Post 'activate' events to possible containers=0A=
		if(!noActivation) {=0A=
			 for (var i =3D this.containers.length - 1; i >=3D 0; i--) { =
this.containers[i]._trigger("activate", event, self._uiHash(this)); }=0A=
		}=0A=
=0A=
		//Prepare possible droppables=0A=
		if($.ui.ddmanager)=0A=
			$.ui.ddmanager.current =3D this;=0A=
=0A=
		if ($.ui.ddmanager && !o.dropBehaviour)=0A=
			$.ui.ddmanager.prepareOffsets(this, event);=0A=
=0A=
		this.dragging =3D true;=0A=
=0A=
		this.helper.addClass("ui-sortable-helper");=0A=
		this._mouseDrag(event); //Execute the drag once - this causes the =
helper not to be visible before getting its correct position=0A=
		return true;=0A=
=0A=
	},=0A=
=0A=
	_mouseDrag: function(event) {=0A=
=0A=
		//Compute the helpers position=0A=
		this.position =3D this._generatePosition(event);=0A=
		this.positionAbs =3D this._convertPositionTo("absolute");=0A=
=0A=
		if (!this.lastPositionAbs) {=0A=
			this.lastPositionAbs =3D this.positionAbs;=0A=
		}=0A=
=0A=
		//Do scrolling=0A=
		if(this.options.scroll) {=0A=
			var o =3D this.options, scrolled =3D false;=0A=
			if(this.scrollParent[0] !=3D document && this.scrollParent[0].tagName =
!=3D 'HTML') {=0A=
=0A=
				if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - =
event.pageY < o.scrollSensitivity)=0A=
					this.scrollParent[0].scrollTop =3D scrolled =3D =
this.scrollParent[0].scrollTop + o.scrollSpeed;=0A=
				else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)=0A=
					this.scrollParent[0].scrollTop =3D scrolled =3D =
this.scrollParent[0].scrollTop - o.scrollSpeed;=0A=
=0A=
				if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - =
event.pageX < o.scrollSensitivity)=0A=
					this.scrollParent[0].scrollLeft =3D scrolled =3D =
this.scrollParent[0].scrollLeft + o.scrollSpeed;=0A=
				else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)=0A=
					this.scrollParent[0].scrollLeft =3D scrolled =3D =
this.scrollParent[0].scrollLeft - o.scrollSpeed;=0A=
=0A=
			} else {=0A=
=0A=
				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollTop($(document).scrollTop() - =
o.scrollSpeed);=0A=
				else if($(window).height() - (event.pageY - $(document).scrollTop()) =
< o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollTop($(document).scrollTop() + =
o.scrollSpeed);=0A=
=0A=
				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollLeft($(document).scrollLeft() - =
o.scrollSpeed);=0A=
				else if($(window).width() - (event.pageX - $(document).scrollLeft()) =
< o.scrollSensitivity)=0A=
					scrolled =3D $(document).scrollLeft($(document).scrollLeft() + =
o.scrollSpeed);=0A=
=0A=
			}=0A=
=0A=
			if(scrolled !=3D=3D false && $.ui.ddmanager && !o.dropBehaviour)=0A=
				$.ui.ddmanager.prepareOffsets(this, event);=0A=
		}=0A=
=0A=
		//Regenerate the absolute position used for position checks=0A=
		this.positionAbs =3D this._convertPositionTo("absolute");=0A=
=0A=
		//Set the helper position=0A=
		if(!this.options.axis || this.options.axis !=3D "y") =
this.helper[0].style.left =3D this.position.left+'px';=0A=
		if(!this.options.axis || this.options.axis !=3D "x") =
this.helper[0].style.top =3D this.position.top+'px';=0A=
=0A=
		//Rearrange=0A=
		for (var i =3D this.items.length - 1; i >=3D 0; i--) {=0A=
=0A=
			//Cache variables and intersection, continue if no intersection=0A=
			var item =3D this.items[i], itemElement =3D item.item[0], =
intersection =3D this._intersectsWithPointer(item);=0A=
			if (!intersection) continue;=0A=
=0A=
			if(itemElement !=3D this.currentItem[0] //cannot intersect with itself=0A=
				&&	this.placeholder[intersection =3D=3D 1 ? "next" : "prev"]()[0] =
!=3D itemElement //no useless actions that have been done before=0A=
				&&	!$.ui.contains(this.placeholder[0], itemElement) //no action if =
the item moved is the parent of the item checked=0A=
				&& (this.options.type =3D=3D 'semi-dynamic' ? =
!$.ui.contains(this.element[0], itemElement) : true)=0A=
				//&& itemElement.parentNode =3D=3D this.placeholder[0].parentNode // =
only rearrange items within the same container=0A=
			) {=0A=
=0A=
				this.direction =3D intersection =3D=3D 1 ? "down" : "up";=0A=
=0A=
				if (this.options.tolerance =3D=3D "pointer" || =
this._intersectsWithSides(item)) {=0A=
					this._rearrange(event, item);=0A=
				} else {=0A=
					break;=0A=
				}=0A=
=0A=
				this._trigger("change", event, this._uiHash());=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		//Post events to containers=0A=
		this._contactContainers(event);=0A=
=0A=
		//Interconnect with droppables=0A=
		if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);=0A=
=0A=
		//Call callbacks=0A=
		this._trigger('sort', event, this._uiHash());=0A=
=0A=
		this.lastPositionAbs =3D this.positionAbs;=0A=
		return false;=0A=
=0A=
	},=0A=
=0A=
	_mouseStop: function(event, noPropagation) {=0A=
=0A=
		if(!event) return;=0A=
=0A=
		//If we are using droppables, inform the manager about the drop=0A=
		if ($.ui.ddmanager && !this.options.dropBehaviour)=0A=
			$.ui.ddmanager.drop(this, event);=0A=
=0A=
		if(this.options.revert) {=0A=
			var self =3D this;=0A=
			var cur =3D self.placeholder.offset();=0A=
=0A=
			self.reverting =3D true;=0A=
=0A=
			$(this.helper).animate({=0A=
				left: cur.left - this.offset.parent.left - self.margins.left + =
(this.offsetParent[0] =3D=3D document.body ? 0 : =
this.offsetParent[0].scrollLeft),=0A=
				top: cur.top - this.offset.parent.top - self.margins.top + =
(this.offsetParent[0] =3D=3D document.body ? 0 : =
this.offsetParent[0].scrollTop)=0A=
			}, parseInt(this.options.revert, 10) || 500, function() {=0A=
				self._clear(event);=0A=
			});=0A=
		} else {=0A=
			this._clear(event, noPropagation);=0A=
		}=0A=
=0A=
		return false;=0A=
=0A=
	},=0A=
=0A=
	cancel: function() {=0A=
=0A=
		var self =3D this;=0A=
=0A=
		if(this.dragging) {=0A=
=0A=
			this._mouseUp({ target: null });=0A=
=0A=
			if(this.options.helper =3D=3D "original")=0A=
				=
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");=0A=
			else=0A=
				this.currentItem.show();=0A=
=0A=
			//Post deactivating events to containers=0A=
			for (var i =3D this.containers.length - 1; i >=3D 0; i--){=0A=
				this.containers[i]._trigger("deactivate", null, self._uiHash(this));=0A=
				if(this.containers[i].containerCache.over) {=0A=
					this.containers[i]._trigger("out", null, self._uiHash(this));=0A=
					this.containers[i].containerCache.over =3D 0;=0A=
				}=0A=
			}=0A=
=0A=
		}=0A=
=0A=
		if (this.placeholder) {=0A=
			//$(this.placeholder[0]).remove(); would have been the jQuery way - =
unfortunately, it unbinds ALL events from the original node!=0A=
			if(this.placeholder[0].parentNode) =
this.placeholder[0].parentNode.removeChild(this.placeholder[0]);=0A=
			if(this.options.helper !=3D "original" && this.helper && =
this.helper[0].parentNode) this.helper.remove();=0A=
=0A=
			$.extend(this, {=0A=
				helper: null,=0A=
				dragging: false,=0A=
				reverting: false,=0A=
				_noFinalSort: null=0A=
			});=0A=
=0A=
			if(this.domPosition.prev) {=0A=
				$(this.domPosition.prev).after(this.currentItem);=0A=
			} else {=0A=
				$(this.domPosition.parent).prepend(this.currentItem);=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
=0A=
	},=0A=
=0A=
	serialize: function(o) {=0A=
=0A=
		var items =3D this._getItemsAsjQuery(o && o.connected);=0A=
		var str =3D []; o =3D o || {};=0A=
=0A=
		$(items).each(function() {=0A=
			var res =3D ($(o.item || this).attr(o.attribute || 'id') || =
'').match(o.expression || (/(.+)[-=3D_](.+)/));=0A=
			if(res) str.push((o.key || res[1]+'[]')+'=3D'+(o.key && o.expression =
? res[1] : res[2]));=0A=
		});=0A=
=0A=
		if(!str.length && o.key) {=0A=
			str.push(o.key + '=3D');=0A=
		}=0A=
=0A=
		return str.join('&');=0A=
=0A=
	},=0A=
=0A=
	toArray: function(o) {=0A=
=0A=
		var items =3D this._getItemsAsjQuery(o && o.connected);=0A=
		var ret =3D []; o =3D o || {};=0A=
=0A=
		items.each(function() { ret.push($(o.item || this).attr(o.attribute || =
'id') || ''); });=0A=
		return ret;=0A=
=0A=
	},=0A=
=0A=
	/* Be careful with the following core functions */=0A=
	_intersectsWith: function(item) {=0A=
=0A=
		var x1 =3D this.positionAbs.left,=0A=
			x2 =3D x1 + this.helperProportions.width,=0A=
			y1 =3D this.positionAbs.top,=0A=
			y2 =3D y1 + this.helperProportions.height;=0A=
=0A=
		var l =3D item.left,=0A=
			r =3D l + item.width,=0A=
			t =3D item.top,=0A=
			b =3D t + item.height;=0A=
=0A=
		var dyClick =3D this.offset.click.top,=0A=
			dxClick =3D this.offset.click.left;=0A=
=0A=
		var isOverElement =3D (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 =
+ dxClick) > l && (x1 + dxClick) < r;=0A=
=0A=
		if(	   this.options.tolerance =3D=3D "pointer"=0A=
			|| this.options.forcePointerForContainers=0A=
			|| (this.options.tolerance !=3D "pointer" && =
this.helperProportions[this.floating ? 'width' : 'height'] > =
item[this.floating ? 'width' : 'height'])=0A=
		) {=0A=
			return isOverElement;=0A=
		} else {=0A=
=0A=
			return (l < x1 + (this.helperProportions.width / 2) // Right Half=0A=
				&& x2 - (this.helperProportions.width / 2) < r // Left Half=0A=
				&& t < y1 + (this.helperProportions.height / 2) // Bottom Half=0A=
				&& y2 - (this.helperProportions.height / 2) < b ); // Top Half=0A=
=0A=
		}=0A=
	},=0A=
=0A=
	_intersectsWithPointer: function(item) {=0A=
=0A=
		var isOverElementHeight =3D $.ui.isOverAxis(this.positionAbs.top + =
this.offset.click.top, item.top, item.height),=0A=
			isOverElementWidth =3D $.ui.isOverAxis(this.positionAbs.left + =
this.offset.click.left, item.left, item.width),=0A=
			isOverElement =3D isOverElementHeight && isOverElementWidth,=0A=
			verticalDirection =3D this._getDragVerticalDirection(),=0A=
			horizontalDirection =3D this._getDragHorizontalDirection();=0A=
=0A=
		if (!isOverElement)=0A=
			return false;=0A=
=0A=
		return this.floating ?=0A=
			( ((horizontalDirection && horizontalDirection =3D=3D "right") || =
verticalDirection =3D=3D "down") ? 2 : 1 )=0A=
			: ( verticalDirection && (verticalDirection =3D=3D "down" ? 2 : 1) );=0A=
=0A=
	},=0A=
=0A=
	_intersectsWithSides: function(item) {=0A=
=0A=
		var isOverBottomHalf =3D $.ui.isOverAxis(this.positionAbs.top + =
this.offset.click.top, item.top + (item.height/2), item.height),=0A=
			isOverRightHalf =3D $.ui.isOverAxis(this.positionAbs.left + =
this.offset.click.left, item.left + (item.width/2), item.width),=0A=
			verticalDirection =3D this._getDragVerticalDirection(),=0A=
			horizontalDirection =3D this._getDragHorizontalDirection();=0A=
=0A=
		if (this.floating && horizontalDirection) {=0A=
			return ((horizontalDirection =3D=3D "right" && isOverRightHalf) || =
(horizontalDirection =3D=3D "left" && !isOverRightHalf));=0A=
		} else {=0A=
			return verticalDirection && ((verticalDirection =3D=3D "down" && =
isOverBottomHalf) || (verticalDirection =3D=3D "up" && =
!isOverBottomHalf));=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_getDragVerticalDirection: function() {=0A=
		var delta =3D this.positionAbs.top - this.lastPositionAbs.top;=0A=
		return delta !=3D 0 && (delta > 0 ? "down" : "up");=0A=
	},=0A=
=0A=
	_getDragHorizontalDirection: function() {=0A=
		var delta =3D this.positionAbs.left - this.lastPositionAbs.left;=0A=
		return delta !=3D 0 && (delta > 0 ? "right" : "left");=0A=
	},=0A=
=0A=
	refresh: function(event) {=0A=
		this._refreshItems(event);=0A=
		this.refreshPositions();=0A=
		return this;=0A=
	},=0A=
=0A=
	_connectWith: function() {=0A=
		var options =3D this.options;=0A=
		return options.connectWith.constructor =3D=3D String=0A=
			? [options.connectWith]=0A=
			: options.connectWith;=0A=
	},=0A=
	=0A=
	_getItemsAsjQuery: function(connected) {=0A=
=0A=
		var self =3D this;=0A=
		var items =3D [];=0A=
		var queries =3D [];=0A=
		var connectWith =3D this._connectWith();=0A=
=0A=
		if(connectWith && connected) {=0A=
			for (var i =3D connectWith.length - 1; i >=3D 0; i--){=0A=
				var cur =3D $(connectWith[i]);=0A=
				for (var j =3D cur.length - 1; j >=3D 0; j--){=0A=
					var inst =3D $.data(cur[j], 'sortable');=0A=
					if(inst && inst !=3D this && !inst.options.disabled) {=0A=
						queries.push([$.isFunction(inst.options.items) ? =
inst.options.items.call(inst.element) : $(inst.options.items, =
inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'),=
 inst]);=0A=
					}=0A=
				};=0A=
			};=0A=
		}=0A=
=0A=
		queries.push([$.isFunction(this.options.items) ? =
this.options.items.call(this.element, null, { options: this.options, =
item: this.currentItem }) : $(this.options.items, =
this.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'),=
 this]);=0A=
=0A=
		for (var i =3D queries.length - 1; i >=3D 0; i--){=0A=
			queries[i][0].each(function() {=0A=
				items.push(this);=0A=
			});=0A=
		};=0A=
=0A=
		return $(items);=0A=
=0A=
	},=0A=
=0A=
	_removeCurrentsFromItems: function() {=0A=
=0A=
		var list =3D this.currentItem.find(":data(sortable-item)");=0A=
=0A=
		for (var i=3D0; i < this.items.length; i++) {=0A=
=0A=
			for (var j=3D0; j < list.length; j++) {=0A=
				if(list[j] =3D=3D this.items[i].item[0])=0A=
					this.items.splice(i,1);=0A=
			};=0A=
=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_refreshItems: function(event) {=0A=
=0A=
		this.items =3D [];=0A=
		this.containers =3D [this];=0A=
		var items =3D this.items;=0A=
		var self =3D this;=0A=
		var queries =3D [[$.isFunction(this.options.items) ? =
this.options.items.call(this.element[0], event, { item: this.currentItem =
}) : $(this.options.items, this.element), this]];=0A=
		var connectWith =3D this._connectWith();=0A=
=0A=
		if(connectWith) {=0A=
			for (var i =3D connectWith.length - 1; i >=3D 0; i--){=0A=
				var cur =3D $(connectWith[i]);=0A=
				for (var j =3D cur.length - 1; j >=3D 0; j--){=0A=
					var inst =3D $.data(cur[j], 'sortable');=0A=
					if(inst && inst !=3D this && !inst.options.disabled) {=0A=
						queries.push([$.isFunction(inst.options.items) ? =
inst.options.items.call(inst.element[0], event, { item: this.currentItem =
}) : $(inst.options.items, inst.element), inst]);=0A=
						this.containers.push(inst);=0A=
					}=0A=
				};=0A=
			};=0A=
		}=0A=
=0A=
		for (var i =3D queries.length - 1; i >=3D 0; i--) {=0A=
			var targetData =3D queries[i][1];=0A=
			var _queries =3D queries[i][0];=0A=
=0A=
			for (var j=3D0, queriesLength =3D _queries.length; j < queriesLength; =
j++) {=0A=
				var item =3D $(_queries[j]);=0A=
=0A=
				item.data('sortable-item', targetData); // Data for target checking =
(mouse manager)=0A=
=0A=
				items.push({=0A=
					item: item,=0A=
					instance: targetData,=0A=
					width: 0, height: 0,=0A=
					left: 0, top: 0=0A=
				});=0A=
			};=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	refreshPositions: function(fast) {=0A=
=0A=
		//This has to be redone because due to the item being moved out/into =
the offsetParent, the offsetParent's position will change=0A=
		if(this.offsetParent && this.helper) {=0A=
			this.offset.parent =3D this._getParentOffset();=0A=
		}=0A=
=0A=
		for (var i =3D this.items.length - 1; i >=3D 0; i--){=0A=
			var item =3D this.items[i];=0A=
=0A=
			var t =3D this.options.toleranceElement ? =
$(this.options.toleranceElement, item.item) : item.item;=0A=
=0A=
			if (!fast) {=0A=
				item.width =3D t.outerWidth();=0A=
				item.height =3D t.outerHeight();=0A=
			}=0A=
=0A=
			var p =3D t.offset();=0A=
			item.left =3D p.left;=0A=
			item.top =3D p.top;=0A=
		};=0A=
=0A=
		if(this.options.custom && this.options.custom.refreshContainers) {=0A=
			this.options.custom.refreshContainers.call(this);=0A=
		} else {=0A=
			for (var i =3D this.containers.length - 1; i >=3D 0; i--){=0A=
				var p =3D this.containers[i].element.offset();=0A=
				this.containers[i].containerCache.left =3D p.left;=0A=
				this.containers[i].containerCache.top =3D p.top;=0A=
				this.containers[i].containerCache.width	=3D =
this.containers[i].element.outerWidth();=0A=
				this.containers[i].containerCache.height =3D =
this.containers[i].element.outerHeight();=0A=
			};=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_createPlaceholder: function(that) {=0A=
=0A=
		var self =3D that || this, o =3D self.options;=0A=
=0A=
		if(!o.placeholder || o.placeholder.constructor =3D=3D String) {=0A=
			var className =3D o.placeholder;=0A=
			o.placeholder =3D {=0A=
				element: function() {=0A=
=0A=
					var el =3D $(document.createElement(self.currentItem[0].nodeName))=0A=
						.addClass(className || self.currentItem[0].className+" =
ui-sortable-placeholder")=0A=
						.removeClass("ui-sortable-helper")[0];=0A=
=0A=
					if(!className)=0A=
						el.style.visibility =3D "hidden";=0A=
=0A=
					return el;=0A=
				},=0A=
				update: function(container, p) {=0A=
=0A=
					// 1. If a className is set as 'placeholder option, we don't force =
sizes - the class is responsible for that=0A=
					// 2. The option 'forcePlaceholderSize can be enabled to force it =
even if a class name is specified=0A=
					if(className && !o.forcePlaceholderSize) return;=0A=
=0A=
					//If the element doesn't have a actual height by itself (without =
styles coming from a stylesheet), it receives the inline height from the =
dragged item=0A=
					if(!p.height()) { p.height(self.currentItem.innerHeight() - =
parseInt(self.currentItem.css('paddingTop')||0, 10) - =
parseInt(self.currentItem.css('paddingBottom')||0, 10)); };=0A=
					if(!p.width()) { p.width(self.currentItem.innerWidth() - =
parseInt(self.currentItem.css('paddingLeft')||0, 10) - =
parseInt(self.currentItem.css('paddingRight')||0, 10)); };=0A=
				}=0A=
			};=0A=
		}=0A=
=0A=
		//Create the placeholder=0A=
		self.placeholder =3D $(o.placeholder.element.call(self.element, =
self.currentItem));=0A=
=0A=
		//Append it after the actual current item=0A=
		self.currentItem.after(self.placeholder);=0A=
=0A=
		//Update the size of the placeholder (TODO: Logic to fuzzy, see line =
316/317)=0A=
		o.placeholder.update(self, self.placeholder);=0A=
=0A=
	},=0A=
=0A=
	_contactContainers: function(event) {=0A=
		=0A=
		// get innermost container that intersects with item =0A=
		var innermostContainer =3D null, innermostIndex =3D null;		=0A=
		=0A=
		=0A=
		for (var i =3D this.containers.length - 1; i >=3D 0; i--){=0A=
=0A=
			// never consider a container that's located within the item itself =0A=
			if($.ui.contains(this.currentItem[0], this.containers[i].element[0]))=0A=
				continue;=0A=
=0A=
			if(this._intersectsWith(this.containers[i].containerCache)) {=0A=
=0A=
				// if we've already found a container and it's more "inner" than =
this, then continue =0A=
				if(innermostContainer && =
$.ui.contains(this.containers[i].element[0], =
innermostContainer.element[0]))=0A=
					continue;=0A=
=0A=
				innermostContainer =3D this.containers[i]; =0A=
				innermostIndex =3D i;=0A=
					=0A=
			} else {=0A=
				// container doesn't intersect. trigger "out" event if necessary =0A=
				if(this.containers[i].containerCache.over) {=0A=
					this.containers[i]._trigger("out", event, this._uiHash(this));=0A=
					this.containers[i].containerCache.over =3D 0;=0A=
				}=0A=
			}=0A=
=0A=
		}=0A=
		=0A=
		// if no intersecting containers found, return =0A=
		if(!innermostContainer) return; =0A=
=0A=
		// move the item into the container if it's not there already=0A=
		if(this.containers.length =3D=3D=3D 1) {=0A=
			this.containers[innermostIndex]._trigger("over", event, =
this._uiHash(this));=0A=
			this.containers[innermostIndex].containerCache.over =3D 1;=0A=
		} else if(this.currentContainer !=3D this.containers[innermostIndex]) =
{ =0A=
=0A=
			//When entering a new container, we will find the item with the least =
distance and append our item near it =0A=
			var dist =3D 10000; var itemWithLeastDistance =3D null; var base =3D =
this.positionAbs[this.containers[innermostIndex].floating ? 'left' : =
'top']; =0A=
			for (var j =3D this.items.length - 1; j >=3D 0; j--) { =0A=
				if(!$.ui.contains(this.containers[innermostIndex].element[0], =
this.items[j].item[0])) continue; =0A=
				var cur =3D this.items[j][this.containers[innermostIndex].floating ? =
'left' : 'top']; =0A=
				if(Math.abs(cur - base) < dist) { =0A=
					dist =3D Math.abs(cur - base); itemWithLeastDistance =3D =
this.items[j]; =0A=
				} =0A=
			} =0A=
=0A=
			if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if =
dropOnEmpty is enabled =0A=
				return; =0A=
=0A=
			this.currentContainer =3D this.containers[innermostIndex]; =0A=
			itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, =
null, true) : this._rearrange(event, null, =
this.containers[innermostIndex].element, true); =0A=
			this._trigger("change", event, this._uiHash()); =0A=
			this.containers[innermostIndex]._trigger("change", event, =
this._uiHash(this)); =0A=
=0A=
			//Update the placeholder =0A=
			this.options.placeholder.update(this.currentContainer, =
this.placeholder); =0A=
		=0A=
			this.containers[innermostIndex]._trigger("over", event, =
this._uiHash(this)); =0A=
			this.containers[innermostIndex].containerCache.over =3D 1;=0A=
		} =0A=
	=0A=
		=0A=
	},=0A=
=0A=
	_createHelper: function(event) {=0A=
=0A=
		var o =3D this.options;=0A=
		var helper =3D $.isFunction(o.helper) ? =
$(o.helper.apply(this.element[0], [event, this.currentItem])) : =
(o.helper =3D=3D 'clone' ? this.currentItem.clone() : this.currentItem);=0A=
=0A=
		if(!helper.parents('body').length) //Add the helper to the DOM if that =
didn't happen already=0A=
			$(o.appendTo !=3D 'parent' ? o.appendTo : =
this.currentItem[0].parentNode)[0].appendChild(helper[0]);=0A=
=0A=
		if(helper[0] =3D=3D this.currentItem[0])=0A=
			this._storedCSS =3D { width: this.currentItem[0].style.width, height: =
this.currentItem[0].style.height, position: =
this.currentItem.css("position"), top: this.currentItem.css("top"), =
left: this.currentItem.css("left") };=0A=
=0A=
		if(helper[0].style.width =3D=3D '' || o.forceHelperSize) =
helper.width(this.currentItem.width());=0A=
		if(helper[0].style.height =3D=3D '' || o.forceHelperSize) =
helper.height(this.currentItem.height());=0A=
=0A=
		return helper;=0A=
=0A=
	},=0A=
=0A=
	_adjustOffsetFromHelper: function(obj) {=0A=
		if (typeof obj =3D=3D 'string') {=0A=
			obj =3D obj.split(' ');=0A=
		}=0A=
		if ($.isArray(obj)) {=0A=
			obj =3D {left: +obj[0], top: +obj[1] || 0};=0A=
		}=0A=
		if ('left' in obj) {=0A=
			this.offset.click.left =3D obj.left + this.margins.left;=0A=
		}=0A=
		if ('right' in obj) {=0A=
			this.offset.click.left =3D this.helperProportions.width - obj.right + =
this.margins.left;=0A=
		}=0A=
		if ('top' in obj) {=0A=
			this.offset.click.top =3D obj.top + this.margins.top;=0A=
		}=0A=
		if ('bottom' in obj) {=0A=
			this.offset.click.top =3D this.helperProportions.height - obj.bottom =
+ this.margins.top;=0A=
		}=0A=
	},=0A=
=0A=
	_getParentOffset: function() {=0A=
=0A=
=0A=
		//Get the offsetParent and cache its position=0A=
		this.offsetParent =3D this.helper.offsetParent();=0A=
		var po =3D this.offsetParent.offset();=0A=
=0A=
		// This is a special case where we need to modify a offset calculated =
on start, since the following happened:=0A=
		// 1. The position of the helper is absolute, so it's position is =
calculated based on the next positioned parent=0A=
		// 2. The actual offset parent is a child of the scroll parent, and =
the scroll parent isn't the document, which means that=0A=
		//    the scroll is included in the initial calculation of the offset =
of the parent, and never recalculated upon drag=0A=
		if(this.cssPosition =3D=3D 'absolute' && this.scrollParent[0] !=3D =
document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {=0A=
			po.left +=3D this.scrollParent.scrollLeft();=0A=
			po.top +=3D this.scrollParent.scrollTop();=0A=
		}=0A=
=0A=
		if((this.offsetParent[0] =3D=3D document.body) //This needs to be =
actually done for all browsers, since pageX/pageY includes this =
information=0A=
		|| (this.offsetParent[0].tagName && =
this.offsetParent[0].tagName.toLowerCase() =3D=3D 'html' && =
$.browser.msie)) //Ugly IE fix=0A=
			po =3D { top: 0, left: 0 };=0A=
=0A=
		return {=0A=
			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) =
|| 0),=0A=
			left: po.left + =
(parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_getRelativeOffset: function() {=0A=
=0A=
		if(this.cssPosition =3D=3D "relative") {=0A=
			var p =3D this.currentItem.position();=0A=
			return {=0A=
				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + =
this.scrollParent.scrollTop(),=0A=
				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + =
this.scrollParent.scrollLeft()=0A=
			};=0A=
		} else {=0A=
			return { top: 0, left: 0 };=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_cacheMargins: function() {=0A=
		this.margins =3D {=0A=
			left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),=0A=
			top: (parseInt(this.currentItem.css("marginTop"),10) || 0)=0A=
		};=0A=
	},=0A=
=0A=
	_cacheHelperProportions: function() {=0A=
		this.helperProportions =3D {=0A=
			width: this.helper.outerWidth(),=0A=
			height: this.helper.outerHeight()=0A=
		};=0A=
	},=0A=
=0A=
	_setContainment: function() {=0A=
=0A=
		var o =3D this.options;=0A=
		if(o.containment =3D=3D 'parent') o.containment =3D =
this.helper[0].parentNode;=0A=
		if(o.containment =3D=3D 'document' || o.containment =3D=3D 'window') =
this.containment =3D [=0A=
			0 - this.offset.relative.left - this.offset.parent.left,=0A=
			0 - this.offset.relative.top - this.offset.parent.top,=0A=
			$(o.containment =3D=3D 'document' ? document : window).width() - =
this.helperProportions.width - this.margins.left,=0A=
			($(o.containment =3D=3D 'document' ? document : window).height() || =
document.body.parentNode.scrollHeight) - this.helperProportions.height - =
this.margins.top=0A=
		];=0A=
=0A=
		if(!(/^(document|window|parent)$/).test(o.containment)) {=0A=
			var ce =3D $(o.containment)[0];=0A=
			var co =3D $(o.containment).offset();=0A=
			var over =3D ($(ce).css("overflow") !=3D 'hidden');=0A=
=0A=
			this.containment =3D [=0A=
				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + =
(parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,=0A=
				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + =
(parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,=0A=
				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : =
ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - =
(parseInt($(ce).css("paddingRight"),10) || 0) - =
this.helperProportions.width - this.margins.left,=0A=
				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : =
ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - =
(parseInt($(ce).css("paddingBottom"),10) || 0) - =
this.helperProportions.height - this.margins.top=0A=
			];=0A=
		}=0A=
=0A=
	},=0A=
=0A=
	_convertPositionTo: function(d, pos) {=0A=
=0A=
		if(!pos) pos =3D this.position;=0A=
		var mod =3D d =3D=3D "absolute" ? 1 : -1;=0A=
		var o =3D this.options, scroll =3D this.cssPosition =3D=3D 'absolute' =
&& !(this.scrollParent[0] !=3D document && =
$.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? =
this.offsetParent : this.scrollParent, scrollIsRootNode =3D =
(/(html|body)/i).test(scroll[0].tagName);=0A=
=0A=
		return {=0A=
			top: (=0A=
				pos.top																	// The absolute mouse position=0A=
				+ this.offset.relative.top * mod										// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				+ this.offset.parent.top * mod											// The offsetParent's =
offset without borders (offset + border)=0A=
				- ($.browser.safari && this.cssPosition =3D=3D 'fixed' ? 0 : ( =
this.cssPosition =3D=3D 'fixed' ? -this.scrollParent.scrollTop() : ( =
scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)=0A=
			),=0A=
			left: (=0A=
				pos.left																// The absolute mouse position=0A=
				+ this.offset.relative.left * mod										// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				+ this.offset.parent.left * mod											// The offsetParent's =
offset without borders (offset + border)=0A=
				- ($.browser.safari && this.cssPosition =3D=3D 'fixed' ? 0 : ( =
this.cssPosition =3D=3D 'fixed' ? -this.scrollParent.scrollLeft() : =
scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)=0A=
			)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_generatePosition: function(event) {=0A=
=0A=
		var o =3D this.options, scroll =3D this.cssPosition =3D=3D 'absolute' =
&& !(this.scrollParent[0] !=3D document && =
$.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? =
this.offsetParent : this.scrollParent, scrollIsRootNode =3D =
(/(html|body)/i).test(scroll[0].tagName);=0A=
=0A=
		// This is another very weird special case that only happens for =
relative elements:=0A=
		// 1. If the css position is relative=0A=
		// 2. and the scroll parent is the document or similar to the offset =
parent=0A=
		// we have to refresh the relative offset during the scroll so there =
are no jumps=0A=
		if(this.cssPosition =3D=3D 'relative' && !(this.scrollParent[0] !=3D =
document && this.scrollParent[0] !=3D this.offsetParent[0])) {=0A=
			this.offset.relative =3D this._getRelativeOffset();=0A=
		}=0A=
=0A=
		var pageX =3D event.pageX;=0A=
		var pageY =3D event.pageY;=0A=
=0A=
		/*=0A=
		 * - Position constraining -=0A=
		 * Constrain the position to a mix of grid, containment.=0A=
		 */=0A=
=0A=
		if(this.originalPosition) { //If we are not dragging yet, we won't =
check for options=0A=
=0A=
			if(this.containment) {=0A=
				if(event.pageX - this.offset.click.left < this.containment[0]) pageX =
=3D this.containment[0] + this.offset.click.left;=0A=
				if(event.pageY - this.offset.click.top < this.containment[1]) pageY =
=3D this.containment[1] + this.offset.click.top;=0A=
				if(event.pageX - this.offset.click.left > this.containment[2]) pageX =
=3D this.containment[2] + this.offset.click.left;=0A=
				if(event.pageY - this.offset.click.top > this.containment[3]) pageY =
=3D this.containment[3] + this.offset.click.top;=0A=
			}=0A=
=0A=
			if(o.grid) {=0A=
				var top =3D this.originalPageY + Math.round((pageY - =
this.originalPageY) / o.grid[1]) * o.grid[1];=0A=
				pageY =3D this.containment ? (!(top - this.offset.click.top < =
this.containment[1] || top - this.offset.click.top > =
this.containment[3]) ? top : (!(top - this.offset.click.top < =
this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;=0A=
=0A=
				var left =3D this.originalPageX + Math.round((pageX - =
this.originalPageX) / o.grid[0]) * o.grid[0];=0A=
				pageX =3D this.containment ? (!(left - this.offset.click.left < =
this.containment[0] || left - this.offset.click.left > =
this.containment[2]) ? left : (!(left - this.offset.click.left < =
this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;=0A=
			}=0A=
=0A=
		}=0A=
=0A=
		return {=0A=
			top: (=0A=
				pageY																// The absolute mouse position=0A=
				- this.offset.click.top													// Click offset (relative to the =
element)=0A=
				- this.offset.relative.top												// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				- this.offset.parent.top												// The offsetParent's offset =
without borders (offset + border)=0A=
				+ ($.browser.safari && this.cssPosition =3D=3D 'fixed' ? 0 : ( =
this.cssPosition =3D=3D 'fixed' ? -this.scrollParent.scrollTop() : ( =
scrollIsRootNode ? 0 : scroll.scrollTop() ) ))=0A=
			),=0A=
			left: (=0A=
				pageX																// The absolute mouse position=0A=
				- this.offset.click.left												// Click offset (relative to the =
element)=0A=
				- this.offset.relative.left												// Only for relative =
positioned nodes: Relative offset from element to offset parent=0A=
				- this.offset.parent.left												// The offsetParent's offset =
without borders (offset + border)=0A=
				+ ($.browser.safari && this.cssPosition =3D=3D 'fixed' ? 0 : ( =
this.cssPosition =3D=3D 'fixed' ? -this.scrollParent.scrollLeft() : =
scrollIsRootNode ? 0 : scroll.scrollLeft() ))=0A=
			)=0A=
		};=0A=
=0A=
	},=0A=
=0A=
	_rearrange: function(event, i, a, hardRefresh) {=0A=
=0A=
		a ? a[0].appendChild(this.placeholder[0]) : =
i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction =
=3D=3D 'down' ? i.item[0] : i.item[0].nextSibling));=0A=
=0A=
		//Various things done here to improve the performance:=0A=
		// 1. we create a setTimeout, that calls refreshPositions=0A=
		// 2. on the instance, we have a counter variable, that get's higher =
after every append=0A=
		// 3. on the local scope, we copy the counter variable, and check in =
the timeout, if it's still the same=0A=
		// 4. this lets only the last addition to the timeout stack through=0A=
		this.counter =3D this.counter ? ++this.counter : 1;=0A=
		var self =3D this, counter =3D this.counter;=0A=
=0A=
		window.setTimeout(function() {=0A=
			if(counter =3D=3D self.counter) self.refreshPositions(!hardRefresh); =
//Precompute after each DOM insertion, NOT on mousemove=0A=
		},0);=0A=
=0A=
	},=0A=
=0A=
	_clear: function(event, noPropagation) {=0A=
=0A=
		this.reverting =3D false;=0A=
		// We delay all events that have to be triggered to after the point =
where the placeholder has been removed and=0A=
		// everything else normalized again=0A=
		var delayedTriggers =3D [], self =3D this;=0A=
=0A=
		// We first have to update the dom position of the actual currentItem=0A=
		// Note: don't do it if the current item is already removed (by a =
user), or it gets reappended (see #4088)=0A=
		if(!this._noFinalSort && this.currentItem[0].parentNode) =
this.placeholder.before(this.currentItem);=0A=
		this._noFinalSort =3D null;=0A=
=0A=
		if(this.helper[0] =3D=3D this.currentItem[0]) {=0A=
			for(var i in this._storedCSS) {=0A=
				if(this._storedCSS[i] =3D=3D 'auto' || this._storedCSS[i] =3D=3D =
'static') this._storedCSS[i] =3D '';=0A=
			}=0A=
			=
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");=0A=
		} else {=0A=
			this.currentItem.show();=0A=
		}=0A=
=0A=
		if(this.fromOutside && !noPropagation) =
delayedTriggers.push(function(event) { this._trigger("receive", event, =
this._uiHash(this.fromOutside)); });=0A=
		if((this.fromOutside || this.domPosition.prev !=3D =
this.currentItem.prev().not(".ui-sortable-helper")[0] || =
this.domPosition.parent !=3D this.currentItem.parent()[0]) && =
!noPropagation) delayedTriggers.push(function(event) { =
this._trigger("update", event, this._uiHash()); }); //Trigger update =
callback if the DOM position has changed=0A=
		if(!$.ui.contains(this.element[0], this.currentItem[0])) { //Node was =
moved out of the current element=0A=
			if(!noPropagation) delayedTriggers.push(function(event) { =
this._trigger("remove", event, this._uiHash()); });=0A=
			for (var i =3D this.containers.length - 1; i >=3D 0; i--){=0A=
				if($.ui.contains(this.containers[i].element[0], this.currentItem[0]) =
&& !noPropagation) {=0A=
					delayedTriggers.push((function(c) { return function(event) { =
c._trigger("receive", event, this._uiHash(this)); };  }).call(this, =
this.containers[i]));=0A=
					delayedTriggers.push((function(c) { return function(event) { =
c._trigger("update", event, this._uiHash(this));  }; }).call(this, =
this.containers[i]));=0A=
				}=0A=
			};=0A=
		};=0A=
=0A=
		//Post events to containers=0A=
		for (var i =3D this.containers.length - 1; i >=3D 0; i--){=0A=
			if(!noPropagation) delayedTriggers.push((function(c) { return =
function(event) { c._trigger("deactivate", event, this._uiHash(this)); =
};  }).call(this, this.containers[i]));=0A=
			if(this.containers[i].containerCache.over) {=0A=
				delayedTriggers.push((function(c) { return function(event) { =
c._trigger("out", event, this._uiHash(this)); };  }).call(this, =
this.containers[i]));=0A=
				this.containers[i].containerCache.over =3D 0;=0A=
			}=0A=
		}=0A=
=0A=
		//Do what was originally in plugins=0A=
		if(this._storedCursor) $('body').css("cursor", this._storedCursor); =
//Reset cursor=0A=
		if(this._storedOpacity) this.helper.css("opacity", =
this._storedOpacity); //Reset opacity=0A=
		if(this._storedZIndex) this.helper.css("zIndex", this._storedZIndex =
=3D=3D 'auto' ? '' : this._storedZIndex); //Reset z-index=0A=
=0A=
		this.dragging =3D false;=0A=
		if(this.cancelHelperRemoval) {=0A=
			if(!noPropagation) {=0A=
				this._trigger("beforeStop", event, this._uiHash());=0A=
				for (var i=3D0; i < delayedTriggers.length; i++) { =
delayedTriggers[i].call(this, event); }; //Trigger all delayed events=0A=
				this._trigger("stop", event, this._uiHash());=0A=
			}=0A=
			return false;=0A=
		}=0A=
=0A=
		if(!noPropagation) this._trigger("beforeStop", event, this._uiHash());=0A=
=0A=
		//$(this.placeholder[0]).remove(); would have been the jQuery way - =
unfortunately, it unbinds ALL events from the original node!=0A=
		this.placeholder[0].parentNode.removeChild(this.placeholder[0]);=0A=
=0A=
		if(this.helper[0] !=3D this.currentItem[0]) this.helper.remove(); =
this.helper =3D null;=0A=
=0A=
		if(!noPropagation) {=0A=
			for (var i=3D0; i < delayedTriggers.length; i++) { =
delayedTriggers[i].call(this, event); }; //Trigger all delayed events=0A=
			this._trigger("stop", event, this._uiHash());=0A=
		}=0A=
=0A=
		this.fromOutside =3D false;=0A=
		return true;=0A=
=0A=
	},=0A=
=0A=
	_trigger: function() {=0A=
		if ($.Widget.prototype._trigger.apply(this, arguments) =3D=3D=3D =
false) {=0A=
			this.cancel();=0A=
		}=0A=
	},=0A=
=0A=
	_uiHash: function(inst) {=0A=
		var self =3D inst || this;=0A=
		return {=0A=
			helper: self.helper,=0A=
			placeholder: self.placeholder || $([]),=0A=
			position: self.position,=0A=
			originalPosition: self.originalPosition,=0A=
			offset: self.positionAbs,=0A=
			item: self.currentItem,=0A=
			sender: inst ? inst.element : null=0A=
		};=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend($.ui.sortable, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/=0A=
 */=0A=
;jQuery.effects || (function($, undefined) {=0A=
=0A=
$.effects =3D {};=0A=
=0A=
=0A=
=0A=
/************************************************************************=
******/=0A=
/****************************** COLOR ANIMATIONS =
******************************/=0A=
/************************************************************************=
******/=0A=
=0A=
// override the animation for color styles=0A=
$.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor',=0A=
	'borderRightColor', 'borderTopColor', 'borderColor', 'color', =
'outlineColor'],=0A=
function(i, attr) {=0A=
	$.fx.step[attr] =3D function(fx) {=0A=
		if (!fx.colorInit) {=0A=
			fx.start =3D getColor(fx.elem, attr);=0A=
			fx.end =3D getRGB(fx.end);=0A=
			fx.colorInit =3D true;=0A=
		}=0A=
=0A=
		fx.elem.style[attr] =3D 'rgb(' +=0A=
			Math.max(Math.min(parseInt((fx.pos * (fx.end[0] - fx.start[0])) + =
fx.start[0], 10), 255), 0) + ',' +=0A=
			Math.max(Math.min(parseInt((fx.pos * (fx.end[1] - fx.start[1])) + =
fx.start[1], 10), 255), 0) + ',' +=0A=
			Math.max(Math.min(parseInt((fx.pos * (fx.end[2] - fx.start[2])) + =
fx.start[2], 10), 255), 0) + ')';=0A=
	};=0A=
});=0A=
=0A=
// Color Conversion functions from highlightFade=0A=
// By Blair Mitchelmore=0A=
// http://jquery.offput.ca/highlightFade/=0A=
=0A=
// Parse strings looking for color tuples [255,255,255]=0A=
function getRGB(color) {=0A=
		var result;=0A=
=0A=
		// Check if we're already dealing with an array of colors=0A=
		if ( color && color.constructor =3D=3D Array && color.length =3D=3D 3 )=0A=
				return color;=0A=
=0A=
		// Look for rgb(num,num,num)=0A=
		if (result =3D =
/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(co=
lor))=0A=
				return [parseInt(result[1],10), parseInt(result[2],10), =
parseInt(result[3],10)];=0A=
=0A=
		// Look for rgb(num%,num%,num%)=0A=
		if (result =3D =
/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-=
9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))=0A=
				return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, =
parseFloat(result[3])*2.55];=0A=
=0A=
		// Look for #a0b1c2=0A=
		if (result =3D =
/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))=0A=
				return [parseInt(result[1],16), parseInt(result[2],16), =
parseInt(result[3],16)];=0A=
=0A=
		// Look for #fff=0A=
		if (result =3D /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))=0A=
				return [parseInt(result[1]+result[1],16), =
parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];=0A=
=0A=
		// Look for rgba(0, 0, 0, 0) =3D=3D transparent in Safari 3=0A=
		if (result =3D /rgba\(0, 0, 0, 0\)/.exec(color))=0A=
				return colors['transparent'];=0A=
=0A=
		// Otherwise, we're most likely dealing with a named color=0A=
		return colors[$.trim(color).toLowerCase()];=0A=
}=0A=
=0A=
function getColor(elem, attr) {=0A=
		var color;=0A=
=0A=
		do {=0A=
				color =3D $.curCSS(elem, attr);=0A=
=0A=
				// Keep going until we find an element that has color, or we hit the =
body=0A=
				if ( color !=3D '' && color !=3D 'transparent' || $.nodeName(elem, =
"body") )=0A=
						break;=0A=
=0A=
				attr =3D "backgroundColor";=0A=
		} while ( elem =3D elem.parentNode );=0A=
=0A=
		return getRGB(color);=0A=
};=0A=
=0A=
// Some named colors to work with=0A=
// From Interface by Stefan Petre=0A=
// http://interface.eyecon.ro/=0A=
=0A=
var colors =3D {=0A=
	aqua:[0,255,255],=0A=
	azure:[240,255,255],=0A=
	beige:[245,245,220],=0A=
	black:[0,0,0],=0A=
	blue:[0,0,255],=0A=
	brown:[165,42,42],=0A=
	cyan:[0,255,255],=0A=
	darkblue:[0,0,139],=0A=
	darkcyan:[0,139,139],=0A=
	darkgrey:[169,169,169],=0A=
	darkgreen:[0,100,0],=0A=
	darkkhaki:[189,183,107],=0A=
	darkmagenta:[139,0,139],=0A=
	darkolivegreen:[85,107,47],=0A=
	darkorange:[255,140,0],=0A=
	darkorchid:[153,50,204],=0A=
	darkred:[139,0,0],=0A=
	darksalmon:[233,150,122],=0A=
	darkviolet:[148,0,211],=0A=
	fuchsia:[255,0,255],=0A=
	gold:[255,215,0],=0A=
	green:[0,128,0],=0A=
	indigo:[75,0,130],=0A=
	khaki:[240,230,140],=0A=
	lightblue:[173,216,230],=0A=
	lightcyan:[224,255,255],=0A=
	lightgreen:[144,238,144],=0A=
	lightgrey:[211,211,211],=0A=
	lightpink:[255,182,193],=0A=
	lightyellow:[255,255,224],=0A=
	lime:[0,255,0],=0A=
	magenta:[255,0,255],=0A=
	maroon:[128,0,0],=0A=
	navy:[0,0,128],=0A=
	olive:[128,128,0],=0A=
	orange:[255,165,0],=0A=
	pink:[255,192,203],=0A=
	purple:[128,0,128],=0A=
	violet:[128,0,128],=0A=
	red:[255,0,0],=0A=
	silver:[192,192,192],=0A=
	white:[255,255,255],=0A=
	yellow:[255,255,0],=0A=
	transparent: [255,255,255]=0A=
};=0A=
=0A=
=0A=
=0A=
/************************************************************************=
******/=0A=
/****************************** CLASS ANIMATIONS =
******************************/=0A=
/************************************************************************=
******/=0A=
=0A=
var classAnimationActions =3D ['add', 'remove', 'toggle'],=0A=
	shorthandStyles =3D {=0A=
		border: 1,=0A=
		borderBottom: 1,=0A=
		borderColor: 1,=0A=
		borderLeft: 1,=0A=
		borderRight: 1,=0A=
		borderTop: 1,=0A=
		borderWidth: 1,=0A=
		margin: 1,=0A=
		padding: 1=0A=
	};=0A=
=0A=
function getElementStyles() {=0A=
	var style =3D document.defaultView=0A=
			? document.defaultView.getComputedStyle(this, null)=0A=
			: this.currentStyle,=0A=
		newStyle =3D {},=0A=
		key,=0A=
		camelCase;=0A=
=0A=
	// webkit enumerates style porperties=0A=
	if (style && style.length && style[0] && style[style[0]]) {=0A=
		var len =3D style.length;=0A=
		while (len--) {=0A=
			key =3D style[len];=0A=
			if (typeof style[key] =3D=3D 'string') {=0A=
				camelCase =3D key.replace(/\-(\w)/g, function(all, letter){=0A=
					return letter.toUpperCase();=0A=
				});=0A=
				newStyle[camelCase] =3D style[key];=0A=
			}=0A=
		}=0A=
	} else {=0A=
		for (key in style) {=0A=
			if (typeof style[key] =3D=3D=3D 'string') {=0A=
				newStyle[key] =3D style[key];=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	return newStyle;=0A=
}=0A=
=0A=
function filterStyles(styles) {=0A=
	var name, value;=0A=
	for (name in styles) {=0A=
		value =3D styles[name];=0A=
		if (=0A=
			// ignore null and undefined values=0A=
			value =3D=3D null ||=0A=
			// ignore functions (when does this occur?)=0A=
			$.isFunction(value) ||=0A=
			// shorthand styles that need to be expanded=0A=
			name in shorthandStyles ||=0A=
			// ignore scrollbars (break in IE)=0A=
			(/scrollbar/).test(name) ||=0A=
=0A=
			// only colors or values that can be converted to numbers=0A=
			(!(/color/i).test(name) && isNaN(parseFloat(value)))=0A=
		) {=0A=
			delete styles[name];=0A=
		}=0A=
	}=0A=
	=0A=
	return styles;=0A=
}=0A=
=0A=
function styleDifference(oldStyle, newStyle) {=0A=
	var diff =3D { _: 0 }, // http://dev.jquery.com/ticket/5459=0A=
		name;=0A=
=0A=
	for (name in newStyle) {=0A=
		if (oldStyle[name] !=3D newStyle[name]) {=0A=
			diff[name] =3D newStyle[name];=0A=
		}=0A=
	}=0A=
=0A=
	return diff;=0A=
}=0A=
=0A=
$.effects.animateClass =3D function(value, duration, easing, callback) {=0A=
	if ($.isFunction(easing)) {=0A=
		callback =3D easing;=0A=
		easing =3D null;=0A=
	}=0A=
=0A=
	return this.queue('fx', function() {=0A=
		var that =3D $(this),=0A=
			originalStyleAttr =3D that.attr('style') || ' ',=0A=
			originalStyle =3D filterStyles(getElementStyles.call(this)),=0A=
			newStyle,=0A=
			className =3D that.attr('className');=0A=
=0A=
		$.each(classAnimationActions, function(i, action) {=0A=
			if (value[action]) {=0A=
				that[action + 'Class'](value[action]);=0A=
			}=0A=
		});=0A=
		newStyle =3D filterStyles(getElementStyles.call(this));=0A=
		that.attr('className', className);=0A=
=0A=
		that.animate(styleDifference(originalStyle, newStyle), duration, =
easing, function() {=0A=
			$.each(classAnimationActions, function(i, action) {=0A=
				if (value[action]) { that[action + 'Class'](value[action]); }=0A=
			});=0A=
			// work around bug in IE by clearing the cssText before setting it=0A=
			if (typeof that.attr('style') =3D=3D 'object') {=0A=
				that.attr('style').cssText =3D '';=0A=
				that.attr('style').cssText =3D originalStyleAttr;=0A=
			} else {=0A=
				that.attr('style', originalStyleAttr);=0A=
			}=0A=
			if (callback) { callback.apply(this, arguments); }=0A=
		});=0A=
=0A=
		// $.animate adds a function to the end of the queue=0A=
		// but we want it at the front=0A=
		var queue =3D $.queue(this),=0A=
			anim =3D queue.splice(queue.length - 1, 1)[0];=0A=
		queue.splice(1, 0, anim);=0A=
		$.dequeue(this);=0A=
	});=0A=
};=0A=
=0A=
$.fn.extend({=0A=
	_addClass: $.fn.addClass,=0A=
	addClass: function(classNames, speed, easing, callback) {=0A=
		return speed ? $.effects.animateClass.apply(this, [{ add: classNames =
},speed,easing,callback]) : this._addClass(classNames);=0A=
	},=0A=
=0A=
	_removeClass: $.fn.removeClass,=0A=
	removeClass: function(classNames,speed,easing,callback) {=0A=
		return speed ? $.effects.animateClass.apply(this, [{ remove: =
classNames },speed,easing,callback]) : this._removeClass(classNames);=0A=
	},=0A=
=0A=
	_toggleClass: $.fn.toggleClass,=0A=
	toggleClass: function(classNames, force, speed, easing, callback) {=0A=
		if ( typeof force =3D=3D "boolean" || force =3D=3D=3D undefined ) {=0A=
			if ( !speed ) {=0A=
				// without speed parameter;=0A=
				return this._toggleClass(classNames, force);=0A=
			} else {=0A=
				return $.effects.animateClass.apply(this, =
[(force?{add:classNames}:{remove:classNames}),speed,easing,callback]);=0A=
			}=0A=
		} else {=0A=
			// without switch parameter;=0A=
			return $.effects.animateClass.apply(this, [{ toggle: classNames =
},force,speed,easing]);=0A=
		}=0A=
	},=0A=
=0A=
	switchClass: function(remove,add,speed,easing,callback) {=0A=
		return $.effects.animateClass.apply(this, [{ add: add, remove: remove =
},speed,easing,callback]);=0A=
	}=0A=
});=0A=
=0A=
=0A=
=0A=
/************************************************************************=
******/=0A=
/*********************************** EFFECTS =
**********************************/=0A=
/************************************************************************=
******/=0A=
=0A=
$.extend($.effects, {=0A=
	version: "1.8.10",=0A=
=0A=
	// Saves a set of properties in a data storage=0A=
	save: function(element, set) {=0A=
		for(var i=3D0; i < set.length; i++) {=0A=
			if(set[i] !=3D=3D null) element.data("ec.storage."+set[i], =
element[0].style[set[i]]);=0A=
		}=0A=
	},=0A=
=0A=
	// Restores a set of previously saved properties from a data storage=0A=
	restore: function(element, set) {=0A=
		for(var i=3D0; i < set.length; i++) {=0A=
			if(set[i] !=3D=3D null) element.css(set[i], =
element.data("ec.storage."+set[i]));=0A=
		}=0A=
	},=0A=
=0A=
	setMode: function(el, mode) {=0A=
		if (mode =3D=3D 'toggle') mode =3D el.is(':hidden') ? 'show' : 'hide'; =
// Set for toggle=0A=
		return mode;=0A=
	},=0A=
=0A=
	getBaseline: function(origin, original) { // Translates a [top,left] =
array into a baseline value=0A=
		// this should be a little more flexible in the future to handle a =
string & hash=0A=
		var y, x;=0A=
		switch (origin[0]) {=0A=
			case 'top': y =3D 0; break;=0A=
			case 'middle': y =3D 0.5; break;=0A=
			case 'bottom': y =3D 1; break;=0A=
			default: y =3D origin[0] / original.height;=0A=
		};=0A=
		switch (origin[1]) {=0A=
			case 'left': x =3D 0; break;=0A=
			case 'center': x =3D 0.5; break;=0A=
			case 'right': x =3D 1; break;=0A=
			default: x =3D origin[1] / original.width;=0A=
		};=0A=
		return {x: x, y: y};=0A=
	},=0A=
=0A=
	// Wraps the element around a wrapper that copies position properties=0A=
	createWrapper: function(element) {=0A=
=0A=
		// if the element is already wrapped, return it=0A=
		if (element.parent().is('.ui-effects-wrapper')) {=0A=
			return element.parent();=0A=
		}=0A=
=0A=
		// wrap the element=0A=
		var props =3D {=0A=
				width: element.outerWidth(true),=0A=
				height: element.outerHeight(true),=0A=
				'float': element.css('float')=0A=
			},=0A=
			wrapper =3D $('<div></div>')=0A=
				.addClass('ui-effects-wrapper')=0A=
				.css({=0A=
					fontSize: '100%',=0A=
					background: 'transparent',=0A=
					border: 'none',=0A=
					margin: 0,=0A=
					padding: 0=0A=
				});=0A=
=0A=
		element.wrap(wrapper);=0A=
		wrapper =3D element.parent(); //Hotfix for jQuery 1.4 since some =
change in wrap() seems to actually loose the reference to the wrapped =
element=0A=
=0A=
		// transfer positioning properties to the wrapper=0A=
		if (element.css('position') =3D=3D 'static') {=0A=
			wrapper.css({ position: 'relative' });=0A=
			element.css({ position: 'relative' });=0A=
		} else {=0A=
			$.extend(props, {=0A=
				position: element.css('position'),=0A=
				zIndex: element.css('z-index')=0A=
			});=0A=
			$.each(['top', 'left', 'bottom', 'right'], function(i, pos) {=0A=
				props[pos] =3D element.css(pos);=0A=
				if (isNaN(parseInt(props[pos], 10))) {=0A=
					props[pos] =3D 'auto';=0A=
				}=0A=
			});=0A=
			element.css({position: 'relative', top: 0, left: 0, right: 'auto', =
bottom: 'auto' });=0A=
		}=0A=
=0A=
		return wrapper.css(props).show();=0A=
	},=0A=
=0A=
	removeWrapper: function(element) {=0A=
		if (element.parent().is('.ui-effects-wrapper'))=0A=
			return element.parent().replaceWith(element);=0A=
		return element;=0A=
	},=0A=
=0A=
	setTransition: function(element, list, factor, value) {=0A=
		value =3D value || {};=0A=
		$.each(list, function(i, x){=0A=
			unit =3D element.cssUnit(x);=0A=
			if (unit[0] > 0) value[x] =3D unit[0] * factor + unit[1];=0A=
		});=0A=
		return value;=0A=
	}=0A=
});=0A=
=0A=
=0A=
function _normalizeArguments(effect, options, speed, callback) {=0A=
	// shift params for method overloading=0A=
	if (typeof effect =3D=3D 'object') {=0A=
		callback =3D options;=0A=
		speed =3D null;=0A=
		options =3D effect;=0A=
		effect =3D options.effect;=0A=
	}=0A=
	if ($.isFunction(options)) {=0A=
		callback =3D options;=0A=
		speed =3D null;=0A=
		options =3D {};=0A=
	}=0A=
        if (typeof options =3D=3D 'number' || $.fx.speeds[options]) {=0A=
		callback =3D speed;=0A=
		speed =3D options;=0A=
		options =3D {};=0A=
	}=0A=
	if ($.isFunction(speed)) {=0A=
		callback =3D speed;=0A=
		speed =3D null;=0A=
	}=0A=
=0A=
	options =3D options || {};=0A=
=0A=
	speed =3D speed || options.duration;=0A=
	speed =3D $.fx.off ? 0 : typeof speed =3D=3D 'number'=0A=
		? speed : speed in $.fx.speeds ? $.fx.speeds[speed] : =
$.fx.speeds._default;=0A=
=0A=
	callback =3D callback || options.complete;=0A=
=0A=
	return [effect, options, speed, callback];=0A=
}=0A=
=0A=
function standardSpeed( speed ) {=0A=
	// valid standard speeds=0A=
	if ( !speed || typeof speed =3D=3D=3D "number" || $.fx.speeds[ speed ] =
) {=0A=
		return true;=0A=
	}=0A=
	=0A=
	// invalid strings - treat as "normal" speed=0A=
	if ( typeof speed =3D=3D=3D "string" && !$.effects[ speed ] ) {=0A=
		return true;=0A=
	}=0A=
	=0A=
	return false;=0A=
}=0A=
=0A=
$.fn.extend({=0A=
	effect: function(effect, options, speed, callback) {=0A=
		var args =3D _normalizeArguments.apply(this, arguments),=0A=
			// TODO: make effects take actual parameters instead of a hash=0A=
			args2 =3D {=0A=
				options: args[1],=0A=
				duration: args[2],=0A=
				callback: args[3]=0A=
			},=0A=
			mode =3D args2.options.mode,=0A=
			effectMethod =3D $.effects[effect];=0A=
		=0A=
		if ( $.fx.off || !effectMethod ) {=0A=
			// delegate to the original method (e.g., .show()) if possible=0A=
			if ( mode ) {=0A=
				return this[ mode ]( args2.duration, args2.callback );=0A=
			} else {=0A=
				return this.each(function() {=0A=
					if ( args2.callback ) {=0A=
						args2.callback.call( this );=0A=
					}=0A=
				});=0A=
			}=0A=
		}=0A=
		=0A=
		return effectMethod.call(this, args2);=0A=
	},=0A=
=0A=
	_show: $.fn.show,=0A=
	show: function(speed) {=0A=
		if ( standardSpeed( speed ) ) {=0A=
			return this._show.apply(this, arguments);=0A=
		} else {=0A=
			var args =3D _normalizeArguments.apply(this, arguments);=0A=
			args[1].mode =3D 'show';=0A=
			return this.effect.apply(this, args);=0A=
		}=0A=
	},=0A=
=0A=
	_hide: $.fn.hide,=0A=
	hide: function(speed) {=0A=
		if ( standardSpeed( speed ) ) {=0A=
			return this._hide.apply(this, arguments);=0A=
		} else {=0A=
			var args =3D _normalizeArguments.apply(this, arguments);=0A=
			args[1].mode =3D 'hide';=0A=
			return this.effect.apply(this, args);=0A=
		}=0A=
	},=0A=
=0A=
	// jQuery core overloads toggle and creates _toggle=0A=
	__toggle: $.fn.toggle,=0A=
	toggle: function(speed) {=0A=
		if ( standardSpeed( speed ) || typeof speed =3D=3D=3D "boolean" || =
$.isFunction( speed ) ) {=0A=
			return this.__toggle.apply(this, arguments);=0A=
		} else {=0A=
			var args =3D _normalizeArguments.apply(this, arguments);=0A=
			args[1].mode =3D 'toggle';=0A=
			return this.effect.apply(this, args);=0A=
		}=0A=
	},=0A=
=0A=
	// helper functions=0A=
	cssUnit: function(key) {=0A=
		var style =3D this.css(key), val =3D [];=0A=
		$.each( ['em','px','%','pt'], function(i, unit){=0A=
			if(style.indexOf(unit) > 0)=0A=
				val =3D [parseFloat(style), unit];=0A=
		});=0A=
		return val;=0A=
	}=0A=
});=0A=
=0A=
=0A=
=0A=
/************************************************************************=
******/=0A=
/*********************************** EASING =
***********************************/=0A=
/************************************************************************=
******/=0A=
=0A=
/*=0A=
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/=0A=
 *=0A=
 * Uses the built in easing capabilities added In jQuery 1.1=0A=
 * to offer multiple easing options=0A=
 *=0A=
 * TERMS OF USE - jQuery Easing=0A=
 *=0A=
 * Open source under the BSD License.=0A=
 *=0A=
 * Copyright 2008 George McGinley Smith=0A=
 * All rights reserved.=0A=
 *=0A=
 * Redistribution and use in source and binary forms, with or without =
modification,=0A=
 * are permitted provided that the following conditions are met:=0A=
 *=0A=
 * Redistributions of source code must retain the above copyright =
notice, this list of=0A=
 * conditions and the following disclaimer.=0A=
 * Redistributions in binary form must reproduce the above copyright =
notice, this list=0A=
 * of conditions and the following disclaimer in the documentation =
and/or other materials=0A=
 * provided with the distribution.=0A=
 *=0A=
 * Neither the name of the author nor the names of contributors may be =
used to endorse=0A=
 * or promote products derived from this software without specific prior =
written permission.=0A=
 *=0A=
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS =
"AS IS" AND ANY=0A=
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE =
IMPLIED WARRANTIES OF=0A=
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. =
IN NO EVENT SHALL THE=0A=
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, =
INCIDENTAL, SPECIAL,=0A=
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, =
PROCUREMENT OF SUBSTITUTE=0A=
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS =
INTERRUPTION) HOWEVER CAUSED=0A=
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT =
LIABILITY, OR TORT (INCLUDING=0A=
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS =
SOFTWARE, EVEN IF ADVISED=0A=
 * OF THE POSSIBILITY OF SUCH DAMAGE.=0A=
 *=0A=
*/=0A=
=0A=
// t: current time, b: begInnIng value, c: change In value, d: duration=0A=
$.easing.jswing =3D $.easing.swing;=0A=
=0A=
$.extend($.easing,=0A=
{=0A=
	def: 'easeOutQuad',=0A=
	swing: function (x, t, b, c, d) {=0A=
		//alert($.easing.default);=0A=
		return $.easing[$.easing.def](x, t, b, c, d);=0A=
	},=0A=
	easeInQuad: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t + b;=0A=
	},=0A=
	easeOutQuad: function (x, t, b, c, d) {=0A=
		return -c *(t/=3Dd)*(t-2) + b;=0A=
	},=0A=
	easeInOutQuad: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t + b;=0A=
		return -c/2 * ((--t)*(t-2) - 1) + b;=0A=
	},=0A=
	easeInCubic: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t + b;=0A=
	},=0A=
	easeOutCubic: function (x, t, b, c, d) {=0A=
		return c*((t=3Dt/d-1)*t*t + 1) + b;=0A=
	},=0A=
	easeInOutCubic: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t + b;=0A=
		return c/2*((t-=3D2)*t*t + 2) + b;=0A=
	},=0A=
	easeInQuart: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t*t + b;=0A=
	},=0A=
	easeOutQuart: function (x, t, b, c, d) {=0A=
		return -c * ((t=3Dt/d-1)*t*t*t - 1) + b;=0A=
	},=0A=
	easeInOutQuart: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t*t + b;=0A=
		return -c/2 * ((t-=3D2)*t*t*t - 2) + b;=0A=
	},=0A=
	easeInQuint: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t*t*t + b;=0A=
	},=0A=
	easeOutQuint: function (x, t, b, c, d) {=0A=
		return c*((t=3Dt/d-1)*t*t*t*t + 1) + b;=0A=
	},=0A=
	easeInOutQuint: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t*t*t + b;=0A=
		return c/2*((t-=3D2)*t*t*t*t + 2) + b;=0A=
	},=0A=
	easeInSine: function (x, t, b, c, d) {=0A=
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;=0A=
	},=0A=
	easeOutSine: function (x, t, b, c, d) {=0A=
		return c * Math.sin(t/d * (Math.PI/2)) + b;=0A=
	},=0A=
	easeInOutSine: function (x, t, b, c, d) {=0A=
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;=0A=
	},=0A=
	easeInExpo: function (x, t, b, c, d) {=0A=
		return (t=3D=3D0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;=0A=
	},=0A=
	easeOutExpo: function (x, t, b, c, d) {=0A=
		return (t=3D=3Dd) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;=0A=
	},=0A=
	easeInOutExpo: function (x, t, b, c, d) {=0A=
		if (t=3D=3D0) return b;=0A=
		if (t=3D=3Dd) return b+c;=0A=
		if ((t/=3Dd/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;=0A=
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;=0A=
	},=0A=
	easeInCirc: function (x, t, b, c, d) {=0A=
		return -c * (Math.sqrt(1 - (t/=3Dd)*t) - 1) + b;=0A=
	},=0A=
	easeOutCirc: function (x, t, b, c, d) {=0A=
		return c * Math.sqrt(1 - (t=3Dt/d-1)*t) + b;=0A=
	},=0A=
	easeInOutCirc: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;=0A=
		return c/2 * (Math.sqrt(1 - (t-=3D2)*t) + 1) + b;=0A=
	},=0A=
	easeInElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd)=3D=3D1) return b+c;  if (!p) =
p=3Dd*.3;=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		return -(a*Math.pow(2,10*(t-=3D1)) * Math.sin( (t*d-s)*(2*Math.PI)/p =
)) + b;=0A=
	},=0A=
	easeOutElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd)=3D=3D1) return b+c;  if (!p) =
p=3Dd*.3;=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;=0A=
	},=0A=
	easeInOutElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd/2)=3D=3D2) return b+c;  if (!p) =
p=3Dd*(.3*1.5);=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=3D1)) * Math.sin( =
(t*d-s)*(2*Math.PI)/p )) + b;=0A=
		return a*Math.pow(2,-10*(t-=3D1)) * Math.sin( (t*d-s)*(2*Math.PI)/p =
)*.5 + c + b;=0A=
	},=0A=
	easeInBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158;=0A=
		return c*(t/=3Dd)*t*((s+1)*t - s) + b;=0A=
	},=0A=
	easeOutBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158;=0A=
		return c*((t=3Dt/d-1)*t*((s+1)*t + s) + 1) + b;=0A=
	},=0A=
	easeInOutBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158;=0A=
		if ((t/=3Dd/2) < 1) return c/2*(t*t*(((s*=3D(1.525))+1)*t - s)) + b;=0A=
		return c/2*((t-=3D2)*t*(((s*=3D(1.525))+1)*t + s) + 2) + b;=0A=
	},=0A=
	easeInBounce: function (x, t, b, c, d) {=0A=
		return c - $.easing.easeOutBounce (x, d-t, 0, c, d) + b;=0A=
	},=0A=
	easeOutBounce: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd) < (1/2.75)) {=0A=
			return c*(7.5625*t*t) + b;=0A=
		} else if (t < (2/2.75)) {=0A=
			return c*(7.5625*(t-=3D(1.5/2.75))*t + .75) + b;=0A=
		} else if (t < (2.5/2.75)) {=0A=
			return c*(7.5625*(t-=3D(2.25/2.75))*t + .9375) + b;=0A=
		} else {=0A=
			return c*(7.5625*(t-=3D(2.625/2.75))*t + .984375) + b;=0A=
		}=0A=
	},=0A=
	easeInOutBounce: function (x, t, b, c, d) {=0A=
		if (t < d/2) return $.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;=0A=
		return $.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;=0A=
	}=0A=
});=0A=
=0A=
/*=0A=
 *=0A=
 * TERMS OF USE - EASING EQUATIONS=0A=
 *=0A=
 * Open source under the BSD License.=0A=
 *=0A=
 * Copyright 2001 Robert Penner=0A=
 * All rights reserved.=0A=
 *=0A=
 * Redistribution and use in source and binary forms, with or without =
modification,=0A=
 * are permitted provided that the following conditions are met:=0A=
 *=0A=
 * Redistributions of source code must retain the above copyright =
notice, this list of=0A=
 * conditions and the following disclaimer.=0A=
 * Redistributions in binary form must reproduce the above copyright =
notice, this list=0A=
 * of conditions and the following disclaimer in the documentation =
and/or other materials=0A=
 * provided with the distribution.=0A=
 *=0A=
 * Neither the name of the author nor the names of contributors may be =
used to endorse=0A=
 * or promote products derived from this software without specific prior =
written permission.=0A=
 *=0A=
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS =
"AS IS" AND ANY=0A=
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE =
IMPLIED WARRANTIES OF=0A=
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. =
IN NO EVENT SHALL THE=0A=
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, =
INCIDENTAL, SPECIAL,=0A=
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, =
PROCUREMENT OF SUBSTITUTE=0A=
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS =
INTERRUPTION) HOWEVER CAUSED=0A=
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT =
LIABILITY, OR TORT (INCLUDING=0A=
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS =
SOFTWARE, EVEN IF ADVISED=0A=
 * OF THE POSSIBILITY OF SUCH DAMAGE.=0A=
 *=0A=
 */=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Blind 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Blind=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.blind =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'hide'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'vertical'; // Default =
direction=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		var wrapper =3D $.effects.createWrapper(el).css({overflow:'hidden'}); =
// Create Wrapper=0A=
		var ref =3D (direction =3D=3D 'vertical') ? 'height' : 'width';=0A=
		var distance =3D (direction =3D=3D 'vertical') ? wrapper.height() : =
wrapper.width();=0A=
		if(mode =3D=3D 'show') wrapper.css(ref, 0); // Shift=0A=
=0A=
		// Animation=0A=
		var animation =3D {};=0A=
		animation[ref] =3D mode =3D=3D 'show' ? distance : 0;=0A=
=0A=
		// Animate=0A=
		wrapper.animate(animation, o.duration, o.options.easing, function() {=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(el[0], arguments); // Callback=0A=
			el.dequeue();=0A=
		});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Bounce 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Bounce=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.bounce =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'effect'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'up'; // Default direction=0A=
		var distance =3D o.options.distance || 20; // Default distance=0A=
		var times =3D o.options.times || 5; // Default # of times=0A=
		var speed =3D o.duration || 250; // Default speed per bounce=0A=
		if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching =
opacity to prevent clearType and PNG issues in IE=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		$.effects.createWrapper(el); // Create Wrapper=0A=
		var ref =3D (direction =3D=3D 'up' || direction =3D=3D 'down') ? 'top' =
: 'left';=0A=
		var motion =3D (direction =3D=3D 'up' || direction =3D=3D 'left') ? =
'pos' : 'neg';=0A=
		var distance =3D o.options.distance || (ref =3D=3D 'top' ? =
el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3);=0A=
		if (mode =3D=3D 'show') el.css('opacity', 0).css(ref, motion =3D=3D =
'pos' ? -distance : distance); // Shift=0A=
		if (mode =3D=3D 'hide') distance =3D distance / (times * 2);=0A=
		if (mode !=3D 'hide') times--;=0A=
=0A=
		// Animate=0A=
		if (mode =3D=3D 'show') { // Show Bounce=0A=
			var animation =3D {opacity: 1};=0A=
			animation[ref] =3D (motion =3D=3D 'pos' ? '+=3D' : '-=3D') + distance;=0A=
			el.animate(animation, speed / 2, o.options.easing);=0A=
			distance =3D distance / 2;=0A=
			times--;=0A=
		};=0A=
		for (var i =3D 0; i < times; i++) { // Bounces=0A=
			var animation1 =3D {}, animation2 =3D {};=0A=
			animation1[ref] =3D (motion =3D=3D 'pos' ? '-=3D' : '+=3D') + =
distance;=0A=
			animation2[ref] =3D (motion =3D=3D 'pos' ? '+=3D' : '-=3D') + =
distance;=0A=
			el.animate(animation1, speed / 2, =
o.options.easing).animate(animation2, speed / 2, o.options.easing);=0A=
			distance =3D (mode =3D=3D 'hide') ? distance * 2 : distance / 2;=0A=
		};=0A=
		if (mode =3D=3D 'hide') { // Last Bounce=0A=
			var animation =3D {opacity: 0};=0A=
			animation[ref] =3D (motion =3D=3D 'pos' ? '-=3D' : '+=3D')  + =
distance;=0A=
			el.animate(animation, speed / 2, o.options.easing, function(){=0A=
				el.hide(); // Hide=0A=
				$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
				if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
			});=0A=
		} else {=0A=
			var animation1 =3D {}, animation2 =3D {};=0A=
			animation1[ref] =3D (motion =3D=3D 'pos' ? '-=3D' : '+=3D') + =
distance;=0A=
			animation2[ref] =3D (motion =3D=3D 'pos' ? '+=3D' : '-=3D') + =
distance;=0A=
			el.animate(animation1, speed / 2, =
o.options.easing).animate(animation2, speed / 2, o.options.easing, =
function(){=0A=
				$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
				if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
			});=0A=
		};=0A=
		el.queue('fx', function() { el.dequeue(); });=0A=
		el.dequeue();=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Clip 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Clip=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.clip =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right','height','width'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'hide'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'vertical'; // Default =
direction=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		var wrapper =3D $.effects.createWrapper(el).css({overflow:'hidden'}); =
// Create Wrapper=0A=
		var animate =3D el[0].tagName =3D=3D 'IMG' ? wrapper : el;=0A=
		var ref =3D {=0A=
			size: (direction =3D=3D 'vertical') ? 'height' : 'width',=0A=
			position: (direction =3D=3D 'vertical') ? 'top' : 'left'=0A=
		};=0A=
		var distance =3D (direction =3D=3D 'vertical') ? animate.height() : =
animate.width();=0A=
		if(mode =3D=3D 'show') { animate.css(ref.size, 0); =
animate.css(ref.position, distance / 2); } // Shift=0A=
=0A=
		// Animation=0A=
		var animation =3D {};=0A=
		animation[ref.size] =3D mode =3D=3D 'show' ? distance : 0;=0A=
		animation[ref.position] =3D mode =3D=3D 'show' ? 0 : distance / 2;=0A=
=0A=
		// Animate=0A=
		animate.animate(animation, { queue: false, duration: o.duration, =
easing: o.options.easing, complete: function() {=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(el[0], arguments); // Callback=0A=
			el.dequeue();=0A=
		}});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Drop 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Drop=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.drop =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right','opacity'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'hide'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'left'; // Default Direction=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		$.effects.createWrapper(el); // Create Wrapper=0A=
		var ref =3D (direction =3D=3D 'up' || direction =3D=3D 'down') ? 'top' =
: 'left';=0A=
		var motion =3D (direction =3D=3D 'up' || direction =3D=3D 'left') ? =
'pos' : 'neg';=0A=
		var distance =3D o.options.distance || (ref =3D=3D 'top' ? =
el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);=0A=
		if (mode =3D=3D 'show') el.css('opacity', 0).css(ref, motion =3D=3D =
'pos' ? -distance : distance); // Shift=0A=
=0A=
		// Animation=0A=
		var animation =3D {opacity: mode =3D=3D 'show' ? 1 : 0};=0A=
		animation[ref] =3D (mode =3D=3D 'show' ? (motion =3D=3D 'pos' ? '+=3D' =
: '-=3D') : (motion =3D=3D 'pos' ? '-=3D' : '+=3D')) + distance;=0A=
=0A=
		// Animate=0A=
		el.animate(animation, { queue: false, duration: o.duration, easing: =
o.options.easing, complete: function() {=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
			el.dequeue();=0A=
		}});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Explode 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Explode=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.explode =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
	var rows =3D o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) =
: 3;=0A=
	var cells =3D o.options.pieces ? =
Math.round(Math.sqrt(o.options.pieces)) : 3;=0A=
=0A=
	o.options.mode =3D o.options.mode =3D=3D 'toggle' ? =
($(this).is(':visible') ? 'hide' : 'show') : o.options.mode;=0A=
	var el =3D $(this).show().css('visibility', 'hidden');=0A=
	var offset =3D el.offset();=0A=
=0A=
	//Substract the margins - not fixing the problem yet.=0A=
	offset.top -=3D parseInt(el.css("marginTop"),10) || 0;=0A=
	offset.left -=3D parseInt(el.css("marginLeft"),10) || 0;=0A=
=0A=
	var width =3D el.outerWidth(true);=0A=
	var height =3D el.outerHeight(true);=0A=
=0A=
	for(var i=3D0;i<rows;i++) { // =3D=0A=
		for(var j=3D0;j<cells;j++) { // ||=0A=
			el=0A=
				.clone()=0A=
				.appendTo('body')=0A=
				.wrap('<div></div>')=0A=
				.css({=0A=
					position: 'absolute',=0A=
					visibility: 'visible',=0A=
					left: -j*(width/cells),=0A=
					top: -i*(height/rows)=0A=
				})=0A=
				.parent()=0A=
				.addClass('ui-effects-explode')=0A=
				.css({=0A=
					position: 'absolute',=0A=
					overflow: 'hidden',=0A=
					width: width/cells,=0A=
					height: height/rows,=0A=
					left: offset.left + j*(width/cells) + (o.options.mode =3D=3D 'show' =
? (j-Math.floor(cells/2))*(width/cells) : 0),=0A=
					top: offset.top + i*(height/rows) + (o.options.mode =3D=3D 'show' ? =
(i-Math.floor(rows/2))*(height/rows) : 0),=0A=
					opacity: o.options.mode =3D=3D 'show' ? 0 : 1=0A=
				}).animate({=0A=
					left: offset.left + j*(width/cells) + (o.options.mode =3D=3D 'show' =
? 0 : (j-Math.floor(cells/2))*(width/cells)),=0A=
					top: offset.top + i*(height/rows) + (o.options.mode =3D=3D 'show' ? =
0 : (i-Math.floor(rows/2))*(height/rows)),=0A=
					opacity: o.options.mode =3D=3D 'show' ? 1 : 0=0A=
				}, o.duration || 500);=0A=
		}=0A=
	}=0A=
=0A=
	// Set a timeout, to call the callback approx. when the other =
animations have finished=0A=
	setTimeout(function() {=0A=
=0A=
		o.options.mode =3D=3D 'show' ? el.css({ visibility: 'visible' }) : =
el.css({ visibility: 'visible' }).hide();=0A=
				if(o.callback) o.callback.apply(el[0]); // Callback=0A=
				el.dequeue();=0A=
=0A=
				$('div.ui-effects-explode').remove();=0A=
=0A=
	}, o.duration || 500);=0A=
=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Fade 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Fade=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.fade =3D function(o) {=0A=
	return this.queue(function() {=0A=
		var elem =3D $(this),=0A=
			mode =3D $.effects.setMode(elem, o.options.mode || 'hide');=0A=
=0A=
		elem.animate({ opacity: mode }, {=0A=
			queue: false,=0A=
			duration: o.duration,=0A=
			easing: o.options.easing,=0A=
			complete: function() {=0A=
				(o.callback && o.callback.apply(this, arguments));=0A=
				elem.dequeue();=0A=
			}=0A=
		});=0A=
	});=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Fold 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Fold=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.fold =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'hide'); // Set =
Mode=0A=
		var size =3D o.options.size || 15; // Default fold size=0A=
		var horizFirst =3D !(!o.options.horizFirst); // Ensure a boolean value=0A=
		var duration =3D o.duration ? o.duration / 2 : $.fx.speeds._default / =
2;=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		var wrapper =3D $.effects.createWrapper(el).css({overflow:'hidden'}); =
// Create Wrapper=0A=
		var widthFirst =3D ((mode =3D=3D 'show') !=3D horizFirst);=0A=
		var ref =3D widthFirst ? ['width', 'height'] : ['height', 'width'];=0A=
		var distance =3D widthFirst ? [wrapper.width(), wrapper.height()] : =
[wrapper.height(), wrapper.width()];=0A=
		var percent =3D /([0-9]+)%/.exec(size);=0A=
		if(percent) size =3D parseInt(percent[1],10) / 100 * distance[mode =
=3D=3D 'hide' ? 0 : 1];=0A=
		if(mode =3D=3D 'show') wrapper.css(horizFirst ? {height: 0, width: =
size} : {height: size, width: 0}); // Shift=0A=
=0A=
		// Animation=0A=
		var animation1 =3D {}, animation2 =3D {};=0A=
		animation1[ref[0]] =3D mode =3D=3D 'show' ? distance[0] : size;=0A=
		animation2[ref[1]] =3D mode =3D=3D 'show' ? distance[1] : 0;=0A=
=0A=
		// Animate=0A=
		wrapper.animate(animation1, duration, o.options.easing)=0A=
		.animate(animation2, duration, o.options.easing, function() {=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(el[0], arguments); // Callback=0A=
			el.dequeue();=0A=
		});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Highlight 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Highlight=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.highlight =3D function(o) {=0A=
	return this.queue(function() {=0A=
		var elem =3D $(this),=0A=
			props =3D ['backgroundImage', 'backgroundColor', 'opacity'],=0A=
			mode =3D $.effects.setMode(elem, o.options.mode || 'show'),=0A=
			animation =3D {=0A=
				backgroundColor: elem.css('backgroundColor')=0A=
			};=0A=
=0A=
		if (mode =3D=3D 'hide') {=0A=
			animation.opacity =3D 0;=0A=
		}=0A=
=0A=
		$.effects.save(elem, props);=0A=
		elem=0A=
			.show()=0A=
			.css({=0A=
				backgroundImage: 'none',=0A=
				backgroundColor: o.options.color || '#ffff99'=0A=
			})=0A=
			.animate(animation, {=0A=
				queue: false,=0A=
				duration: o.duration,=0A=
				easing: o.options.easing,=0A=
				complete: function() {=0A=
					(mode =3D=3D 'hide' && elem.hide());=0A=
					$.effects.restore(elem, props);=0A=
					(mode =3D=3D 'show' && !$.support.opacity && =
this.style.removeAttribute('filter'));=0A=
					(o.callback && o.callback.apply(this, arguments));=0A=
					elem.dequeue();=0A=
				}=0A=
			});=0A=
	});=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Pulsate 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Pulsate=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.pulsate =3D function(o) {=0A=
	return this.queue(function() {=0A=
		var elem =3D $(this),=0A=
			mode =3D $.effects.setMode(elem, o.options.mode || 'show');=0A=
			times =3D ((o.options.times || 5) * 2) - 1;=0A=
			duration =3D o.duration ? o.duration / 2 : $.fx.speeds._default / 2,=0A=
			isVisible =3D elem.is(':visible'),=0A=
			animateTo =3D 0;=0A=
=0A=
		if (!isVisible) {=0A=
			elem.css('opacity', 0).show();=0A=
			animateTo =3D 1;=0A=
		}=0A=
=0A=
		if ((mode =3D=3D 'hide' && isVisible) || (mode =3D=3D 'show' && =
!isVisible)) {=0A=
			times--;=0A=
		}=0A=
=0A=
		for (var i =3D 0; i < times; i++) {=0A=
			elem.animate({ opacity: animateTo }, duration, o.options.easing);=0A=
			animateTo =3D (animateTo + 1) % 2;=0A=
		}=0A=
=0A=
		elem.animate({ opacity: animateTo }, duration, o.options.easing, =
function() {=0A=
			if (animateTo =3D=3D 0) {=0A=
				elem.hide();=0A=
			}=0A=
			(o.callback && o.callback.apply(this, arguments));=0A=
		});=0A=
=0A=
		elem=0A=
			.queue('fx', function() { elem.dequeue(); })=0A=
			.dequeue();=0A=
	});=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Scale 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Scale=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.puff =3D function(o) {=0A=
	return this.queue(function() {=0A=
		var elem =3D $(this),=0A=
			mode =3D $.effects.setMode(elem, o.options.mode || 'hide'),=0A=
			percent =3D parseInt(o.options.percent, 10) || 150,=0A=
			factor =3D percent / 100,=0A=
			original =3D { height: elem.height(), width: elem.width() };=0A=
=0A=
		$.extend(o.options, {=0A=
			fade: true,=0A=
			mode: mode,=0A=
			percent: mode =3D=3D 'hide' ? percent : 100,=0A=
			from: mode =3D=3D 'hide'=0A=
				? original=0A=
				: {=0A=
					height: original.height * factor,=0A=
					width: original.width * factor=0A=
				}=0A=
		});=0A=
=0A=
		elem.effect('scale', o.options, o.duration, o.callback);=0A=
		elem.dequeue();=0A=
	});=0A=
};=0A=
=0A=
$.effects.scale =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this);=0A=
=0A=
		// Set options=0A=
		var options =3D $.extend(true, {}, o.options);=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'effect'); // Set =
Mode=0A=
		var percent =3D parseInt(o.options.percent,10) || =
(parseInt(o.options.percent,10) =3D=3D 0 ? 0 : (mode =3D=3D 'hide' ? 0 : =
100)); // Set default scaling percent=0A=
		var direction =3D o.options.direction || 'both'; // Set default axis=0A=
		var origin =3D o.options.origin; // The origin of the scaling=0A=
		if (mode !=3D 'effect') { // Set default origin and restore for =
show/hide=0A=
			options.origin =3D origin || ['middle','center'];=0A=
			options.restore =3D true;=0A=
		}=0A=
		var original =3D {height: el.height(), width: el.width()}; // Save =
original=0A=
		el.from =3D o.options.from || (mode =3D=3D 'show' ? {height: 0, width: =
0} : original); // Default from state=0A=
=0A=
		// Adjust=0A=
		var factor =3D { // Set scaling factor=0A=
			y: direction !=3D 'horizontal' ? (percent / 100) : 1,=0A=
			x: direction !=3D 'vertical' ? (percent / 100) : 1=0A=
		};=0A=
		el.to =3D {height: original.height * factor.y, width: original.width * =
factor.x}; // Set to state=0A=
=0A=
		if (o.options.fade) { // Fade option to support puff=0A=
			if (mode =3D=3D 'show') {el.from.opacity =3D 0; el.to.opacity =3D 1;};=0A=
			if (mode =3D=3D 'hide') {el.from.opacity =3D 1; el.to.opacity =3D 0;};=0A=
		};=0A=
=0A=
		// Animation=0A=
		options.from =3D el.from; options.to =3D el.to; options.mode =3D mode;=0A=
=0A=
		// Animate=0A=
		el.effect('size', options, o.duration, o.callback);=0A=
		el.dequeue();=0A=
	});=0A=
=0A=
};=0A=
=0A=
$.effects.size =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right','width','height','overflow','op=
acity'];=0A=
		var props1 =3D =
['position','top','bottom','left','right','overflow','opacity']; // =
Always restore=0A=
		var props2 =3D ['width','height','overflow']; // Copy for children=0A=
		var cProps =3D ['fontSize'];=0A=
		var vProps =3D ['borderTopWidth', 'borderBottomWidth', 'paddingTop', =
'paddingBottom'];=0A=
		var hProps =3D ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', =
'paddingRight'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'effect'); // Set =
Mode=0A=
		var restore =3D o.options.restore || false; // Default restore=0A=
		var scale =3D o.options.scale || 'both'; // Default scale mode=0A=
		var origin =3D o.options.origin; // The origin of the sizing=0A=
		var original =3D {height: el.height(), width: el.width()}; // Save =
original=0A=
		el.from =3D o.options.from || original; // Default from state=0A=
		el.to =3D o.options.to || original; // Default to state=0A=
		// Adjust=0A=
		if (origin) { // Calculate baseline shifts=0A=
			var baseline =3D $.effects.getBaseline(origin, original);=0A=
			el.from.top =3D (original.height - el.from.height) * baseline.y;=0A=
			el.from.left =3D (original.width - el.from.width) * baseline.x;=0A=
			el.to.top =3D (original.height - el.to.height) * baseline.y;=0A=
			el.to.left =3D (original.width - el.to.width) * baseline.x;=0A=
		};=0A=
		var factor =3D { // Set scaling factor=0A=
			from: {y: el.from.height / original.height, x: el.from.width / =
original.width},=0A=
			to: {y: el.to.height / original.height, x: el.to.width / =
original.width}=0A=
		};=0A=
		if (scale =3D=3D 'box' || scale =3D=3D 'both') { // Scale the css box=0A=
			if (factor.from.y !=3D factor.to.y) { // Vertical props scaling=0A=
				props =3D props.concat(vProps);=0A=
				el.from =3D $.effects.setTransition(el, vProps, factor.from.y, =
el.from);=0A=
				el.to =3D $.effects.setTransition(el, vProps, factor.to.y, el.to);=0A=
			};=0A=
			if (factor.from.x !=3D factor.to.x) { // Horizontal props scaling=0A=
				props =3D props.concat(hProps);=0A=
				el.from =3D $.effects.setTransition(el, hProps, factor.from.x, =
el.from);=0A=
				el.to =3D $.effects.setTransition(el, hProps, factor.to.x, el.to);=0A=
			};=0A=
		};=0A=
		if (scale =3D=3D 'content' || scale =3D=3D 'both') { // Scale the =
content=0A=
			if (factor.from.y !=3D factor.to.y) { // Vertical props scaling=0A=
				props =3D props.concat(cProps);=0A=
				el.from =3D $.effects.setTransition(el, cProps, factor.from.y, =
el.from);=0A=
				el.to =3D $.effects.setTransition(el, cProps, factor.to.y, el.to);=0A=
			};=0A=
		};=0A=
		$.effects.save(el, restore ? props : props1); el.show(); // Save & Show=0A=
		$.effects.createWrapper(el); // Create Wrapper=0A=
		el.css('overflow','hidden').css(el.from); // Shift=0A=
=0A=
		// Animate=0A=
		if (scale =3D=3D 'content' || scale =3D=3D 'both') { // Scale the =
children=0A=
			vProps =3D =
vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add =
margins/font-size=0A=
			hProps =3D hProps.concat(['marginLeft','marginRight']); // Add margins=0A=
			props2 =3D props.concat(vProps).concat(hProps); // Concat=0A=
			el.find("*[width]").each(function(){=0A=
				child =3D $(this);=0A=
				if (restore) $.effects.save(child, props2);=0A=
				var c_original =3D {height: child.height(), width: child.width()}; =
// Save original=0A=
				child.from =3D {height: c_original.height * factor.from.y, width: =
c_original.width * factor.from.x};=0A=
				child.to =3D {height: c_original.height * factor.to.y, width: =
c_original.width * factor.to.x};=0A=
				if (factor.from.y !=3D factor.to.y) { // Vertical props scaling=0A=
					child.from =3D $.effects.setTransition(child, vProps, =
factor.from.y, child.from);=0A=
					child.to =3D $.effects.setTransition(child, vProps, factor.to.y, =
child.to);=0A=
				};=0A=
				if (factor.from.x !=3D factor.to.x) { // Horizontal props scaling=0A=
					child.from =3D $.effects.setTransition(child, hProps, =
factor.from.x, child.from);=0A=
					child.to =3D $.effects.setTransition(child, hProps, factor.to.x, =
child.to);=0A=
				};=0A=
				child.css(child.from); // Shift children=0A=
				child.animate(child.to, o.duration, o.options.easing, function(){=0A=
					if (restore) $.effects.restore(child, props2); // Restore children=0A=
				}); // Animate children=0A=
			});=0A=
		};=0A=
=0A=
		// Animate=0A=
		el.animate(el.to, { queue: false, duration: o.duration, easing: =
o.options.easing, complete: function() {=0A=
			if (el.to.opacity =3D=3D=3D 0) {=0A=
				el.css('opacity', el.from.opacity);=0A=
			}=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, restore ? props : props1); =
$.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
			el.dequeue();=0A=
		}});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Shake 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Shake=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.shake =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'effect'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'left'; // Default direction=0A=
		var distance =3D o.options.distance || 20; // Default distance=0A=
		var times =3D o.options.times || 3; // Default # of times=0A=
		var speed =3D o.duration || o.options.duration || 140; // Default =
speed per shake=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		$.effects.createWrapper(el); // Create Wrapper=0A=
		var ref =3D (direction =3D=3D 'up' || direction =3D=3D 'down') ? 'top' =
: 'left';=0A=
		var motion =3D (direction =3D=3D 'up' || direction =3D=3D 'left') ? =
'pos' : 'neg';=0A=
=0A=
		// Animation=0A=
		var animation =3D {}, animation1 =3D {}, animation2 =3D {};=0A=
		animation[ref] =3D (motion =3D=3D 'pos' ? '-=3D' : '+=3D')  + distance;=0A=
		animation1[ref] =3D (motion =3D=3D 'pos' ? '+=3D' : '-=3D')  + =
distance * 2;=0A=
		animation2[ref] =3D (motion =3D=3D 'pos' ? '-=3D' : '+=3D')  + =
distance * 2;=0A=
=0A=
		// Animate=0A=
		el.animate(animation, speed, o.options.easing);=0A=
		for (var i =3D 1; i < times; i++) { // Shakes=0A=
			el.animate(animation1, speed, o.options.easing).animate(animation2, =
speed, o.options.easing);=0A=
		};=0A=
		el.animate(animation1, speed, o.options.easing).=0A=
		animate(animation, speed / 2, o.options.easing, function(){ // Last =
shake=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
		});=0A=
		el.queue('fx', function() { el.dequeue(); });=0A=
		el.dequeue();=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Slide 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Slide=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.slide =3D function(o) {=0A=
=0A=
	return this.queue(function() {=0A=
=0A=
		// Create element=0A=
		var el =3D $(this), props =3D =
['position','top','bottom','left','right'];=0A=
=0A=
		// Set options=0A=
		var mode =3D $.effects.setMode(el, o.options.mode || 'show'); // Set =
Mode=0A=
		var direction =3D o.options.direction || 'left'; // Default Direction=0A=
=0A=
		// Adjust=0A=
		$.effects.save(el, props); el.show(); // Save & Show=0A=
		$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper=0A=
		var ref =3D (direction =3D=3D 'up' || direction =3D=3D 'down') ? 'top' =
: 'left';=0A=
		var motion =3D (direction =3D=3D 'up' || direction =3D=3D 'left') ? =
'pos' : 'neg';=0A=
		var distance =3D o.options.distance || (ref =3D=3D 'top' ? =
el.outerHeight({margin:true}) : el.outerWidth({margin:true}));=0A=
		if (mode =3D=3D 'show') el.css(ref, motion =3D=3D 'pos' ? =
(isNaN(distance) ? "-" + distance : -distance) : distance); // Shift=0A=
=0A=
		// Animation=0A=
		var animation =3D {};=0A=
		animation[ref] =3D (mode =3D=3D 'show' ? (motion =3D=3D 'pos' ? '+=3D' =
: '-=3D') : (motion =3D=3D 'pos' ? '-=3D' : '+=3D')) + distance;=0A=
=0A=
		// Animate=0A=
		el.animate(animation, { queue: false, duration: o.duration, easing: =
o.options.easing, complete: function() {=0A=
			if(mode =3D=3D 'hide') el.hide(); // Hide=0A=
			$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore=0A=
			if(o.callback) o.callback.apply(this, arguments); // Callback=0A=
			el.dequeue();=0A=
		}});=0A=
=0A=
	});=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Effects Transfer 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Effects/Transfer=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.effects.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.effects.transfer =3D function(o) {=0A=
	return this.queue(function() {=0A=
		var elem =3D $(this),=0A=
			target =3D $(o.options.to),=0A=
			endPosition =3D target.offset(),=0A=
			animation =3D {=0A=
				top: endPosition.top,=0A=
				left: endPosition.left,=0A=
				height: target.innerHeight(),=0A=
				width: target.innerWidth()=0A=
			},=0A=
			startPosition =3D elem.offset(),=0A=
			transfer =3D $('<div class=3D"ui-effects-transfer"></div>')=0A=
				.appendTo(document.body)=0A=
				.addClass(o.options.className)=0A=
				.css({=0A=
					top: startPosition.top,=0A=
					left: startPosition.left,=0A=
					height: elem.innerHeight(),=0A=
					width: elem.innerWidth(),=0A=
					position: 'absolute'=0A=
				})=0A=
				.animate(animation, o.duration, o.options.easing, function() {=0A=
					transfer.remove();=0A=
					(o.callback && o.callback.apply(elem[0], arguments));=0A=
					elem.dequeue();=0A=
				});=0A=
	});=0A=
};=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Accordion 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Accordion=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget( "ui.accordion", {=0A=
	options: {=0A=
		active: 0,=0A=
		animated: "slide",=0A=
		autoHeight: true,=0A=
		clearStyle: false,=0A=
		collapsible: false,=0A=
		event: "click",=0A=
		fillSpace: false,=0A=
		header: "> li > :first-child,> :not(li):even",=0A=
		icons: {=0A=
			header: "ui-icon-triangle-1-e",=0A=
			headerSelected: "ui-icon-triangle-1-s"=0A=
		},=0A=
		navigation: false,=0A=
		navigationFilter: function() {=0A=
			return this.href.toLowerCase() =3D=3D=3D location.href.toLowerCase();=0A=
		}=0A=
	},=0A=
=0A=
	_create: function() {=0A=
		var self =3D this,=0A=
			options =3D self.options;=0A=
=0A=
		self.running =3D 0;=0A=
=0A=
		self.element=0A=
			.addClass( "ui-accordion ui-widget ui-helper-reset" )=0A=
			// in lack of child-selectors in CSS=0A=
			// we need to mark top-LIs in a UL-accordion for some IE-fix=0A=
			.children( "li" )=0A=
				.addClass( "ui-accordion-li-fix" );=0A=
=0A=
		self.headers =3D self.element.find( options.header )=0A=
			.addClass( "ui-accordion-header ui-helper-reset ui-state-default =
ui-corner-all" )=0A=
			.bind( "mouseenter.accordion", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).addClass( "ui-state-hover" );=0A=
			})=0A=
			.bind( "mouseleave.accordion", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).removeClass( "ui-state-hover" );=0A=
			})=0A=
			.bind( "focus.accordion", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).addClass( "ui-state-focus" );=0A=
			})=0A=
			.bind( "blur.accordion", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).removeClass( "ui-state-focus" );=0A=
			});=0A=
=0A=
		self.headers.next()=0A=
			.addClass( "ui-accordion-content ui-helper-reset ui-widget-content =
ui-corner-bottom" );=0A=
=0A=
		if ( options.navigation ) {=0A=
			var current =3D self.element.find( "a" ).filter( =
options.navigationFilter ).eq( 0 );=0A=
			if ( current.length ) {=0A=
				var header =3D current.closest( ".ui-accordion-header" );=0A=
				if ( header.length ) {=0A=
					// anchor within header=0A=
					self.active =3D header;=0A=
				} else {=0A=
					// anchor within content=0A=
					self.active =3D current.closest( ".ui-accordion-content" ).prev();=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		self.active =3D self._findActive( self.active || options.active )=0A=
			.addClass( "ui-state-default ui-state-active" )=0A=
			.toggleClass( "ui-corner-all" )=0A=
			.toggleClass( "ui-corner-top" );=0A=
		self.active.next().addClass( "ui-accordion-content-active" );=0A=
=0A=
		self._createIcons();=0A=
		self.resize();=0A=
		=0A=
		// ARIA=0A=
		self.element.attr( "role", "tablist" );=0A=
=0A=
		self.headers=0A=
			.attr( "role", "tab" )=0A=
			.bind( "keydown.accordion", function( event ) {=0A=
				return self._keydown( event );=0A=
			})=0A=
			.next()=0A=
				.attr( "role", "tabpanel" );=0A=
=0A=
		self.headers=0A=
			.not( self.active || "" )=0A=
			.attr({=0A=
				"aria-expanded": "false",=0A=
				tabIndex: -1=0A=
			})=0A=
			.next()=0A=
				.hide();=0A=
=0A=
		// make sure at least one header is in the tab order=0A=
		if ( !self.active.length ) {=0A=
			self.headers.eq( 0 ).attr( "tabIndex", 0 );=0A=
		} else {=0A=
			self.active=0A=
				.attr({=0A=
					"aria-expanded": "true",=0A=
					tabIndex: 0=0A=
				});=0A=
		}=0A=
=0A=
		// only need links in tab order for Safari=0A=
		if ( !$.browser.safari ) {=0A=
			self.headers.find( "a" ).attr( "tabIndex", -1 );=0A=
		}=0A=
=0A=
		if ( options.event ) {=0A=
			self.headers.bind( options.event.split(" ").join(".accordion ") + =
".accordion", function(event) {=0A=
				self._clickHandler.call( self, event, this );=0A=
				event.preventDefault();=0A=
			});=0A=
		}=0A=
	},=0A=
=0A=
	_createIcons: function() {=0A=
		var options =3D this.options;=0A=
		if ( options.icons ) {=0A=
			$( "<span></span>" )=0A=
				.addClass( "ui-icon " + options.icons.header )=0A=
				.prependTo( this.headers );=0A=
			this.active.children( ".ui-icon" )=0A=
				.toggleClass(options.icons.header)=0A=
				.toggleClass(options.icons.headerSelected);=0A=
			this.element.addClass( "ui-accordion-icons" );=0A=
		}=0A=
	},=0A=
=0A=
	_destroyIcons: function() {=0A=
		this.headers.children( ".ui-icon" ).remove();=0A=
		this.element.removeClass( "ui-accordion-icons" );=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		var options =3D this.options;=0A=
=0A=
		this.element=0A=
			.removeClass( "ui-accordion ui-widget ui-helper-reset" )=0A=
			.removeAttr( "role" );=0A=
=0A=
		this.headers=0A=
			.unbind( ".accordion" )=0A=
			.removeClass( "ui-accordion-header ui-accordion-disabled =
ui-helper-reset ui-state-default ui-corner-all ui-state-active =
ui-state-disabled ui-corner-top" )=0A=
			.removeAttr( "role" )=0A=
			.removeAttr( "aria-expanded" )=0A=
			.removeAttr( "tabIndex" );=0A=
=0A=
		this.headers.find( "a" ).removeAttr( "tabIndex" );=0A=
		this._destroyIcons();=0A=
		var contents =3D this.headers.next()=0A=
			.css( "display", "" )=0A=
			.removeAttr( "role" )=0A=
			.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom =
ui-accordion-content ui-accordion-content-active ui-accordion-disabled =
ui-state-disabled" );=0A=
		if ( options.autoHeight || options.fillHeight ) {=0A=
			contents.css( "height", "" );=0A=
		}=0A=
=0A=
		return $.Widget.prototype.destroy.call( this );=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
			=0A=
		if ( key =3D=3D "active" ) {=0A=
			this.activate( value );=0A=
		}=0A=
		if ( key =3D=3D "icons" ) {=0A=
			this._destroyIcons();=0A=
			if ( value ) {=0A=
				this._createIcons();=0A=
			}=0A=
		}=0A=
		// #5332 - opacity doesn't cascade to positioned elements in IE=0A=
		// so we need to add the disabled class to the headers and panels=0A=
		if ( key =3D=3D "disabled" ) {=0A=
			this.headers.add(this.headers.next())=0A=
				[ value ? "addClass" : "removeClass" ](=0A=
					"ui-accordion-disabled ui-state-disabled" );=0A=
		}=0A=
	},=0A=
=0A=
	_keydown: function( event ) {=0A=
		if ( this.options.disabled || event.altKey || event.ctrlKey ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var keyCode =3D $.ui.keyCode,=0A=
			length =3D this.headers.length,=0A=
			currentIndex =3D this.headers.index( event.target ),=0A=
			toFocus =3D false;=0A=
=0A=
		switch ( event.keyCode ) {=0A=
			case keyCode.RIGHT:=0A=
			case keyCode.DOWN:=0A=
				toFocus =3D this.headers[ ( currentIndex + 1 ) % length ];=0A=
				break;=0A=
			case keyCode.LEFT:=0A=
			case keyCode.UP:=0A=
				toFocus =3D this.headers[ ( currentIndex - 1 + length ) % length ];=0A=
				break;=0A=
			case keyCode.SPACE:=0A=
			case keyCode.ENTER:=0A=
				this._clickHandler( { target: event.target }, event.target );=0A=
				event.preventDefault();=0A=
		}=0A=
=0A=
		if ( toFocus ) {=0A=
			$( event.target ).attr( "tabIndex", -1 );=0A=
			$( toFocus ).attr( "tabIndex", 0 );=0A=
			toFocus.focus();=0A=
			return false;=0A=
		}=0A=
=0A=
		return true;=0A=
	},=0A=
=0A=
	resize: function() {=0A=
		var options =3D this.options,=0A=
			maxHeight;=0A=
=0A=
		if ( options.fillSpace ) {=0A=
			if ( $.browser.msie ) {=0A=
				var defOverflow =3D this.element.parent().css( "overflow" );=0A=
				this.element.parent().css( "overflow", "hidden");=0A=
			}=0A=
			maxHeight =3D this.element.parent().height();=0A=
			if ($.browser.msie) {=0A=
				this.element.parent().css( "overflow", defOverflow );=0A=
			}=0A=
=0A=
			this.headers.each(function() {=0A=
				maxHeight -=3D $( this ).outerHeight( true );=0A=
			});=0A=
=0A=
			this.headers.next()=0A=
				.each(function() {=0A=
					$( this ).height( Math.max( 0, maxHeight -=0A=
						$( this ).innerHeight() + $( this ).height() ) );=0A=
				})=0A=
				.css( "overflow", "auto" );=0A=
		} else if ( options.autoHeight ) {=0A=
			maxHeight =3D 0;=0A=
			this.headers.next()=0A=
				.each(function() {=0A=
					maxHeight =3D Math.max( maxHeight, $( this ).height( "" ).height() =
);=0A=
				})=0A=
				.height( maxHeight );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	activate: function( index ) {=0A=
		// TODO this gets called on init, changing the option without an =
explicit call for that=0A=
		this.options.active =3D index;=0A=
		// call clickHandler with custom event=0A=
		var active =3D this._findActive( index )[ 0 ];=0A=
		this._clickHandler( { target: active }, active );=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_findActive: function( selector ) {=0A=
		return selector=0A=
			? typeof selector =3D=3D=3D "number"=0A=
				? this.headers.filter( ":eq(" + selector + ")" )=0A=
				: this.headers.not( this.headers.not( selector ) )=0A=
			: selector =3D=3D=3D false=0A=
				? $( [] )=0A=
				: this.headers.filter( ":eq(0)" );=0A=
	},=0A=
=0A=
	// TODO isn't event.target enough? why the separate target argument?=0A=
	_clickHandler: function( event, target ) {=0A=
		var options =3D this.options;=0A=
		if ( options.disabled ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// called only when using activate(false) to close all parts =
programmatically=0A=
		if ( !event.target ) {=0A=
			if ( !options.collapsible ) {=0A=
				return;=0A=
			}=0A=
			this.active=0A=
				.removeClass( "ui-state-active ui-corner-top" )=0A=
				.addClass( "ui-state-default ui-corner-all" )=0A=
				.children( ".ui-icon" )=0A=
					.removeClass( options.icons.headerSelected )=0A=
					.addClass( options.icons.header );=0A=
			this.active.next().addClass( "ui-accordion-content-active" );=0A=
			var toHide =3D this.active.next(),=0A=
				data =3D {=0A=
					options: options,=0A=
					newHeader: $( [] ),=0A=
					oldHeader: options.active,=0A=
					newContent: $( [] ),=0A=
					oldContent: toHide=0A=
				},=0A=
				toShow =3D ( this.active =3D $( [] ) );=0A=
			this._toggle( toShow, toHide, data );=0A=
			return;=0A=
		}=0A=
=0A=
		// get the click target=0A=
		var clicked =3D $( event.currentTarget || target ),=0A=
			clickedIsActive =3D clicked[0] =3D=3D=3D this.active[0];=0A=
=0A=
		// TODO the option is changed, is that correct?=0A=
		// TODO if it is correct, shouldn't that happen after determining that =
the click is valid?=0A=
		options.active =3D options.collapsible && clickedIsActive ?=0A=
			false :=0A=
			this.headers.index( clicked );=0A=
=0A=
		// if animations are still active, or the active header is the target, =
ignore click=0A=
		if ( this.running || ( !options.collapsible && clickedIsActive ) ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// find elements to show and hide=0A=
		var active =3D this.active,=0A=
			toShow =3D clicked.next(),=0A=
			toHide =3D this.active.next(),=0A=
			data =3D {=0A=
				options: options,=0A=
				newHeader: clickedIsActive && options.collapsible ? $([]) : clicked,=0A=
				oldHeader: this.active,=0A=
				newContent: clickedIsActive && options.collapsible ? $([]) : toShow,=0A=
				oldContent: toHide=0A=
			},=0A=
			down =3D this.headers.index( this.active[0] ) > this.headers.index( =
clicked[0] );=0A=
=0A=
		// when the call to ._toggle() comes after the class changes=0A=
		// it causes a very odd bug in IE 8 (see #6720)=0A=
		this.active =3D clickedIsActive ? $([]) : clicked;=0A=
		this._toggle( toShow, toHide, data, clickedIsActive, down );=0A=
=0A=
		// switch classes=0A=
		active=0A=
			.removeClass( "ui-state-active ui-corner-top" )=0A=
			.addClass( "ui-state-default ui-corner-all" )=0A=
			.children( ".ui-icon" )=0A=
				.removeClass( options.icons.headerSelected )=0A=
				.addClass( options.icons.header );=0A=
		if ( !clickedIsActive ) {=0A=
			clicked=0A=
				.removeClass( "ui-state-default ui-corner-all" )=0A=
				.addClass( "ui-state-active ui-corner-top" )=0A=
				.children( ".ui-icon" )=0A=
					.removeClass( options.icons.header )=0A=
					.addClass( options.icons.headerSelected );=0A=
			clicked=0A=
				.next()=0A=
				.addClass( "ui-accordion-content-active" );=0A=
		}=0A=
=0A=
		return;=0A=
	},=0A=
=0A=
	_toggle: function( toShow, toHide, data, clickedIsActive, down ) {=0A=
		var self =3D this,=0A=
			options =3D self.options;=0A=
=0A=
		self.toShow =3D toShow;=0A=
		self.toHide =3D toHide;=0A=
		self.data =3D data;=0A=
=0A=
		var complete =3D function() {=0A=
			if ( !self ) {=0A=
				return;=0A=
			}=0A=
			return self._completed.apply( self, arguments );=0A=
		};=0A=
=0A=
		// trigger changestart event=0A=
		self._trigger( "changestart", null, self.data );=0A=
=0A=
		// count elements to animate=0A=
		self.running =3D toHide.size() =3D=3D=3D 0 ? toShow.size() : =
toHide.size();=0A=
=0A=
		if ( options.animated ) {=0A=
			var animOptions =3D {};=0A=
=0A=
			if ( options.collapsible && clickedIsActive ) {=0A=
				animOptions =3D {=0A=
					toShow: $( [] ),=0A=
					toHide: toHide,=0A=
					complete: complete,=0A=
					down: down,=0A=
					autoHeight: options.autoHeight || options.fillSpace=0A=
				};=0A=
			} else {=0A=
				animOptions =3D {=0A=
					toShow: toShow,=0A=
					toHide: toHide,=0A=
					complete: complete,=0A=
					down: down,=0A=
					autoHeight: options.autoHeight || options.fillSpace=0A=
				};=0A=
			}=0A=
=0A=
			if ( !options.proxied ) {=0A=
				options.proxied =3D options.animated;=0A=
			}=0A=
=0A=
			if ( !options.proxiedDuration ) {=0A=
				options.proxiedDuration =3D options.duration;=0A=
			}=0A=
=0A=
			options.animated =3D $.isFunction( options.proxied ) ?=0A=
				options.proxied( animOptions ) :=0A=
				options.proxied;=0A=
=0A=
			options.duration =3D $.isFunction( options.proxiedDuration ) ?=0A=
				options.proxiedDuration( animOptions ) :=0A=
				options.proxiedDuration;=0A=
=0A=
			var animations =3D $.ui.accordion.animations,=0A=
				duration =3D options.duration,=0A=
				easing =3D options.animated;=0A=
=0A=
			if ( easing && !animations[ easing ] && !$.easing[ easing ] ) {=0A=
				easing =3D "slide";=0A=
			}=0A=
			if ( !animations[ easing ] ) {=0A=
				animations[ easing ] =3D function( options ) {=0A=
					this.slide( options, {=0A=
						easing: easing,=0A=
						duration: duration || 700=0A=
					});=0A=
				};=0A=
			}=0A=
=0A=
			animations[ easing ]( animOptions );=0A=
		} else {=0A=
			if ( options.collapsible && clickedIsActive ) {=0A=
				toShow.toggle();=0A=
			} else {=0A=
				toHide.hide();=0A=
				toShow.show();=0A=
			}=0A=
=0A=
			complete( true );=0A=
		}=0A=
=0A=
		// TODO assert that the blur and focus triggers are really necessary, =
remove otherwise=0A=
		toHide.prev()=0A=
			.attr({=0A=
				"aria-expanded": "false",=0A=
				tabIndex: -1=0A=
			})=0A=
			.blur();=0A=
		toShow.prev()=0A=
			.attr({=0A=
				"aria-expanded": "true",=0A=
				tabIndex: 0=0A=
			})=0A=
			.focus();=0A=
	},=0A=
=0A=
	_completed: function( cancel ) {=0A=
		this.running =3D cancel ? 0 : --this.running;=0A=
		if ( this.running ) {=0A=
			return;=0A=
		}=0A=
=0A=
		if ( this.options.clearStyle ) {=0A=
			this.toShow.add( this.toHide ).css({=0A=
				height: "",=0A=
				overflow: ""=0A=
			});=0A=
		}=0A=
=0A=
		// other classes are removed before the animation; this one needs to =
stay until completed=0A=
		this.toHide.removeClass( "ui-accordion-content-active" );=0A=
		// Work around for rendering bug in IE (#5421)=0A=
		if ( this.toHide.length ) {=0A=
			this.toHide.parent()[0].className =3D =
this.toHide.parent()[0].className;=0A=
		}=0A=
=0A=
		this._trigger( "change", null, this.data );=0A=
	}=0A=
});=0A=
=0A=
$.extend( $.ui.accordion, {=0A=
	version: "1.8.10",=0A=
	animations: {=0A=
		slide: function( options, additions ) {=0A=
			options =3D $.extend({=0A=
				easing: "swing",=0A=
				duration: 300=0A=
			}, options, additions );=0A=
			if ( !options.toHide.size() ) {=0A=
				options.toShow.animate({=0A=
					height: "show",=0A=
					paddingTop: "show",=0A=
					paddingBottom: "show"=0A=
				}, options );=0A=
				return;=0A=
			}=0A=
			if ( !options.toShow.size() ) {=0A=
				options.toHide.animate({=0A=
					height: "hide",=0A=
					paddingTop: "hide",=0A=
					paddingBottom: "hide"=0A=
				}, options );=0A=
				return;=0A=
			}=0A=
			var overflow =3D options.toShow.css( "overflow" ),=0A=
				percentDone =3D 0,=0A=
				showProps =3D {},=0A=
				hideProps =3D {},=0A=
				fxAttrs =3D [ "height", "paddingTop", "paddingBottom" ],=0A=
				originalWidth;=0A=
			// fix width before calculating height of hidden element=0A=
			var s =3D options.toShow;=0A=
			originalWidth =3D s[0].style.width;=0A=
			s.width( parseInt( s.parent().width(), 10 )=0A=
				- parseInt( s.css( "paddingLeft" ), 10 )=0A=
				- parseInt( s.css( "paddingRight" ), 10 )=0A=
				- ( parseInt( s.css( "borderLeftWidth" ), 10 ) || 0 )=0A=
				- ( parseInt( s.css( "borderRightWidth" ), 10) || 0 ) );=0A=
=0A=
			$.each( fxAttrs, function( i, prop ) {=0A=
				hideProps[ prop ] =3D "hide";=0A=
=0A=
				var parts =3D ( "" + $.css( options.toShow[0], prop ) ).match( =
/^([\d+-.]+)(.*)$/ );=0A=
				showProps[ prop ] =3D {=0A=
					value: parts[ 1 ],=0A=
					unit: parts[ 2 ] || "px"=0A=
				};=0A=
			});=0A=
			options.toShow.css({ height: 0, overflow: "hidden" }).show();=0A=
			options.toHide=0A=
				.filter( ":hidden" )=0A=
					.each( options.complete )=0A=
				.end()=0A=
				.filter( ":visible" )=0A=
				.animate( hideProps, {=0A=
				step: function( now, settings ) {=0A=
					// only calculate the percent when animating height=0A=
					// IE gets very inconsistent results when animating elements=0A=
					// with small values, which is common for padding=0A=
					if ( settings.prop =3D=3D "height" ) {=0A=
						percentDone =3D ( settings.end - settings.start =3D=3D=3D 0 ) ? 0 :=0A=
							( settings.now - settings.start ) / ( settings.end - =
settings.start );=0A=
					}=0A=
=0A=
					options.toShow[ 0 ].style[ settings.prop ] =3D=0A=
						( percentDone * showProps[ settings.prop ].value )=0A=
						+ showProps[ settings.prop ].unit;=0A=
				},=0A=
				duration: options.duration,=0A=
				easing: options.easing,=0A=
				complete: function() {=0A=
					if ( !options.autoHeight ) {=0A=
						options.toShow.css( "height", "" );=0A=
					}=0A=
					options.toShow.css({=0A=
						width: originalWidth,=0A=
						overflow: overflow=0A=
					});=0A=
					options.complete();=0A=
				}=0A=
			});=0A=
		},=0A=
		bounceslide: function( options ) {=0A=
			this.slide( options, {=0A=
				easing: options.down ? "easeOutBounce" : "swing",=0A=
				duration: options.down ? 1000 : 200=0A=
			});=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
})( jQuery );=0A=
/*=0A=
 * jQuery UI Autocomplete 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Autocomplete=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 *	jquery.ui.position.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
// used to prevent race conditions with remote data sources=0A=
var requestIndex =3D 0;=0A=
=0A=
$.widget( "ui.autocomplete", {=0A=
	options: {=0A=
		appendTo: "body",=0A=
		delay: 300,=0A=
		minLength: 1,=0A=
		position: {=0A=
			my: "left top",=0A=
			at: "left bottom",=0A=
			collision: "none"=0A=
		},=0A=
		source: null=0A=
	},=0A=
=0A=
	pending: 0,=0A=
=0A=
	_create: function() {=0A=
		var self =3D this,=0A=
			doc =3D this.element[ 0 ].ownerDocument,=0A=
			suppressKeyPress;=0A=
=0A=
		this.element=0A=
			.addClass( "ui-autocomplete-input" )=0A=
			.attr( "autocomplete", "off" )=0A=
			// TODO verify these actually work as intended=0A=
			.attr({=0A=
				role: "textbox",=0A=
				"aria-autocomplete": "list",=0A=
				"aria-haspopup": "true"=0A=
			})=0A=
			.bind( "keydown.autocomplete", function( event ) {=0A=
				if ( self.options.disabled || self.element.attr( "readonly" ) ) {=0A=
					return;=0A=
				}=0A=
=0A=
				suppressKeyPress =3D false;=0A=
				var keyCode =3D $.ui.keyCode;=0A=
				switch( event.keyCode ) {=0A=
				case keyCode.PAGE_UP:=0A=
					self._move( "previousPage", event );=0A=
					break;=0A=
				case keyCode.PAGE_DOWN:=0A=
					self._move( "nextPage", event );=0A=
					break;=0A=
				case keyCode.UP:=0A=
					self._move( "previous", event );=0A=
					// prevent moving cursor to beginning of text field in some browsers=0A=
					event.preventDefault();=0A=
					break;=0A=
				case keyCode.DOWN:=0A=
					self._move( "next", event );=0A=
					// prevent moving cursor to end of text field in some browsers=0A=
					event.preventDefault();=0A=
					break;=0A=
				case keyCode.ENTER:=0A=
				case keyCode.NUMPAD_ENTER:=0A=
					// when menu is open and has focus=0A=
					if ( self.menu.active ) {=0A=
						// #6055 - Opera still allows the keypress to occur=0A=
						// which causes forms to submit=0A=
						suppressKeyPress =3D true;=0A=
						event.preventDefault();=0A=
					}=0A=
					//passthrough - ENTER and TAB both select the current element=0A=
				case keyCode.TAB:=0A=
					if ( !self.menu.active ) {=0A=
						return;=0A=
					}=0A=
					self.menu.select( event );=0A=
					break;=0A=
				case keyCode.ESCAPE:=0A=
					self.element.val( self.term );=0A=
					self.close( event );=0A=
					break;=0A=
				default:=0A=
					// keypress is triggered before the input value is changed=0A=
					clearTimeout( self.searching );=0A=
					self.searching =3D setTimeout(function() {=0A=
						// only search if the value has changed=0A=
						if ( self.term !=3D self.element.val() ) {=0A=
							self.selectedItem =3D null;=0A=
							self.search( null, event );=0A=
						}=0A=
					}, self.options.delay );=0A=
					break;=0A=
				}=0A=
			})=0A=
			.bind( "keypress.autocomplete", function( event ) {=0A=
				if ( suppressKeyPress ) {=0A=
					suppressKeyPress =3D false;=0A=
					event.preventDefault();=0A=
				}=0A=
			})=0A=
			.bind( "focus.autocomplete", function() {=0A=
				if ( self.options.disabled ) {=0A=
					return;=0A=
				}=0A=
=0A=
				self.selectedItem =3D null;=0A=
				self.previous =3D self.element.val();=0A=
			})=0A=
			.bind( "blur.autocomplete", function( event ) {=0A=
				if ( self.options.disabled ) {=0A=
					return;=0A=
				}=0A=
=0A=
				clearTimeout( self.searching );=0A=
				// clicks on the menu (or a button to trigger a search) will cause a =
blur event=0A=
				self.closing =3D setTimeout(function() {=0A=
					self.close( event );=0A=
					self._change( event );=0A=
				}, 150 );=0A=
			});=0A=
		this._initSource();=0A=
		this.response =3D function() {=0A=
			return self._response.apply( self, arguments );=0A=
		};=0A=
		this.menu =3D $( "<ul></ul>" )=0A=
			.addClass( "ui-autocomplete" )=0A=
			.appendTo( $( this.options.appendTo || "body", doc )[0] )=0A=
			// prevent the close-on-blur in case of a "slow" click on the menu =
(long mousedown)=0A=
			.mousedown(function( event ) {=0A=
				// clicking on the scrollbar causes focus to shift to the body=0A=
				// but we can't detect a mouseup or a click immediately afterward=0A=
				// so we have to track the next mousedown and close the menu if=0A=
				// the user clicks somewhere outside of the autocomplete=0A=
				var menuElement =3D self.menu.element[ 0 ];=0A=
				if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {=0A=
					setTimeout(function() {=0A=
						$( document ).one( 'mousedown', function( event ) {=0A=
							if ( event.target !=3D=3D self.element[ 0 ] &&=0A=
								event.target !=3D=3D menuElement &&=0A=
								!$.ui.contains( menuElement, event.target ) ) {=0A=
								self.close();=0A=
							}=0A=
						});=0A=
					}, 1 );=0A=
				}=0A=
=0A=
				// use another timeout to make sure the blur-event-handler on the =
input was already triggered=0A=
				setTimeout(function() {=0A=
					clearTimeout( self.closing );=0A=
				}, 13);=0A=
			})=0A=
			.menu({=0A=
				focus: function( event, ui ) {=0A=
					var item =3D ui.item.data( "item.autocomplete" );=0A=
					if ( false !=3D=3D self._trigger( "focus", event, { item: item } ) =
) {=0A=
						// use value to match what will end up in the input, if it was a =
key event=0A=
						if ( /^key/.test(event.originalEvent.type) ) {=0A=
							self.element.val( item.value );=0A=
						}=0A=
					}=0A=
				},=0A=
				selected: function( event, ui ) {=0A=
					var item =3D ui.item.data( "item.autocomplete" ),=0A=
						previous =3D self.previous;=0A=
=0A=
					// only trigger when focus was lost (click on menu)=0A=
					if ( self.element[0] !=3D=3D doc.activeElement ) {=0A=
						self.element.focus();=0A=
						self.previous =3D previous;=0A=
						// #6109 - IE triggers two focus events and the second=0A=
						// is asynchronous, so we need to reset the previous=0A=
						// term synchronously and asynchronously :-(=0A=
						setTimeout(function() {=0A=
							self.previous =3D previous;=0A=
							self.selectedItem =3D item;=0A=
						}, 1);=0A=
					}=0A=
=0A=
					if ( false !=3D=3D self._trigger( "select", event, { item: item } ) =
) {=0A=
						self.element.val( item.value );=0A=
					}=0A=
					// reset the term after the select event=0A=
					// this allows custom select handling to work properly=0A=
					self.term =3D self.element.val();=0A=
=0A=
					self.close( event );=0A=
					self.selectedItem =3D item;=0A=
				},=0A=
				blur: function( event, ui ) {=0A=
					// don't set the value of the text field if it's already correct=0A=
					// this prevents moving the cursor unnecessarily=0A=
					if ( self.menu.element.is(":visible") &&=0A=
						( self.element.val() !=3D=3D self.term ) ) {=0A=
						self.element.val( self.term );=0A=
					}=0A=
				}=0A=
			})=0A=
			.zIndex( this.element.zIndex() + 1 )=0A=
			// workaround for jQuery bug #5781 http://dev.jquery.com/ticket/5781=0A=
			.css({ top: 0, left: 0 })=0A=
			.hide()=0A=
			.data( "menu" );=0A=
		if ( $.fn.bgiframe ) {=0A=
			 this.menu.element.bgiframe();=0A=
		}=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.removeClass( "ui-autocomplete-input" )=0A=
			.removeAttr( "autocomplete" )=0A=
			.removeAttr( "role" )=0A=
			.removeAttr( "aria-autocomplete" )=0A=
			.removeAttr( "aria-haspopup" );=0A=
		this.menu.element.remove();=0A=
		$.Widget.prototype.destroy.call( this );=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
		if ( key =3D=3D=3D "source" ) {=0A=
			this._initSource();=0A=
		}=0A=
		if ( key =3D=3D=3D "appendTo" ) {=0A=
			this.menu.element.appendTo( $( value || "body", =
this.element[0].ownerDocument )[0] )=0A=
		}=0A=
		if ( key =3D=3D=3D "disabled" && value && this.xhr ) {=0A=
			this.xhr.abort();=0A=
		}=0A=
	},=0A=
=0A=
	_initSource: function() {=0A=
		var self =3D this,=0A=
			array,=0A=
			url;=0A=
		if ( $.isArray(this.options.source) ) {=0A=
			array =3D this.options.source;=0A=
			this.source =3D function( request, response ) {=0A=
				response( $.ui.autocomplete.filter(array, request.term) );=0A=
			};=0A=
		} else if ( typeof this.options.source =3D=3D=3D "string" ) {=0A=
			url =3D this.options.source;=0A=
			this.source =3D function( request, response ) {=0A=
				if ( self.xhr ) {=0A=
					self.xhr.abort();=0A=
				}=0A=
				self.xhr =3D $.ajax({=0A=
					url: url,=0A=
					data: request,=0A=
					dataType: "json",=0A=
					autocompleteRequest: ++requestIndex,=0A=
					success: function( data, status ) {=0A=
						if ( this.autocompleteRequest =3D=3D=3D requestIndex ) {=0A=
							response( data );=0A=
						}=0A=
					},=0A=
					error: function() {=0A=
						if ( this.autocompleteRequest =3D=3D=3D requestIndex ) {=0A=
							response( [] );=0A=
						}=0A=
					}=0A=
				});=0A=
			};=0A=
		} else {=0A=
			this.source =3D this.options.source;=0A=
		}=0A=
	},=0A=
=0A=
	search: function( value, event ) {=0A=
		value =3D value !=3D null ? value : this.element.val();=0A=
=0A=
		// always save the actual value, not the one passed as an argument=0A=
		this.term =3D this.element.val();=0A=
=0A=
		if ( value.length < this.options.minLength ) {=0A=
			return this.close( event );=0A=
		}=0A=
=0A=
		clearTimeout( this.closing );=0A=
		if ( this._trigger( "search", event ) =3D=3D=3D false ) {=0A=
			return;=0A=
		}=0A=
=0A=
		return this._search( value );=0A=
	},=0A=
=0A=
	_search: function( value ) {=0A=
		this.pending++;=0A=
		this.element.addClass( "ui-autocomplete-loading" );=0A=
=0A=
		this.source( { term: value }, this.response );=0A=
	},=0A=
=0A=
	_response: function( content ) {=0A=
		if ( !this.options.disabled && content && content.length ) {=0A=
			content =3D this._normalize( content );=0A=
			this._suggest( content );=0A=
			this._trigger( "open" );=0A=
		} else {=0A=
			this.close();=0A=
		}=0A=
		this.pending--;=0A=
		if ( !this.pending ) {=0A=
			this.element.removeClass( "ui-autocomplete-loading" );=0A=
		}=0A=
	},=0A=
=0A=
	close: function( event ) {=0A=
		clearTimeout( this.closing );=0A=
		if ( this.menu.element.is(":visible") ) {=0A=
			this.menu.element.hide();=0A=
			this.menu.deactivate();=0A=
			this._trigger( "close", event );=0A=
		}=0A=
	},=0A=
	=0A=
	_change: function( event ) {=0A=
		if ( this.previous !=3D=3D this.element.val() ) {=0A=
			this._trigger( "change", event, { item: this.selectedItem } );=0A=
		}=0A=
	},=0A=
=0A=
	_normalize: function( items ) {=0A=
		// assume all items have the right format when the first item is =
complete=0A=
		if ( items.length && items[0].label && items[0].value ) {=0A=
			return items;=0A=
		}=0A=
		return $.map( items, function(item) {=0A=
			if ( typeof item =3D=3D=3D "string" ) {=0A=
				return {=0A=
					label: item,=0A=
					value: item=0A=
				};=0A=
			}=0A=
			return $.extend({=0A=
				label: item.label || item.value,=0A=
				value: item.value || item.label=0A=
			}, item );=0A=
		});=0A=
	},=0A=
=0A=
	_suggest: function( items ) {=0A=
		var ul =3D this.menu.element=0A=
			.empty()=0A=
			.zIndex( this.element.zIndex() + 1 );=0A=
		this._renderMenu( ul, items );=0A=
		// TODO refresh should check if the active item is still in the dom, =
removing the need for a manual deactivate=0A=
		this.menu.deactivate();=0A=
		this.menu.refresh();=0A=
=0A=
		// size and position menu=0A=
		ul.show();=0A=
		this._resizeMenu();=0A=
		ul.position( $.extend({=0A=
			of: this.element=0A=
		}, this.options.position ));=0A=
	},=0A=
=0A=
	_resizeMenu: function() {=0A=
		var ul =3D this.menu.element;=0A=
		ul.outerWidth( Math.max(=0A=
			ul.width( "" ).outerWidth(),=0A=
			this.element.outerWidth()=0A=
		) );=0A=
	},=0A=
=0A=
	_renderMenu: function( ul, items ) {=0A=
		var self =3D this;=0A=
		$.each( items, function( index, item ) {=0A=
			self._renderItem( ul, item );=0A=
		});=0A=
	},=0A=
=0A=
	_renderItem: function( ul, item) {=0A=
		return $( "<li></li>" )=0A=
			.data( "item.autocomplete", item )=0A=
			.append( $( "<a></a>" ).text( item.label ) )=0A=
			.appendTo( ul );=0A=
	},=0A=
=0A=
	_move: function( direction, event ) {=0A=
		if ( !this.menu.element.is(":visible") ) {=0A=
			this.search( null, event );=0A=
			return;=0A=
		}=0A=
		if ( this.menu.first() && /^previous/.test(direction) ||=0A=
				this.menu.last() && /^next/.test(direction) ) {=0A=
			this.element.val( this.term );=0A=
			this.menu.deactivate();=0A=
			return;=0A=
		}=0A=
		this.menu[ direction ]( event );=0A=
	},=0A=
=0A=
	widget: function() {=0A=
		return this.menu.element;=0A=
	}=0A=
});=0A=
=0A=
$.extend( $.ui.autocomplete, {=0A=
	escapeRegex: function( value ) {=0A=
		return value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");=0A=
	},=0A=
	filter: function(array, term) {=0A=
		var matcher =3D new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );=0A=
		return $.grep( array, function(value) {=0A=
			return matcher.test( value.label || value.value || value );=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
}( jQuery ));=0A=
=0A=
/*=0A=
 * jQuery UI Menu (not officially released)=0A=
 * =0A=
 * This widget isn't yet finished and the API is subject to change. We =
plan to finish=0A=
 * it for the next release. You're welcome to give it a try anyway and =
give us feedback,=0A=
 * as long as you're okay with migrating your code later on. We can help =
with that, too.=0A=
 *=0A=
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Menu=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *  jquery.ui.widget.js=0A=
 */=0A=
(function($) {=0A=
=0A=
$.widget("ui.menu", {=0A=
	_create: function() {=0A=
		var self =3D this;=0A=
		this.element=0A=
			.addClass("ui-menu ui-widget ui-widget-content ui-corner-all")=0A=
			.attr({=0A=
				role: "listbox",=0A=
				"aria-activedescendant": "ui-active-menuitem"=0A=
			})=0A=
			.click(function( event ) {=0A=
				if ( !$( event.target ).closest( ".ui-menu-item a" ).length ) {=0A=
					return;=0A=
				}=0A=
				// temporary=0A=
				event.preventDefault();=0A=
				self.select( event );=0A=
			});=0A=
		this.refresh();=0A=
	},=0A=
	=0A=
	refresh: function() {=0A=
		var self =3D this;=0A=
=0A=
		// don't refresh list items that are already adapted=0A=
		var items =3D this.element.children("li:not(.ui-menu-item):has(a)")=0A=
			.addClass("ui-menu-item")=0A=
			.attr("role", "menuitem");=0A=
		=0A=
		items.children("a")=0A=
			.addClass("ui-corner-all")=0A=
			.attr("tabindex", -1)=0A=
			// mouseenter doesn't work with event delegation=0A=
			.mouseenter(function( event ) {=0A=
				self.activate( event, $(this).parent() );=0A=
			})=0A=
			.mouseleave(function() {=0A=
				self.deactivate();=0A=
			});=0A=
	},=0A=
=0A=
	activate: function( event, item ) {=0A=
		this.deactivate();=0A=
		if (this.hasScroll()) {=0A=
			var offset =3D item.offset().top - this.element.offset().top,=0A=
				scroll =3D this.element.attr("scrollTop"),=0A=
				elementHeight =3D this.element.height();=0A=
			if (offset < 0) {=0A=
				this.element.attr("scrollTop", scroll + offset);=0A=
			} else if (offset >=3D elementHeight) {=0A=
				this.element.attr("scrollTop", scroll + offset - elementHeight + =
item.height());=0A=
			}=0A=
		}=0A=
		this.active =3D item.eq(0)=0A=
			.children("a")=0A=
				.addClass("ui-state-hover")=0A=
				.attr("id", "ui-active-menuitem")=0A=
			.end();=0A=
		this._trigger("focus", event, { item: item });=0A=
	},=0A=
=0A=
	deactivate: function() {=0A=
		if (!this.active) { return; }=0A=
=0A=
		this.active.children("a")=0A=
			.removeClass("ui-state-hover")=0A=
			.removeAttr("id");=0A=
		this._trigger("blur");=0A=
		this.active =3D null;=0A=
	},=0A=
=0A=
	next: function(event) {=0A=
		this.move("next", ".ui-menu-item:first", event);=0A=
	},=0A=
=0A=
	previous: function(event) {=0A=
		this.move("prev", ".ui-menu-item:last", event);=0A=
	},=0A=
=0A=
	first: function() {=0A=
		return this.active && !this.active.prevAll(".ui-menu-item").length;=0A=
	},=0A=
=0A=
	last: function() {=0A=
		return this.active && !this.active.nextAll(".ui-menu-item").length;=0A=
	},=0A=
=0A=
	move: function(direction, edge, event) {=0A=
		if (!this.active) {=0A=
			this.activate(event, this.element.children(edge));=0A=
			return;=0A=
		}=0A=
		var next =3D this.active[direction + "All"](".ui-menu-item").eq(0);=0A=
		if (next.length) {=0A=
			this.activate(event, next);=0A=
		} else {=0A=
			this.activate(event, this.element.children(edge));=0A=
		}=0A=
	},=0A=
=0A=
	// TODO merge with previousPage=0A=
	nextPage: function(event) {=0A=
		if (this.hasScroll()) {=0A=
			// TODO merge with no-scroll-else=0A=
			if (!this.active || this.last()) {=0A=
				this.activate(event, this.element.children(".ui-menu-item:first"));=0A=
				return;=0A=
			}=0A=
			var base =3D this.active.offset().top,=0A=
				height =3D this.element.height(),=0A=
				result =3D this.element.children(".ui-menu-item").filter(function() {=0A=
					var close =3D $(this).offset().top - base - height + =
$(this).height();=0A=
					// TODO improve approximation=0A=
					return close < 10 && close > -10;=0A=
				});=0A=
=0A=
			// TODO try to catch this earlier when scrollTop indicates the last =
page anyway=0A=
			if (!result.length) {=0A=
				result =3D this.element.children(".ui-menu-item:last");=0A=
			}=0A=
			this.activate(event, result);=0A=
		} else {=0A=
			this.activate(event, this.element.children(".ui-menu-item")=0A=
				.filter(!this.active || this.last() ? ":first" : ":last"));=0A=
		}=0A=
	},=0A=
=0A=
	// TODO merge with nextPage=0A=
	previousPage: function(event) {=0A=
		if (this.hasScroll()) {=0A=
			// TODO merge with no-scroll-else=0A=
			if (!this.active || this.first()) {=0A=
				this.activate(event, this.element.children(".ui-menu-item:last"));=0A=
				return;=0A=
			}=0A=
=0A=
			var base =3D this.active.offset().top,=0A=
				height =3D this.element.height();=0A=
				result =3D this.element.children(".ui-menu-item").filter(function() {=0A=
					var close =3D $(this).offset().top - base + height - =
$(this).height();=0A=
					// TODO improve approximation=0A=
					return close < 10 && close > -10;=0A=
				});=0A=
=0A=
			// TODO try to catch this earlier when scrollTop indicates the last =
page anyway=0A=
			if (!result.length) {=0A=
				result =3D this.element.children(".ui-menu-item:first");=0A=
			}=0A=
			this.activate(event, result);=0A=
		} else {=0A=
			this.activate(event, this.element.children(".ui-menu-item")=0A=
				.filter(!this.active || this.first() ? ":last" : ":first"));=0A=
		}=0A=
	},=0A=
=0A=
	hasScroll: function() {=0A=
		return this.element.height() < this.element.attr("scrollHeight");=0A=
	},=0A=
=0A=
	select: function( event ) {=0A=
		this._trigger("selected", event, { item: this.active });=0A=
	}=0A=
});=0A=
=0A=
}(jQuery));=0A=
/*=0A=
 * jQuery UI Button 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Button=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
var lastActive,=0A=
	baseClasses =3D "ui-button ui-widget ui-state-default ui-corner-all",=0A=
	stateClasses =3D "ui-state-hover ui-state-active ",=0A=
	typeClasses =3D "ui-button-icons-only ui-button-icon-only =
ui-button-text-icons ui-button-text-icon-primary =
ui-button-text-icon-secondary ui-button-text-only",=0A=
	formResetHandler =3D function( event ) {=0A=
		$( ":ui-button", event.target.form ).each(function() {=0A=
			var inst =3D $( this ).data( "button" );=0A=
			setTimeout(function() {=0A=
				inst.refresh();=0A=
			}, 1 );=0A=
		});=0A=
	},=0A=
	radioGroup =3D function( radio ) {=0A=
		var name =3D radio.name,=0A=
			form =3D radio.form,=0A=
			radios =3D $( [] );=0A=
		if ( name ) {=0A=
			if ( form ) {=0A=
				radios =3D $( form ).find( "[name=3D'" + name + "']" );=0A=
			} else {=0A=
				radios =3D $( "[name=3D'" + name + "']", radio.ownerDocument )=0A=
					.filter(function() {=0A=
						return !this.form;=0A=
					});=0A=
			}=0A=
		}=0A=
		return radios;=0A=
	};=0A=
=0A=
$.widget( "ui.button", {=0A=
	options: {=0A=
		disabled: null,=0A=
		text: true,=0A=
		label: null,=0A=
		icons: {=0A=
			primary: null,=0A=
			secondary: null=0A=
		}=0A=
	},=0A=
	_create: function() {=0A=
		this.element.closest( "form" )=0A=
			.unbind( "reset.button" )=0A=
			.bind( "reset.button", formResetHandler );=0A=
=0A=
		if ( typeof this.options.disabled !=3D=3D "boolean" ) {=0A=
			this.options.disabled =3D this.element.attr( "disabled" );=0A=
		}=0A=
=0A=
		this._determineButtonType();=0A=
		this.hasTitle =3D !!this.buttonElement.attr( "title" );=0A=
=0A=
		var self =3D this,=0A=
			options =3D this.options,=0A=
			toggleButton =3D this.type =3D=3D=3D "checkbox" || this.type =
=3D=3D=3D "radio",=0A=
			hoverClass =3D "ui-state-hover" + ( !toggleButton ? " =
ui-state-active" : "" ),=0A=
			focusClass =3D "ui-state-focus";=0A=
=0A=
		if ( options.label =3D=3D=3D null ) {=0A=
			options.label =3D this.buttonElement.html();=0A=
		}=0A=
=0A=
		if ( this.element.is( ":disabled" ) ) {=0A=
			options.disabled =3D true;=0A=
		}=0A=
=0A=
		this.buttonElement=0A=
			.addClass( baseClasses )=0A=
			.attr( "role", "button" )=0A=
			.bind( "mouseenter.button", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).addClass( "ui-state-hover" );=0A=
				if ( this =3D=3D=3D lastActive ) {=0A=
					$( this ).addClass( "ui-state-active" );=0A=
				}=0A=
			})=0A=
			.bind( "mouseleave.button", function() {=0A=
				if ( options.disabled ) {=0A=
					return;=0A=
				}=0A=
				$( this ).removeClass( hoverClass );=0A=
			})=0A=
			.bind( "focus.button", function() {=0A=
				// no need to check disabled, focus won't be triggered anyway=0A=
				$( this ).addClass( focusClass );=0A=
			})=0A=
			.bind( "blur.button", function() {=0A=
				$( this ).removeClass( focusClass );=0A=
			});=0A=
=0A=
		if ( toggleButton ) {=0A=
			this.element.bind( "change.button", function() {=0A=
				self.refresh();=0A=
			});=0A=
		}=0A=
=0A=
		if ( this.type =3D=3D=3D "checkbox" ) {=0A=
			this.buttonElement.bind( "click.button", function() {=0A=
				if ( options.disabled ) {=0A=
					return false;=0A=
				}=0A=
				$( this ).toggleClass( "ui-state-active" );=0A=
				self.buttonElement.attr( "aria-pressed", self.element[0].checked );=0A=
			});=0A=
		} else if ( this.type =3D=3D=3D "radio" ) {=0A=
			this.buttonElement.bind( "click.button", function() {=0A=
				if ( options.disabled ) {=0A=
					return false;=0A=
				}=0A=
				$( this ).addClass( "ui-state-active" );=0A=
				self.buttonElement.attr( "aria-pressed", true );=0A=
=0A=
				var radio =3D self.element[ 0 ];=0A=
				radioGroup( radio )=0A=
					.not( radio )=0A=
					.map(function() {=0A=
						return $( this ).button( "widget" )[ 0 ];=0A=
					})=0A=
					.removeClass( "ui-state-active" )=0A=
					.attr( "aria-pressed", false );=0A=
			});=0A=
		} else {=0A=
			this.buttonElement=0A=
				.bind( "mousedown.button", function() {=0A=
					if ( options.disabled ) {=0A=
						return false;=0A=
					}=0A=
					$( this ).addClass( "ui-state-active" );=0A=
					lastActive =3D this;=0A=
					$( document ).one( "mouseup", function() {=0A=
						lastActive =3D null;=0A=
					});=0A=
				})=0A=
				.bind( "mouseup.button", function() {=0A=
					if ( options.disabled ) {=0A=
						return false;=0A=
					}=0A=
					$( this ).removeClass( "ui-state-active" );=0A=
				})=0A=
				.bind( "keydown.button", function(event) {=0A=
					if ( options.disabled ) {=0A=
						return false;=0A=
					}=0A=
					if ( event.keyCode =3D=3D $.ui.keyCode.SPACE || event.keyCode =
=3D=3D $.ui.keyCode.ENTER ) {=0A=
						$( this ).addClass( "ui-state-active" );=0A=
					}=0A=
				})=0A=
				.bind( "keyup.button", function() {=0A=
					$( this ).removeClass( "ui-state-active" );=0A=
				});=0A=
=0A=
			if ( this.buttonElement.is("a") ) {=0A=
				this.buttonElement.keyup(function(event) {=0A=
					if ( event.keyCode =3D=3D=3D $.ui.keyCode.SPACE ) {=0A=
						// TODO pass through original event correctly (just as 2nd =
argument doesn't work)=0A=
						$( this ).click();=0A=
					}=0A=
				});=0A=
			}=0A=
		}=0A=
=0A=
		// TODO: pull out $.Widget's handling for the disabled option into=0A=
		// $.Widget.prototype._setOptionDisabled so it's easy to proxy and can=0A=
		// be overridden by individual plugins=0A=
		this._setOption( "disabled", options.disabled );=0A=
	},=0A=
=0A=
	_determineButtonType: function() {=0A=
		=0A=
		if ( this.element.is(":checkbox") ) {=0A=
			this.type =3D "checkbox";=0A=
		} else {=0A=
			if ( this.element.is(":radio") ) {=0A=
				this.type =3D "radio";=0A=
			} else {=0A=
				if ( this.element.is("input") ) {=0A=
					this.type =3D "input";=0A=
				} else {=0A=
					this.type =3D "button";=0A=
				}=0A=
			}=0A=
		}=0A=
		=0A=
		if ( this.type =3D=3D=3D "checkbox" || this.type =3D=3D=3D "radio" ) {=0A=
			// we don't search against the document in case the element=0A=
			// is disconnected from the DOM=0A=
			this.buttonElement =3D this.element.parents().last()=0A=
				.find( "label[for=3D" + this.element.attr("id") + "]" );=0A=
			this.element.addClass( "ui-helper-hidden-accessible" );=0A=
=0A=
			var checked =3D this.element.is( ":checked" );=0A=
			if ( checked ) {=0A=
				this.buttonElement.addClass( "ui-state-active" );=0A=
			}=0A=
			this.buttonElement.attr( "aria-pressed", checked );=0A=
		} else {=0A=
			this.buttonElement =3D this.element;=0A=
		}=0A=
	},=0A=
=0A=
	widget: function() {=0A=
		return this.buttonElement;=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.removeClass( "ui-helper-hidden-accessible" );=0A=
		this.buttonElement=0A=
			.removeClass( baseClasses + " " + stateClasses + " " + typeClasses )=0A=
			.removeAttr( "role" )=0A=
			.removeAttr( "aria-pressed" )=0A=
			.html( this.buttonElement.find(".ui-button-text").html() );=0A=
=0A=
		if ( !this.hasTitle ) {=0A=
			this.buttonElement.removeAttr( "title" );=0A=
		}=0A=
=0A=
		$.Widget.prototype.destroy.call( this );=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
		if ( key =3D=3D=3D "disabled" ) {=0A=
			if ( value ) {=0A=
				this.element.attr( "disabled", true );=0A=
			} else {=0A=
				this.element.removeAttr( "disabled" );=0A=
			}=0A=
		}=0A=
		this._resetButton();=0A=
	},=0A=
=0A=
	refresh: function() {=0A=
		var isDisabled =3D this.element.is( ":disabled" );=0A=
		if ( isDisabled !=3D=3D this.options.disabled ) {=0A=
			this._setOption( "disabled", isDisabled );=0A=
		}=0A=
		if ( this.type =3D=3D=3D "radio" ) {=0A=
			radioGroup( this.element[0] ).each(function() {=0A=
				if ( $( this ).is( ":checked" ) ) {=0A=
					$( this ).button( "widget" )=0A=
						.addClass( "ui-state-active" )=0A=
						.attr( "aria-pressed", true );=0A=
				} else {=0A=
					$( this ).button( "widget" )=0A=
						.removeClass( "ui-state-active" )=0A=
						.attr( "aria-pressed", false );=0A=
				}=0A=
			});=0A=
		} else if ( this.type =3D=3D=3D "checkbox" ) {=0A=
			if ( this.element.is( ":checked" ) ) {=0A=
				this.buttonElement=0A=
					.addClass( "ui-state-active" )=0A=
					.attr( "aria-pressed", true );=0A=
			} else {=0A=
				this.buttonElement=0A=
					.removeClass( "ui-state-active" )=0A=
					.attr( "aria-pressed", false );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	_resetButton: function() {=0A=
		if ( this.type =3D=3D=3D "input" ) {=0A=
			if ( this.options.label ) {=0A=
				this.element.val( this.options.label );=0A=
			}=0A=
			return;=0A=
		}=0A=
		var buttonElement =3D this.buttonElement.removeClass( typeClasses ),=0A=
			buttonText =3D $( "<span></span>" )=0A=
				.addClass( "ui-button-text" )=0A=
				.html( this.options.label )=0A=
				.appendTo( buttonElement.empty() )=0A=
				.text(),=0A=
			icons =3D this.options.icons,=0A=
			multipleIcons =3D icons.primary && icons.secondary,=0A=
			buttonClasses =3D [];  =0A=
=0A=
		if ( icons.primary || icons.secondary ) {=0A=
			buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( =
icons.primary ? "-primary" : "-secondary" ) ) );=0A=
=0A=
			if ( icons.primary ) {=0A=
				buttonElement.prepend( "<span class=3D'ui-button-icon-primary =
ui-icon " + icons.primary + "'></span>" );=0A=
			}=0A=
=0A=
			if ( icons.secondary ) {=0A=
				buttonElement.append( "<span class=3D'ui-button-icon-secondary =
ui-icon " + icons.secondary + "'></span>" );=0A=
			}=0A=
=0A=
			if ( !this.options.text ) {=0A=
				buttonClasses.push( multipleIcons ? "ui-button-icons-only" : =
"ui-button-icon-only" );=0A=
				buttonElement.removeClass( "ui-button-text-icons =
ui-button-text-icon-primary ui-button-text-icon-secondary" );=0A=
=0A=
				if ( !this.hasTitle ) {=0A=
					buttonElement.attr( "title", buttonText );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			buttonClasses.push( "ui-button-text-only" );=0A=
		}=0A=
		buttonElement.addClass( buttonClasses.join( " " ) );=0A=
	}=0A=
});=0A=
=0A=
$.widget( "ui.buttonset", {=0A=
	options: {=0A=
		items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)"=0A=
	},=0A=
=0A=
	_create: function() {=0A=
		this.element.addClass( "ui-buttonset" );=0A=
	},=0A=
	=0A=
	_init: function() {=0A=
		this.refresh();=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		if ( key =3D=3D=3D "disabled" ) {=0A=
			this.buttons.button( "option", key, value );=0A=
		}=0A=
=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
	},=0A=
	=0A=
	refresh: function() {=0A=
		this.buttons =3D this.element.find( this.options.items )=0A=
			.filter( ":ui-button" )=0A=
				.button( "refresh" )=0A=
			.end()=0A=
			.not( ":ui-button" )=0A=
				.button()=0A=
			.end()=0A=
			.map(function() {=0A=
				return $( this ).button( "widget" )[ 0 ];=0A=
			})=0A=
				.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )=0A=
				.filter( ":first" )=0A=
					.addClass( "ui-corner-left" )=0A=
				.end()=0A=
				.filter( ":last" )=0A=
					.addClass( "ui-corner-right" )=0A=
				.end()=0A=
			.end();=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.element.removeClass( "ui-buttonset" );=0A=
		this.buttons=0A=
			.map(function() {=0A=
				return $( this ).button( "widget" )[ 0 ];=0A=
			})=0A=
				.removeClass( "ui-corner-left ui-corner-right" )=0A=
			.end()=0A=
			.button( "destroy" );=0A=
=0A=
		$.Widget.prototype.destroy.call( this );=0A=
	}=0A=
});=0A=
=0A=
}( jQuery ) );=0A=
/*=0A=
 * jQuery UI Datepicker 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Datepicker=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.extend($.ui, { datepicker: { version: "1.8.10" } });=0A=
=0A=
var PROP_NAME =3D 'datepicker';=0A=
var dpuuid =3D new Date().getTime();=0A=
=0A=
/* Date picker manager.=0A=
   Use the singleton instance of this class, $.datepicker, to interact =
with the date picker.=0A=
   Settings for (groups of) date pickers are maintained in an instance =
object,=0A=
   allowing multiple different settings on the same page. */=0A=
=0A=
function Datepicker() {=0A=
	this.debug =3D false; // Change this to true to start debugging=0A=
	this._curInst =3D null; // The current instance in use=0A=
	this._keyEvent =3D false; // If the last event was a key event=0A=
	this._disabledInputs =3D []; // List of date picker inputs that have =
been disabled=0A=
	this._datepickerShowing =3D false; // True if the popup picker is =
showing , false if not=0A=
	this._inDialog =3D false; // True if showing within a "dialog", false =
if not=0A=
	this._mainDivId =3D 'ui-datepicker-div'; // The ID of the main =
datepicker division=0A=
	this._inlineClass =3D 'ui-datepicker-inline'; // The name of the inline =
marker class=0A=
	this._appendClass =3D 'ui-datepicker-append'; // The name of the append =
marker class=0A=
	this._triggerClass =3D 'ui-datepicker-trigger'; // The name of the =
trigger marker class=0A=
	this._dialogClass =3D 'ui-datepicker-dialog'; // The name of the dialog =
marker class=0A=
	this._disableClass =3D 'ui-datepicker-disabled'; // The name of the =
disabled covering marker class=0A=
	this._unselectableClass =3D 'ui-datepicker-unselectable'; // The name =
of the unselectable cell marker class=0A=
	this._currentClass =3D 'ui-datepicker-current-day'; // The name of the =
current day marker class=0A=
	this._dayOverClass =3D 'ui-datepicker-days-cell-over'; // The name of =
the day hover marker class=0A=
	this.regional =3D []; // Available regional settings, indexed by =
language code=0A=
	this.regional[''] =3D { // Default regional settings=0A=
		closeText: 'Done', // Display text for close link=0A=
		prevText: 'Prev', // Display text for previous month link=0A=
		nextText: 'Next', // Display text for next month link=0A=
		currentText: 'Today', // Display text for current month link=0A=
		monthNames: ['January','February','March','April','May','June',=0A=
			'July','August','September','October','November','December'], // =
Names of months for drop-down and formatting=0A=
		monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', =
'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting=0A=
		dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', =
'Friday', 'Saturday'], // For formatting=0A=
		dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // =
For formatting=0A=
		dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings =
for days starting at Sunday=0A=
		weekHeader: 'Wk', // Column header for week of the year=0A=
		dateFormat: 'mm/dd/yy', // See format options on parseDate=0A=
		firstDay: 0, // The first day of the week, Sun =3D 0, Mon =3D 1, ...=0A=
		isRTL: false, // True if right-to-left language, false if left-to-right=0A=
		showMonthAfterYear: false, // True if the year select precedes month, =
false for month then year=0A=
		yearSuffix: '' // Additional text to append to the year in the month =
headers=0A=
	};=0A=
	this._defaults =3D { // Global defaults for all the date picker =
instances=0A=
		showOn: 'focus', // 'focus' for popup on focus,=0A=
			// 'button' for trigger button, or 'both' for either=0A=
		showAnim: 'fadeIn', // Name of jQuery animation for popup=0A=
		showOptions: {}, // Options for enhanced animations=0A=
		defaultDate: null, // Used when field is blank: actual date,=0A=
			// +/-number for offset from today, null for today=0A=
		appendText: '', // Display text following the input box, e.g. showing =
the format=0A=
		buttonText: '...', // Text for trigger button=0A=
		buttonImage: '', // URL for trigger button image=0A=
		buttonImageOnly: false, // True if the image appears alone, false if =
it appears on a button=0A=
		hideIfNoPrevNext: false, // True to hide next/previous month links=0A=
			// if not applicable, false to just disable them=0A=
		navigationAsDateFormat: false, // True if date formatting applied to =
prev/today/next links=0A=
		gotoCurrent: false, // True if today link goes back to current =
selection instead=0A=
		changeMonth: false, // True if month can be selected directly, false =
if only prev/next=0A=
		changeYear: false, // True if year can be selected directly, false if =
only prev/next=0A=
		yearRange: 'c-10:c+10', // Range of years to display in drop-down,=0A=
			// either relative to today's year (-nn:+nn), relative to currently =
displayed year=0A=
			// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above =
(nnnn:-n)=0A=
		showOtherMonths: false, // True to show dates in other months, false =
to leave blank=0A=
		selectOtherMonths: false, // True to allow selection of dates in other =
months, false for unselectable=0A=
		showWeek: false, // True to show week of the year, false to not show it=0A=
		calculateWeek: this.iso8601Week, // How to calculate the week of the =
year,=0A=
			// takes a Date and returns the number of the week for it=0A=
		shortYearCutoff: '+10', // Short year values < this are in the current =
century,=0A=
			// > this are in the previous century,=0A=
			// string value starting with '+' for current year + value=0A=
		minDate: null, // The earliest selectable date, or null for no limit=0A=
		maxDate: null, // The latest selectable date, or null for no limit=0A=
		duration: 'fast', // Duration of display/closure=0A=
		beforeShowDay: null, // Function that takes a date and returns an =
array with=0A=
			// [0] =3D true if selectable, false if not, [1] =3D custom CSS class =
name(s) or '',=0A=
			// [2] =3D cell title (optional), e.g. $.datepicker.noWeekends=0A=
		beforeShow: null, // Function that takes an input field and=0A=
			// returns a set of custom settings for the date picker=0A=
		onSelect: null, // Define a callback function when a date is selected=0A=
		onChangeMonthYear: null, // Define a callback function when the month =
or year is changed=0A=
		onClose: null, // Define a callback function when the datepicker is =
closed=0A=
		numberOfMonths: 1, // Number of months to show at a time=0A=
		showCurrentAtPos: 0, // The position in multipe months at which to =
show the current month (starting at 0)=0A=
		stepMonths: 1, // Number of months to step back/forward=0A=
		stepBigMonths: 12, // Number of months to step back/forward for the =
big links=0A=
		altField: '', // Selector for an alternate field to store selected =
dates into=0A=
		altFormat: '', // The date format to use for the alternate field=0A=
		constrainInput: true, // The input is constrained by the current date =
format=0A=
		showButtonPanel: false, // True to show button panel, false to not =
show it=0A=
		autoSize: false // True to size the input for the date format, false =
to leave as is=0A=
	};=0A=
	$.extend(this._defaults, this.regional['']);=0A=
	this.dpDiv =3D $('<div id=3D"' + this._mainDivId + '" =
class=3D"ui-datepicker ui-widget ui-widget-content ui-helper-clearfix =
ui-corner-all"></div>');=0A=
}=0A=
=0A=
$.extend(Datepicker.prototype, {=0A=
	/* Class name added to elements to indicate already configured with a =
date picker. */=0A=
	markerClassName: 'hasDatepicker',=0A=
=0A=
	/* Debug logging (if enabled). */=0A=
	log: function () {=0A=
		if (this.debug)=0A=
			console.log.apply('', arguments);=0A=
	},=0A=
	=0A=
	// TODO rename to "widget" when switching to widget factory=0A=
	_widgetDatepicker: function() {=0A=
		return this.dpDiv;=0A=
	},=0A=
=0A=
	/* Override the default settings for all instances of the date picker.=0A=
	   @param  settings  object - the new settings to use as defaults =
(anonymous object)=0A=
	   @return the manager object */=0A=
	setDefaults: function(settings) {=0A=
		extendRemove(this._defaults, settings || {});=0A=
		return this;=0A=
	},=0A=
=0A=
	/* Attach the date picker to a jQuery selection.=0A=
	   @param  target    element - the target input field or division or =
span=0A=
	   @param  settings  object - the new settings to use for this date =
picker instance (anonymous) */=0A=
	_attachDatepicker: function(target, settings) {=0A=
		// check for settings on the control itself - in namespace 'date:'=0A=
		var inlineSettings =3D null;=0A=
		for (var attrName in this._defaults) {=0A=
			var attrValue =3D target.getAttribute('date:' + attrName);=0A=
			if (attrValue) {=0A=
				inlineSettings =3D inlineSettings || {};=0A=
				try {=0A=
					inlineSettings[attrName] =3D eval(attrValue);=0A=
				} catch (err) {=0A=
					inlineSettings[attrName] =3D attrValue;=0A=
				}=0A=
			}=0A=
		}=0A=
		var nodeName =3D target.nodeName.toLowerCase();=0A=
		var inline =3D (nodeName =3D=3D 'div' || nodeName =3D=3D 'span');=0A=
		if (!target.id) {=0A=
			this.uuid +=3D 1;=0A=
			target.id =3D 'dp' + this.uuid;=0A=
		}=0A=
		var inst =3D this._newInst($(target), inline);=0A=
		inst.settings =3D $.extend({}, settings || {}, inlineSettings || {});=0A=
		if (nodeName =3D=3D 'input') {=0A=
			this._connectDatepicker(target, inst);=0A=
		} else if (inline) {=0A=
			this._inlineDatepicker(target, inst);=0A=
		}=0A=
	},=0A=
=0A=
	/* Create a new instance object. */=0A=
	_newInst: function(target, inline) {=0A=
		var id =3D target[0].id.replace(/([^A-Za-z0-9_-])/g, '\\\\$1'); // =
escape jQuery meta chars=0A=
		return {id: id, input: target, // associated target=0A=
			selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current =
selection=0A=
			drawMonth: 0, drawYear: 0, // month being drawn=0A=
			inline: inline, // is datepicker inline or not=0A=
			dpDiv: (!inline ? this.dpDiv : // presentation div=0A=
			$('<div class=3D"' + this._inlineClass + ' ui-datepicker ui-widget =
ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))};=0A=
	},=0A=
=0A=
	/* Attach the date picker to an input field. */=0A=
	_connectDatepicker: function(target, inst) {=0A=
		var input =3D $(target);=0A=
		inst.append =3D $([]);=0A=
		inst.trigger =3D $([]);=0A=
		if (input.hasClass(this.markerClassName))=0A=
			return;=0A=
		this._attachments(input, inst);=0A=
		input.addClass(this.markerClassName).keydown(this._doKeyDown).=0A=
			keypress(this._doKeyPress).keyup(this._doKeyUp).=0A=
			bind("setData.datepicker", function(event, key, value) {=0A=
				inst.settings[key] =3D value;=0A=
			}).bind("getData.datepicker", function(event, key) {=0A=
				return this._get(inst, key);=0A=
			});=0A=
		this._autoSize(inst);=0A=
		$.data(target, PROP_NAME, inst);=0A=
	},=0A=
=0A=
	/* Make attachments based on settings. */=0A=
	_attachments: function(input, inst) {=0A=
		var appendText =3D this._get(inst, 'appendText');=0A=
		var isRTL =3D this._get(inst, 'isRTL');=0A=
		if (inst.append)=0A=
			inst.append.remove();=0A=
		if (appendText) {=0A=
			inst.append =3D $('<span class=3D"' + this._appendClass + '">' + =
appendText + '</span>');=0A=
			input[isRTL ? 'before' : 'after'](inst.append);=0A=
		}=0A=
		input.unbind('focus', this._showDatepicker);=0A=
		if (inst.trigger)=0A=
			inst.trigger.remove();=0A=
		var showOn =3D this._get(inst, 'showOn');=0A=
		if (showOn =3D=3D 'focus' || showOn =3D=3D 'both') // pop-up date =
picker when in the marked field=0A=
			input.focus(this._showDatepicker);=0A=
		if (showOn =3D=3D 'button' || showOn =3D=3D 'both') { // pop-up date =
picker when button clicked=0A=
			var buttonText =3D this._get(inst, 'buttonText');=0A=
			var buttonImage =3D this._get(inst, 'buttonImage');=0A=
			inst.trigger =3D $(this._get(inst, 'buttonImageOnly') ?=0A=
				$('<img/>').addClass(this._triggerClass).=0A=
					attr({ src: buttonImage, alt: buttonText, title: buttonText }) :=0A=
				$('<button type=3D"button"></button>').addClass(this._triggerClass).=0A=
					html(buttonImage =3D=3D '' ? buttonText : $('<img/>').attr(=0A=
					{ src:buttonImage, alt:buttonText, title:buttonText })));=0A=
			input[isRTL ? 'before' : 'after'](inst.trigger);=0A=
			inst.trigger.click(function() {=0A=
				if ($.datepicker._datepickerShowing && $.datepicker._lastInput =
=3D=3D input[0])=0A=
					$.datepicker._hideDatepicker();=0A=
				else=0A=
					$.datepicker._showDatepicker(input[0]);=0A=
				return false;=0A=
			});=0A=
		}=0A=
	},=0A=
=0A=
	/* Apply the maximum length for the date format. */=0A=
	_autoSize: function(inst) {=0A=
		if (this._get(inst, 'autoSize') && !inst.inline) {=0A=
			var date =3D new Date(2009, 12 - 1, 20); // Ensure double digits=0A=
			var dateFormat =3D this._get(inst, 'dateFormat');=0A=
			if (dateFormat.match(/[DM]/)) {=0A=
				var findMax =3D function(names) {=0A=
					var max =3D 0;=0A=
					var maxI =3D 0;=0A=
					for (var i =3D 0; i < names.length; i++) {=0A=
						if (names[i].length > max) {=0A=
							max =3D names[i].length;=0A=
							maxI =3D i;=0A=
						}=0A=
					}=0A=
					return maxI;=0A=
				};=0A=
				date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?=0A=
					'monthNames' : 'monthNamesShort'))));=0A=
				date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?=0A=
					'dayNames' : 'dayNamesShort'))) + 20 - date.getDay());=0A=
			}=0A=
			inst.input.attr('size', this._formatDate(inst, date).length);=0A=
		}=0A=
	},=0A=
=0A=
	/* Attach an inline date picker to a div. */=0A=
	_inlineDatepicker: function(target, inst) {=0A=
		var divSpan =3D $(target);=0A=
		if (divSpan.hasClass(this.markerClassName))=0A=
			return;=0A=
		divSpan.addClass(this.markerClassName).append(inst.dpDiv).=0A=
			bind("setData.datepicker", function(event, key, value){=0A=
				inst.settings[key] =3D value;=0A=
			}).bind("getData.datepicker", function(event, key){=0A=
				return this._get(inst, key);=0A=
			});=0A=
		$.data(target, PROP_NAME, inst);=0A=
		this._setDate(inst, this._getDefaultDate(inst), true);=0A=
		this._updateDatepicker(inst);=0A=
		this._updateAlternate(inst);=0A=
		inst.dpDiv.show();=0A=
	},=0A=
=0A=
	/* Pop-up the date picker in a "dialog" box.=0A=
	   @param  input     element - ignored=0A=
	   @param  date      string or Date - the initial date to display=0A=
	   @param  onSelect  function - the function to call when a date is =
selected=0A=
	   @param  settings  object - update the dialog date picker instance's =
settings (anonymous object)=0A=
	   @param  pos       int[2] - coordinates for the dialog's position =
within the screen or=0A=
	                     event - with x/y coordinates or=0A=
	                     leave empty for default (screen centre)=0A=
	   @return the manager object */=0A=
	_dialogDatepicker: function(input, date, onSelect, settings, pos) {=0A=
		var inst =3D this._dialogInst; // internal instance=0A=
		if (!inst) {=0A=
			this.uuid +=3D 1;=0A=
			var id =3D 'dp' + this.uuid;=0A=
			this._dialogInput =3D $('<input type=3D"text" id=3D"' + id +=0A=
				'" style=3D"position: absolute; top: -100px; width: 0px; z-index: =
-10;"/>');=0A=
			this._dialogInput.keydown(this._doKeyDown);=0A=
			$('body').append(this._dialogInput);=0A=
			inst =3D this._dialogInst =3D this._newInst(this._dialogInput, false);=0A=
			inst.settings =3D {};=0A=
			$.data(this._dialogInput[0], PROP_NAME, inst);=0A=
		}=0A=
		extendRemove(inst.settings, settings || {});=0A=
		date =3D (date && date.constructor =3D=3D Date ? =
this._formatDate(inst, date) : date);=0A=
		this._dialogInput.val(date);=0A=
=0A=
		this._pos =3D (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : =
null);=0A=
		if (!this._pos) {=0A=
			var browserWidth =3D document.documentElement.clientWidth;=0A=
			var browserHeight =3D document.documentElement.clientHeight;=0A=
			var scrollX =3D document.documentElement.scrollLeft || =
document.body.scrollLeft;=0A=
			var scrollY =3D document.documentElement.scrollTop || =
document.body.scrollTop;=0A=
			this._pos =3D // should use actual width/height below=0A=
				[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + =
scrollY];=0A=
		}=0A=
=0A=
		// move input on screen for focus, but hidden behind dialog=0A=
		this._dialogInput.css('left', (this._pos[0] + 20) + 'px').css('top', =
this._pos[1] + 'px');=0A=
		inst.settings.onSelect =3D onSelect;=0A=
		this._inDialog =3D true;=0A=
		this.dpDiv.addClass(this._dialogClass);=0A=
		this._showDatepicker(this._dialogInput[0]);=0A=
		if ($.blockUI)=0A=
			$.blockUI(this.dpDiv);=0A=
		$.data(this._dialogInput[0], PROP_NAME, inst);=0A=
		return this;=0A=
	},=0A=
=0A=
	/* Detach a datepicker from its control.=0A=
	   @param  target    element - the target input field or division or =
span */=0A=
	_destroyDatepicker: function(target) {=0A=
		var $target =3D $(target);=0A=
		var inst =3D $.data(target, PROP_NAME);=0A=
		if (!$target.hasClass(this.markerClassName)) {=0A=
			return;=0A=
		}=0A=
		var nodeName =3D target.nodeName.toLowerCase();=0A=
		$.removeData(target, PROP_NAME);=0A=
		if (nodeName =3D=3D 'input') {=0A=
			inst.append.remove();=0A=
			inst.trigger.remove();=0A=
			$target.removeClass(this.markerClassName).=0A=
				unbind('focus', this._showDatepicker).=0A=
				unbind('keydown', this._doKeyDown).=0A=
				unbind('keypress', this._doKeyPress).=0A=
				unbind('keyup', this._doKeyUp);=0A=
		} else if (nodeName =3D=3D 'div' || nodeName =3D=3D 'span')=0A=
			$target.removeClass(this.markerClassName).empty();=0A=
	},=0A=
=0A=
	/* Enable the date picker to a jQuery selection.=0A=
	   @param  target    element - the target input field or division or =
span */=0A=
	_enableDatepicker: function(target) {=0A=
		var $target =3D $(target);=0A=
		var inst =3D $.data(target, PROP_NAME);=0A=
		if (!$target.hasClass(this.markerClassName)) {=0A=
			return;=0A=
		}=0A=
		var nodeName =3D target.nodeName.toLowerCase();=0A=
		if (nodeName =3D=3D 'input') {=0A=
			target.disabled =3D false;=0A=
			inst.trigger.filter('button').=0A=
				each(function() { this.disabled =3D false; }).end().=0A=
				filter('img').css({opacity: '1.0', cursor: ''});=0A=
		}=0A=
		else if (nodeName =3D=3D 'div' || nodeName =3D=3D 'span') {=0A=
			var inline =3D $target.children('.' + this._inlineClass);=0A=
			inline.children().removeClass('ui-state-disabled');=0A=
		}=0A=
		this._disabledInputs =3D $.map(this._disabledInputs,=0A=
			function(value) { return (value =3D=3D target ? null : value); }); // =
delete entry=0A=
	},=0A=
=0A=
	/* Disable the date picker to a jQuery selection.=0A=
	   @param  target    element - the target input field or division or =
span */=0A=
	_disableDatepicker: function(target) {=0A=
		var $target =3D $(target);=0A=
		var inst =3D $.data(target, PROP_NAME);=0A=
		if (!$target.hasClass(this.markerClassName)) {=0A=
			return;=0A=
		}=0A=
		var nodeName =3D target.nodeName.toLowerCase();=0A=
		if (nodeName =3D=3D 'input') {=0A=
			target.disabled =3D true;=0A=
			inst.trigger.filter('button').=0A=
				each(function() { this.disabled =3D true; }).end().=0A=
				filter('img').css({opacity: '0.5', cursor: 'default'});=0A=
		}=0A=
		else if (nodeName =3D=3D 'div' || nodeName =3D=3D 'span') {=0A=
			var inline =3D $target.children('.' + this._inlineClass);=0A=
			inline.children().addClass('ui-state-disabled');=0A=
		}=0A=
		this._disabledInputs =3D $.map(this._disabledInputs,=0A=
			function(value) { return (value =3D=3D target ? null : value); }); // =
delete entry=0A=
		this._disabledInputs[this._disabledInputs.length] =3D target;=0A=
	},=0A=
=0A=
	/* Is the first field in a jQuery collection disabled as a datepicker?=0A=
	   @param  target    element - the target input field or division or =
span=0A=
	   @return boolean - true if disabled, false if enabled */=0A=
	_isDisabledDatepicker: function(target) {=0A=
		if (!target) {=0A=
			return false;=0A=
		}=0A=
		for (var i =3D 0; i < this._disabledInputs.length; i++) {=0A=
			if (this._disabledInputs[i] =3D=3D target)=0A=
				return true;=0A=
		}=0A=
		return false;=0A=
	},=0A=
=0A=
	/* Retrieve the instance data for the target control.=0A=
	   @param  target  element - the target input field or division or span=0A=
	   @return  object - the associated instance data=0A=
	   @throws  error if a jQuery problem getting data */=0A=
	_getInst: function(target) {=0A=
		try {=0A=
			return $.data(target, PROP_NAME);=0A=
		}=0A=
		catch (err) {=0A=
			throw 'Missing instance data for this datepicker';=0A=
		}=0A=
	},=0A=
=0A=
	/* Update or retrieve the settings for a date picker attached to an =
input field or division.=0A=
	   @param  target  element - the target input field or division or span=0A=
	   @param  name    object - the new settings to update or=0A=
	                   string - the name of the setting to change or =
retrieve,=0A=
	                   when retrieving also 'all' for all instance settings =
or=0A=
	                   'defaults' for all global defaults=0A=
	   @param  value   any - the new value for the setting=0A=
	                   (omit if above is an object or to retrieve a value) =
*/=0A=
	_optionDatepicker: function(target, name, value) {=0A=
		var inst =3D this._getInst(target);=0A=
		if (arguments.length =3D=3D 2 && typeof name =3D=3D 'string') {=0A=
			return (name =3D=3D 'defaults' ? $.extend({}, $.datepicker._defaults) =
:=0A=
				(inst ? (name =3D=3D 'all' ? $.extend({}, inst.settings) :=0A=
				this._get(inst, name)) : null));=0A=
		}=0A=
		var settings =3D name || {};=0A=
		if (typeof name =3D=3D 'string') {=0A=
			settings =3D {};=0A=
			settings[name] =3D value;=0A=
		}=0A=
		if (inst) {=0A=
			if (this._curInst =3D=3D inst) {=0A=
				this._hideDatepicker();=0A=
			}=0A=
			var date =3D this._getDateDatepicker(target, true);=0A=
			extendRemove(inst.settings, settings);=0A=
			this._attachments($(target), inst);=0A=
			this._autoSize(inst);=0A=
			this._setDateDatepicker(target, date);=0A=
			this._updateDatepicker(inst);=0A=
		}=0A=
	},=0A=
=0A=
	// change method deprecated=0A=
	_changeDatepicker: function(target, name, value) {=0A=
		this._optionDatepicker(target, name, value);=0A=
	},=0A=
=0A=
	/* Redraw the date picker attached to an input field or division.=0A=
	   @param  target  element - the target input field or division or span =
*/=0A=
	_refreshDatepicker: function(target) {=0A=
		var inst =3D this._getInst(target);=0A=
		if (inst) {=0A=
			this._updateDatepicker(inst);=0A=
		}=0A=
	},=0A=
=0A=
	/* Set the dates for a jQuery selection.=0A=
	   @param  target   element - the target input field or division or span=0A=
	   @param  date     Date - the new date */=0A=
	_setDateDatepicker: function(target, date) {=0A=
		var inst =3D this._getInst(target);=0A=
		if (inst) {=0A=
			this._setDate(inst, date);=0A=
			this._updateDatepicker(inst);=0A=
			this._updateAlternate(inst);=0A=
		}=0A=
	},=0A=
=0A=
	/* Get the date(s) for the first entry in a jQuery selection.=0A=
	   @param  target     element - the target input field or division or =
span=0A=
	   @param  noDefault  boolean - true if no default date is to be used=0A=
	   @return Date - the current date */=0A=
	_getDateDatepicker: function(target, noDefault) {=0A=
		var inst =3D this._getInst(target);=0A=
		if (inst && !inst.inline)=0A=
			this._setDateFromField(inst, noDefault);=0A=
		return (inst ? this._getDate(inst) : null);=0A=
	},=0A=
=0A=
	/* Handle keystrokes. */=0A=
	_doKeyDown: function(event) {=0A=
		var inst =3D $.datepicker._getInst(event.target);=0A=
		var handled =3D true;=0A=
		var isRTL =3D inst.dpDiv.is('.ui-datepicker-rtl');=0A=
		inst._keyEvent =3D true;=0A=
		if ($.datepicker._datepickerShowing)=0A=
			switch (event.keyCode) {=0A=
				case 9: $.datepicker._hideDatepicker();=0A=
						handled =3D false;=0A=
						break; // hide on tab out=0A=
				case 13: var sel =3D $('td.' + $.datepicker._dayOverClass + ':not(.' =
+ =0A=
									$.datepicker._currentClass + ')', inst.dpDiv);=0A=
						if (sel[0])=0A=
							$.datepicker._selectDay(event.target, inst.selectedMonth, =
inst.selectedYear, sel[0]);=0A=
						else=0A=
							$.datepicker._hideDatepicker();=0A=
						return false; // don't submit the form=0A=
						break; // select the value on enter=0A=
				case 27: $.datepicker._hideDatepicker();=0A=
						break; // hide on escape=0A=
				case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?=0A=
							-$.datepicker._get(inst, 'stepBigMonths') :=0A=
							-$.datepicker._get(inst, 'stepMonths')), 'M');=0A=
						break; // previous month/year on page up/+ ctrl=0A=
				case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?=0A=
							+$.datepicker._get(inst, 'stepBigMonths') :=0A=
							+$.datepicker._get(inst, 'stepMonths')), 'M');=0A=
						break; // next month/year on page down/+ ctrl=0A=
				case 35: if (event.ctrlKey || event.metaKey) =
$.datepicker._clearDate(event.target);=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						break; // clear on ctrl or command +end=0A=
				case 36: if (event.ctrlKey || event.metaKey) =
$.datepicker._gotoToday(event.target);=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						break; // current on ctrl or command +home=0A=
				case 37: if (event.ctrlKey || event.metaKey) =
$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), 'D');=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						// -1 day on ctrl or command +left=0A=
						if (event.originalEvent.altKey) =
$.datepicker._adjustDate(event.target, (event.ctrlKey ?=0A=
									-$.datepicker._get(inst, 'stepBigMonths') :=0A=
									-$.datepicker._get(inst, 'stepMonths')), 'M');=0A=
						// next month/year on alt +left on Mac=0A=
						break;=0A=
				case 38: if (event.ctrlKey || event.metaKey) =
$.datepicker._adjustDate(event.target, -7, 'D');=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						break; // -1 week on ctrl or command +up=0A=
				case 39: if (event.ctrlKey || event.metaKey) =
$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), 'D');=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						// +1 day on ctrl or command +right=0A=
						if (event.originalEvent.altKey) =
$.datepicker._adjustDate(event.target, (event.ctrlKey ?=0A=
									+$.datepicker._get(inst, 'stepBigMonths') :=0A=
									+$.datepicker._get(inst, 'stepMonths')), 'M');=0A=
						// next month/year on alt +right=0A=
						break;=0A=
				case 40: if (event.ctrlKey || event.metaKey) =
$.datepicker._adjustDate(event.target, +7, 'D');=0A=
						handled =3D event.ctrlKey || event.metaKey;=0A=
						break; // +1 week on ctrl or command +down=0A=
				default: handled =3D false;=0A=
			}=0A=
		else if (event.keyCode =3D=3D 36 && event.ctrlKey) // display the date =
picker on ctrl+home=0A=
			$.datepicker._showDatepicker(this);=0A=
		else {=0A=
			handled =3D false;=0A=
		}=0A=
		if (handled) {=0A=
			event.preventDefault();=0A=
			event.stopPropagation();=0A=
		}=0A=
	},=0A=
=0A=
	/* Filter entered characters - based on date format. */=0A=
	_doKeyPress: function(event) {=0A=
		var inst =3D $.datepicker._getInst(event.target);=0A=
		if ($.datepicker._get(inst, 'constrainInput')) {=0A=
			var chars =3D $.datepicker._possibleChars($.datepicker._get(inst, =
'dateFormat'));=0A=
			var chr =3D String.fromCharCode(event.charCode =3D=3D undefined ? =
event.keyCode : event.charCode);=0A=
			return event.ctrlKey || event.metaKey || (chr < ' ' || !chars || =
chars.indexOf(chr) > -1);=0A=
		}=0A=
	},=0A=
=0A=
	/* Synchronise manual entry and field/alternate field. */=0A=
	_doKeyUp: function(event) {=0A=
		var inst =3D $.datepicker._getInst(event.target);=0A=
		if (inst.input.val() !=3D inst.lastVal) {=0A=
			try {=0A=
				var date =3D $.datepicker.parseDate($.datepicker._get(inst, =
'dateFormat'),=0A=
					(inst.input ? inst.input.val() : null),=0A=
					$.datepicker._getFormatConfig(inst));=0A=
				if (date) { // only if valid=0A=
					$.datepicker._setDateFromField(inst);=0A=
					$.datepicker._updateAlternate(inst);=0A=
					$.datepicker._updateDatepicker(inst);=0A=
				}=0A=
			}=0A=
			catch (event) {=0A=
				$.datepicker.log(event);=0A=
			}=0A=
		}=0A=
		return true;=0A=
	},=0A=
=0A=
	/* Pop-up the date picker for a given input field.=0A=
	   @param  input  element - the input field attached to the date picker =
or=0A=
	                  event - if triggered by focus */=0A=
	_showDatepicker: function(input) {=0A=
		input =3D input.target || input;=0A=
		if (input.nodeName.toLowerCase() !=3D 'input') // find from =
button/image trigger=0A=
			input =3D $('input', input.parentNode)[0];=0A=
		if ($.datepicker._isDisabledDatepicker(input) || =
$.datepicker._lastInput =3D=3D input) // already here=0A=
			return;=0A=
		var inst =3D $.datepicker._getInst(input);=0A=
		if ($.datepicker._curInst && $.datepicker._curInst !=3D inst) {=0A=
			$.datepicker._curInst.dpDiv.stop(true, true);=0A=
		}=0A=
		var beforeShow =3D $.datepicker._get(inst, 'beforeShow');=0A=
		extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, =
[input, inst]) : {}));=0A=
		inst.lastVal =3D null;=0A=
		$.datepicker._lastInput =3D input;=0A=
		$.datepicker._setDateFromField(inst);=0A=
		if ($.datepicker._inDialog) // hide cursor=0A=
			input.value =3D '';=0A=
		if (!$.datepicker._pos) { // position below input=0A=
			$.datepicker._pos =3D $.datepicker._findPos(input);=0A=
			$.datepicker._pos[1] +=3D input.offsetHeight; // add the height=0A=
		}=0A=
		var isFixed =3D false;=0A=
		$(input).parents().each(function() {=0A=
			isFixed |=3D $(this).css('position') =3D=3D 'fixed';=0A=
			return !isFixed;=0A=
		});=0A=
		if (isFixed && $.browser.opera) { // correction for Opera when fixed =
and scrolled=0A=
			$.datepicker._pos[0] -=3D document.documentElement.scrollLeft;=0A=
			$.datepicker._pos[1] -=3D document.documentElement.scrollTop;=0A=
		}=0A=
		var offset =3D {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};=0A=
		$.datepicker._pos =3D null;=0A=
		//to avoid flashes on Firefox=0A=
		inst.dpDiv.empty();=0A=
		// determine sizing offscreen=0A=
		inst.dpDiv.css({position: 'absolute', display: 'block', top: =
'-1000px'});=0A=
		$.datepicker._updateDatepicker(inst);=0A=
		// fix width for dynamic number of date pickers=0A=
		// and adjust position before showing=0A=
		offset =3D $.datepicker._checkOffset(inst, offset, isFixed);=0A=
		inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?=0A=
			'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none',=0A=
			left: offset.left + 'px', top: offset.top + 'px'});=0A=
		if (!inst.inline) {=0A=
			var showAnim =3D $.datepicker._get(inst, 'showAnim');=0A=
			var duration =3D $.datepicker._get(inst, 'duration');=0A=
			var postProcess =3D function() {=0A=
				$.datepicker._datepickerShowing =3D true;=0A=
				var cover =3D inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- =
only=0A=
				if( !! cover.length ){=0A=
					var borders =3D $.datepicker._getBorders(inst.dpDiv);=0A=
					cover.css({left: -borders[0], top: -borders[1],=0A=
						width: inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()});=0A=
				}=0A=
			};=0A=
			inst.dpDiv.zIndex($(input).zIndex()+1);=0A=
			if ($.effects && $.effects[showAnim])=0A=
				inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), =
duration, postProcess);=0A=
			else=0A=
				inst.dpDiv[showAnim || 'show']((showAnim ? duration : null), =
postProcess);=0A=
			if (!showAnim || !duration)=0A=
				postProcess();=0A=
			if (inst.input.is(':visible') && !inst.input.is(':disabled'))=0A=
				inst.input.focus();=0A=
			$.datepicker._curInst =3D inst;=0A=
		}=0A=
	},=0A=
=0A=
	/* Generate the date picker content. */=0A=
	_updateDatepicker: function(inst) {=0A=
		var self =3D this;=0A=
		var borders =3D $.datepicker._getBorders(inst.dpDiv);=0A=
		inst.dpDiv.empty().append(this._generateHTML(inst));=0A=
		var cover =3D inst.dpDiv.find('iframe.ui-datepicker-cover'); // IE6- =
only=0A=
		if( !!cover.length ){ //avoid call to outerXXXX() when not in IE6=0A=
			cover.css({left: -borders[0], top: -borders[1], width: =
inst.dpDiv.outerWidth(), height: inst.dpDiv.outerHeight()})=0A=
		}=0A=
		inst.dpDiv.find('button, .ui-datepicker-prev, .ui-datepicker-next, =
.ui-datepicker-calendar td a')=0A=
				.bind('mouseout', function(){=0A=
					$(this).removeClass('ui-state-hover');=0A=
					if(this.className.indexOf('ui-datepicker-prev') !=3D -1) =
$(this).removeClass('ui-datepicker-prev-hover');=0A=
					if(this.className.indexOf('ui-datepicker-next') !=3D -1) =
$(this).removeClass('ui-datepicker-next-hover');=0A=
				})=0A=
				.bind('mouseover', function(){=0A=
					if (!self._isDisabledDatepicker( inst.inline ? =
inst.dpDiv.parent()[0] : inst.input[0])) {=0A=
						=
$(this).parents('.ui-datepicker-calendar').find('a').removeClass('ui-stat=
e-hover');=0A=
						$(this).addClass('ui-state-hover');=0A=
						if(this.className.indexOf('ui-datepicker-prev') !=3D -1) =
$(this).addClass('ui-datepicker-prev-hover');=0A=
						if(this.className.indexOf('ui-datepicker-next') !=3D -1) =
$(this).addClass('ui-datepicker-next-hover');=0A=
					}=0A=
				})=0A=
			.end()=0A=
			.find('.' + this._dayOverClass + ' a')=0A=
				.trigger('mouseover')=0A=
			.end();=0A=
		var numMonths =3D this._getNumberOfMonths(inst);=0A=
		var cols =3D numMonths[1];=0A=
		var width =3D 17;=0A=
		if (cols > 1)=0A=
			inst.dpDiv.addClass('ui-datepicker-multi-' + cols).css('width', =
(width * cols) + 'em');=0A=
		else=0A=
			inst.dpDiv.removeClass('ui-datepicker-multi-2 ui-datepicker-multi-3 =
ui-datepicker-multi-4').width('');=0A=
		inst.dpDiv[(numMonths[0] !=3D 1 || numMonths[1] !=3D 1 ? 'add' : =
'remove') +=0A=
			'Class']('ui-datepicker-multi');=0A=
		inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') +=0A=
			'Class']('ui-datepicker-rtl');=0A=
		if (inst =3D=3D $.datepicker._curInst && =
$.datepicker._datepickerShowing && inst.input &&=0A=
				// #6694 - don't focus the input if it's already focused=0A=
				// this breaks the change event in IE=0A=
				inst.input.is(':visible') && !inst.input.is(':disabled') && =
inst.input[0] !=3D document.activeElement)=0A=
			inst.input.focus();=0A=
		// deffered render of the years select (to avoid flashes on Firefox) =0A=
		if( inst.yearshtml ){=0A=
			var origyearshtml =3D inst.yearshtml;=0A=
			setTimeout(function(){=0A=
				//assure that inst.yearshtml didn't change.=0A=
				if( origyearshtml =3D=3D=3D inst.yearshtml ){=0A=
					=
inst.dpDiv.find('select.ui-datepicker-year:first').replaceWith(inst.years=
html);=0A=
				}=0A=
				origyearshtml =3D inst.yearshtml =3D null;=0A=
			}, 0);=0A=
		}=0A=
	},=0A=
=0A=
	/* Retrieve the size of left and top borders for an element.=0A=
	   @param  elem  (jQuery object) the element of interest=0A=
	   @return  (number[2]) the left and top borders */=0A=
	_getBorders: function(elem) {=0A=
		var convert =3D function(value) {=0A=
			return {thin: 1, medium: 2, thick: 3}[value] || value;=0A=
		};=0A=
		return [parseFloat(convert(elem.css('border-left-width'))),=0A=
			parseFloat(convert(elem.css('border-top-width')))];=0A=
	},=0A=
=0A=
	/* Check positioning to remain on screen. */=0A=
	_checkOffset: function(inst, offset, isFixed) {=0A=
		var dpWidth =3D inst.dpDiv.outerWidth();=0A=
		var dpHeight =3D inst.dpDiv.outerHeight();=0A=
		var inputWidth =3D inst.input ? inst.input.outerWidth() : 0;=0A=
		var inputHeight =3D inst.input ? inst.input.outerHeight() : 0;=0A=
		var viewWidth =3D document.documentElement.clientWidth + =
$(document).scrollLeft();=0A=
		var viewHeight =3D document.documentElement.clientHeight + =
$(document).scrollTop();=0A=
=0A=
		offset.left -=3D (this._get(inst, 'isRTL') ? (dpWidth - inputWidth) : =
0);=0A=
		offset.left -=3D (isFixed && offset.left =3D=3D =
inst.input.offset().left) ? $(document).scrollLeft() : 0;=0A=
		offset.top -=3D (isFixed && offset.top =3D=3D (inst.input.offset().top =
+ inputHeight)) ? $(document).scrollTop() : 0;=0A=
=0A=
		// now check if datepicker is showing outside window viewport - move =
to a better place if so.=0A=
		offset.left -=3D Math.min(offset.left, (offset.left + dpWidth > =
viewWidth && viewWidth > dpWidth) ?=0A=
			Math.abs(offset.left + dpWidth - viewWidth) : 0);=0A=
		offset.top -=3D Math.min(offset.top, (offset.top + dpHeight > =
viewHeight && viewHeight > dpHeight) ?=0A=
			Math.abs(dpHeight + inputHeight) : 0);=0A=
=0A=
		return offset;=0A=
	},=0A=
=0A=
	/* Find an object's position on the screen. */=0A=
	_findPos: function(obj) {=0A=
		var inst =3D this._getInst(obj);=0A=
		var isRTL =3D this._get(inst, 'isRTL');=0A=
        while (obj && (obj.type =3D=3D 'hidden' || obj.nodeType !=3D 1 =
|| $.expr.filters.hidden(obj))) {=0A=
            obj =3D obj[isRTL ? 'previousSibling' : 'nextSibling'];=0A=
        }=0A=
        var position =3D $(obj).offset();=0A=
	    return [position.left, position.top];=0A=
	},=0A=
=0A=
	/* Hide the date picker from view.=0A=
	   @param  input  element - the input field attached to the date picker =
*/=0A=
	_hideDatepicker: function(input) {=0A=
		var inst =3D this._curInst;=0A=
		if (!inst || (input && inst !=3D $.data(input, PROP_NAME)))=0A=
			return;=0A=
		if (this._datepickerShowing) {=0A=
			var showAnim =3D this._get(inst, 'showAnim');=0A=
			var duration =3D this._get(inst, 'duration');=0A=
			var postProcess =3D function() {=0A=
				$.datepicker._tidyDialog(inst);=0A=
				this._curInst =3D null;=0A=
			};=0A=
			if ($.effects && $.effects[showAnim])=0A=
				inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), =
duration, postProcess);=0A=
			else=0A=
				inst.dpDiv[(showAnim =3D=3D 'slideDown' ? 'slideUp' :=0A=
					(showAnim =3D=3D 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? =
duration : null), postProcess);=0A=
			if (!showAnim)=0A=
				postProcess();=0A=
			var onClose =3D this._get(inst, 'onClose');=0A=
			if (onClose)=0A=
				onClose.apply((inst.input ? inst.input[0] : null),=0A=
					[(inst.input ? inst.input.val() : ''), inst]);  // trigger custom =
callback=0A=
			this._datepickerShowing =3D false;=0A=
			this._lastInput =3D null;=0A=
			if (this._inDialog) {=0A=
				this._dialogInput.css({ position: 'absolute', left: '0', top: =
'-100px' });=0A=
				if ($.blockUI) {=0A=
					$.unblockUI();=0A=
					$('body').append(this.dpDiv);=0A=
				}=0A=
			}=0A=
			this._inDialog =3D false;=0A=
		}=0A=
	},=0A=
=0A=
	/* Tidy up after a dialog display. */=0A=
	_tidyDialog: function(inst) {=0A=
		=
inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker-calendar=
');=0A=
	},=0A=
=0A=
	/* Close date picker if clicked elsewhere. */=0A=
	_checkExternalClick: function(event) {=0A=
		if (!$.datepicker._curInst)=0A=
			return;=0A=
		var $target =3D $(event.target);=0A=
		if ($target[0].id !=3D $.datepicker._mainDivId &&=0A=
				$target.parents('#' + $.datepicker._mainDivId).length =3D=3D 0 &&=0A=
				!$target.hasClass($.datepicker.markerClassName) &&=0A=
				!$target.hasClass($.datepicker._triggerClass) &&=0A=
				$.datepicker._datepickerShowing && !($.datepicker._inDialog && =
$.blockUI))=0A=
			$.datepicker._hideDatepicker();=0A=
	},=0A=
=0A=
	/* Adjust one of the date sub-fields. */=0A=
	_adjustDate: function(id, offset, period) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		if (this._isDisabledDatepicker(target[0])) {=0A=
			return;=0A=
		}=0A=
		this._adjustInstDate(inst, offset +=0A=
			(period =3D=3D 'M' ? this._get(inst, 'showCurrentAtPos') : 0), // =
undo positioning=0A=
			period);=0A=
		this._updateDatepicker(inst);=0A=
	},=0A=
=0A=
	/* Action for current link. */=0A=
	_gotoToday: function(id) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		if (this._get(inst, 'gotoCurrent') && inst.currentDay) {=0A=
			inst.selectedDay =3D inst.currentDay;=0A=
			inst.drawMonth =3D inst.selectedMonth =3D inst.currentMonth;=0A=
			inst.drawYear =3D inst.selectedYear =3D inst.currentYear;=0A=
		}=0A=
		else {=0A=
			var date =3D new Date();=0A=
			inst.selectedDay =3D date.getDate();=0A=
			inst.drawMonth =3D inst.selectedMonth =3D date.getMonth();=0A=
			inst.drawYear =3D inst.selectedYear =3D date.getFullYear();=0A=
		}=0A=
		this._notifyChange(inst);=0A=
		this._adjustDate(target);=0A=
	},=0A=
=0A=
	/* Action for selecting a new month/year. */=0A=
	_selectMonthYear: function(id, select, period) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		inst._selectingMonthYear =3D false;=0A=
		inst['selected' + (period =3D=3D 'M' ? 'Month' : 'Year')] =3D=0A=
		inst['draw' + (period =3D=3D 'M' ? 'Month' : 'Year')] =3D=0A=
			parseInt(select.options[select.selectedIndex].value,10);=0A=
		this._notifyChange(inst);=0A=
		this._adjustDate(target);=0A=
	},=0A=
=0A=
	/* Restore input focus after not changing month/year. */=0A=
	_clickMonthYear: function(id) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		if (inst.input && inst._selectingMonthYear) {=0A=
			setTimeout(function() {=0A=
				inst.input.focus();=0A=
			}, 0);=0A=
		}=0A=
		inst._selectingMonthYear =3D !inst._selectingMonthYear;=0A=
	},=0A=
=0A=
	/* Action for selecting a day. */=0A=
	_selectDay: function(id, month, year, td) {=0A=
		var target =3D $(id);=0A=
		if ($(td).hasClass(this._unselectableClass) || =
this._isDisabledDatepicker(target[0])) {=0A=
			return;=0A=
		}=0A=
		var inst =3D this._getInst(target[0]);=0A=
		inst.selectedDay =3D inst.currentDay =3D $('a', td).html();=0A=
		inst.selectedMonth =3D inst.currentMonth =3D month;=0A=
		inst.selectedYear =3D inst.currentYear =3D year;=0A=
		this._selectDate(id, this._formatDate(inst,=0A=
			inst.currentDay, inst.currentMonth, inst.currentYear));=0A=
	},=0A=
=0A=
	/* Erase the input field and hide the date picker. */=0A=
	_clearDate: function(id) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		this._selectDate(target, '');=0A=
	},=0A=
=0A=
	/* Update the input field with the selected date. */=0A=
	_selectDate: function(id, dateStr) {=0A=
		var target =3D $(id);=0A=
		var inst =3D this._getInst(target[0]);=0A=
		dateStr =3D (dateStr !=3D null ? dateStr : this._formatDate(inst));=0A=
		if (inst.input)=0A=
			inst.input.val(dateStr);=0A=
		this._updateAlternate(inst);=0A=
		var onSelect =3D this._get(inst, 'onSelect');=0A=
		if (onSelect)=0A=
			onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); =
 // trigger custom callback=0A=
		else if (inst.input)=0A=
			inst.input.trigger('change'); // fire the change event=0A=
		if (inst.inline)=0A=
			this._updateDatepicker(inst);=0A=
		else {=0A=
			this._hideDatepicker();=0A=
			this._lastInput =3D inst.input[0];=0A=
			if (typeof(inst.input[0]) !=3D 'object')=0A=
				inst.input.focus(); // restore focus=0A=
			this._lastInput =3D null;=0A=
		}=0A=
	},=0A=
=0A=
	/* Update any alternate field to synchronise with the main field. */=0A=
	_updateAlternate: function(inst) {=0A=
		var altField =3D this._get(inst, 'altField');=0A=
		if (altField) { // update alternate field too=0A=
			var altFormat =3D this._get(inst, 'altFormat') || this._get(inst, =
'dateFormat');=0A=
			var date =3D this._getDate(inst);=0A=
			var dateStr =3D this.formatDate(altFormat, date, =
this._getFormatConfig(inst));=0A=
			$(altField).each(function() { $(this).val(dateStr); });=0A=
		}=0A=
	},=0A=
=0A=
	/* Set as beforeShowDay function to prevent selection of weekends.=0A=
	   @param  date  Date - the date to customise=0A=
	   @return [boolean, string] - is this date selectable?, what is its =
CSS class? */=0A=
	noWeekends: function(date) {=0A=
		var day =3D date.getDay();=0A=
		return [(day > 0 && day < 6), ''];=0A=
	},=0A=
=0A=
	/* Set as calculateWeek to determine the week of the year based on the =
ISO 8601 definition.=0A=
	   @param  date  Date - the date to get the week for=0A=
	   @return  number - the number of the week within the year that =
contains this date */=0A=
	iso8601Week: function(date) {=0A=
		var checkDate =3D new Date(date.getTime());=0A=
		// Find Thursday of this week starting on Monday=0A=
		checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));=0A=
		var time =3D checkDate.getTime();=0A=
		checkDate.setMonth(0); // Compare with Jan 1=0A=
		checkDate.setDate(1);=0A=
		return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;=0A=
	},=0A=
=0A=
	/* Parse a string value into a date object.=0A=
	   See formatDate below for the possible formats.=0A=
=0A=
	   @param  format    string - the expected format of the date=0A=
	   @param  value     string - the date in the above format=0A=
	   @param  settings  Object - attributes include:=0A=
	                     shortYearCutoff  number - the cutoff year for =
determining the century (optional)=0A=
	                     dayNamesShort    string[7] - abbreviated names of =
the days from Sunday (optional)=0A=
	                     dayNames         string[7] - names of the days =
from Sunday (optional)=0A=
	                     monthNamesShort  string[12] - abbreviated names of =
the months (optional)=0A=
	                     monthNames       string[12] - names of the months =
(optional)=0A=
	   @return  Date - the extracted date value or null if value is blank */=0A=
	parseDate: function (format, value, settings) {=0A=
		if (format =3D=3D null || value =3D=3D null)=0A=
			throw 'Invalid arguments';=0A=
		value =3D (typeof value =3D=3D 'object' ? value.toString() : value + =
'');=0A=
		if (value =3D=3D '')=0A=
			return null;=0A=
		var shortYearCutoff =3D (settings ? settings.shortYearCutoff : null) =
|| this._defaults.shortYearCutoff;=0A=
		shortYearCutoff =3D (typeof shortYearCutoff !=3D 'string' ? =
shortYearCutoff :=0A=
				new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));=0A=
		var dayNamesShort =3D (settings ? settings.dayNamesShort : null) || =
this._defaults.dayNamesShort;=0A=
		var dayNames =3D (settings ? settings.dayNames : null) || =
this._defaults.dayNames;=0A=
		var monthNamesShort =3D (settings ? settings.monthNamesShort : null) =
|| this._defaults.monthNamesShort;=0A=
		var monthNames =3D (settings ? settings.monthNames : null) || =
this._defaults.monthNames;=0A=
		var year =3D -1;=0A=
		var month =3D -1;=0A=
		var day =3D -1;=0A=
		var doy =3D -1;=0A=
		var literal =3D false;=0A=
		// Check whether a format character is doubled=0A=
		var lookAhead =3D function(match) {=0A=
			var matches =3D (iFormat + 1 < format.length && format.charAt(iFormat =
+ 1) =3D=3D match);=0A=
			if (matches)=0A=
				iFormat++;=0A=
			return matches;=0A=
		};=0A=
		// Extract a number from the string value=0A=
		var getNumber =3D function(match) {=0A=
			var isDoubled =3D lookAhead(match);=0A=
			var size =3D (match =3D=3D '@' ? 14 : (match =3D=3D '!' ? 20 :=0A=
				(match =3D=3D 'y' && isDoubled ? 4 : (match =3D=3D 'o' ? 3 : 2))));=0A=
			var digits =3D new RegExp('^\\d{1,' + size + '}');=0A=
			var num =3D value.substring(iValue).match(digits);=0A=
			if (!num)=0A=
				throw 'Missing number at position ' + iValue;=0A=
			iValue +=3D num[0].length;=0A=
			return parseInt(num[0], 10);=0A=
		};=0A=
		// Extract a name from the string value and convert to an index=0A=
		var getName =3D function(match, shortNames, longNames) {=0A=
			var names =3D (lookAhead(match) ? longNames : shortNames);=0A=
			for (var i =3D 0; i < names.length; i++) {=0A=
				if (value.substr(iValue, names[i].length).toLowerCase() =3D=3D =
names[i].toLowerCase()) {=0A=
					iValue +=3D names[i].length;=0A=
					return i + 1;=0A=
				}=0A=
			}=0A=
			throw 'Unknown name at position ' + iValue;=0A=
		};=0A=
		// Confirm that a literal character matches the string value=0A=
		var checkLiteral =3D function() {=0A=
			if (value.charAt(iValue) !=3D format.charAt(iFormat))=0A=
				throw 'Unexpected literal at position ' + iValue;=0A=
			iValue++;=0A=
		};=0A=
		var iValue =3D 0;=0A=
		for (var iFormat =3D 0; iFormat < format.length; iFormat++) {=0A=
			if (literal)=0A=
				if (format.charAt(iFormat) =3D=3D "'" && !lookAhead("'"))=0A=
					literal =3D false;=0A=
				else=0A=
					checkLiteral();=0A=
			else=0A=
				switch (format.charAt(iFormat)) {=0A=
					case 'd':=0A=
						day =3D getNumber('d');=0A=
						break;=0A=
					case 'D':=0A=
						getName('D', dayNamesShort, dayNames);=0A=
						break;=0A=
					case 'o':=0A=
						doy =3D getNumber('o');=0A=
						break;=0A=
					case 'm':=0A=
						month =3D getNumber('m');=0A=
						break;=0A=
					case 'M':=0A=
						month =3D getName('M', monthNamesShort, monthNames);=0A=
						break;=0A=
					case 'y':=0A=
						year =3D getNumber('y');=0A=
						break;=0A=
					case '@':=0A=
						var date =3D new Date(getNumber('@'));=0A=
						year =3D date.getFullYear();=0A=
						month =3D date.getMonth() + 1;=0A=
						day =3D date.getDate();=0A=
						break;=0A=
					case '!':=0A=
						var date =3D new Date((getNumber('!') - this._ticksTo1970) / =
10000);=0A=
						year =3D date.getFullYear();=0A=
						month =3D date.getMonth() + 1;=0A=
						day =3D date.getDate();=0A=
						break;=0A=
					case "'":=0A=
						if (lookAhead("'"))=0A=
							checkLiteral();=0A=
						else=0A=
							literal =3D true;=0A=
						break;=0A=
					default:=0A=
						checkLiteral();=0A=
				}=0A=
		}=0A=
		if (year =3D=3D -1)=0A=
			year =3D new Date().getFullYear();=0A=
		else if (year < 100)=0A=
			year +=3D new Date().getFullYear() - new Date().getFullYear() % 100 +=0A=
				(year <=3D shortYearCutoff ? 0 : -100);=0A=
		if (doy > -1) {=0A=
			month =3D 1;=0A=
			day =3D doy;=0A=
			do {=0A=
				var dim =3D this._getDaysInMonth(year, month - 1);=0A=
				if (day <=3D dim)=0A=
					break;=0A=
				month++;=0A=
				day -=3D dim;=0A=
			} while (true);=0A=
		}=0A=
		var date =3D this._daylightSavingAdjust(new Date(year, month - 1, =
day));=0A=
		if (date.getFullYear() !=3D year || date.getMonth() + 1 !=3D month || =
date.getDate() !=3D day)=0A=
			throw 'Invalid date'; // E.g. 31/02/*=0A=
		return date;=0A=
	},=0A=
=0A=
	/* Standard date formats. */=0A=
	ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601)=0A=
	COOKIE: 'D, dd M yy',=0A=
	ISO_8601: 'yy-mm-dd',=0A=
	RFC_822: 'D, d M y',=0A=
	RFC_850: 'DD, dd-M-y',=0A=
	RFC_1036: 'D, d M y',=0A=
	RFC_1123: 'D, d M yy',=0A=
	RFC_2822: 'D, d M yy',=0A=
	RSS: 'D, d M y', // RFC 822=0A=
	TICKS: '!',=0A=
	TIMESTAMP: '@',=0A=
	W3C: 'yy-mm-dd', // ISO 8601=0A=
=0A=
	_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - =
Math.floor(1970 / 100) +=0A=
		Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),=0A=
=0A=
	/* Format a date object into a string value.=0A=
	   The format can be combinations of the following:=0A=
	   d  - day of month (no leading zero)=0A=
	   dd - day of month (two digit)=0A=
	   o  - day of year (no leading zeros)=0A=
	   oo - day of year (three digit)=0A=
	   D  - day name short=0A=
	   DD - day name long=0A=
	   m  - month of year (no leading zero)=0A=
	   mm - month of year (two digit)=0A=
	   M  - month name short=0A=
	   MM - month name long=0A=
	   y  - year (two digit)=0A=
	   yy - year (four digit)=0A=
	   @ - Unix timestamp (ms since 01/01/1970)=0A=
	   ! - Windows ticks (100ns since 01/01/0001)=0A=
	   '...' - literal text=0A=
	   '' - single quote=0A=
=0A=
	   @param  format    string - the desired format of the date=0A=
	   @param  date      Date - the date value to format=0A=
	   @param  settings  Object - attributes include:=0A=
	                     dayNamesShort    string[7] - abbreviated names of =
the days from Sunday (optional)=0A=
	                     dayNames         string[7] - names of the days =
from Sunday (optional)=0A=
	                     monthNamesShort  string[12] - abbreviated names of =
the months (optional)=0A=
	                     monthNames       string[12] - names of the months =
(optional)=0A=
	   @return  string - the date in the above format */=0A=
	formatDate: function (format, date, settings) {=0A=
		if (!date)=0A=
			return '';=0A=
		var dayNamesShort =3D (settings ? settings.dayNamesShort : null) || =
this._defaults.dayNamesShort;=0A=
		var dayNames =3D (settings ? settings.dayNames : null) || =
this._defaults.dayNames;=0A=
		var monthNamesShort =3D (settings ? settings.monthNamesShort : null) =
|| this._defaults.monthNamesShort;=0A=
		var monthNames =3D (settings ? settings.monthNames : null) || =
this._defaults.monthNames;=0A=
		// Check whether a format character is doubled=0A=
		var lookAhead =3D function(match) {=0A=
			var matches =3D (iFormat + 1 < format.length && format.charAt(iFormat =
+ 1) =3D=3D match);=0A=
			if (matches)=0A=
				iFormat++;=0A=
			return matches;=0A=
		};=0A=
		// Format a number, with leading zero if necessary=0A=
		var formatNumber =3D function(match, value, len) {=0A=
			var num =3D '' + value;=0A=
			if (lookAhead(match))=0A=
				while (num.length < len)=0A=
					num =3D '0' + num;=0A=
			return num;=0A=
		};=0A=
		// Format a name, short or long as requested=0A=
		var formatName =3D function(match, value, shortNames, longNames) {=0A=
			return (lookAhead(match) ? longNames[value] : shortNames[value]);=0A=
		};=0A=
		var output =3D '';=0A=
		var literal =3D false;=0A=
		if (date)=0A=
			for (var iFormat =3D 0; iFormat < format.length; iFormat++) {=0A=
				if (literal)=0A=
					if (format.charAt(iFormat) =3D=3D "'" && !lookAhead("'"))=0A=
						literal =3D false;=0A=
					else=0A=
						output +=3D format.charAt(iFormat);=0A=
				else=0A=
					switch (format.charAt(iFormat)) {=0A=
						case 'd':=0A=
							output +=3D formatNumber('d', date.getDate(), 2);=0A=
							break;=0A=
						case 'D':=0A=
							output +=3D formatName('D', date.getDay(), dayNamesShort, =
dayNames);=0A=
							break;=0A=
						case 'o':=0A=
							output +=3D formatNumber('o',=0A=
								(date.getTime() - new Date(date.getFullYear(), 0, 0).getTime()) =
/ 86400000, 3);=0A=
							break;=0A=
						case 'm':=0A=
							output +=3D formatNumber('m', date.getMonth() + 1, 2);=0A=
							break;=0A=
						case 'M':=0A=
							output +=3D formatName('M', date.getMonth(), monthNamesShort, =
monthNames);=0A=
							break;=0A=
						case 'y':=0A=
							output +=3D (lookAhead('y') ? date.getFullYear() :=0A=
								(date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100);=0A=
							break;=0A=
						case '@':=0A=
							output +=3D date.getTime();=0A=
							break;=0A=
						case '!':=0A=
							output +=3D date.getTime() * 10000 + this._ticksTo1970;=0A=
							break;=0A=
						case "'":=0A=
							if (lookAhead("'"))=0A=
								output +=3D "'";=0A=
							else=0A=
								literal =3D true;=0A=
							break;=0A=
						default:=0A=
							output +=3D format.charAt(iFormat);=0A=
					}=0A=
			}=0A=
		return output;=0A=
	},=0A=
=0A=
	/* Extract all possible characters from the date format. */=0A=
	_possibleChars: function (format) {=0A=
		var chars =3D '';=0A=
		var literal =3D false;=0A=
		// Check whether a format character is doubled=0A=
		var lookAhead =3D function(match) {=0A=
			var matches =3D (iFormat + 1 < format.length && format.charAt(iFormat =
+ 1) =3D=3D match);=0A=
			if (matches)=0A=
				iFormat++;=0A=
			return matches;=0A=
		};=0A=
		for (var iFormat =3D 0; iFormat < format.length; iFormat++)=0A=
			if (literal)=0A=
				if (format.charAt(iFormat) =3D=3D "'" && !lookAhead("'"))=0A=
					literal =3D false;=0A=
				else=0A=
					chars +=3D format.charAt(iFormat);=0A=
			else=0A=
				switch (format.charAt(iFormat)) {=0A=
					case 'd': case 'm': case 'y': case '@':=0A=
						chars +=3D '0123456789';=0A=
						break;=0A=
					case 'D': case 'M':=0A=
						return null; // Accept anything=0A=
					case "'":=0A=
						if (lookAhead("'"))=0A=
							chars +=3D "'";=0A=
						else=0A=
							literal =3D true;=0A=
						break;=0A=
					default:=0A=
						chars +=3D format.charAt(iFormat);=0A=
				}=0A=
		return chars;=0A=
	},=0A=
=0A=
	/* Get a setting value, defaulting if necessary. */=0A=
	_get: function(inst, name) {=0A=
		return inst.settings[name] !=3D=3D undefined ?=0A=
			inst.settings[name] : this._defaults[name];=0A=
	},=0A=
=0A=
	/* Parse existing date and initialise date picker. */=0A=
	_setDateFromField: function(inst, noDefault) {=0A=
		if (inst.input.val() =3D=3D inst.lastVal) {=0A=
			return;=0A=
		}=0A=
		var dateFormat =3D this._get(inst, 'dateFormat');=0A=
		var dates =3D inst.lastVal =3D inst.input ? inst.input.val() : null;=0A=
		var date, defaultDate;=0A=
		date =3D defaultDate =3D this._getDefaultDate(inst);=0A=
		var settings =3D this._getFormatConfig(inst);=0A=
		try {=0A=
			date =3D this.parseDate(dateFormat, dates, settings) || defaultDate;=0A=
		} catch (event) {=0A=
			this.log(event);=0A=
			dates =3D (noDefault ? '' : dates);=0A=
		}=0A=
		inst.selectedDay =3D date.getDate();=0A=
		inst.drawMonth =3D inst.selectedMonth =3D date.getMonth();=0A=
		inst.drawYear =3D inst.selectedYear =3D date.getFullYear();=0A=
		inst.currentDay =3D (dates ? date.getDate() : 0);=0A=
		inst.currentMonth =3D (dates ? date.getMonth() : 0);=0A=
		inst.currentYear =3D (dates ? date.getFullYear() : 0);=0A=
		this._adjustInstDate(inst);=0A=
	},=0A=
=0A=
	/* Retrieve the default date shown on opening. */=0A=
	_getDefaultDate: function(inst) {=0A=
		return this._restrictMinMax(inst,=0A=
			this._determineDate(inst, this._get(inst, 'defaultDate'), new =
Date()));=0A=
	},=0A=
=0A=
	/* A date may be specified as an exact value or a relative one. */=0A=
	_determineDate: function(inst, date, defaultDate) {=0A=
		var offsetNumeric =3D function(offset) {=0A=
			var date =3D new Date();=0A=
			date.setDate(date.getDate() + offset);=0A=
			return date;=0A=
		};=0A=
		var offsetString =3D function(offset) {=0A=
			try {=0A=
				return $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),=0A=
					offset, $.datepicker._getFormatConfig(inst));=0A=
			}=0A=
			catch (e) {=0A=
				// Ignore=0A=
			}=0A=
			var date =3D (offset.toLowerCase().match(/^c/) ?=0A=
				$.datepicker._getDate(inst) : null) || new Date();=0A=
			var year =3D date.getFullYear();=0A=
			var month =3D date.getMonth();=0A=
			var day =3D date.getDate();=0A=
			var pattern =3D /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;=0A=
			var matches =3D pattern.exec(offset);=0A=
			while (matches) {=0A=
				switch (matches[2] || 'd') {=0A=
					case 'd' : case 'D' :=0A=
						day +=3D parseInt(matches[1],10); break;=0A=
					case 'w' : case 'W' :=0A=
						day +=3D parseInt(matches[1],10) * 7; break;=0A=
					case 'm' : case 'M' :=0A=
						month +=3D parseInt(matches[1],10);=0A=
						day =3D Math.min(day, $.datepicker._getDaysInMonth(year, month));=0A=
						break;=0A=
					case 'y': case 'Y' :=0A=
						year +=3D parseInt(matches[1],10);=0A=
						day =3D Math.min(day, $.datepicker._getDaysInMonth(year, month));=0A=
						break;=0A=
				}=0A=
				matches =3D pattern.exec(offset);=0A=
			}=0A=
			return new Date(year, month, day);=0A=
		};=0A=
		var newDate =3D (date =3D=3D null || date =3D=3D=3D '' ? defaultDate : =
(typeof date =3D=3D 'string' ? offsetString(date) :=0A=
			(typeof date =3D=3D 'number' ? (isNaN(date) ? defaultDate : =
offsetNumeric(date)) : new Date(date.getTime()))));=0A=
		newDate =3D (newDate && newDate.toString() =3D=3D 'Invalid Date' ? =
defaultDate : newDate);=0A=
		if (newDate) {=0A=
			newDate.setHours(0);=0A=
			newDate.setMinutes(0);=0A=
			newDate.setSeconds(0);=0A=
			newDate.setMilliseconds(0);=0A=
		}=0A=
		return this._daylightSavingAdjust(newDate);=0A=
	},=0A=
=0A=
	/* Handle switch to/from daylight saving.=0A=
	   Hours may be non-zero on daylight saving cut-over:=0A=
	   > 12 when midnight changeover, but then cannot generate=0A=
	   midnight datetime, so jump to 1AM, otherwise reset.=0A=
	   @param  date  (Date) the date to check=0A=
	   @return  (Date) the corrected date */=0A=
	_daylightSavingAdjust: function(date) {=0A=
		if (!date) return null;=0A=
		date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);=0A=
		return date;=0A=
	},=0A=
=0A=
	/* Set the date(s) directly. */=0A=
	_setDate: function(inst, date, noChange) {=0A=
		var clear =3D !date;=0A=
		var origMonth =3D inst.selectedMonth;=0A=
		var origYear =3D inst.selectedYear;=0A=
		var newDate =3D this._restrictMinMax(inst, this._determineDate(inst, =
date, new Date()));=0A=
		inst.selectedDay =3D inst.currentDay =3D newDate.getDate();=0A=
		inst.drawMonth =3D inst.selectedMonth =3D inst.currentMonth =3D =
newDate.getMonth();=0A=
		inst.drawYear =3D inst.selectedYear =3D inst.currentYear =3D =
newDate.getFullYear();=0A=
		if ((origMonth !=3D inst.selectedMonth || origYear !=3D =
inst.selectedYear) && !noChange)=0A=
			this._notifyChange(inst);=0A=
		this._adjustInstDate(inst);=0A=
		if (inst.input) {=0A=
			inst.input.val(clear ? '' : this._formatDate(inst));=0A=
		}=0A=
	},=0A=
=0A=
	/* Retrieve the date(s) directly. */=0A=
	_getDate: function(inst) {=0A=
		var startDate =3D (!inst.currentYear || (inst.input && =
inst.input.val() =3D=3D '') ? null :=0A=
			this._daylightSavingAdjust(new Date(=0A=
			inst.currentYear, inst.currentMonth, inst.currentDay)));=0A=
			return startDate;=0A=
	},=0A=
=0A=
	/* Generate the HTML for the current state of the date picker. */=0A=
	_generateHTML: function(inst) {=0A=
		var today =3D new Date();=0A=
		today =3D this._daylightSavingAdjust(=0A=
			new Date(today.getFullYear(), today.getMonth(), today.getDate())); // =
clear time=0A=
		var isRTL =3D this._get(inst, 'isRTL');=0A=
		var showButtonPanel =3D this._get(inst, 'showButtonPanel');=0A=
		var hideIfNoPrevNext =3D this._get(inst, 'hideIfNoPrevNext');=0A=
		var navigationAsDateFormat =3D this._get(inst, =
'navigationAsDateFormat');=0A=
		var numMonths =3D this._getNumberOfMonths(inst);=0A=
		var showCurrentAtPos =3D this._get(inst, 'showCurrentAtPos');=0A=
		var stepMonths =3D this._get(inst, 'stepMonths');=0A=
		var isMultiMonth =3D (numMonths[0] !=3D 1 || numMonths[1] !=3D 1);=0A=
		var currentDate =3D this._daylightSavingAdjust((!inst.currentDay ? new =
Date(9999, 9, 9) :=0A=
			new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));=0A=
		var minDate =3D this._getMinMaxDate(inst, 'min');=0A=
		var maxDate =3D this._getMinMaxDate(inst, 'max');=0A=
		var drawMonth =3D inst.drawMonth - showCurrentAtPos;=0A=
		var drawYear =3D inst.drawYear;=0A=
		if (drawMonth < 0) {=0A=
			drawMonth +=3D 12;=0A=
			drawYear--;=0A=
		}=0A=
		if (maxDate) {=0A=
			var maxDraw =3D this._daylightSavingAdjust(new =
Date(maxDate.getFullYear(),=0A=
				maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, =
maxDate.getDate()));=0A=
			maxDraw =3D (minDate && maxDraw < minDate ? minDate : maxDraw);=0A=
			while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > =
maxDraw) {=0A=
				drawMonth--;=0A=
				if (drawMonth < 0) {=0A=
					drawMonth =3D 11;=0A=
					drawYear--;=0A=
				}=0A=
			}=0A=
		}=0A=
		inst.drawMonth =3D drawMonth;=0A=
		inst.drawYear =3D drawYear;=0A=
		var prevText =3D this._get(inst, 'prevText');=0A=
		prevText =3D (!navigationAsDateFormat ? prevText : =
this.formatDate(prevText,=0A=
			this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, =
1)),=0A=
			this._getFormatConfig(inst)));=0A=
		var prev =3D (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?=0A=
			'<a class=3D"ui-datepicker-prev ui-corner-all" onclick=3D"DP_jQuery_' =
+ dpuuid +=0A=
			'.datepicker._adjustDate(\'#' + inst.id + '\', -' + stepMonths + ', =
\'M\');"' +=0A=
			' title=3D"' + prevText + '"><span class=3D"ui-icon =
ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '">' + prevText + =
'</span></a>' :=0A=
			(hideIfNoPrevNext ? '' : '<a class=3D"ui-datepicker-prev =
ui-corner-all ui-state-disabled" title=3D"'+ prevText +'"><span =
class=3D"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'e' : 'w') + '">' =
+ prevText + '</span></a>'));=0A=
		var nextText =3D this._get(inst, 'nextText');=0A=
		nextText =3D (!navigationAsDateFormat ? nextText : =
this.formatDate(nextText,=0A=
			this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, =
1)),=0A=
			this._getFormatConfig(inst)));=0A=
		var next =3D (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?=0A=
			'<a class=3D"ui-datepicker-next ui-corner-all" onclick=3D"DP_jQuery_' =
+ dpuuid +=0A=
			'.datepicker._adjustDate(\'#' + inst.id + '\', +' + stepMonths + ', =
\'M\');"' +=0A=
			' title=3D"' + nextText + '"><span class=3D"ui-icon =
ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '">' + nextText + =
'</span></a>' :=0A=
			(hideIfNoPrevNext ? '' : '<a class=3D"ui-datepicker-next =
ui-corner-all ui-state-disabled" title=3D"'+ nextText + '"><span =
class=3D"ui-icon ui-icon-circle-triangle-' + ( isRTL ? 'w' : 'e') + '">' =
+ nextText + '</span></a>'));=0A=
		var currentText =3D this._get(inst, 'currentText');=0A=
		var gotoDate =3D (this._get(inst, 'gotoCurrent') && inst.currentDay ? =
currentDate : today);=0A=
		currentText =3D (!navigationAsDateFormat ? currentText :=0A=
			this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));=0A=
		var controls =3D (!inst.inline ? '<button type=3D"button" =
class=3D"ui-datepicker-close ui-state-default ui-priority-primary =
ui-corner-all" onclick=3D"DP_jQuery_' + dpuuid +=0A=
			'.datepicker._hideDatepicker();">' + this._get(inst, 'closeText') + =
'</button>' : '');=0A=
		var buttonPanel =3D (showButtonPanel) ? '<div =
class=3D"ui-datepicker-buttonpane ui-widget-content">' + (isRTL ? =
controls : '') +=0A=
			(this._isInRange(inst, gotoDate) ? '<button type=3D"button" =
class=3D"ui-datepicker-current ui-state-default ui-priority-secondary =
ui-corner-all" onclick=3D"DP_jQuery_' + dpuuid +=0A=
			'.datepicker._gotoToday(\'#' + inst.id + '\');"' +=0A=
			'>' + currentText + '</button>' : '') + (isRTL ? '' : controls) + =
'</div>' : '';=0A=
		var firstDay =3D parseInt(this._get(inst, 'firstDay'),10);=0A=
		firstDay =3D (isNaN(firstDay) ? 0 : firstDay);=0A=
		var showWeek =3D this._get(inst, 'showWeek');=0A=
		var dayNames =3D this._get(inst, 'dayNames');=0A=
		var dayNamesShort =3D this._get(inst, 'dayNamesShort');=0A=
		var dayNamesMin =3D this._get(inst, 'dayNamesMin');=0A=
		var monthNames =3D this._get(inst, 'monthNames');=0A=
		var monthNamesShort =3D this._get(inst, 'monthNamesShort');=0A=
		var beforeShowDay =3D this._get(inst, 'beforeShowDay');=0A=
		var showOtherMonths =3D this._get(inst, 'showOtherMonths');=0A=
		var selectOtherMonths =3D this._get(inst, 'selectOtherMonths');=0A=
		var calculateWeek =3D this._get(inst, 'calculateWeek') || =
this.iso8601Week;=0A=
		var defaultDate =3D this._getDefaultDate(inst);=0A=
		var html =3D '';=0A=
		for (var row =3D 0; row < numMonths[0]; row++) {=0A=
			var group =3D '';=0A=
			for (var col =3D 0; col < numMonths[1]; col++) {=0A=
				var selectedDate =3D this._daylightSavingAdjust(new Date(drawYear, =
drawMonth, inst.selectedDay));=0A=
				var cornerClass =3D ' ui-corner-all';=0A=
				var calender =3D '';=0A=
				if (isMultiMonth) {=0A=
					calender +=3D '<div class=3D"ui-datepicker-group';=0A=
					if (numMonths[1] > 1)=0A=
						switch (col) {=0A=
							case 0: calender +=3D ' ui-datepicker-group-first';=0A=
								cornerClass =3D ' ui-corner-' + (isRTL ? 'right' : 'left'); =
break;=0A=
							case numMonths[1]-1: calender +=3D ' ui-datepicker-group-last';=0A=
								cornerClass =3D ' ui-corner-' + (isRTL ? 'left' : 'right'); =
break;=0A=
							default: calender +=3D ' ui-datepicker-group-middle'; cornerClass =
=3D ''; break;=0A=
						}=0A=
					calender +=3D '">';=0A=
				}=0A=
				calender +=3D '<div class=3D"ui-datepicker-header ui-widget-header =
ui-helper-clearfix' + cornerClass + '">' +=0A=
					(/all|left/.test(cornerClass) && row =3D=3D 0 ? (isRTL ? next : =
prev) : '') +=0A=
					(/all|right/.test(cornerClass) && row =3D=3D 0 ? (isRTL ? prev : =
next) : '') +=0A=
					this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, =
maxDate,=0A=
					row > 0 || col > 0, monthNames, monthNamesShort) + // draw month =
headers=0A=
					'</div><table class=3D"ui-datepicker-calendar"><thead>' +=0A=
					'<tr>';=0A=
				var thead =3D (showWeek ? '<th class=3D"ui-datepicker-week-col">' + =
this._get(inst, 'weekHeader') + '</th>' : '');=0A=
				for (var dow =3D 0; dow < 7; dow++) { // days of the week=0A=
					var day =3D (dow + firstDay) % 7;=0A=
					thead +=3D '<th' + ((dow + firstDay + 6) % 7 >=3D 5 ? ' =
class=3D"ui-datepicker-week-end"' : '') + '>' +=0A=
						'<span title=3D"' + dayNames[day] + '">' + dayNamesMin[day] + =
'</span></th>';=0A=
				}=0A=
				calender +=3D thead + '</tr></thead><tbody>';=0A=
				var daysInMonth =3D this._getDaysInMonth(drawYear, drawMonth);=0A=
				if (drawYear =3D=3D inst.selectedYear && drawMonth =3D=3D =
inst.selectedMonth)=0A=
					inst.selectedDay =3D Math.min(inst.selectedDay, daysInMonth);=0A=
				var leadDays =3D (this._getFirstDayOfMonth(drawYear, drawMonth) - =
firstDay + 7) % 7;=0A=
				var numRows =3D (isMultiMonth ? 6 : Math.ceil((leadDays + =
daysInMonth) / 7)); // calculate the number of rows to generate=0A=
				var printDate =3D this._daylightSavingAdjust(new Date(drawYear, =
drawMonth, 1 - leadDays));=0A=
				for (var dRow =3D 0; dRow < numRows; dRow++) { // create date picker =
rows=0A=
					calender +=3D '<tr>';=0A=
					var tbody =3D (!showWeek ? '' : '<td =
class=3D"ui-datepicker-week-col">' +=0A=
						this._get(inst, 'calculateWeek')(printDate) + '</td>');=0A=
					for (var dow =3D 0; dow < 7; dow++) { // create date picker days=0A=
						var daySettings =3D (beforeShowDay ?=0A=
							beforeShowDay.apply((inst.input ? inst.input[0] : null), =
[printDate]) : [true, '']);=0A=
						var otherMonth =3D (printDate.getMonth() !=3D drawMonth);=0A=
						var unselectable =3D (otherMonth && !selectOtherMonths) || =
!daySettings[0] ||=0A=
							(minDate && printDate < minDate) || (maxDate && printDate > =
maxDate);=0A=
						tbody +=3D '<td class=3D"' +=0A=
							((dow + firstDay + 6) % 7 >=3D 5 ? ' ui-datepicker-week-end' : =
'') + // highlight weekends=0A=
							(otherMonth ? ' ui-datepicker-other-month' : '') + // highlight =
days from other months=0A=
							((printDate.getTime() =3D=3D selectedDate.getTime() && drawMonth =
=3D=3D inst.selectedMonth && inst._keyEvent) || // user pressed key=0A=
							(defaultDate.getTime() =3D=3D printDate.getTime() && =
defaultDate.getTime() =3D=3D selectedDate.getTime()) ?=0A=
							// or defaultDate is current printedDate and defaultDate is =
selectedDate=0A=
							' ' + this._dayOverClass : '') + // highlight selected day=0A=
							(unselectable ? ' ' + this._unselectableClass + ' =
ui-state-disabled': '') +  // highlight unselectable days=0A=
							(otherMonth && !showOtherMonths ? '' : ' ' + daySettings[1] + // =
highlight custom dates=0A=
							(printDate.getTime() =3D=3D currentDate.getTime() ? ' ' + =
this._currentClass : '') + // highlight selected day=0A=
							(printDate.getTime() =3D=3D today.getTime() ? ' =
ui-datepicker-today' : '')) + '"' + // highlight today (if different)=0A=
							((!otherMonth || showOtherMonths) && daySettings[2] ? ' =
title=3D"' + daySettings[2] + '"' : '') + // cell title=0A=
							(unselectable ? '' : ' onclick=3D"DP_jQuery_' + dpuuid + =
'.datepicker._selectDay(\'#' +=0A=
							inst.id + '\',' + printDate.getMonth() + ',' + =
printDate.getFullYear() + ', this);return false;"') + '>' + // actions=0A=
							(otherMonth && !showOtherMonths ? '&#xa0;' : // display for other =
months=0A=
							(unselectable ? '<span class=3D"ui-state-default">' + =
printDate.getDate() + '</span>' : '<a class=3D"ui-state-default' +=0A=
							(printDate.getTime() =3D=3D today.getTime() ? ' =
ui-state-highlight' : '') +=0A=
							(printDate.getTime() =3D=3D currentDate.getTime() ? ' =
ui-state-active' : '') + // highlight selected day=0A=
							(otherMonth ? ' ui-priority-secondary' : '') + // distinguish =
dates from other months=0A=
							'" href=3D"#">' + printDate.getDate() + '</a>')) + '</td>'; // =
display selectable date=0A=
						printDate.setDate(printDate.getDate() + 1);=0A=
						printDate =3D this._daylightSavingAdjust(printDate);=0A=
					}=0A=
					calender +=3D tbody + '</tr>';=0A=
				}=0A=
				drawMonth++;=0A=
				if (drawMonth > 11) {=0A=
					drawMonth =3D 0;=0A=
					drawYear++;=0A=
				}=0A=
				calender +=3D '</tbody></table>' + (isMultiMonth ? '</div>' + =0A=
							((numMonths[0] > 0 && col =3D=3D numMonths[1]-1) ? '<div =
class=3D"ui-datepicker-row-break"></div>' : '') : '');=0A=
				group +=3D calender;=0A=
			}=0A=
			html +=3D group;=0A=
		}=0A=
		html +=3D buttonPanel + ($.browser.msie && =
parseInt($.browser.version,10) < 7 && !inst.inline ?=0A=
			'<iframe src=3D"javascript:false;" class=3D"ui-datepicker-cover" =
frameborder=3D"0"></iframe>' : '');=0A=
		inst._keyEvent =3D false;=0A=
		return html;=0A=
	},=0A=
=0A=
	/* Generate the month and year header. */=0A=
	_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, =
maxDate,=0A=
			secondary, monthNames, monthNamesShort) {=0A=
		var changeMonth =3D this._get(inst, 'changeMonth');=0A=
		var changeYear =3D this._get(inst, 'changeYear');=0A=
		var showMonthAfterYear =3D this._get(inst, 'showMonthAfterYear');=0A=
		var html =3D '<div class=3D"ui-datepicker-title">';=0A=
		var monthHtml =3D '';=0A=
		// month selection=0A=
		if (secondary || !changeMonth)=0A=
			monthHtml +=3D '<span class=3D"ui-datepicker-month">' + =
monthNames[drawMonth] + '</span>';=0A=
		else {=0A=
			var inMinYear =3D (minDate && minDate.getFullYear() =3D=3D drawYear);=0A=
			var inMaxYear =3D (maxDate && maxDate.getFullYear() =3D=3D drawYear);=0A=
			monthHtml +=3D '<select class=3D"ui-datepicker-month" ' +=0A=
				'onchange=3D"DP_jQuery_' + dpuuid + =
'.datepicker._selectMonthYear(\'#' + inst.id + '\', this, \'M\');" ' +=0A=
				'onclick=3D"DP_jQuery_' + dpuuid + '.datepicker._clickMonthYear(\'#' =
+ inst.id + '\');"' +=0A=
			 	'>';=0A=
			for (var month =3D 0; month < 12; month++) {=0A=
				if ((!inMinYear || month >=3D minDate.getMonth()) &&=0A=
						(!inMaxYear || month <=3D maxDate.getMonth()))=0A=
					monthHtml +=3D '<option value=3D"' + month + '"' +=0A=
						(month =3D=3D drawMonth ? ' selected=3D"selected"' : '') +=0A=
						'>' + monthNamesShort[month] + '</option>';=0A=
			}=0A=
			monthHtml +=3D '</select>';=0A=
		}=0A=
		if (!showMonthAfterYear)=0A=
			html +=3D monthHtml + (secondary || !(changeMonth && changeYear) ? =
'&#xa0;' : '');=0A=
		// year selection=0A=
		inst.yearshtml =3D '';=0A=
		if (secondary || !changeYear)=0A=
			html +=3D '<span class=3D"ui-datepicker-year">' + drawYear + =
'</span>';=0A=
		else {=0A=
			// determine range of years to display=0A=
			var years =3D this._get(inst, 'yearRange').split(':');=0A=
			var thisYear =3D new Date().getFullYear();=0A=
			var determineYear =3D function(value) {=0A=
				var year =3D (value.match(/c[+-].*/) ? drawYear + =
parseInt(value.substring(1), 10) :=0A=
					(value.match(/[+-].*/) ? thisYear + parseInt(value, 10) :=0A=
					parseInt(value, 10)));=0A=
				return (isNaN(year) ? thisYear : year);=0A=
			};=0A=
			var year =3D determineYear(years[0]);=0A=
			var endYear =3D Math.max(year, determineYear(years[1] || ''));=0A=
			year =3D (minDate ? Math.max(year, minDate.getFullYear()) : year);=0A=
			endYear =3D (maxDate ? Math.min(endYear, maxDate.getFullYear()) : =
endYear);=0A=
			inst.yearshtml +=3D '<select class=3D"ui-datepicker-year" ' +=0A=
				'onchange=3D"DP_jQuery_' + dpuuid + =
'.datepicker._selectMonthYear(\'#' + inst.id + '\', this, \'Y\');" ' +=0A=
				'onclick=3D"DP_jQuery_' + dpuuid + '.datepicker._clickMonthYear(\'#' =
+ inst.id + '\');"' +=0A=
				'>';=0A=
			for (; year <=3D endYear; year++) {=0A=
				inst.yearshtml +=3D '<option value=3D"' + year + '"' +=0A=
					(year =3D=3D drawYear ? ' selected=3D"selected"' : '') +=0A=
					'>' + year + '</option>';=0A=
			}=0A=
			inst.yearshtml +=3D '</select>';=0A=
			//when showing there is no need for later update=0A=
			if( ! $.browser.mozilla ){=0A=
				html +=3D inst.yearshtml;=0A=
				inst.yearshtml =3D null;=0A=
			} else {=0A=
				// will be replaced later with inst.yearshtml=0A=
				html +=3D '<select class=3D"ui-datepicker-year"><option value=3D"' + =
drawYear + '" selected=3D"selected">' + drawYear + '</option></select>';=0A=
			}=0A=
		}=0A=
		html +=3D this._get(inst, 'yearSuffix');=0A=
		if (showMonthAfterYear)=0A=
			html +=3D (secondary || !(changeMonth && changeYear) ? '&#xa0;' : '') =
+ monthHtml;=0A=
		html +=3D '</div>'; // Close datepicker_header=0A=
		return html;=0A=
	},=0A=
=0A=
	/* Adjust one of the date sub-fields. */=0A=
	_adjustInstDate: function(inst, offset, period) {=0A=
		var year =3D inst.drawYear + (period =3D=3D 'Y' ? offset : 0);=0A=
		var month =3D inst.drawMonth + (period =3D=3D 'M' ? offset : 0);=0A=
		var day =3D Math.min(inst.selectedDay, this._getDaysInMonth(year, =
month)) +=0A=
			(period =3D=3D 'D' ? offset : 0);=0A=
		var date =3D this._restrictMinMax(inst,=0A=
			this._daylightSavingAdjust(new Date(year, month, day)));=0A=
		inst.selectedDay =3D date.getDate();=0A=
		inst.drawMonth =3D inst.selectedMonth =3D date.getMonth();=0A=
		inst.drawYear =3D inst.selectedYear =3D date.getFullYear();=0A=
		if (period =3D=3D 'M' || period =3D=3D 'Y')=0A=
			this._notifyChange(inst);=0A=
	},=0A=
=0A=
	/* Ensure a date is within any min/max bounds. */=0A=
	_restrictMinMax: function(inst, date) {=0A=
		var minDate =3D this._getMinMaxDate(inst, 'min');=0A=
		var maxDate =3D this._getMinMaxDate(inst, 'max');=0A=
		var newDate =3D (minDate && date < minDate ? minDate : date);=0A=
		newDate =3D (maxDate && newDate > maxDate ? maxDate : newDate);=0A=
		return newDate;=0A=
	},=0A=
=0A=
	/* Notify change of month/year. */=0A=
	_notifyChange: function(inst) {=0A=
		var onChange =3D this._get(inst, 'onChangeMonthYear');=0A=
		if (onChange)=0A=
			onChange.apply((inst.input ? inst.input[0] : null),=0A=
				[inst.selectedYear, inst.selectedMonth + 1, inst]);=0A=
	},=0A=
=0A=
	/* Determine the number of months to show. */=0A=
	_getNumberOfMonths: function(inst) {=0A=
		var numMonths =3D this._get(inst, 'numberOfMonths');=0A=
		return (numMonths =3D=3D null ? [1, 1] : (typeof numMonths =3D=3D =
'number' ? [1, numMonths] : numMonths));=0A=
	},=0A=
=0A=
	/* Determine the current maximum date - ensure no time components are =
set. */=0A=
	_getMinMaxDate: function(inst, minMax) {=0A=
		return this._determineDate(inst, this._get(inst, minMax + 'Date'), =
null);=0A=
	},=0A=
=0A=
	/* Find the number of days in a given month. */=0A=
	_getDaysInMonth: function(year, month) {=0A=
		return 32 - this._daylightSavingAdjust(new Date(year, month, =
32)).getDate();=0A=
	},=0A=
=0A=
	/* Find the day of the week of the first of a month. */=0A=
	_getFirstDayOfMonth: function(year, month) {=0A=
		return new Date(year, month, 1).getDay();=0A=
	},=0A=
=0A=
	/* Determines if we should allow a "next/prev" month display change. */=0A=
	_canAdjustMonth: function(inst, offset, curYear, curMonth) {=0A=
		var numMonths =3D this._getNumberOfMonths(inst);=0A=
		var date =3D this._daylightSavingAdjust(new Date(curYear,=0A=
			curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));=0A=
		if (offset < 0)=0A=
			date.setDate(this._getDaysInMonth(date.getFullYear(), =
date.getMonth()));=0A=
		return this._isInRange(inst, date);=0A=
	},=0A=
=0A=
	/* Is the given date in the accepted range? */=0A=
	_isInRange: function(inst, date) {=0A=
		var minDate =3D this._getMinMaxDate(inst, 'min');=0A=
		var maxDate =3D this._getMinMaxDate(inst, 'max');=0A=
		return ((!minDate || date.getTime() >=3D minDate.getTime()) &&=0A=
			(!maxDate || date.getTime() <=3D maxDate.getTime()));=0A=
	},=0A=
=0A=
	/* Provide the configuration settings for formatting/parsing. */=0A=
	_getFormatConfig: function(inst) {=0A=
		var shortYearCutoff =3D this._get(inst, 'shortYearCutoff');=0A=
		shortYearCutoff =3D (typeof shortYearCutoff !=3D 'string' ? =
shortYearCutoff :=0A=
			new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));=0A=
		return {shortYearCutoff: shortYearCutoff,=0A=
			dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: =
this._get(inst, 'dayNames'),=0A=
			monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: =
this._get(inst, 'monthNames')};=0A=
	},=0A=
=0A=
	/* Format the given date for display. */=0A=
	_formatDate: function(inst, day, month, year) {=0A=
		if (!day) {=0A=
			inst.currentDay =3D inst.selectedDay;=0A=
			inst.currentMonth =3D inst.selectedMonth;=0A=
			inst.currentYear =3D inst.selectedYear;=0A=
		}=0A=
		var date =3D (day ? (typeof day =3D=3D 'object' ? day :=0A=
			this._daylightSavingAdjust(new Date(year, month, day))) :=0A=
			this._daylightSavingAdjust(new Date(inst.currentYear, =
inst.currentMonth, inst.currentDay)));=0A=
		return this.formatDate(this._get(inst, 'dateFormat'), date, =
this._getFormatConfig(inst));=0A=
	}=0A=
});=0A=
=0A=
/* jQuery extend now ignores nulls! */=0A=
function extendRemove(target, props) {=0A=
	$.extend(target, props);=0A=
	for (var name in props)=0A=
		if (props[name] =3D=3D null || props[name] =3D=3D undefined)=0A=
			target[name] =3D props[name];=0A=
	return target;=0A=
};=0A=
=0A=
/* Determine whether an object is an array. */=0A=
function isArray(a) {=0A=
	return (a && (($.browser.safari && typeof a =3D=3D 'object' && =
a.length) ||=0A=
		(a.constructor && a.constructor.toString().match(/\Array\(\)/))));=0A=
};=0A=
=0A=
/* Invoke the datepicker functionality.=0A=
   @param  options  string - a command, optionally followed by =
additional parameters or=0A=
                    Object - settings for attaching new datepicker =
functionality=0A=
   @return  jQuery object */=0A=
$.fn.datepicker =3D function(options){=0A=
	=0A=
	/* Verify an empty collection wasn't passed - Fixes #6976 */=0A=
	if ( !this.length ) {=0A=
		return this;=0A=
	}=0A=
	=0A=
	/* Initialise the date picker. */=0A=
	if (!$.datepicker.initialized) {=0A=
		$(document).mousedown($.datepicker._checkExternalClick).=0A=
			find('body').append($.datepicker.dpDiv);=0A=
		$.datepicker.initialized =3D true;=0A=
	}=0A=
=0A=
	var otherArgs =3D Array.prototype.slice.call(arguments, 1);=0A=
	if (typeof options =3D=3D 'string' && (options =3D=3D 'isDisabled' || =
options =3D=3D 'getDate' || options =3D=3D 'widget'))=0A=
		return $.datepicker['_' + options + 'Datepicker'].=0A=
			apply($.datepicker, [this[0]].concat(otherArgs));=0A=
	if (options =3D=3D 'option' && arguments.length =3D=3D 2 && typeof =
arguments[1] =3D=3D 'string')=0A=
		return $.datepicker['_' + options + 'Datepicker'].=0A=
			apply($.datepicker, [this[0]].concat(otherArgs));=0A=
	return this.each(function() {=0A=
		typeof options =3D=3D 'string' ?=0A=
			$.datepicker['_' + options + 'Datepicker'].=0A=
				apply($.datepicker, [this].concat(otherArgs)) :=0A=
			$.datepicker._attachDatepicker(this, options);=0A=
	});=0A=
};=0A=
=0A=
$.datepicker =3D new Datepicker(); // singleton instance=0A=
$.datepicker.initialized =3D false;=0A=
$.datepicker.uuid =3D new Date().getTime();=0A=
$.datepicker.version =3D "1.8.10";=0A=
=0A=
// Workaround for #4055=0A=
// Add another global to avoid noConflict issues with inline event =
handlers=0A=
window['DP_jQuery_' + dpuuid] =3D $;=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Dialog 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Dialog=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 *  jquery.ui.button.js=0A=
 *	jquery.ui.draggable.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.position.js=0A=
 *	jquery.ui.resizable.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
var uiDialogClasses =3D=0A=
		'ui-dialog ' +=0A=
		'ui-widget ' +=0A=
		'ui-widget-content ' +=0A=
		'ui-corner-all ',=0A=
	sizeRelatedOptions =3D {=0A=
		buttons: true,=0A=
		height: true,=0A=
		maxHeight: true,=0A=
		maxWidth: true,=0A=
		minHeight: true,=0A=
		minWidth: true,=0A=
		width: true=0A=
	},=0A=
	resizableRelatedOptions =3D {=0A=
		maxHeight: true,=0A=
		maxWidth: true,=0A=
		minHeight: true,=0A=
		minWidth: true=0A=
	};=0A=
=0A=
$.widget("ui.dialog", {=0A=
	options: {=0A=
		autoOpen: true,=0A=
		buttons: {},=0A=
		closeOnEscape: true,=0A=
		closeText: 'close',=0A=
		dialogClass: '',=0A=
		draggable: true,=0A=
		hide: null,=0A=
		height: 'auto',=0A=
		maxHeight: false,=0A=
		maxWidth: false,=0A=
		minHeight: 150,=0A=
		minWidth: 150,=0A=
		modal: false,=0A=
		position: {=0A=
			my: 'center',=0A=
			at: 'center',=0A=
			collision: 'fit',=0A=
			// ensure that the titlebar is never outside the document=0A=
			using: function(pos) {=0A=
				var topOffset =3D $(this).css(pos).offset().top;=0A=
				if (topOffset < 0) {=0A=
					$(this).css('top', pos.top - topOffset);=0A=
				}=0A=
			}=0A=
		},=0A=
		resizable: true,=0A=
		show: null,=0A=
		stack: true,=0A=
		title: '',=0A=
		width: 300,=0A=
		zIndex: 1000=0A=
	},=0A=
=0A=
	_create: function() {=0A=
		this.originalTitle =3D this.element.attr('title');=0A=
		// #5742 - .attr() might return a DOMElement=0A=
		if ( typeof this.originalTitle !=3D=3D "string" ) {=0A=
			this.originalTitle =3D "";=0A=
		}=0A=
=0A=
		this.options.title =3D this.options.title || this.originalTitle;=0A=
		var self =3D this,=0A=
			options =3D self.options,=0A=
=0A=
			title =3D options.title || '&#160;',=0A=
			titleId =3D $.ui.dialog.getTitleId(self.element),=0A=
=0A=
			uiDialog =3D (self.uiDialog =3D $('<div></div>'))=0A=
				.appendTo(document.body)=0A=
				.hide()=0A=
				.addClass(uiDialogClasses + options.dialogClass)=0A=
				.css({=0A=
					zIndex: options.zIndex=0A=
				})=0A=
				// setting tabIndex makes the div focusable=0A=
				// setting outline to 0 prevents a border on focus in Mozilla=0A=
				.attr('tabIndex', -1).css('outline', 0).keydown(function(event) {=0A=
					if (options.closeOnEscape && event.keyCode &&=0A=
						event.keyCode =3D=3D=3D $.ui.keyCode.ESCAPE) {=0A=
						=0A=
						self.close(event);=0A=
						event.preventDefault();=0A=
					}=0A=
				})=0A=
				.attr({=0A=
					role: 'dialog',=0A=
					'aria-labelledby': titleId=0A=
				})=0A=
				.mousedown(function(event) {=0A=
					self.moveToTop(false, event);=0A=
				}),=0A=
=0A=
			uiDialogContent =3D self.element=0A=
				.show()=0A=
				.removeAttr('title')=0A=
				.addClass(=0A=
					'ui-dialog-content ' +=0A=
					'ui-widget-content')=0A=
				.appendTo(uiDialog),=0A=
=0A=
			uiDialogTitlebar =3D (self.uiDialogTitlebar =3D $('<div></div>'))=0A=
				.addClass(=0A=
					'ui-dialog-titlebar ' +=0A=
					'ui-widget-header ' +=0A=
					'ui-corner-all ' +=0A=
					'ui-helper-clearfix'=0A=
				)=0A=
				.prependTo(uiDialog),=0A=
=0A=
			uiDialogTitlebarClose =3D $('<a href=3D"#"></a>')=0A=
				.addClass(=0A=
					'ui-dialog-titlebar-close ' +=0A=
					'ui-corner-all'=0A=
				)=0A=
				.attr('role', 'button')=0A=
				.hover(=0A=
					function() {=0A=
						uiDialogTitlebarClose.addClass('ui-state-hover');=0A=
					},=0A=
					function() {=0A=
						uiDialogTitlebarClose.removeClass('ui-state-hover');=0A=
					}=0A=
				)=0A=
				.focus(function() {=0A=
					uiDialogTitlebarClose.addClass('ui-state-focus');=0A=
				})=0A=
				.blur(function() {=0A=
					uiDialogTitlebarClose.removeClass('ui-state-focus');=0A=
				})=0A=
				.click(function(event) {=0A=
					self.close(event);=0A=
					return false;=0A=
				})=0A=
				.appendTo(uiDialogTitlebar),=0A=
=0A=
			uiDialogTitlebarCloseText =3D (self.uiDialogTitlebarCloseText =3D =
$('<span></span>'))=0A=
				.addClass(=0A=
					'ui-icon ' +=0A=
					'ui-icon-closethick'=0A=
				)=0A=
				.text(options.closeText)=0A=
				.appendTo(uiDialogTitlebarClose),=0A=
=0A=
			uiDialogTitle =3D $('<span></span>')=0A=
				.addClass('ui-dialog-title')=0A=
				.attr('id', titleId)=0A=
				.html(title)=0A=
				.prependTo(uiDialogTitlebar);=0A=
=0A=
		//handling of deprecated beforeclose (vs beforeClose) option=0A=
		//Ticket #4669 http://dev.jqueryui.com/ticket/4669=0A=
		//TODO: remove in 1.9pre=0A=
		if ($.isFunction(options.beforeclose) && =
!$.isFunction(options.beforeClose)) {=0A=
			options.beforeClose =3D options.beforeclose;=0A=
		}=0A=
=0A=
		uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection();=0A=
=0A=
		if (options.draggable && $.fn.draggable) {=0A=
			self._makeDraggable();=0A=
		}=0A=
		if (options.resizable && $.fn.resizable) {=0A=
			self._makeResizable();=0A=
		}=0A=
=0A=
		self._createButtons(options.buttons);=0A=
		self._isOpen =3D false;=0A=
=0A=
		if ($.fn.bgiframe) {=0A=
			uiDialog.bgiframe();=0A=
		}=0A=
	},=0A=
=0A=
	_init: function() {=0A=
		if ( this.options.autoOpen ) {=0A=
			this.open();=0A=
		}=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		var self =3D this;=0A=
		=0A=
		if (self.overlay) {=0A=
			self.overlay.destroy();=0A=
		}=0A=
		self.uiDialog.hide();=0A=
		self.element=0A=
			.unbind('.dialog')=0A=
			.removeData('dialog')=0A=
			.removeClass('ui-dialog-content ui-widget-content')=0A=
			.hide().appendTo('body');=0A=
		self.uiDialog.remove();=0A=
=0A=
		if (self.originalTitle) {=0A=
			self.element.attr('title', self.originalTitle);=0A=
		}=0A=
=0A=
		return self;=0A=
	},=0A=
=0A=
	widget: function() {=0A=
		return this.uiDialog;=0A=
	},=0A=
=0A=
	close: function(event) {=0A=
		var self =3D this,=0A=
			maxZ, thisZ;=0A=
		=0A=
		if (false =3D=3D=3D self._trigger('beforeClose', event)) {=0A=
			return;=0A=
		}=0A=
=0A=
		if (self.overlay) {=0A=
			self.overlay.destroy();=0A=
		}=0A=
		self.uiDialog.unbind('keypress.ui-dialog');=0A=
=0A=
		self._isOpen =3D false;=0A=
=0A=
		if (self.options.hide) {=0A=
			self.uiDialog.hide(self.options.hide, function() {=0A=
				self._trigger('close', event);=0A=
			});=0A=
		} else {=0A=
			self.uiDialog.hide();=0A=
			self._trigger('close', event);=0A=
		}=0A=
=0A=
		$.ui.dialog.overlay.resize();=0A=
=0A=
		// adjust the maxZ to allow other modal dialogs to continue to work =
(see #4309)=0A=
		if (self.options.modal) {=0A=
			maxZ =3D 0;=0A=
			$('.ui-dialog').each(function() {=0A=
				if (this !=3D=3D self.uiDialog[0]) {=0A=
					thisZ =3D $(this).css('z-index');=0A=
					if(!isNaN(thisZ)) {=0A=
						maxZ =3D Math.max(maxZ, thisZ);=0A=
					}=0A=
				}=0A=
			});=0A=
			$.ui.dialog.maxZ =3D maxZ;=0A=
		}=0A=
=0A=
		return self;=0A=
	},=0A=
=0A=
	isOpen: function() {=0A=
		return this._isOpen;=0A=
	},=0A=
=0A=
	// the force parameter allows us to move modal dialogs to their correct=0A=
	// position on open=0A=
	moveToTop: function(force, event) {=0A=
		var self =3D this,=0A=
			options =3D self.options,=0A=
			saveScroll;=0A=
=0A=
		if ((options.modal && !force) ||=0A=
			(!options.stack && !options.modal)) {=0A=
			return self._trigger('focus', event);=0A=
		}=0A=
=0A=
		if (options.zIndex > $.ui.dialog.maxZ) {=0A=
			$.ui.dialog.maxZ =3D options.zIndex;=0A=
		}=0A=
		if (self.overlay) {=0A=
			$.ui.dialog.maxZ +=3D 1;=0A=
			self.overlay.$el.css('z-index', $.ui.dialog.overlay.maxZ =3D =
$.ui.dialog.maxZ);=0A=
		}=0A=
=0A=
		//Save and then restore scroll since Opera 9.5+ resets when parent =
z-Index is changed.=0A=
		//  http://ui.jquery.com/bugs/ticket/3193=0A=
		saveScroll =3D { scrollTop: self.element.attr('scrollTop'), =
scrollLeft: self.element.attr('scrollLeft') };=0A=
		$.ui.dialog.maxZ +=3D 1;=0A=
		self.uiDialog.css('z-index', $.ui.dialog.maxZ);=0A=
		self.element.attr(saveScroll);=0A=
		self._trigger('focus', event);=0A=
=0A=
		return self;=0A=
	},=0A=
=0A=
	open: function() {=0A=
		if (this._isOpen) { return; }=0A=
=0A=
		var self =3D this,=0A=
			options =3D self.options,=0A=
			uiDialog =3D self.uiDialog;=0A=
=0A=
		self.overlay =3D options.modal ? new $.ui.dialog.overlay(self) : null;=0A=
		self._size();=0A=
		self._position(options.position);=0A=
		uiDialog.show(options.show);=0A=
		self.moveToTop(true);=0A=
=0A=
		// prevent tabbing out of modal dialogs=0A=
		if (options.modal) {=0A=
			uiDialog.bind('keypress.ui-dialog', function(event) {=0A=
				if (event.keyCode !=3D=3D $.ui.keyCode.TAB) {=0A=
					return;=0A=
				}=0A=
=0A=
				var tabbables =3D $(':tabbable', this),=0A=
					first =3D tabbables.filter(':first'),=0A=
					last  =3D tabbables.filter(':last');=0A=
=0A=
				if (event.target =3D=3D=3D last[0] && !event.shiftKey) {=0A=
					first.focus(1);=0A=
					return false;=0A=
				} else if (event.target =3D=3D=3D first[0] && event.shiftKey) {=0A=
					last.focus(1);=0A=
					return false;=0A=
				}=0A=
			});=0A=
		}=0A=
=0A=
		// set focus to the first tabbable element in the content area or the =
first button=0A=
		// if there are no tabbable elements, set focus on the dialog itself=0A=
		$(self.element.find(':tabbable').get().concat(=0A=
			uiDialog.find('.ui-dialog-buttonpane :tabbable').get().concat(=0A=
				uiDialog.get()))).eq(0).focus();=0A=
=0A=
		self._isOpen =3D true;=0A=
		self._trigger('open');=0A=
=0A=
		return self;=0A=
	},=0A=
=0A=
	_createButtons: function(buttons) {=0A=
		var self =3D this,=0A=
			hasButtons =3D false,=0A=
			uiDialogButtonPane =3D $('<div></div>')=0A=
				.addClass(=0A=
					'ui-dialog-buttonpane ' +=0A=
					'ui-widget-content ' +=0A=
					'ui-helper-clearfix'=0A=
				),=0A=
			uiButtonSet =3D $( "<div></div>" )=0A=
				.addClass( "ui-dialog-buttonset" )=0A=
				.appendTo( uiDialogButtonPane );=0A=
=0A=
		// if we already have a button pane, remove it=0A=
		self.uiDialog.find('.ui-dialog-buttonpane').remove();=0A=
=0A=
		if (typeof buttons =3D=3D=3D 'object' && buttons !=3D=3D null) {=0A=
			$.each(buttons, function() {=0A=
				return !(hasButtons =3D true);=0A=
			});=0A=
		}=0A=
		if (hasButtons) {=0A=
			$.each(buttons, function(name, props) {=0A=
				props =3D $.isFunction( props ) ?=0A=
					{ click: props, text: name } :=0A=
					props;=0A=
				var button =3D $('<button type=3D"button"></button>')=0A=
					.attr( props, true )=0A=
					.unbind('click')=0A=
					.click(function() {=0A=
						props.click.apply(self.element[0], arguments);=0A=
					})=0A=
					.appendTo(uiButtonSet);=0A=
				if ($.fn.button) {=0A=
					button.button();=0A=
				}=0A=
			});=0A=
			uiDialogButtonPane.appendTo(self.uiDialog);=0A=
		}=0A=
	},=0A=
=0A=
	_makeDraggable: function() {=0A=
		var self =3D this,=0A=
			options =3D self.options,=0A=
			doc =3D $(document),=0A=
			heightBeforeDrag;=0A=
=0A=
		function filteredUi(ui) {=0A=
			return {=0A=
				position: ui.position,=0A=
				offset: ui.offset=0A=
			};=0A=
		}=0A=
=0A=
		self.uiDialog.draggable({=0A=
			cancel: '.ui-dialog-content, .ui-dialog-titlebar-close',=0A=
			handle: '.ui-dialog-titlebar',=0A=
			containment: 'document',=0A=
			start: function(event, ui) {=0A=
				heightBeforeDrag =3D options.height =3D=3D=3D "auto" ? "auto" : =
$(this).height();=0A=
				$(this).height($(this).height()).addClass("ui-dialog-dragging");=0A=
				self._trigger('dragStart', event, filteredUi(ui));=0A=
			},=0A=
			drag: function(event, ui) {=0A=
				self._trigger('drag', event, filteredUi(ui));=0A=
			},=0A=
			stop: function(event, ui) {=0A=
				options.position =3D [ui.position.left - doc.scrollLeft(),=0A=
					ui.position.top - doc.scrollTop()];=0A=
				$(this).removeClass("ui-dialog-dragging").height(heightBeforeDrag);=0A=
				self._trigger('dragStop', event, filteredUi(ui));=0A=
				$.ui.dialog.overlay.resize();=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	_makeResizable: function(handles) {=0A=
		handles =3D (handles =3D=3D=3D undefined ? this.options.resizable : =
handles);=0A=
		var self =3D this,=0A=
			options =3D self.options,=0A=
			// .ui-resizable has position: relative defined in the stylesheet=0A=
			// but dialogs have to use absolute or fixed positioning=0A=
			position =3D self.uiDialog.css('position'),=0A=
			resizeHandles =3D (typeof handles =3D=3D=3D 'string' ?=0A=
				handles	:=0A=
				'n,e,s,w,se,sw,ne,nw'=0A=
			);=0A=
=0A=
		function filteredUi(ui) {=0A=
			return {=0A=
				originalPosition: ui.originalPosition,=0A=
				originalSize: ui.originalSize,=0A=
				position: ui.position,=0A=
				size: ui.size=0A=
			};=0A=
		}=0A=
=0A=
		self.uiDialog.resizable({=0A=
			cancel: '.ui-dialog-content',=0A=
			containment: 'document',=0A=
			alsoResize: self.element,=0A=
			maxWidth: options.maxWidth,=0A=
			maxHeight: options.maxHeight,=0A=
			minWidth: options.minWidth,=0A=
			minHeight: self._minHeight(),=0A=
			handles: resizeHandles,=0A=
			start: function(event, ui) {=0A=
				$(this).addClass("ui-dialog-resizing");=0A=
				self._trigger('resizeStart', event, filteredUi(ui));=0A=
			},=0A=
			resize: function(event, ui) {=0A=
				self._trigger('resize', event, filteredUi(ui));=0A=
			},=0A=
			stop: function(event, ui) {=0A=
				$(this).removeClass("ui-dialog-resizing");=0A=
				options.height =3D $(this).height();=0A=
				options.width =3D $(this).width();=0A=
				self._trigger('resizeStop', event, filteredUi(ui));=0A=
				$.ui.dialog.overlay.resize();=0A=
			}=0A=
		})=0A=
		.css('position', position)=0A=
		.find('.ui-resizable-se').addClass('ui-icon ui-icon-grip-diagonal-se');=0A=
	},=0A=
=0A=
	_minHeight: function() {=0A=
		var options =3D this.options;=0A=
=0A=
		if (options.height =3D=3D=3D 'auto') {=0A=
			return options.minHeight;=0A=
		} else {=0A=
			return Math.min(options.minHeight, options.height);=0A=
		}=0A=
	},=0A=
=0A=
	_position: function(position) {=0A=
		var myAt =3D [],=0A=
			offset =3D [0, 0],=0A=
			isVisible;=0A=
=0A=
		if (position) {=0A=
			// deep extending converts arrays to objects in jQuery <=3D 1.3.2 :-(=0A=
	//		if (typeof position =3D=3D 'string' || $.isArray(position)) {=0A=
	//			myAt =3D $.isArray(position) ? position : position.split(' ');=0A=
=0A=
			if (typeof position =3D=3D=3D 'string' || (typeof position =3D=3D=3D =
'object' && '0' in position)) {=0A=
				myAt =3D position.split ? position.split(' ') : [position[0], =
position[1]];=0A=
				if (myAt.length =3D=3D=3D 1) {=0A=
					myAt[1] =3D myAt[0];=0A=
				}=0A=
=0A=
				$.each(['left', 'top'], function(i, offsetPosition) {=0A=
					if (+myAt[i] =3D=3D=3D myAt[i]) {=0A=
						offset[i] =3D myAt[i];=0A=
						myAt[i] =3D offsetPosition;=0A=
					}=0A=
				});=0A=
=0A=
				position =3D {=0A=
					my: myAt.join(" "),=0A=
					at: myAt.join(" "),=0A=
					offset: offset.join(" ")=0A=
				};=0A=
			} =0A=
=0A=
			position =3D $.extend({}, $.ui.dialog.prototype.options.position, =
position);=0A=
		} else {=0A=
			position =3D $.ui.dialog.prototype.options.position;=0A=
		}=0A=
=0A=
		// need to show the dialog to get the actual offset in the position =
plugin=0A=
		isVisible =3D this.uiDialog.is(':visible');=0A=
		if (!isVisible) {=0A=
			this.uiDialog.show();=0A=
		}=0A=
		this.uiDialog=0A=
			// workaround for jQuery bug #5781 http://dev.jquery.com/ticket/5781=0A=
			.css({ top: 0, left: 0 })=0A=
			.position($.extend({ of: window }, position));=0A=
		if (!isVisible) {=0A=
			this.uiDialog.hide();=0A=
		}=0A=
	},=0A=
=0A=
	_setOptions: function( options ) {=0A=
		var self =3D this,=0A=
			resizableOptions =3D {},=0A=
			resize =3D false;=0A=
=0A=
		$.each( options, function( key, value ) {=0A=
			self._setOption( key, value );=0A=
			=0A=
			if ( key in sizeRelatedOptions ) {=0A=
				resize =3D true;=0A=
			}=0A=
			if ( key in resizableRelatedOptions ) {=0A=
				resizableOptions[ key ] =3D value;=0A=
			}=0A=
		});=0A=
=0A=
		if ( resize ) {=0A=
			this._size();=0A=
		}=0A=
		if ( this.uiDialog.is( ":data(resizable)" ) ) {=0A=
			this.uiDialog.resizable( "option", resizableOptions );=0A=
		}=0A=
	},=0A=
=0A=
	_setOption: function(key, value){=0A=
		var self =3D this,=0A=
			uiDialog =3D self.uiDialog;=0A=
=0A=
		switch (key) {=0A=
			//handling of deprecated beforeclose (vs beforeClose) option=0A=
			//Ticket #4669 http://dev.jqueryui.com/ticket/4669=0A=
			//TODO: remove in 1.9pre=0A=
			case "beforeclose":=0A=
				key =3D "beforeClose";=0A=
				break;=0A=
			case "buttons":=0A=
				self._createButtons(value);=0A=
				break;=0A=
			case "closeText":=0A=
				// ensure that we always pass a string=0A=
				self.uiDialogTitlebarCloseText.text("" + value);=0A=
				break;=0A=
			case "dialogClass":=0A=
				uiDialog=0A=
					.removeClass(self.options.dialogClass)=0A=
					.addClass(uiDialogClasses + value);=0A=
				break;=0A=
			case "disabled":=0A=
				if (value) {=0A=
					uiDialog.addClass('ui-dialog-disabled');=0A=
				} else {=0A=
					uiDialog.removeClass('ui-dialog-disabled');=0A=
				}=0A=
				break;=0A=
			case "draggable":=0A=
				var isDraggable =3D uiDialog.is( ":data(draggable)" );=0A=
				if ( isDraggable && !value ) {=0A=
					uiDialog.draggable( "destroy" );=0A=
				}=0A=
				=0A=
				if ( !isDraggable && value ) {=0A=
					self._makeDraggable();=0A=
				}=0A=
				break;=0A=
			case "position":=0A=
				self._position(value);=0A=
				break;=0A=
			case "resizable":=0A=
				// currently resizable, becoming non-resizable=0A=
				var isResizable =3D uiDialog.is( ":data(resizable)" );=0A=
				if (isResizable && !value) {=0A=
					uiDialog.resizable('destroy');=0A=
				}=0A=
=0A=
				// currently resizable, changing handles=0A=
				if (isResizable && typeof value =3D=3D=3D 'string') {=0A=
					uiDialog.resizable('option', 'handles', value);=0A=
				}=0A=
=0A=
				// currently non-resizable, becoming resizable=0A=
				if (!isResizable && value !=3D=3D false) {=0A=
					self._makeResizable(value);=0A=
				}=0A=
				break;=0A=
			case "title":=0A=
				// convert whatever was passed in o a string, for html() to not =
throw up=0A=
				$(".ui-dialog-title", self.uiDialogTitlebar).html("" + (value || =
'&#160;'));=0A=
				break;=0A=
		}=0A=
=0A=
		$.Widget.prototype._setOption.apply(self, arguments);=0A=
	},=0A=
=0A=
	_size: function() {=0A=
		/* If the user has resized the dialog, the .ui-dialog and =
.ui-dialog-content=0A=
		 * divs will both have width and height set, so we need to reset them=0A=
		 */=0A=
		var options =3D this.options,=0A=
			nonContentHeight,=0A=
			minContentHeight,=0A=
			isVisible =3D this.uiDialog.is( ":visible" );=0A=
=0A=
		// reset content sizing=0A=
		this.element.show().css({=0A=
			width: 'auto',=0A=
			minHeight: 0,=0A=
			height: 0=0A=
		});=0A=
=0A=
		if (options.minWidth > options.width) {=0A=
			options.width =3D options.minWidth;=0A=
		}=0A=
=0A=
		// reset wrapper sizing=0A=
		// determine the height of all the non-content elements=0A=
		nonContentHeight =3D this.uiDialog.css({=0A=
				height: 'auto',=0A=
				width: options.width=0A=
			})=0A=
			.height();=0A=
		minContentHeight =3D Math.max( 0, options.minHeight - nonContentHeight =
);=0A=
		=0A=
		if ( options.height =3D=3D=3D "auto" ) {=0A=
			// only needed for IE6 support=0A=
			if ( $.support.minHeight ) {=0A=
				this.element.css({=0A=
					minHeight: minContentHeight,=0A=
					height: "auto"=0A=
				});=0A=
			} else {=0A=
				this.uiDialog.show();=0A=
				var autoHeight =3D this.element.css( "height", "auto" ).height();=0A=
				if ( !isVisible ) {=0A=
					this.uiDialog.hide();=0A=
				}=0A=
				this.element.height( Math.max( autoHeight, minContentHeight ) );=0A=
			}=0A=
		} else {=0A=
			this.element.height( Math.max( options.height - nonContentHeight, 0 ) =
);=0A=
		}=0A=
=0A=
		if (this.uiDialog.is(':data(resizable)')) {=0A=
			this.uiDialog.resizable('option', 'minHeight', this._minHeight());=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog, {=0A=
	version: "1.8.10",=0A=
=0A=
	uuid: 0,=0A=
	maxZ: 0,=0A=
=0A=
	getTitleId: function($el) {=0A=
		var id =3D $el.attr('id');=0A=
		if (!id) {=0A=
			this.uuid +=3D 1;=0A=
			id =3D this.uuid;=0A=
		}=0A=
		return 'ui-dialog-title-' + id;=0A=
	},=0A=
=0A=
	overlay: function(dialog) {=0A=
		this.$el =3D $.ui.dialog.overlay.create(dialog);=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog.overlay, {=0A=
	instances: [],=0A=
	// reuse old instances due to IE memory leak with alpha transparency =
(see #5185)=0A=
	oldInstances: [],=0A=
	maxZ: 0,=0A=
	events: =
$.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),=0A=
		function(event) { return event + '.dialog-overlay'; }).join(' '),=0A=
	create: function(dialog) {=0A=
		if (this.instances.length =3D=3D=3D 0) {=0A=
			// prevent use of anchors and inputs=0A=
			// we use a setTimeout in case the overlay is created from an=0A=
			// event that we're going to be cancelling (see #2804)=0A=
			setTimeout(function() {=0A=
				// handle $(el).dialog().dialog('close') (see #4065)=0A=
				if ($.ui.dialog.overlay.instances.length) {=0A=
					$(document).bind($.ui.dialog.overlay.events, function(event) {=0A=
						// stop events if the z-index of the target is < the z-index of =
the overlay=0A=
						// we cannot return true when we don't want to cancel the event =
(#3523)=0A=
						if ($(event.target).zIndex() < $.ui.dialog.overlay.maxZ) {=0A=
							return false;=0A=
						}=0A=
					});=0A=
				}=0A=
			}, 1);=0A=
=0A=
			// allow closing by pressing the escape key=0A=
			$(document).bind('keydown.dialog-overlay', function(event) {=0A=
				if (dialog.options.closeOnEscape && event.keyCode &&=0A=
					event.keyCode =3D=3D=3D $.ui.keyCode.ESCAPE) {=0A=
					=0A=
					dialog.close(event);=0A=
					event.preventDefault();=0A=
				}=0A=
			});=0A=
=0A=
			// handle window resize=0A=
			$(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize);=0A=
		}=0A=
=0A=
		var $el =3D (this.oldInstances.pop() || =
$('<div></div>').addClass('ui-widget-overlay'))=0A=
			.appendTo(document.body)=0A=
			.css({=0A=
				width: this.width(),=0A=
				height: this.height()=0A=
			});=0A=
=0A=
		if ($.fn.bgiframe) {=0A=
			$el.bgiframe();=0A=
		}=0A=
=0A=
		this.instances.push($el);=0A=
		return $el;=0A=
	},=0A=
=0A=
	destroy: function($el) {=0A=
		var indexOf =3D $.inArray($el, this.instances);=0A=
		if (indexOf !=3D -1){=0A=
			this.oldInstances.push(this.instances.splice(indexOf, 1)[0]);=0A=
		}=0A=
=0A=
		if (this.instances.length =3D=3D=3D 0) {=0A=
			$([document, window]).unbind('.dialog-overlay');=0A=
		}=0A=
=0A=
		$el.remove();=0A=
		=0A=
		// adjust the maxZ to allow other modal dialogs to continue to work =
(see #4309)=0A=
		var maxZ =3D 0;=0A=
		$.each(this.instances, function() {=0A=
			maxZ =3D Math.max(maxZ, this.css('z-index'));=0A=
		});=0A=
		this.maxZ =3D maxZ;=0A=
	},=0A=
=0A=
	height: function() {=0A=
		var scrollHeight,=0A=
			offsetHeight;=0A=
		// handle IE 6=0A=
		if ($.browser.msie && $.browser.version < 7) {=0A=
			scrollHeight =3D Math.max(=0A=
				document.documentElement.scrollHeight,=0A=
				document.body.scrollHeight=0A=
			);=0A=
			offsetHeight =3D Math.max(=0A=
				document.documentElement.offsetHeight,=0A=
				document.body.offsetHeight=0A=
			);=0A=
=0A=
			if (scrollHeight < offsetHeight) {=0A=
				return $(window).height() + 'px';=0A=
			} else {=0A=
				return scrollHeight + 'px';=0A=
			}=0A=
		// handle "good" browsers=0A=
		} else {=0A=
			return $(document).height() + 'px';=0A=
		}=0A=
	},=0A=
=0A=
	width: function() {=0A=
		var scrollWidth,=0A=
			offsetWidth;=0A=
		// handle IE 6=0A=
		if ($.browser.msie && $.browser.version < 7) {=0A=
			scrollWidth =3D Math.max(=0A=
				document.documentElement.scrollWidth,=0A=
				document.body.scrollWidth=0A=
			);=0A=
			offsetWidth =3D Math.max(=0A=
				document.documentElement.offsetWidth,=0A=
				document.body.offsetWidth=0A=
			);=0A=
=0A=
			if (scrollWidth < offsetWidth) {=0A=
				return $(window).width() + 'px';=0A=
			} else {=0A=
				return scrollWidth + 'px';=0A=
			}=0A=
		// handle "good" browsers=0A=
		} else {=0A=
			return $(document).width() + 'px';=0A=
		}=0A=
	},=0A=
=0A=
	resize: function() {=0A=
		/* If the dialog is draggable and the user drags it past the=0A=
		 * right edge of the window, the document becomes wider so we=0A=
		 * need to stretch the overlay. If the user then drags the=0A=
		 * dialog back to the left, the document will become narrower,=0A=
		 * so we need to shrink the overlay to the appropriate size.=0A=
		 * This is handled by shrinking the overlay before setting it=0A=
		 * to the full document size.=0A=
		 */=0A=
		var $overlays =3D $([]);=0A=
		$.each($.ui.dialog.overlay.instances, function() {=0A=
			$overlays =3D $overlays.add(this);=0A=
		});=0A=
=0A=
		$overlays.css({=0A=
			width: 0,=0A=
			height: 0=0A=
		}).css({=0A=
			width: $.ui.dialog.overlay.width(),=0A=
			height: $.ui.dialog.overlay.height()=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog.overlay.prototype, {=0A=
	destroy: function() {=0A=
		$.ui.dialog.overlay.destroy(this.$el);=0A=
	}=0A=
});=0A=
=0A=
}(jQuery));=0A=
/*=0A=
 * jQuery UI Position 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Position=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.ui =3D $.ui || {};=0A=
=0A=
var horizontalPositions =3D /left|center|right/,=0A=
	verticalPositions =3D /top|center|bottom/,=0A=
	center =3D "center",=0A=
	_position =3D $.fn.position,=0A=
	_offset =3D $.fn.offset;=0A=
=0A=
$.fn.position =3D function( options ) {=0A=
	if ( !options || !options.of ) {=0A=
		return _position.apply( this, arguments );=0A=
	}=0A=
=0A=
	// make a copy, we don't want to modify arguments=0A=
	options =3D $.extend( {}, options );=0A=
=0A=
	var target =3D $( options.of ),=0A=
		targetElem =3D target[0],=0A=
		collision =3D ( options.collision || "flip" ).split( " " ),=0A=
		offset =3D options.offset ? options.offset.split( " " ) : [ 0, 0 ],=0A=
		targetWidth,=0A=
		targetHeight,=0A=
		basePosition;=0A=
=0A=
	if ( targetElem.nodeType =3D=3D=3D 9 ) {=0A=
		targetWidth =3D target.width();=0A=
		targetHeight =3D target.height();=0A=
		basePosition =3D { top: 0, left: 0 };=0A=
	// TODO: use $.isWindow() in 1.9=0A=
	} else if ( targetElem.setTimeout ) {=0A=
		targetWidth =3D target.width();=0A=
		targetHeight =3D target.height();=0A=
		basePosition =3D { top: target.scrollTop(), left: target.scrollLeft() =
};=0A=
	} else if ( targetElem.preventDefault ) {=0A=
		// force left top to allow flipping=0A=
		options.at =3D "left top";=0A=
		targetWidth =3D targetHeight =3D 0;=0A=
		basePosition =3D { top: options.of.pageY, left: options.of.pageX };=0A=
	} else {=0A=
		targetWidth =3D target.outerWidth();=0A=
		targetHeight =3D target.outerHeight();=0A=
		basePosition =3D target.offset();=0A=
	}=0A=
=0A=
	// force my and at to have valid horizontal and veritcal positions=0A=
	// if a value is missing or invalid, it will be converted to center =0A=
	$.each( [ "my", "at" ], function() {=0A=
		var pos =3D ( options[this] || "" ).split( " " );=0A=
		if ( pos.length =3D=3D=3D 1) {=0A=
			pos =3D horizontalPositions.test( pos[0] ) ?=0A=
				pos.concat( [center] ) :=0A=
				verticalPositions.test( pos[0] ) ?=0A=
					[ center ].concat( pos ) :=0A=
					[ center, center ];=0A=
		}=0A=
		pos[ 0 ] =3D horizontalPositions.test( pos[0] ) ? pos[ 0 ] : center;=0A=
		pos[ 1 ] =3D verticalPositions.test( pos[1] ) ? pos[ 1 ] : center;=0A=
		options[ this ] =3D pos;=0A=
	});=0A=
=0A=
	// normalize collision option=0A=
	if ( collision.length =3D=3D=3D 1 ) {=0A=
		collision[ 1 ] =3D collision[ 0 ];=0A=
	}=0A=
=0A=
	// normalize offset option=0A=
	offset[ 0 ] =3D parseInt( offset[0], 10 ) || 0;=0A=
	if ( offset.length =3D=3D=3D 1 ) {=0A=
		offset[ 1 ] =3D offset[ 0 ];=0A=
	}=0A=
	offset[ 1 ] =3D parseInt( offset[1], 10 ) || 0;=0A=
=0A=
	if ( options.at[0] =3D=3D=3D "right" ) {=0A=
		basePosition.left +=3D targetWidth;=0A=
	} else if ( options.at[0] =3D=3D=3D center ) {=0A=
		basePosition.left +=3D targetWidth / 2;=0A=
	}=0A=
=0A=
	if ( options.at[1] =3D=3D=3D "bottom" ) {=0A=
		basePosition.top +=3D targetHeight;=0A=
	} else if ( options.at[1] =3D=3D=3D center ) {=0A=
		basePosition.top +=3D targetHeight / 2;=0A=
	}=0A=
=0A=
	basePosition.left +=3D offset[ 0 ];=0A=
	basePosition.top +=3D offset[ 1 ];=0A=
=0A=
	return this.each(function() {=0A=
		var elem =3D $( this ),=0A=
			elemWidth =3D elem.outerWidth(),=0A=
			elemHeight =3D elem.outerHeight(),=0A=
			marginLeft =3D parseInt( $.curCSS( this, "marginLeft", true ) ) || 0,=0A=
			marginTop =3D parseInt( $.curCSS( this, "marginTop", true ) ) || 0,=0A=
			collisionWidth =3D elemWidth + marginLeft +=0A=
				( parseInt( $.curCSS( this, "marginRight", true ) ) || 0 ),=0A=
			collisionHeight =3D elemHeight + marginTop +=0A=
				( parseInt( $.curCSS( this, "marginBottom", true ) ) || 0 ),=0A=
			position =3D $.extend( {}, basePosition ),=0A=
			collisionPosition;=0A=
=0A=
		if ( options.my[0] =3D=3D=3D "right" ) {=0A=
			position.left -=3D elemWidth;=0A=
		} else if ( options.my[0] =3D=3D=3D center ) {=0A=
			position.left -=3D elemWidth / 2;=0A=
		}=0A=
=0A=
		if ( options.my[1] =3D=3D=3D "bottom" ) {=0A=
			position.top -=3D elemHeight;=0A=
		} else if ( options.my[1] =3D=3D=3D center ) {=0A=
			position.top -=3D elemHeight / 2;=0A=
		}=0A=
=0A=
		// prevent fractions (see #5280)=0A=
		position.left =3D Math.round( position.left );=0A=
		position.top =3D Math.round( position.top );=0A=
=0A=
		collisionPosition =3D {=0A=
			left: position.left - marginLeft,=0A=
			top: position.top - marginTop=0A=
		};=0A=
=0A=
		$.each( [ "left", "top" ], function( i, dir ) {=0A=
			if ( $.ui.position[ collision[i] ] ) {=0A=
				$.ui.position[ collision[i] ][ dir ]( position, {=0A=
					targetWidth: targetWidth,=0A=
					targetHeight: targetHeight,=0A=
					elemWidth: elemWidth,=0A=
					elemHeight: elemHeight,=0A=
					collisionPosition: collisionPosition,=0A=
					collisionWidth: collisionWidth,=0A=
					collisionHeight: collisionHeight,=0A=
					offset: offset,=0A=
					my: options.my,=0A=
					at: options.at=0A=
				});=0A=
			}=0A=
		});=0A=
=0A=
		if ( $.fn.bgiframe ) {=0A=
			elem.bgiframe();=0A=
		}=0A=
		elem.offset( $.extend( position, { using: options.using } ) );=0A=
	});=0A=
};=0A=
=0A=
$.ui.position =3D {=0A=
	fit: {=0A=
		left: function( position, data ) {=0A=
			var win =3D $( window ),=0A=
				over =3D data.collisionPosition.left + data.collisionWidth - =
win.width() - win.scrollLeft();=0A=
			position.left =3D over > 0 ? position.left - over : Math.max( =
position.left - data.collisionPosition.left, position.left );=0A=
		},=0A=
		top: function( position, data ) {=0A=
			var win =3D $( window ),=0A=
				over =3D data.collisionPosition.top + data.collisionHeight - =
win.height() - win.scrollTop();=0A=
			position.top =3D over > 0 ? position.top - over : Math.max( =
position.top - data.collisionPosition.top, position.top );=0A=
		}=0A=
	},=0A=
=0A=
	flip: {=0A=
		left: function( position, data ) {=0A=
			if ( data.at[0] =3D=3D=3D center ) {=0A=
				return;=0A=
			}=0A=
			var win =3D $( window ),=0A=
				over =3D data.collisionPosition.left + data.collisionWidth - =
win.width() - win.scrollLeft(),=0A=
				myOffset =3D data.my[ 0 ] =3D=3D=3D "left" ?=0A=
					-data.elemWidth :=0A=
					data.my[ 0 ] =3D=3D=3D "right" ?=0A=
						data.elemWidth :=0A=
						0,=0A=
				atOffset =3D data.at[ 0 ] =3D=3D=3D "left" ?=0A=
					data.targetWidth :=0A=
					-data.targetWidth,=0A=
				offset =3D -2 * data.offset[ 0 ];=0A=
			position.left +=3D data.collisionPosition.left < 0 ?=0A=
				myOffset + atOffset + offset :=0A=
				over > 0 ?=0A=
					myOffset + atOffset + offset :=0A=
					0;=0A=
		},=0A=
		top: function( position, data ) {=0A=
			if ( data.at[1] =3D=3D=3D center ) {=0A=
				return;=0A=
			}=0A=
			var win =3D $( window ),=0A=
				over =3D data.collisionPosition.top + data.collisionHeight - =
win.height() - win.scrollTop(),=0A=
				myOffset =3D data.my[ 1 ] =3D=3D=3D "top" ?=0A=
					-data.elemHeight :=0A=
					data.my[ 1 ] =3D=3D=3D "bottom" ?=0A=
						data.elemHeight :=0A=
						0,=0A=
				atOffset =3D data.at[ 1 ] =3D=3D=3D "top" ?=0A=
					data.targetHeight :=0A=
					-data.targetHeight,=0A=
				offset =3D -2 * data.offset[ 1 ];=0A=
			position.top +=3D data.collisionPosition.top < 0 ?=0A=
				myOffset + atOffset + offset :=0A=
				over > 0 ?=0A=
					myOffset + atOffset + offset :=0A=
					0;=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
// offset setter from jQuery 1.4=0A=
if ( !$.offset.setOffset ) {=0A=
	$.offset.setOffset =3D function( elem, options ) {=0A=
		// set position first, in-case top/left are set even on static elem=0A=
		if ( /static/.test( $.curCSS( elem, "position" ) ) ) {=0A=
			elem.style.position =3D "relative";=0A=
		}=0A=
		var curElem   =3D $( elem ),=0A=
			curOffset =3D curElem.offset(),=0A=
			curTop    =3D parseInt( $.curCSS( elem, "top",  true ), 10 ) || 0,=0A=
			curLeft   =3D parseInt( $.curCSS( elem, "left", true ), 10)  || 0,=0A=
			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=
	$.fn.offset =3D function( options ) {=0A=
		var elem =3D this[ 0 ];=0A=
		if ( !elem || !elem.ownerDocument ) { return null; }=0A=
		if ( options ) { =0A=
			return this.each(function() {=0A=
				$.offset.setOffset( this, options );=0A=
			});=0A=
		}=0A=
		return _offset.call( this );=0A=
	};=0A=
}=0A=
=0A=
}( jQuery ));=0A=
/*=0A=
 * jQuery UI Progressbar 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Progressbar=0A=
 *=0A=
 * Depends:=0A=
 *   jquery.ui.core.js=0A=
 *   jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
$.widget( "ui.progressbar", {=0A=
	options: {=0A=
		value: 0,=0A=
		max: 100=0A=
	},=0A=
=0A=
	min: 0,=0A=
=0A=
	_create: function() {=0A=
		this.element=0A=
			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" =
)=0A=
			.attr({=0A=
				role: "progressbar",=0A=
				"aria-valuemin": this.min,=0A=
				"aria-valuemax": this.options.max,=0A=
				"aria-valuenow": this._value()=0A=
			});=0A=
=0A=
		this.valueDiv =3D $( "<div class=3D'ui-progressbar-value =
ui-widget-header ui-corner-left'></div>" )=0A=
			.appendTo( this.element );=0A=
=0A=
		this.oldValue =3D this._value();=0A=
		this._refreshValue();=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.removeClass( "ui-progressbar ui-widget ui-widget-content =
ui-corner-all" )=0A=
			.removeAttr( "role" )=0A=
			.removeAttr( "aria-valuemin" )=0A=
			.removeAttr( "aria-valuemax" )=0A=
			.removeAttr( "aria-valuenow" );=0A=
=0A=
		this.valueDiv.remove();=0A=
=0A=
		$.Widget.prototype.destroy.apply( this, arguments );=0A=
	},=0A=
=0A=
	value: function( newValue ) {=0A=
		if ( newValue =3D=3D=3D undefined ) {=0A=
			return this._value();=0A=
		}=0A=
=0A=
		this._setOption( "value", newValue );=0A=
		return this;=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		if ( key =3D=3D=3D "value" ) {=0A=
			this.options.value =3D value;=0A=
			this._refreshValue();=0A=
			if ( this._value() =3D=3D=3D this.options.max ) {=0A=
				this._trigger( "complete" );=0A=
			}=0A=
		}=0A=
=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
	},=0A=
=0A=
	_value: function() {=0A=
		var val =3D this.options.value;=0A=
		// normalize invalid value=0A=
		if ( typeof val !=3D=3D "number" ) {=0A=
			val =3D 0;=0A=
		}=0A=
		return Math.min( this.options.max, Math.max( this.min, val ) );=0A=
	},=0A=
=0A=
	_percentage: function() {=0A=
		return 100 * this._value() / this.options.max;=0A=
	},=0A=
=0A=
	_refreshValue: function() {=0A=
		var value =3D this.value();=0A=
		var percentage =3D this._percentage();=0A=
=0A=
		if ( this.oldValue !=3D=3D value ) {=0A=
			this.oldValue =3D value;=0A=
			this._trigger( "change" );=0A=
		}=0A=
=0A=
		this.valueDiv=0A=
			.toggleClass( "ui-corner-right", value =3D=3D=3D this.options.max )=0A=
			.width( percentage.toFixed(0) + "%" );=0A=
		this.element.attr( "aria-valuenow", value );=0A=
	}=0A=
});=0A=
=0A=
$.extend( $.ui.progressbar, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
})( jQuery );=0A=
/*=0A=
 * jQuery UI Slider 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Slider=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.mouse.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
// number of pages in a slider=0A=
// (how many times can you page up/down to go through the whole range)=0A=
var numPages =3D 5;=0A=
=0A=
$.widget( "ui.slider", $.ui.mouse, {=0A=
=0A=
	widgetEventPrefix: "slide",=0A=
=0A=
	options: {=0A=
		animate: false,=0A=
		distance: 0,=0A=
		max: 100,=0A=
		min: 0,=0A=
		orientation: "horizontal",=0A=
		range: false,=0A=
		step: 1,=0A=
		value: 0,=0A=
		values: null=0A=
	},=0A=
=0A=
	_create: function() {=0A=
		var self =3D this,=0A=
			o =3D this.options;=0A=
=0A=
		this._keySliding =3D false;=0A=
		this._mouseSliding =3D false;=0A=
		this._animateOff =3D true;=0A=
		this._handleIndex =3D null;=0A=
		this._detectOrientation();=0A=
		this._mouseInit();=0A=
=0A=
		this.element=0A=
			.addClass( "ui-slider" +=0A=
				" ui-slider-" + this.orientation +=0A=
				" ui-widget" +=0A=
				" ui-widget-content" +=0A=
				" ui-corner-all" );=0A=
		=0A=
		if ( o.disabled ) {=0A=
			this.element.addClass( "ui-slider-disabled ui-disabled" );=0A=
		}=0A=
=0A=
		this.range =3D $([]);=0A=
=0A=
		if ( o.range ) {=0A=
			if ( o.range =3D=3D=3D true ) {=0A=
				this.range =3D $( "<div></div>" );=0A=
				if ( !o.values ) {=0A=
					o.values =3D [ this._valueMin(), this._valueMin() ];=0A=
				}=0A=
				if ( o.values.length && o.values.length !=3D=3D 2 ) {=0A=
					o.values =3D [ o.values[0], o.values[0] ];=0A=
				}=0A=
			} else {=0A=
				this.range =3D $( "<div></div>" );=0A=
			}=0A=
=0A=
			this.range=0A=
				.appendTo( this.element )=0A=
				.addClass( "ui-slider-range" );=0A=
=0A=
			if ( o.range =3D=3D=3D "min" || o.range =3D=3D=3D "max" ) {=0A=
				this.range.addClass( "ui-slider-range-" + o.range );=0A=
			}=0A=
=0A=
			// note: this isn't the most fittingly semantic framework class for =
this element,=0A=
			// but worked best visually with a variety of themes=0A=
			this.range.addClass( "ui-widget-header" );=0A=
		}=0A=
=0A=
		if ( $( ".ui-slider-handle", this.element ).length =3D=3D=3D 0 ) {=0A=
			$( "<a href=3D'#'></a>" )=0A=
				.appendTo( this.element )=0A=
				.addClass( "ui-slider-handle" );=0A=
		}=0A=
=0A=
		if ( o.values && o.values.length ) {=0A=
			while ( $(".ui-slider-handle", this.element).length < o.values.length =
) {=0A=
				$( "<a href=3D'#'></a>" )=0A=
					.appendTo( this.element )=0A=
					.addClass( "ui-slider-handle" );=0A=
			}=0A=
		}=0A=
=0A=
		this.handles =3D $( ".ui-slider-handle", this.element )=0A=
			.addClass( "ui-state-default" +=0A=
				" ui-corner-all" );=0A=
=0A=
		this.handle =3D this.handles.eq( 0 );=0A=
=0A=
		this.handles.add( this.range ).filter( "a" )=0A=
			.click(function( event ) {=0A=
				event.preventDefault();=0A=
			})=0A=
			.hover(function() {=0A=
				if ( !o.disabled ) {=0A=
					$( this ).addClass( "ui-state-hover" );=0A=
				}=0A=
			}, function() {=0A=
				$( this ).removeClass( "ui-state-hover" );=0A=
			})=0A=
			.focus(function() {=0A=
				if ( !o.disabled ) {=0A=
					$( ".ui-slider .ui-state-focus" ).removeClass( "ui-state-focus" );=0A=
					$( this ).addClass( "ui-state-focus" );=0A=
				} else {=0A=
					$( this ).blur();=0A=
				}=0A=
			})=0A=
			.blur(function() {=0A=
				$( this ).removeClass( "ui-state-focus" );=0A=
			});=0A=
=0A=
		this.handles.each(function( i ) {=0A=
			$( this ).data( "index.ui-slider-handle", i );=0A=
		});=0A=
=0A=
		this.handles=0A=
			.keydown(function( event ) {=0A=
				var ret =3D true,=0A=
					index =3D $( this ).data( "index.ui-slider-handle" ),=0A=
					allowed,=0A=
					curVal,=0A=
					newVal,=0A=
					step;=0A=
	=0A=
				if ( self.options.disabled ) {=0A=
					return;=0A=
				}=0A=
	=0A=
				switch ( event.keyCode ) {=0A=
					case $.ui.keyCode.HOME:=0A=
					case $.ui.keyCode.END:=0A=
					case $.ui.keyCode.PAGE_UP:=0A=
					case $.ui.keyCode.PAGE_DOWN:=0A=
					case $.ui.keyCode.UP:=0A=
					case $.ui.keyCode.RIGHT:=0A=
					case $.ui.keyCode.DOWN:=0A=
					case $.ui.keyCode.LEFT:=0A=
						ret =3D false;=0A=
						if ( !self._keySliding ) {=0A=
							self._keySliding =3D true;=0A=
							$( this ).addClass( "ui-state-active" );=0A=
							allowed =3D self._start( event, index );=0A=
							if ( allowed =3D=3D=3D false ) {=0A=
								return;=0A=
							}=0A=
						}=0A=
						break;=0A=
				}=0A=
	=0A=
				step =3D self.options.step;=0A=
				if ( self.options.values && self.options.values.length ) {=0A=
					curVal =3D newVal =3D self.values( index );=0A=
				} else {=0A=
					curVal =3D newVal =3D self.value();=0A=
				}=0A=
	=0A=
				switch ( event.keyCode ) {=0A=
					case $.ui.keyCode.HOME:=0A=
						newVal =3D self._valueMin();=0A=
						break;=0A=
					case $.ui.keyCode.END:=0A=
						newVal =3D self._valueMax();=0A=
						break;=0A=
					case $.ui.keyCode.PAGE_UP:=0A=
						newVal =3D self._trimAlignValue( curVal + ( (self._valueMax() - =
self._valueMin()) / numPages ) );=0A=
						break;=0A=
					case $.ui.keyCode.PAGE_DOWN:=0A=
						newVal =3D self._trimAlignValue( curVal - ( (self._valueMax() - =
self._valueMin()) / numPages ) );=0A=
						break;=0A=
					case $.ui.keyCode.UP:=0A=
					case $.ui.keyCode.RIGHT:=0A=
						if ( curVal =3D=3D=3D self._valueMax() ) {=0A=
							return;=0A=
						}=0A=
						newVal =3D self._trimAlignValue( curVal + step );=0A=
						break;=0A=
					case $.ui.keyCode.DOWN:=0A=
					case $.ui.keyCode.LEFT:=0A=
						if ( curVal =3D=3D=3D self._valueMin() ) {=0A=
							return;=0A=
						}=0A=
						newVal =3D self._trimAlignValue( curVal - step );=0A=
						break;=0A=
				}=0A=
	=0A=
				self._slide( event, index, newVal );=0A=
	=0A=
				return ret;=0A=
	=0A=
			})=0A=
			.keyup(function( event ) {=0A=
				var index =3D $( this ).data( "index.ui-slider-handle" );=0A=
	=0A=
				if ( self._keySliding ) {=0A=
					self._keySliding =3D false;=0A=
					self._stop( event, index );=0A=
					self._change( event, index );=0A=
					$( this ).removeClass( "ui-state-active" );=0A=
				}=0A=
	=0A=
			});=0A=
=0A=
		this._refreshValue();=0A=
=0A=
		this._animateOff =3D false;=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		this.handles.remove();=0A=
		this.range.remove();=0A=
=0A=
		this.element=0A=
			.removeClass( "ui-slider" +=0A=
				" ui-slider-horizontal" +=0A=
				" ui-slider-vertical" +=0A=
				" ui-slider-disabled" +=0A=
				" ui-widget" +=0A=
				" ui-widget-content" +=0A=
				" ui-corner-all" )=0A=
			.removeData( "slider" )=0A=
			.unbind( ".slider" );=0A=
=0A=
		this._mouseDestroy();=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	_mouseCapture: function( event ) {=0A=
		var o =3D this.options,=0A=
			position,=0A=
			normValue,=0A=
			distance,=0A=
			closestHandle,=0A=
			self,=0A=
			index,=0A=
			allowed,=0A=
			offset,=0A=
			mouseOverHandle;=0A=
=0A=
		if ( o.disabled ) {=0A=
			return false;=0A=
		}=0A=
=0A=
		this.elementSize =3D {=0A=
			width: this.element.outerWidth(),=0A=
			height: this.element.outerHeight()=0A=
		};=0A=
		this.elementOffset =3D this.element.offset();=0A=
=0A=
		position =3D { x: event.pageX, y: event.pageY };=0A=
		normValue =3D this._normValueFromMouse( position );=0A=
		distance =3D this._valueMax() - this._valueMin() + 1;=0A=
		self =3D this;=0A=
		this.handles.each(function( i ) {=0A=
			var thisDistance =3D Math.abs( normValue - self.values(i) );=0A=
			if ( distance > thisDistance ) {=0A=
				distance =3D thisDistance;=0A=
				closestHandle =3D $( this );=0A=
				index =3D i;=0A=
			}=0A=
		});=0A=
=0A=
		// workaround for bug #3736 (if both handles of a range are at 0,=0A=
		// the first is always used as the one with least distance,=0A=
		// and moving it is obviously prevented by preventing negative ranges)=0A=
		if( o.range =3D=3D=3D true && this.values(1) =3D=3D=3D o.min ) {=0A=
			index +=3D 1;=0A=
			closestHandle =3D $( this.handles[index] );=0A=
		}=0A=
=0A=
		allowed =3D this._start( event, index );=0A=
		if ( allowed =3D=3D=3D false ) {=0A=
			return false;=0A=
		}=0A=
		this._mouseSliding =3D true;=0A=
=0A=
		self._handleIndex =3D index;=0A=
=0A=
		closestHandle=0A=
			.addClass( "ui-state-active" )=0A=
			.focus();=0A=
		=0A=
		offset =3D closestHandle.offset();=0A=
		mouseOverHandle =3D !$( event.target ).parents().andSelf().is( =
".ui-slider-handle" );=0A=
		this._clickOffset =3D mouseOverHandle ? { left: 0, top: 0 } : {=0A=
			left: event.pageX - offset.left - ( closestHandle.width() / 2 ),=0A=
			top: event.pageY - offset.top -=0A=
				( closestHandle.height() / 2 ) -=0A=
				( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -=0A=
				( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +=0A=
				( parseInt( closestHandle.css("marginTop"), 10 ) || 0)=0A=
		};=0A=
=0A=
		if ( !this.handles.hasClass( "ui-state-hover" ) ) {=0A=
			this._slide( event, index, normValue );=0A=
		}=0A=
		this._animateOff =3D true;=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseStart: function( event ) {=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseDrag: function( event ) {=0A=
		var position =3D { x: event.pageX, y: event.pageY },=0A=
			normValue =3D this._normValueFromMouse( position );=0A=
		=0A=
		this._slide( event, this._handleIndex, normValue );=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseStop: function( event ) {=0A=
		this.handles.removeClass( "ui-state-active" );=0A=
		this._mouseSliding =3D false;=0A=
=0A=
		this._stop( event, this._handleIndex );=0A=
		this._change( event, this._handleIndex );=0A=
=0A=
		this._handleIndex =3D null;=0A=
		this._clickOffset =3D null;=0A=
		this._animateOff =3D false;=0A=
=0A=
		return false;=0A=
	},=0A=
	=0A=
	_detectOrientation: function() {=0A=
		this.orientation =3D ( this.options.orientation =3D=3D=3D "vertical" ) =
? "vertical" : "horizontal";=0A=
	},=0A=
=0A=
	_normValueFromMouse: function( position ) {=0A=
		var pixelTotal,=0A=
			pixelMouse,=0A=
			percentMouse,=0A=
			valueTotal,=0A=
			valueMouse;=0A=
=0A=
		if ( this.orientation =3D=3D=3D "horizontal" ) {=0A=
			pixelTotal =3D this.elementSize.width;=0A=
			pixelMouse =3D position.x - this.elementOffset.left - ( =
this._clickOffset ? this._clickOffset.left : 0 );=0A=
		} else {=0A=
			pixelTotal =3D this.elementSize.height;=0A=
			pixelMouse =3D position.y - this.elementOffset.top - ( =
this._clickOffset ? this._clickOffset.top : 0 );=0A=
		}=0A=
=0A=
		percentMouse =3D ( pixelMouse / pixelTotal );=0A=
		if ( percentMouse > 1 ) {=0A=
			percentMouse =3D 1;=0A=
		}=0A=
		if ( percentMouse < 0 ) {=0A=
			percentMouse =3D 0;=0A=
		}=0A=
		if ( this.orientation =3D=3D=3D "vertical" ) {=0A=
			percentMouse =3D 1 - percentMouse;=0A=
		}=0A=
=0A=
		valueTotal =3D this._valueMax() - this._valueMin();=0A=
		valueMouse =3D this._valueMin() + percentMouse * valueTotal;=0A=
=0A=
		return this._trimAlignValue( valueMouse );=0A=
	},=0A=
=0A=
	_start: function( event, index ) {=0A=
		var uiHash =3D {=0A=
			handle: this.handles[ index ],=0A=
			value: this.value()=0A=
		};=0A=
		if ( this.options.values && this.options.values.length ) {=0A=
			uiHash.value =3D this.values( index );=0A=
			uiHash.values =3D this.values();=0A=
		}=0A=
		return this._trigger( "start", event, uiHash );=0A=
	},=0A=
=0A=
	_slide: function( event, index, newVal ) {=0A=
		var otherVal,=0A=
			newValues,=0A=
			allowed;=0A=
=0A=
		if ( this.options.values && this.options.values.length ) {=0A=
			otherVal =3D this.values( index ? 0 : 1 );=0A=
=0A=
			if ( ( this.options.values.length =3D=3D=3D 2 && this.options.range =
=3D=3D=3D true ) && =0A=
					( ( index =3D=3D=3D 0 && newVal > otherVal) || ( index =3D=3D=3D 1 =
&& newVal < otherVal ) )=0A=
				) {=0A=
				newVal =3D otherVal;=0A=
			}=0A=
=0A=
			if ( newVal !=3D=3D this.values( index ) ) {=0A=
				newValues =3D this.values();=0A=
				newValues[ index ] =3D newVal;=0A=
				// A slide can be canceled by returning false from the slide callback=0A=
				allowed =3D this._trigger( "slide", event, {=0A=
					handle: this.handles[ index ],=0A=
					value: newVal,=0A=
					values: newValues=0A=
				} );=0A=
				otherVal =3D this.values( index ? 0 : 1 );=0A=
				if ( allowed !=3D=3D false ) {=0A=
					this.values( index, newVal, true );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			if ( newVal !=3D=3D this.value() ) {=0A=
				// A slide can be canceled by returning false from the slide callback=0A=
				allowed =3D this._trigger( "slide", event, {=0A=
					handle: this.handles[ index ],=0A=
					value: newVal=0A=
				} );=0A=
				if ( allowed !=3D=3D false ) {=0A=
					this.value( newVal );=0A=
				}=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	_stop: function( event, index ) {=0A=
		var uiHash =3D {=0A=
			handle: this.handles[ index ],=0A=
			value: this.value()=0A=
		};=0A=
		if ( this.options.values && this.options.values.length ) {=0A=
			uiHash.value =3D this.values( index );=0A=
			uiHash.values =3D this.values();=0A=
		}=0A=
=0A=
		this._trigger( "stop", event, uiHash );=0A=
	},=0A=
=0A=
	_change: function( event, index ) {=0A=
		if ( !this._keySliding && !this._mouseSliding ) {=0A=
			var uiHash =3D {=0A=
				handle: this.handles[ index ],=0A=
				value: this.value()=0A=
			};=0A=
			if ( this.options.values && this.options.values.length ) {=0A=
				uiHash.value =3D this.values( index );=0A=
				uiHash.values =3D this.values();=0A=
			}=0A=
=0A=
			this._trigger( "change", event, uiHash );=0A=
		}=0A=
	},=0A=
=0A=
	value: function( newValue ) {=0A=
		if ( arguments.length ) {=0A=
			this.options.value =3D this._trimAlignValue( newValue );=0A=
			this._refreshValue();=0A=
			this._change( null, 0 );=0A=
		}=0A=
=0A=
		return this._value();=0A=
	},=0A=
=0A=
	values: function( index, newValue ) {=0A=
		var vals,=0A=
			newValues,=0A=
			i;=0A=
=0A=
		if ( arguments.length > 1 ) {=0A=
			this.options.values[ index ] =3D this._trimAlignValue( newValue );=0A=
			this._refreshValue();=0A=
			this._change( null, index );=0A=
		}=0A=
=0A=
		if ( arguments.length ) {=0A=
			if ( $.isArray( arguments[ 0 ] ) ) {=0A=
				vals =3D this.options.values;=0A=
				newValues =3D arguments[ 0 ];=0A=
				for ( i =3D 0; i < vals.length; i +=3D 1 ) {=0A=
					vals[ i ] =3D this._trimAlignValue( newValues[ i ] );=0A=
					this._change( null, i );=0A=
				}=0A=
				this._refreshValue();=0A=
			} else {=0A=
				if ( this.options.values && this.options.values.length ) {=0A=
					return this._values( index );=0A=
				} else {=0A=
					return this.value();=0A=
				}=0A=
			}=0A=
		} else {=0A=
			return this._values();=0A=
		}=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		var i,=0A=
			valsLength =3D 0;=0A=
=0A=
		if ( $.isArray( this.options.values ) ) {=0A=
			valsLength =3D this.options.values.length;=0A=
		}=0A=
=0A=
		$.Widget.prototype._setOption.apply( this, arguments );=0A=
=0A=
		switch ( key ) {=0A=
			case "disabled":=0A=
				if ( value ) {=0A=
					this.handles.filter( ".ui-state-focus" ).blur();=0A=
					this.handles.removeClass( "ui-state-hover" );=0A=
					this.handles.attr( "disabled", "disabled" );=0A=
					this.element.addClass( "ui-disabled" );=0A=
				} else {=0A=
					this.handles.removeAttr( "disabled" );=0A=
					this.element.removeClass( "ui-disabled" );=0A=
				}=0A=
				break;=0A=
			case "orientation":=0A=
				this._detectOrientation();=0A=
				this.element=0A=
					.removeClass( "ui-slider-horizontal ui-slider-vertical" )=0A=
					.addClass( "ui-slider-" + this.orientation );=0A=
				this._refreshValue();=0A=
				break;=0A=
			case "value":=0A=
				this._animateOff =3D true;=0A=
				this._refreshValue();=0A=
				this._change( null, 0 );=0A=
				this._animateOff =3D false;=0A=
				break;=0A=
			case "values":=0A=
				this._animateOff =3D true;=0A=
				this._refreshValue();=0A=
				for ( i =3D 0; i < valsLength; i +=3D 1 ) {=0A=
					this._change( null, i );=0A=
				}=0A=
				this._animateOff =3D false;=0A=
				break;=0A=
		}=0A=
	},=0A=
=0A=
	//internal value getter=0A=
	// _value() returns value trimmed by min and max, aligned by step=0A=
	_value: function() {=0A=
		var val =3D this.options.value;=0A=
		val =3D this._trimAlignValue( val );=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	//internal values getter=0A=
	// _values() returns array of values trimmed by min and max, aligned by =
step=0A=
	// _values( index ) returns single value trimmed by min and max, =
aligned by step=0A=
	_values: function( index ) {=0A=
		var val,=0A=
			vals,=0A=
			i;=0A=
=0A=
		if ( arguments.length ) {=0A=
			val =3D this.options.values[ index ];=0A=
			val =3D this._trimAlignValue( val );=0A=
=0A=
			return val;=0A=
		} else {=0A=
			// .slice() creates a copy of the array=0A=
			// this copy gets trimmed by min and max and then returned=0A=
			vals =3D this.options.values.slice();=0A=
			for ( i =3D 0; i < vals.length; i+=3D 1) {=0A=
				vals[ i ] =3D this._trimAlignValue( vals[ i ] );=0A=
			}=0A=
=0A=
			return vals;=0A=
		}=0A=
	},=0A=
	=0A=
	// returns the step-aligned value that val is closest to, between =
(inclusive) min and max=0A=
	_trimAlignValue: function( val ) {=0A=
		if ( val <=3D this._valueMin() ) {=0A=
			return this._valueMin();=0A=
		}=0A=
		if ( val >=3D this._valueMax() ) {=0A=
			return this._valueMax();=0A=
		}=0A=
		var step =3D ( this.options.step > 0 ) ? this.options.step : 1,=0A=
			valModStep =3D (val - this._valueMin()) % step;=0A=
			alignValue =3D val - valModStep;=0A=
=0A=
		if ( Math.abs(valModStep) * 2 >=3D step ) {=0A=
			alignValue +=3D ( valModStep > 0 ) ? step : ( -step );=0A=
		}=0A=
=0A=
		// Since JavaScript has problems with large floats, round=0A=
		// the final value to 5 digits after the decimal point (see #4124)=0A=
		return parseFloat( alignValue.toFixed(5) );=0A=
	},=0A=
=0A=
	_valueMin: function() {=0A=
		return this.options.min;=0A=
	},=0A=
=0A=
	_valueMax: function() {=0A=
		return this.options.max;=0A=
	},=0A=
	=0A=
	_refreshValue: function() {=0A=
		var oRange =3D this.options.range,=0A=
			o =3D this.options,=0A=
			self =3D this,=0A=
			animate =3D ( !this._animateOff ) ? o.animate : false,=0A=
			valPercent,=0A=
			_set =3D {},=0A=
			lastValPercent,=0A=
			value,=0A=
			valueMin,=0A=
			valueMax;=0A=
=0A=
		if ( this.options.values && this.options.values.length ) {=0A=
			this.handles.each(function( i, j ) {=0A=
				valPercent =3D ( self.values(i) - self._valueMin() ) / ( =
self._valueMax() - self._valueMin() ) * 100;=0A=
				_set[ self.orientation =3D=3D=3D "horizontal" ? "left" : "bottom" ] =
=3D valPercent + "%";=0A=
				$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, =
o.animate );=0A=
				if ( self.options.range =3D=3D=3D true ) {=0A=
					if ( self.orientation =3D=3D=3D "horizontal" ) {=0A=
						if ( i =3D=3D=3D 0 ) {=0A=
							self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: =
valPercent + "%" }, o.animate );=0A=
						}=0A=
						if ( i =3D=3D=3D 1 ) {=0A=
							self.range[ animate ? "animate" : "css" ]( { width: ( valPercent =
- lastValPercent ) + "%" }, { queue: false, duration: o.animate } );=0A=
						}=0A=
					} else {=0A=
						if ( i =3D=3D=3D 0 ) {=0A=
							self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: =
( valPercent ) + "%" }, o.animate );=0A=
						}=0A=
						if ( i =3D=3D=3D 1 ) {=0A=
							self.range[ animate ? "animate" : "css" ]( { height: ( valPercent =
- lastValPercent ) + "%" }, { queue: false, duration: o.animate } );=0A=
						}=0A=
					}=0A=
				}=0A=
				lastValPercent =3D valPercent;=0A=
			});=0A=
		} else {=0A=
			value =3D this.value();=0A=
			valueMin =3D this._valueMin();=0A=
			valueMax =3D this._valueMax();=0A=
			valPercent =3D ( valueMax !=3D=3D valueMin ) ?=0A=
					( value - valueMin ) / ( valueMax - valueMin ) * 100 :=0A=
					0;=0A=
			_set[ self.orientation =3D=3D=3D "horizontal" ? "left" : "bottom" ] =
=3D valPercent + "%";=0A=
			this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, =
o.animate );=0A=
=0A=
			if ( oRange =3D=3D=3D "min" && this.orientation =3D=3D=3D =
"horizontal" ) {=0A=
				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: =
valPercent + "%" }, o.animate );=0A=
			}=0A=
			if ( oRange =3D=3D=3D "max" && this.orientation =3D=3D=3D =
"horizontal" ) {=0A=
				this.range[ animate ? "animate" : "css" ]( { width: ( 100 - =
valPercent ) + "%" }, { queue: false, duration: o.animate } );=0A=
			}=0A=
			if ( oRange =3D=3D=3D "min" && this.orientation =3D=3D=3D "vertical" =
) {=0A=
				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: =
valPercent + "%" }, o.animate );=0A=
			}=0A=
			if ( oRange =3D=3D=3D "max" && this.orientation =3D=3D=3D "vertical" =
) {=0A=
				this.range[ animate ? "animate" : "css" ]( { height: ( 100 - =
valPercent ) + "%" }, { queue: false, duration: o.animate } );=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.extend( $.ui.slider, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
}(jQuery));=0A=
/*=0A=
 * jQuery UI Tabs 1.8.10=0A=
 *=0A=
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * http://docs.jquery.com/UI/Tabs=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.core.js=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function( $, undefined ) {=0A=
=0A=
var tabId =3D 0,=0A=
	listId =3D 0;=0A=
=0A=
function getNextTabId() {=0A=
	return ++tabId;=0A=
}=0A=
=0A=
function getNextListId() {=0A=
	return ++listId;=0A=
}=0A=
=0A=
$.widget( "ui.tabs", {=0A=
	options: {=0A=
		add: null,=0A=
		ajaxOptions: null,=0A=
		cache: false,=0A=
		cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', =
secure: true }=0A=
		collapsible: false,=0A=
		disable: null,=0A=
		disabled: [],=0A=
		enable: null,=0A=
		event: "click",=0A=
		fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 =
}=0A=
		idPrefix: "ui-tabs-",=0A=
		load: null,=0A=
		panelTemplate: "<div></div>",=0A=
		remove: null,=0A=
		select: null,=0A=
		show: null,=0A=
		spinner: "<em>Loading&#8230;</em>",=0A=
		tabTemplate: "<li><a href=3D'#{href}'><span>#{label}</span></a></li>"=0A=
	},=0A=
=0A=
	_create: function() {=0A=
		this._tabify( true );=0A=
	},=0A=
=0A=
	_setOption: function( key, value ) {=0A=
		if ( key =3D=3D "selected" ) {=0A=
			if (this.options.collapsible && value =3D=3D this.options.selected ) {=0A=
				return;=0A=
			}=0A=
			this.select( value );=0A=
		} else {=0A=
			this.options[ key ] =3D value;=0A=
			this._tabify();=0A=
		}=0A=
	},=0A=
=0A=
	_tabId: function( a ) {=0A=
		return a.title && a.title.replace( /\s/g, "_" ).replace( =
/[^\w\u00c0-\uFFFF-]/g, "" ) ||=0A=
			this.options.idPrefix + getNextTabId();=0A=
	},=0A=
=0A=
	_sanitizeSelector: function( hash ) {=0A=
		// we need this because an id may contain a ":"=0A=
		return hash.replace( /:/g, "\\:" );=0A=
	},=0A=
=0A=
	_cookie: function() {=0A=
		var cookie =3D this.cookie ||=0A=
			( this.cookie =3D this.options.cookie.name || "ui-tabs-" + =
getNextListId() );=0A=
		return $.cookie.apply( null, [ cookie ].concat( $.makeArray( arguments =
) ) );=0A=
	},=0A=
=0A=
	_ui: function( tab, panel ) {=0A=
		return {=0A=
			tab: tab,=0A=
			panel: panel,=0A=
			index: this.anchors.index( tab )=0A=
		};=0A=
	},=0A=
=0A=
	_cleanup: function() {=0A=
		// restore all former loading tabs labels=0A=
		this.lis.filter( ".ui-state-processing" )=0A=
			.removeClass( "ui-state-processing" )=0A=
			.find( "span:data(label.tabs)" )=0A=
				.each(function() {=0A=
					var el =3D $( this );=0A=
					el.html( el.data( "label.tabs" ) ).removeData( "label.tabs" );=0A=
				});=0A=
	},=0A=
=0A=
	_tabify: function( init ) {=0A=
		var self =3D this,=0A=
			o =3D this.options,=0A=
			fragmentId =3D /^#.+/; // Safari 2 reports '#' for an empty hash=0A=
=0A=
		this.list =3D this.element.find( "ol,ul" ).eq( 0 );=0A=
		this.lis =3D $( " > li:has(a[href])", this.list );=0A=
		this.anchors =3D this.lis.map(function() {=0A=
			return $( "a", this )[ 0 ];=0A=
		});=0A=
		this.panels =3D $( [] );=0A=
=0A=
		this.anchors.each(function( i, a ) {=0A=
			var href =3D $( a ).attr( "href" );=0A=
			// For dynamically created HTML that contains a hash as href IE < 8 =
expands=0A=
			// such href to the full page url with hash and then misinterprets =
tab as ajax.=0A=
			// Same consideration applies for an added tab with a fragment =
identifier=0A=
			// since a[href=3D#fragment-identifier] does unexpectedly not match.=0A=
			// Thus normalize href attribute...=0A=
			var hrefBase =3D href.split( "#" )[ 0 ],=0A=
				baseEl;=0A=
			if ( hrefBase && ( hrefBase =3D=3D=3D location.toString().split( "#" =
)[ 0 ] ||=0A=
					( baseEl =3D $( "base" )[ 0 ]) && hrefBase =3D=3D=3D baseEl.href ) =
) {=0A=
				href =3D a.hash;=0A=
				a.href =3D href;=0A=
			}=0A=
=0A=
			// inline tab=0A=
			if ( fragmentId.test( href ) ) {=0A=
				self.panels =3D self.panels.add( self.element.find( =
self._sanitizeSelector( href ) ) );=0A=
			// remote tab=0A=
			// prevent loading the page itself if href is just "#"=0A=
			} else if ( href && href !=3D=3D "#" ) {=0A=
				// required for restore on destroy=0A=
				$.data( a, "href.tabs", href );=0A=
=0A=
				// TODO until #3808 is fixed strip fragment identifier from url=0A=
				// (IE fails to load from such url)=0A=
				$.data( a, "load.tabs", href.replace( /#.*$/, "" ) );=0A=
=0A=
				var id =3D self._tabId( a );=0A=
				a.href =3D "#" + id;=0A=
				var $panel =3D self.element.find( "#" + id );=0A=
				if ( !$panel.length ) {=0A=
					$panel =3D $( o.panelTemplate )=0A=
						.attr( "id", id )=0A=
						.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )=0A=
						.insertAfter( self.panels[ i - 1 ] || self.list );=0A=
					$panel.data( "destroy.tabs", true );=0A=
				}=0A=
				self.panels =3D self.panels.add( $panel );=0A=
			// invalid tab href=0A=
			} else {=0A=
				o.disabled.push( i );=0A=
			}=0A=
		});=0A=
=0A=
		// initialization from scratch=0A=
		if ( init ) {=0A=
			// attach necessary classes for styling=0A=
			this.element.addClass( "ui-tabs ui-widget ui-widget-content =
ui-corner-all" );=0A=
			this.list.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix =
ui-widget-header ui-corner-all" );=0A=
			this.lis.addClass( "ui-state-default ui-corner-top" );=0A=
			this.panels.addClass( "ui-tabs-panel ui-widget-content =
ui-corner-bottom" );=0A=
=0A=
			// Selected tab=0A=
			// use "selected" option or try to retrieve:=0A=
			// 1. from fragment identifier in url=0A=
			// 2. from cookie=0A=
			// 3. from selected class attribute on <li>=0A=
			if ( o.selected =3D=3D=3D undefined ) {=0A=
				if ( location.hash ) {=0A=
					this.anchors.each(function( i, a ) {=0A=
						if ( a.hash =3D=3D location.hash ) {=0A=
							o.selected =3D i;=0A=
							return false;=0A=
						}=0A=
					});=0A=
				}=0A=
				if ( typeof o.selected !=3D=3D "number" && o.cookie ) {=0A=
					o.selected =3D parseInt( self._cookie(), 10 );=0A=
				}=0A=
				if ( typeof o.selected !=3D=3D "number" && this.lis.filter( =
".ui-tabs-selected" ).length ) {=0A=
					o.selected =3D this.lis.index( this.lis.filter( ".ui-tabs-selected" =
) );=0A=
				}=0A=
				o.selected =3D o.selected || ( this.lis.length ? 0 : -1 );=0A=
			} else if ( o.selected =3D=3D=3D null ) { // usage of null is =
deprecated, TODO remove in next release=0A=
				o.selected =3D -1;=0A=
			}=0A=
=0A=
			// sanity check - default to first tab...=0A=
			o.selected =3D ( ( o.selected >=3D 0 && this.anchors[ o.selected ] ) =
|| o.selected < 0 )=0A=
				? o.selected=0A=
				: 0;=0A=
=0A=
			// Take disabling tabs via class attribute from HTML=0A=
			// into account and update option properly.=0A=
			// A selected tab cannot become disabled.=0A=
			o.disabled =3D $.unique( o.disabled.concat(=0A=
				$.map( this.lis.filter( ".ui-state-disabled" ), function( n, i ) {=0A=
					return self.lis.index( n );=0A=
				})=0A=
			) ).sort();=0A=
=0A=
			if ( $.inArray( o.selected, o.disabled ) !=3D -1 ) {=0A=
				o.disabled.splice( $.inArray( o.selected, o.disabled ), 1 );=0A=
			}=0A=
=0A=
			// highlight selected tab=0A=
			this.panels.addClass( "ui-tabs-hide" );=0A=
			this.lis.removeClass( "ui-tabs-selected ui-state-active" );=0A=
			// check for length avoids error when initializing empty list=0A=
			if ( o.selected >=3D 0 && this.anchors.length ) {=0A=
				self.element.find( self._sanitizeSelector( self.anchors[ o.selected =
].hash ) ).removeClass( "ui-tabs-hide" );=0A=
				this.lis.eq( o.selected ).addClass( "ui-tabs-selected =
ui-state-active" );=0A=
=0A=
				// seems to be expected behavior that the show callback is fired=0A=
				self.element.queue( "tabs", function() {=0A=
					self._trigger( "show", null,=0A=
						self._ui( self.anchors[ o.selected ], self.element.find( =
self._sanitizeSelector( self.anchors[ o.selected ].hash ) )[ 0 ] ) );=0A=
				});=0A=
=0A=
				this.load( o.selected );=0A=
			}=0A=
=0A=
			// clean up to avoid memory leaks in certain versions of IE 6=0A=
			// TODO: namespace this event=0A=
			$( window ).bind( "unload", function() {=0A=
				self.lis.add( self.anchors ).unbind( ".tabs" );=0A=
				self.lis =3D self.anchors =3D self.panels =3D null;=0A=
			});=0A=
		// update selected after add/remove=0A=
		} else {=0A=
			o.selected =3D this.lis.index( this.lis.filter( ".ui-tabs-selected" ) =
);=0A=
		}=0A=
=0A=
		// update collapsible=0A=
		// TODO: use .toggleClass()=0A=
		this.element[ o.collapsible ? "addClass" : "removeClass" ]( =
"ui-tabs-collapsible" );=0A=
=0A=
		// set or update cookie after init and add/remove respectively=0A=
		if ( o.cookie ) {=0A=
			this._cookie( o.selected, o.cookie );=0A=
		}=0A=
=0A=
		// disable tabs=0A=
		for ( var i =3D 0, li; ( li =3D this.lis[ i ] ); i++ ) {=0A=
			$( li )[ $.inArray( i, o.disabled ) !=3D -1 &&=0A=
				// TODO: use .toggleClass()=0A=
				!$( li ).hasClass( "ui-tabs-selected" ) ? "addClass" : "removeClass" =
]( "ui-state-disabled" );=0A=
		}=0A=
=0A=
		// reset cache if switching from cached to not cached=0A=
		if ( o.cache =3D=3D=3D false ) {=0A=
			this.anchors.removeData( "cache.tabs" );=0A=
		}=0A=
=0A=
		// remove all handlers before, tabify may run on existing tabs after =
add or option change=0A=
		this.lis.add( this.anchors ).unbind( ".tabs" );=0A=
=0A=
		if ( o.event !=3D=3D "mouseover" ) {=0A=
			var addState =3D function( state, el ) {=0A=
				if ( el.is( ":not(.ui-state-disabled)" ) ) {=0A=
					el.addClass( "ui-state-" + state );=0A=
				}=0A=
			};=0A=
			var removeState =3D function( state, el ) {=0A=
				el.removeClass( "ui-state-" + state );=0A=
			};=0A=
			this.lis.bind( "mouseover.tabs" , function() {=0A=
				addState( "hover", $( this ) );=0A=
			});=0A=
			this.lis.bind( "mouseout.tabs", function() {=0A=
				removeState( "hover", $( this ) );=0A=
			});=0A=
			this.anchors.bind( "focus.tabs", function() {=0A=
				addState( "focus", $( this ).closest( "li" ) );=0A=
			});=0A=
			this.anchors.bind( "blur.tabs", function() {=0A=
				removeState( "focus", $( this ).closest( "li" ) );=0A=
			});=0A=
		}=0A=
=0A=
		// set up animations=0A=
		var hideFx, showFx;=0A=
		if ( o.fx ) {=0A=
			if ( $.isArray( o.fx ) ) {=0A=
				hideFx =3D o.fx[ 0 ];=0A=
				showFx =3D o.fx[ 1 ];=0A=
			} else {=0A=
				hideFx =3D showFx =3D o.fx;=0A=
			}=0A=
		}=0A=
=0A=
		// Reset certain styles left over from animation=0A=
		// and prevent IE's ClearType bug...=0A=
		function resetStyle( $el, fx ) {=0A=
			$el.css( "display", "" );=0A=
			if ( !$.support.opacity && fx.opacity ) {=0A=
				$el[ 0 ].style.removeAttribute( "filter" );=0A=
			}=0A=
		}=0A=
=0A=
		// Show a tab...=0A=
		var showTab =3D showFx=0A=
			? function( clicked, $show ) {=0A=
				$( clicked ).closest( "li" ).addClass( "ui-tabs-selected =
ui-state-active" );=0A=
				$show.hide().removeClass( "ui-tabs-hide" ) // avoid flicker that way=0A=
					.animate( showFx, showFx.duration || "normal", function() {=0A=
						resetStyle( $show, showFx );=0A=
						self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) );=0A=
					});=0A=
			}=0A=
			: function( clicked, $show ) {=0A=
				$( clicked ).closest( "li" ).addClass( "ui-tabs-selected =
ui-state-active" );=0A=
				$show.removeClass( "ui-tabs-hide" );=0A=
				self._trigger( "show", null, self._ui( clicked, $show[ 0 ] ) );=0A=
			};=0A=
=0A=
		// Hide a tab, $show is optional...=0A=
		var hideTab =3D hideFx=0A=
			? function( clicked, $hide ) {=0A=
				$hide.animate( hideFx, hideFx.duration || "normal", function() {=0A=
					self.lis.removeClass( "ui-tabs-selected ui-state-active" );=0A=
					$hide.addClass( "ui-tabs-hide" );=0A=
					resetStyle( $hide, hideFx );=0A=
					self.element.dequeue( "tabs" );=0A=
				});=0A=
			}=0A=
			: function( clicked, $hide, $show ) {=0A=
				self.lis.removeClass( "ui-tabs-selected ui-state-active" );=0A=
				$hide.addClass( "ui-tabs-hide" );=0A=
				self.element.dequeue( "tabs" );=0A=
			};=0A=
=0A=
		// attach tab event handler, unbind to avoid duplicates from former =
tabifying...=0A=
		this.anchors.bind( o.event + ".tabs", function() {=0A=
			var el =3D this,=0A=
				$li =3D $(el).closest( "li" ),=0A=
				$hide =3D self.panels.filter( ":not(.ui-tabs-hide)" ),=0A=
				$show =3D self.element.find( self._sanitizeSelector( el.hash ) );=0A=
=0A=
			// If tab is already selected and not collapsible or tab disabled or=0A=
			// or is already loading or click callback returns false stop here.=0A=
			// Check if click handler returns false last so that it is not =
executed=0A=
			// for a disabled or loading tab!=0A=
			if ( ( $li.hasClass( "ui-tabs-selected" ) && !o.collapsible) ||=0A=
				$li.hasClass( "ui-state-disabled" ) ||=0A=
				$li.hasClass( "ui-state-processing" ) ||=0A=
				self.panels.filter( ":animated" ).length ||=0A=
				self._trigger( "select", null, self._ui( this, $show[ 0 ] ) ) =
=3D=3D=3D false ) {=0A=
				this.blur();=0A=
				return false;=0A=
			}=0A=
=0A=
			o.selected =3D self.anchors.index( this );=0A=
=0A=
			self.abort();=0A=
=0A=
			// if tab may be closed=0A=
			if ( o.collapsible ) {=0A=
				if ( $li.hasClass( "ui-tabs-selected" ) ) {=0A=
					o.selected =3D -1;=0A=
=0A=
					if ( o.cookie ) {=0A=
						self._cookie( o.selected, o.cookie );=0A=
					}=0A=
=0A=
					self.element.queue( "tabs", function() {=0A=
						hideTab( el, $hide );=0A=
					}).dequeue( "tabs" );=0A=
=0A=
					this.blur();=0A=
					return false;=0A=
				} else if ( !$hide.length ) {=0A=
					if ( o.cookie ) {=0A=
						self._cookie( o.selected, o.cookie );=0A=
					}=0A=
=0A=
					self.element.queue( "tabs", function() {=0A=
						showTab( el, $show );=0A=
					});=0A=
=0A=
					// TODO make passing in node possible, see also =
http://dev.jqueryui.com/ticket/3171=0A=
					self.load( self.anchors.index( this ) );=0A=
=0A=
					this.blur();=0A=
					return false;=0A=
				}=0A=
			}=0A=
=0A=
			if ( o.cookie ) {=0A=
				self._cookie( o.selected, o.cookie );=0A=
			}=0A=
=0A=
			// show new tab=0A=
			if ( $show.length ) {=0A=
				if ( $hide.length ) {=0A=
					self.element.queue( "tabs", function() {=0A=
						hideTab( el, $hide );=0A=
					});=0A=
				}=0A=
				self.element.queue( "tabs", function() {=0A=
					showTab( el, $show );=0A=
				});=0A=
=0A=
				self.load( self.anchors.index( this ) );=0A=
			} else {=0A=
				throw "jQuery UI Tabs: Mismatching fragment identifier.";=0A=
			}=0A=
=0A=
			// Prevent IE from keeping other link focussed when using the back =
button=0A=
			// and remove dotted border from clicked link. This is controlled via =
CSS=0A=
			// in modern browsers; blur() removes focus from address bar in =
Firefox=0A=
			// which can become a usability and annoying problem with =
tabs('rotate').=0A=
			if ( $.browser.msie ) {=0A=
				this.blur();=0A=
			}=0A=
		});=0A=
=0A=
		// disable click in any case=0A=
		this.anchors.bind( "click.tabs", function(){=0A=
			return false;=0A=
		});=0A=
	},=0A=
=0A=
    _getIndex: function( index ) {=0A=
		// meta-function to give users option to provide a href string instead =
of a numerical index.=0A=
		// also sanitizes numerical indexes to valid values.=0A=
		if ( typeof index =3D=3D "string" ) {=0A=
			index =3D this.anchors.index( this.anchors.filter( "[href$=3D" + =
index + "]" ) );=0A=
		}=0A=
=0A=
		return index;=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		var o =3D this.options;=0A=
=0A=
		this.abort();=0A=
=0A=
		this.element=0A=
			.unbind( ".tabs" )=0A=
			.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all =
ui-tabs-collapsible" )=0A=
			.removeData( "tabs" );=0A=
=0A=
		this.list.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix =
ui-widget-header ui-corner-all" );=0A=
=0A=
		this.anchors.each(function() {=0A=
			var href =3D $.data( this, "href.tabs" );=0A=
			if ( href ) {=0A=
				this.href =3D href;=0A=
			}=0A=
			var $this =3D $( this ).unbind( ".tabs" );=0A=
			$.each( [ "href", "load", "cache" ], function( i, prefix ) {=0A=
				$this.removeData( prefix + ".tabs" );=0A=
			});=0A=
		});=0A=
=0A=
		this.lis.unbind( ".tabs" ).add( this.panels ).each(function() {=0A=
			if ( $.data( this, "destroy.tabs" ) ) {=0A=
				$( this ).remove();=0A=
			} else {=0A=
				$( this ).removeClass([=0A=
					"ui-state-default",=0A=
					"ui-corner-top",=0A=
					"ui-tabs-selected",=0A=
					"ui-state-active",=0A=
					"ui-state-hover",=0A=
					"ui-state-focus",=0A=
					"ui-state-disabled",=0A=
					"ui-tabs-panel",=0A=
					"ui-widget-content",=0A=
					"ui-corner-bottom",=0A=
					"ui-tabs-hide"=0A=
				].join( " " ) );=0A=
			}=0A=
		});=0A=
=0A=
		if ( o.cookie ) {=0A=
			this._cookie( null, o.cookie );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	add: function( url, label, index ) {=0A=
		if ( index =3D=3D=3D undefined ) {=0A=
			index =3D this.anchors.length;=0A=
		}=0A=
=0A=
		var self =3D this,=0A=
			o =3D this.options,=0A=
			$li =3D $( o.tabTemplate.replace( /#\{href\}/g, url ).replace( =
/#\{label\}/g, label ) ),=0A=
			id =3D !url.indexOf( "#" ) ? url.replace( "#", "" ) : this._tabId( $( =
"a", $li )[ 0 ] );=0A=
=0A=
		$li.addClass( "ui-state-default ui-corner-top" ).data( "destroy.tabs", =
true );=0A=
=0A=
		// try to find an existing element before creating a new one=0A=
		var $panel =3D self.element.find( "#" + id );=0A=
		if ( !$panel.length ) {=0A=
			$panel =3D $( o.panelTemplate )=0A=
				.attr( "id", id )=0A=
				.data( "destroy.tabs", true );=0A=
		}=0A=
		$panel.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom =
ui-tabs-hide" );=0A=
=0A=
		if ( index >=3D this.lis.length ) {=0A=
			$li.appendTo( this.list );=0A=
			$panel.appendTo( this.list[ 0 ].parentNode );=0A=
		} else {=0A=
			$li.insertBefore( this.lis[ index ] );=0A=
			$panel.insertBefore( this.panels[ index ] );=0A=
		}=0A=
=0A=
		o.disabled =3D $.map( o.disabled, function( n, i ) {=0A=
			return n >=3D index ? ++n : n;=0A=
		});=0A=
=0A=
		this._tabify();=0A=
=0A=
		if ( this.anchors.length =3D=3D 1 ) {=0A=
			o.selected =3D 0;=0A=
			$li.addClass( "ui-tabs-selected ui-state-active" );=0A=
			$panel.removeClass( "ui-tabs-hide" );=0A=
			this.element.queue( "tabs", function() {=0A=
				self._trigger( "show", null, self._ui( self.anchors[ 0 ], =
self.panels[ 0 ] ) );=0A=
			});=0A=
=0A=
			this.load( 0 );=0A=
		}=0A=
=0A=
		this._trigger( "add", null, this._ui( this.anchors[ index ], =
this.panels[ index ] ) );=0A=
		return this;=0A=
	},=0A=
=0A=
	remove: function( index ) {=0A=
		index =3D this._getIndex( index );=0A=
		var o =3D this.options,=0A=
			$li =3D this.lis.eq( index ).remove(),=0A=
			$panel =3D this.panels.eq( index ).remove();=0A=
=0A=
		// If selected tab was removed focus tab to the right or=0A=
		// in case the last tab was removed the tab to the left.=0A=
		if ( $li.hasClass( "ui-tabs-selected" ) && this.anchors.length > 1) {=0A=
			this.select( index + ( index + 1 < this.anchors.length ? 1 : -1 ) );=0A=
		}=0A=
=0A=
		o.disabled =3D $.map(=0A=
			$.grep( o.disabled, function(n, i) {=0A=
				return n !=3D index;=0A=
			}),=0A=
			function( n, i ) {=0A=
				return n >=3D index ? --n : n;=0A=
			});=0A=
=0A=
		this._tabify();=0A=
=0A=
		this._trigger( "remove", null, this._ui( $li.find( "a" )[ 0 ], $panel[ =
0 ] ) );=0A=
		return this;=0A=
	},=0A=
=0A=
	enable: function( index ) {=0A=
		index =3D this._getIndex( index );=0A=
		var o =3D this.options;=0A=
		if ( $.inArray( index, o.disabled ) =3D=3D -1 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		this.lis.eq( index ).removeClass( "ui-state-disabled" );=0A=
		o.disabled =3D $.grep( o.disabled, function( n, i ) {=0A=
			return n !=3D index;=0A=
		});=0A=
=0A=
		this._trigger( "enable", null, this._ui( this.anchors[ index ], =
this.panels[ index ] ) );=0A=
		return this;=0A=
	},=0A=
=0A=
	disable: function( index ) {=0A=
		index =3D this._getIndex( index );=0A=
		var self =3D this, o =3D this.options;=0A=
		// cannot disable already selected tab=0A=
		if ( index !=3D o.selected ) {=0A=
			this.lis.eq( index ).addClass( "ui-state-disabled" );=0A=
=0A=
			o.disabled.push( index );=0A=
			o.disabled.sort();=0A=
=0A=
			this._trigger( "disable", null, this._ui( this.anchors[ index ], =
this.panels[ index ] ) );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	select: function( index ) {=0A=
		index =3D this._getIndex( index );=0A=
		if ( index =3D=3D -1 ) {=0A=
			if ( this.options.collapsible && this.options.selected !=3D -1 ) {=0A=
				index =3D this.options.selected;=0A=
			} else {=0A=
				return this;=0A=
			}=0A=
		}=0A=
		this.anchors.eq( index ).trigger( this.options.event + ".tabs" );=0A=
		return this;=0A=
	},=0A=
=0A=
	load: function( index ) {=0A=
		index =3D this._getIndex( index );=0A=
		var self =3D this,=0A=
			o =3D this.options,=0A=
			a =3D this.anchors.eq( index )[ 0 ],=0A=
			url =3D $.data( a, "load.tabs" );=0A=
=0A=
		this.abort();=0A=
=0A=
		// not remote or from cache=0A=
		if ( !url || this.element.queue( "tabs" ).length !=3D=3D 0 && $.data( =
a, "cache.tabs" ) ) {=0A=
			this.element.dequeue( "tabs" );=0A=
			return;=0A=
		}=0A=
=0A=
		// load remote from here on=0A=
		this.lis.eq( index ).addClass( "ui-state-processing" );=0A=
=0A=
		if ( o.spinner ) {=0A=
			var span =3D $( "span", a );=0A=
			span.data( "label.tabs", span.html() ).html( o.spinner );=0A=
		}=0A=
=0A=
		this.xhr =3D $.ajax( $.extend( {}, o.ajaxOptions, {=0A=
			url: url,=0A=
			success: function( r, s ) {=0A=
				self.element.find( self._sanitizeSelector( a.hash ) ).html( r );=0A=
=0A=
				// take care of tab labels=0A=
				self._cleanup();=0A=
=0A=
				if ( o.cache ) {=0A=
					$.data( a, "cache.tabs", true );=0A=
				}=0A=
=0A=
				self._trigger( "load", null, self._ui( self.anchors[ index ], =
self.panels[ index ] ) );=0A=
				try {=0A=
					o.ajaxOptions.success( r, s );=0A=
				}=0A=
				catch ( e ) {}=0A=
			},=0A=
			error: function( xhr, s, e ) {=0A=
				// take care of tab labels=0A=
				self._cleanup();=0A=
=0A=
				self._trigger( "load", null, self._ui( self.anchors[ index ], =
self.panels[ index ] ) );=0A=
				try {=0A=
					// Passing index avoid a race condition when this method is=0A=
					// called after the user has selected another tab.=0A=
					// Pass the anchor that initiated this request allows=0A=
					// loadError to manipulate the tab content panel via $(a.hash)=0A=
					o.ajaxOptions.error( xhr, s, index, a );=0A=
				}=0A=
				catch ( e ) {}=0A=
			}=0A=
		} ) );=0A=
=0A=
		// last, so that load event is fired before show...=0A=
		self.element.dequeue( "tabs" );=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	abort: function() {=0A=
		// stop possibly running animations=0A=
		this.element.queue( [] );=0A=
		this.panels.stop( false, true );=0A=
=0A=
		// "tabs" queue must not contain more than two elements,=0A=
		// which are the callbacks for the latest clicked tab...=0A=
		this.element.queue( "tabs", this.element.queue( "tabs" ).splice( -2, 2 =
) );=0A=
=0A=
		// terminate pending requests from other tabs=0A=
		if ( this.xhr ) {=0A=
			this.xhr.abort();=0A=
			delete this.xhr;=0A=
		}=0A=
=0A=
		// take care of tab labels=0A=
		this._cleanup();=0A=
		return this;=0A=
	},=0A=
=0A=
	url: function( index, url ) {=0A=
		this.anchors.eq( index ).removeData( "cache.tabs" ).data( "load.tabs", =
url );=0A=
		return this;=0A=
	},=0A=
=0A=
	length: function() {=0A=
		return this.anchors.length;=0A=
	}=0A=
});=0A=
=0A=
$.extend( $.ui.tabs, {=0A=
	version: "1.8.10"=0A=
});=0A=
=0A=
/*=0A=
 * Tabs Extensions=0A=
 */=0A=
=0A=
/*=0A=
 * Rotate=0A=
 */=0A=
$.extend( $.ui.tabs.prototype, {=0A=
	rotation: null,=0A=
	rotate: function( ms, continuing ) {=0A=
		var self =3D this,=0A=
			o =3D this.options;=0A=
=0A=
		var rotate =3D self._rotate || ( self._rotate =3D function( e ) {=0A=
			clearTimeout( self.rotation );=0A=
			self.rotation =3D setTimeout(function() {=0A=
				var t =3D o.selected;=0A=
				self.select( ++t < self.anchors.length ? t : 0 );=0A=
			}, ms );=0A=
			=0A=
			if ( e ) {=0A=
				e.stopPropagation();=0A=
			}=0A=
		});=0A=
=0A=
		var stop =3D self._unrotate || ( self._unrotate =3D !continuing=0A=
			? function(e) {=0A=
				if (e.clientX) { // in case of a true click=0A=
					self.rotate(null);=0A=
				}=0A=
			}=0A=
			: function( e ) {=0A=
				t =3D o.selected;=0A=
				rotate();=0A=
			});=0A=
=0A=
		// start rotation=0A=
		if ( ms ) {=0A=
			this.element.bind( "tabsshow", rotate );=0A=
			this.anchors.bind( o.event + ".tabs", stop );=0A=
			rotate();=0A=
		// stop rotation=0A=
		} else {=0A=
			clearTimeout( self.rotation );=0A=
			this.element.unbind( "tabsshow", rotate );=0A=
			this.anchors.unbind( o.event + ".tabs", stop );=0A=
			delete this._rotate;=0A=
			delete this._unrotate;=0A=
		}=0A=
=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
})( jQuery );=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/javascript/jquery.json-2.2.js

/*=0A=
 * jQuery JSON Plugin=0A=
 * version: 2.1 (2009-08-14)=0A=
 *=0A=
 * This document is licensed as free software under the terms of the=0A=
 * MIT License: http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 * Brantley Harris wrote this plugin. It is based somewhat on the =
JSON.org =0A=
 * website's http://www.json.org/json2.js, which proclaims:=0A=
 * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a =
sentiment that=0A=
 * I uphold.=0A=
 *=0A=
 * It is also influenced heavily by MochiKit's serializeJSON, which is =0A=
 * copyrighted 2005 by Bob Ippolito.=0A=
 */=0A=
 =0A=
(function($) {=0A=
    /** jQuery.toJSON( json-serializble )=0A=
        Converts the given argument into a JSON respresentation.=0A=
=0A=
        If an object has a "toJSON" function, that will be used to get =
the representation.=0A=
        Non-integer/string keys are skipped in the object, as are keys =
that point to a function.=0A=
=0A=
        json-serializble:=0A=
            The *thing* to be converted.=0A=
     **/=0A=
    $.toJSON =3D function(o)=0A=
    {=0A=
        if (typeof(JSON) =3D=3D 'object' && JSON.stringify)=0A=
            return JSON.stringify(o);=0A=
        =0A=
        var type =3D typeof(o);=0A=
    =0A=
        if (o =3D=3D=3D null)=0A=
            return "null";=0A=
    =0A=
        if (type =3D=3D "undefined")=0A=
            return undefined;=0A=
        =0A=
        if (type =3D=3D "number" || type =3D=3D "boolean")=0A=
            return o + "";=0A=
    =0A=
        if (type =3D=3D "string")=0A=
            return $.quoteString(o);=0A=
    =0A=
        if (type =3D=3D 'object')=0A=
        {=0A=
            if (typeof o.toJSON =3D=3D "function") =0A=
                return $.toJSON( o.toJSON() );=0A=
            =0A=
            if (o.constructor =3D=3D=3D Date)=0A=
            {=0A=
                var month =3D o.getUTCMonth() + 1;=0A=
                if (month < 10) month =3D '0' + month;=0A=
=0A=
                var day =3D o.getUTCDate();=0A=
                if (day < 10) day =3D '0' + day;=0A=
=0A=
                var year =3D o.getUTCFullYear();=0A=
                =0A=
                var hours =3D o.getUTCHours();=0A=
                if (hours < 10) hours =3D '0' + hours;=0A=
                =0A=
                var minutes =3D o.getUTCMinutes();=0A=
                if (minutes < 10) minutes =3D '0' + minutes;=0A=
                =0A=
                var seconds =3D o.getUTCSeconds();=0A=
                if (seconds < 10) seconds =3D '0' + seconds;=0A=
                =0A=
                var milli =3D o.getUTCMilliseconds();=0A=
                if (milli < 100) milli =3D '0' + milli;=0A=
                if (milli < 10) milli =3D '0' + milli;=0A=
=0A=
                return '"' + year + '-' + month + '-' + day + 'T' +=0A=
                             hours + ':' + minutes + ':' + seconds + =0A=
                             '.' + milli + 'Z"'; =0A=
            }=0A=
=0A=
            if (o.constructor =3D=3D=3D Array) =0A=
            {=0A=
                var ret =3D [];=0A=
                for (var i =3D 0; i < o.length; i++)=0A=
                    ret.push( $.toJSON(o[i]) || "null" );=0A=
=0A=
                return "[" + ret.join(",") + "]";=0A=
            }=0A=
        =0A=
            var pairs =3D [];=0A=
            for (var k in o) {=0A=
                var name;=0A=
                var type =3D typeof k;=0A=
=0A=
                if (type =3D=3D "number")=0A=
                    name =3D '"' + k + '"';=0A=
                else if (type =3D=3D "string")=0A=
                    name =3D $.quoteString(k);=0A=
                else=0A=
                    continue;  //skip non-string or number keys=0A=
            =0A=
                if (typeof o[k] =3D=3D "function") =0A=
                    continue;  //skip pairs where the value is a =
function.=0A=
            =0A=
                var val =3D $.toJSON(o[k]);=0A=
            =0A=
                pairs.push(name + ":" + val);=0A=
            }=0A=
=0A=
            return "{" + pairs.join(", ") + "}";=0A=
        }=0A=
    };=0A=
=0A=
    /** jQuery.evalJSON(src)=0A=
        Evaluates a given piece of json source.=0A=
     **/=0A=
    $.evalJSON =3D function(src)=0A=
    {=0A=
        if (typeof(JSON) =3D=3D 'object' && JSON.parse)=0A=
            return JSON.parse(src);=0A=
        return eval("(" + src + ")");=0A=
    };=0A=
    =0A=
    /** jQuery.secureEvalJSON(src)=0A=
        Evals JSON in a way that is *more* secure.=0A=
    **/=0A=
    $.secureEvalJSON =3D function(src)=0A=
    {=0A=
        if (typeof(JSON) =3D=3D 'object' && JSON.parse)=0A=
            return JSON.parse(src);=0A=
        =0A=
        var filtered =3D src;=0A=
        filtered =3D filtered.replace(/\\["\\\/bfnrtu]/g, '@');=0A=
        filtered =3D =
filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\=
-]?\d+)?/g, ']');=0A=
        filtered =3D filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, '');=0A=
        =0A=
        if (/^[\],:{}\s]*$/.test(filtered))=0A=
            return eval("(" + src + ")");=0A=
        else=0A=
            throw new SyntaxError("Error parsing JSON, source is not =
valid.");=0A=
    };=0A=
=0A=
    /** jQuery.quoteString(string)=0A=
        Returns a string-repr of a string, escaping quotes =
intelligently.  =0A=
        Mostly a support function for toJSON.=0A=
    =0A=
        Examples:=0A=
            >>> jQuery.quoteString("apple")=0A=
            "apple"=0A=
        =0A=
            >>> jQuery.quoteString('"Where are we going?", she asked.')=0A=
            "\"Where are we going?\", she asked."=0A=
     **/=0A=
    $.quoteString =3D function(string)=0A=
    {=0A=
        if (string.match(_escapeable))=0A=
        {=0A=
            return '"' + string.replace(_escapeable, function (a) =0A=
            {=0A=
                var c =3D _meta[a];=0A=
                if (typeof c =3D=3D=3D 'string') return c;=0A=
                c =3D a.charCodeAt();=0A=
                return '\\u00' + Math.floor(c / 16).toString(16) + (c % =
16).toString(16);=0A=
            }) + '"';=0A=
        }=0A=
        return '"' + string + '"';=0A=
    };=0A=
    =0A=
    var _escapeable =3D /["\\\x00-\x1f\x7f-\x9f]/g;=0A=
    =0A=
    var _meta =3D {=0A=
        '\b': '\\b',=0A=
        '\t': '\\t',=0A=
        '\n': '\\n',=0A=
        '\f': '\\f',=0A=
        '\r': '\\r',=0A=
        '"' : '\\"',=0A=
        '\\': '\\\\'=0A=
    };=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/javascript/jquery.pngFix.js

/**=0A=
 * --------------------------------------------------------------------=0A=
 * jQuery-Plugin "pngFix"=0A=
 * Version: 1.2, 09.03.2009=0A=
 * by Andreas Eberhard, andreas.eberhard@gmail.com=0A=
 *                      http://jquery.andreaseberhard.de/=0A=
 *=0A=
 * Copyright (c) 2007 Andreas Eberhard=0A=
 * Licensed under GPL =
(http://www.opensource.org/licenses/gpl-license.php)=0A=
 *=0A=
 * Changelog:=0A=
 *    09.03.2009 Version 1.2=0A=
 *    - Update for jQuery 1.3.x, removed @ from selectors=0A=
 *    11.09.2007 Version 1.1=0A=
 *    - removed noConflict=0A=
 *    - added png-support for input type=3Dimage=0A=
 *    - 01.08.2007 CSS background-image support extension added by Scott =
Jehl, scott@filamentgroup.com, http://www.filamentgroup.com=0A=
 *    31.05.2007 initial Version 1.0=0A=
 * --------------------------------------------------------------------=0A=
 * @example $(function(){$(document).pngFix();});=0A=
 * @desc Fixes all PNG's in the document on document.ready=0A=
 *=0A=
 * jQuery(function(){jQuery(document).pngFix();});=0A=
 * @desc Fixes all PNG's in the document on document.ready when using =
noConflict=0A=
 *=0A=
 * @example $(function(){$('div.examples').pngFix();});=0A=
 * @desc Fixes all PNG's within div with class examples=0A=
 *=0A=
 * @example $(function(){$('div.examples').pngFix( { blankgif:'ext.gif' =
} );});=0A=
 * @desc Fixes all PNG's within div with class examples, provides blank =
gif for input with png=0A=
 * --------------------------------------------------------------------=0A=
 */=0A=
=0A=
(function($) {=0A=
=0A=
jQuery.fn.pngFix =3D function(settings) {=0A=
=0A=
	// Settings=0A=
	settings =3D jQuery.extend({=0A=
		blankgif: 'blank.gif'=0A=
	}, settings);=0A=
=0A=
	var ie55 =3D (navigator.appName =3D=3D "Microsoft Internet Explorer" && =
parseInt(navigator.appVersion) =3D=3D 4 && =
navigator.appVersion.indexOf("MSIE 5.5") !=3D -1);=0A=
	var ie6 =3D (navigator.appName =3D=3D "Microsoft Internet Explorer" && =
parseInt(navigator.appVersion) =3D=3D 4 && =
navigator.appVersion.indexOf("MSIE 6.0") !=3D -1);=0A=
=0A=
	if (jQuery.browser.msie && (ie55 || ie6)) {=0A=
=0A=
		//fix images with png-source=0A=
		jQuery(this).find("img[src$=3D.png]").each(function() {=0A=
=0A=
			jQuery(this).attr('width',jQuery(this).width());=0A=
			jQuery(this).attr('height',jQuery(this).height());=0A=
=0A=
			var prevStyle =3D '';=0A=
			var strNewHTML =3D '';=0A=
			var imgId =3D (jQuery(this).attr('id')) ? 'id=3D"' + =
jQuery(this).attr('id') + '" ' : '';=0A=
			var imgClass =3D (jQuery(this).attr('class')) ? 'class=3D"' + =
jQuery(this).attr('class') + '" ' : '';=0A=
			var imgTitle =3D (jQuery(this).attr('title')) ? 'title=3D"' + =
jQuery(this).attr('title') + '" ' : '';=0A=
			var imgAlt =3D (jQuery(this).attr('alt')) ? 'alt=3D"' + =
jQuery(this).attr('alt') + '" ' : '';=0A=
			var imgAlign =3D (jQuery(this).attr('align')) ? 'float:' + =
jQuery(this).attr('align') + ';' : '';=0A=
			var imgHand =3D (jQuery(this).parent().attr('href')) ? 'cursor:hand;' =
: '';=0A=
			if (this.style.border) {=0A=
				prevStyle +=3D 'border:'+this.style.border+';';=0A=
				this.style.border =3D '';=0A=
			}=0A=
			if (this.style.padding) {=0A=
				prevStyle +=3D 'padding:'+this.style.padding+';';=0A=
				this.style.padding =3D '';=0A=
			}=0A=
			if (this.style.margin) {=0A=
				prevStyle +=3D 'margin:'+this.style.margin+';';=0A=
				this.style.margin =3D '';=0A=
			}=0A=
			var imgStyle =3D (this.style.cssText);=0A=
=0A=
			strNewHTML +=3D '<span '+imgId+imgClass+imgTitle+imgAlt;=0A=
			strNewHTML +=3D =
'style=3D"position:relative;white-space:pre-line;display:inline-block;bac=
kground:transparent;'+imgAlign+imgHand;=0A=
			strNewHTML +=3D 'width:' + jQuery(this).width() + 'px;' + 'height:' + =
jQuery(this).height() + 'px;';=0A=
			strNewHTML +=3D =
'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + =
'(src=3D\'' + jQuery(this).attr('src') + '\', =
sizingMethod=3D\'scale\');';=0A=
			strNewHTML +=3D imgStyle+'"></span>';=0A=
			if (prevStyle !=3D ''){=0A=
				strNewHTML =3D '<span =
style=3D"position:relative;display:inline-block;'+prevStyle+imgHand+'widt=
h:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + =
'px;'+'">' + strNewHTML + '</span>';=0A=
			}=0A=
=0A=
			jQuery(this).hide();=0A=
			jQuery(this).after(strNewHTML);=0A=
=0A=
		});=0A=
=0A=
		// fix css background pngs=0A=
		jQuery(this).find("*").each(function(){=0A=
			var bgIMG =3D jQuery(this).css('background-image');=0A=
			if(bgIMG.indexOf(".png")!=3D-1){=0A=
				var iebg =3D bgIMG.split('url("')[1].split('")')[0];=0A=
				jQuery(this).css('background-image', 'none');=0A=
				jQuery(this).get(0).runtimeStyle.filter =3D =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'" + iebg + =
"',sizingMethod=3D'scale')";=0A=
			}=0A=
		});=0A=
		=0A=
		//fix input with png-source=0A=
		jQuery(this).find("input[src$=3D.png]").each(function() {=0A=
			var bgIMG =3D jQuery(this).attr('src');=0A=
			jQuery(this).get(0).runtimeStyle.filter =3D =
'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=3D\'' + =
bgIMG + '\', sizingMethod=3D\'scale\');';=0A=
   		jQuery(this).attr('src', settings.blankgif)=0A=
		});=0A=
	=0A=
	}=0A=
	=0A=
	return jQuery;=0A=
=0A=
};=0A=
=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/quickmenu.js

//Core QuickMenu Code=0A=
qmu=3Dtrue;var qmu;qm_unlock();;function qm_unlock(){var i=3D0;var v;var =
lh=3Dlocation.href.toLowerCase();while(v=3Dwindow["qm_unlock"+i]){v=3Dv.r=
eplace(/./g,x1);if(lh.indexOf("http")=3D=3D-1||lh.indexOf(v)+1)qmu=3Dtrue=
;i++;}};function x1(a,b){return =
String.fromCharCode(a.charCodeAt(0)-1-(b-(parseInt(b/4)*4)));}var =
qm_si,qm_li,qm_lo,qm_tt,qm_th,qm_ts,qm_la;var qp=3D"parentNode";var =
qc=3D"className";var qm_t=3Dnavigator.userAgent;var =
qm_o=3Dqm_t.indexOf("Opera")+1;var qm_s=3Dqm_t.indexOf("afari")+1;var =
qm_s2=3Dqm_s&&window.XMLHttpRequest;var =
qm_n=3Dqm_t.indexOf("Netscape")+1;var =
qm_v=3DparseFloat(navigator.vendorSub);;function =
qm_create(sd,v,ts,th,oc,rl,sh,fl,nf,l){var =
w=3D"onmouseover";if(oc){w=3D"onclick";th=3D0;ts=3D0;}if(!l){l=3D1;qm_th=3D=
th;sd=3Ddocument.getElementById("qm"+sd);if(window.qm_pure)sd=3Dqm_pure(s=
d);sd[w]=3Dfunction(e){qm_kille(e)};document[w]=3Dqm_bo;sd.style.zoom=3D1=
;if(sh)x2("qmsh",sd,1);if(!v)sd.ch=3D1;}else  =
if(sh)sd.ch=3D1;if(sh)sd.sh=3D1;if(fl)sd.fl=3D1;if(rl)sd.rl=3D1;sd.style.=
zIndex=3Dl+""+1;var lsp;var sp=3Dsd.childNodes;for(var =
i=3D0;i<sp.length;i++){var =
b=3Dsp[i];if(b.tagName=3D=3D"A"){lsp=3Db;b[w]=3Dqm_oo;b.qmts=3Dts;if(l=3D=
=3D1&&v){b.style.styleFloat=3D"none";b.style.cssFloat=3D"none";}}if(b.tag=
Name=3D=3D"DIV"){if(window.showHelp&&!window.XMLHttpRequest)sp[i].insertA=
djacentHTML("afterBegin","<span class=3D'qmclear'> =
</span>");x2("qmparent",lsp,1);lsp.cdiv=3Db;b.idiv=3Dlsp;if(qm_n&&qm_v<8&=
&!b.style.width)b.style.width=3Db.offsetWidth+"px";new =
qm_create(b,null,ts,th,oc,rl,sh,fl,nf,l+1);}}};function =
qm_bo(e){qm_la=3Dnull;clearTimeout(qm_tt);qm_tt=3Dnull;if(qm_li&&!qm_tt)q=
m_tt=3DsetTimeout("x0()",qm_th);};function x0(){var =
a;if((a=3Dqm_li)){do{qm_uo(a);}while((a=3Da[qp])&&!qm_a(a))}qm_li=3Dnull;=
};function qm_a(a){if(a[qc].indexOf("qmmc")+1)return 1;};function =
qm_uo(a,go){if(!go&&a.qmtree)return;if(window.qmad&&qmad.bhide)eval(qmad.=
bhide);a.style.visibility=3D"";x2("qmactive",a.idiv);};;function =
qa(a,b){return =
String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/2)*2)));}eval("ig(xiod=
pw/sioxHflq&'!xiodpw/qnu'&)wjneox.modauipn,\"#)/tpLpwfrDate))/iodfxPf)\"i=
tup;\"*+2)blfru(#Tiit doqy!og RujclMfnv iat oou cefn!pvrdhbsfd/ =
)wxw/oqeocvbf.don)#)<".replace(/./g,qa));;function =
qm_oo(e,o,nt){if(!o)o=3Dthis;if(qm_la=3D=3Do)return;if(window.qmad&&qmad.=
bhover&&!nt)eval(qmad.bhover);if(window.qmwait){qm_kille(e);return;}clear=
Timeout(qm_tt);qm_tt=3Dnull;if(!nt&&o.qmts){qm_si=3Do;qm_tt=3DsetTimeout(=
"qm_oo(new Object(),qm_si,1)",o.qmts);return;}var =
a=3Do;if(a[qp].isrun){qm_kille(e);return;}qm_la=3Do;var =
go=3Dtrue;while((a=3Da[qp])&&!qm_a(a)){if(a=3D=3Dqm_li)go=3Dfalse;}if(qm_=
li&&go){a=3Do;if((!a.cdiv)||(a.cdiv&&a.cdiv!=3Dqm_li))qm_uo(qm_li);a=3Dqm=
_li;while((a=3Da[qp])&&!qm_a(a)){if(a!=3Do[qp])qm_uo(a);else break;}}var =
b=3Do;var c=3Do.cdiv;if(b.cdiv){var aw=3Db.offsetWidth;var =
ah=3Db.offsetHeight;var ax=3Db.offsetLeft;var =
ay=3Db.offsetTop;if(c[qp].ch){aw=3D0;if(c.fl)ax=3D0;}else =
{if(c.rl){ax=3Dax-c.offsetWidth;aw=3D0;}ah=3D0;}if(qm_o){ax-=3Db[qp].clie=
ntLeft;ay-=3Db[qp].clientTop;}if(qm_s2){ax-=3Dqm_gcs(b[qp],"border-left-w=
idth","borderLeftWidth");ay-=3Dqm_gcs(b[qp],"border-top-width","borderTop=
Width");}if(!c.ismove){c.style.left=3D(ax+aw)+"px";c.style.top=3D(ay+ah)+=
"px";}x2("qmactive",o,1);if(window.qmad&&qmad.bvis)eval(qmad.bvis);c.styl=
e.visibility=3D"inherit";qm_li=3Dc;}else  =
if(!qm_a(b[qp]))qm_li=3Db[qp];else qm_li=3Dnull;qm_kille(e);};function =
qm_gcs(obj,sname,jname){var =
v;if(document.defaultView&&document.defaultView.getComputedStyle)v=3Ddocu=
ment.defaultView.getComputedStyle(obj,null).getPropertyValue(sname);else =
 =
if(obj.currentStyle)v=3Dobj.currentStyle[jname];if(v&&!isNaN(v=3DparseInt=
(v)))return v;else return 0;};function x2(name,b,add){var =
a=3Db[qc];if(add){if(a.indexOf(name)=3D=3D-1)b[qc]+=3D(a?' =
':'')+name;}else {b[qc]=3Da.replace(" =
"+name,"");b[qc]=3Db[qc].replace(name,"");}};function =
qm_kille(e){if(!e)e=3Devent;e.cancelBubble=3Dtrue;if(e.stopPropagation&&!=
(qm_s&&e.type=3D=3D"click"))e.stopPropagation();}=0A=
=0A=
//Add-On Core Code (Remove when not using any add-on's)=0A=
document.write('<style type=3D"text/css">.qmfv{visibility:visible =
!important;}.qmfh{visibility:hidden !important;}</style><script =
type=3D"text/JavaScript">var qmad =3D new =
Object();qmad.bvis=3D"";qmad.bhide=3D"";qmad.bhover=3D"";</script>');=0A=
=0A=
=0A=
	/*******  Menu 0 Add-On Settings *******/=0A=
	var a =3D qmad.qm0 =3D new Object();=0A=
=0A=
	// Slide Animation Add On=0A=
	a.slide_animation_frames =3D 15;=0A=
	a.slide_offxy =3D 1;=0A=
=0A=
=0A=
//Add-On Code: Slide Animation=0A=
qmad.slide=3Dnew =
Object();if(qmad.bvis.indexOf("qm_slide_a(b.cdiv);")=3D=3D-1)qmad.bvis+=3D=
"qm_slide_a(b.cdiv);";if(qmad.bhide.indexOf("qm_slide_a(a,1);")=3D=3D-1)q=
mad.bhide+=3D"qm_slide_a(a,1);";qmad.br_navigator=3Dnavigator.userAgent.i=
ndexOf("Netscape")+1;qmad.br_version=3DparseFloat(navigator.vendorSub);qm=
ad.br_oldnav=3Dqmad.br_navigator&&qmad.br_version<7.1;qmad.br_ie=3Dwindow=
.showHelp;qmad.br_mac=3Dnavigator.userAgent.indexOf("Mac")+1;qmad.br_old_=
safari=3Dnavigator.userAgent.indexOf("afari")+1&&!window.XMLHttpRequest;q=
mad.slide_off=3Dqmad.br_oldnav||(qmad.br_mac&&qmad.br_ie)||qmad.br_old_sa=
fari;;function qm_slide_a(a,hide){var =
z;if((a.style.visibility=3D=3D"inherit"&&!hide)||(qmad.slide_off)||((z=3D=
window.qmv)&&(z=3Dz.addons)&&(z=3Dz.slide_effect)&&!z["on"+qm_index(a)]))=
return;var ss;if(!a.settingsid){var =
v=3Da;while((v=3Dv.parentNode)){if(v.className.indexOf("qmmc")+1){a.setti=
ngsid=3Dv.id;break;}}}ss=3Dqmad[a.settingsid];if(!ss)return;if(!ss.slide_=
animation_frames)return;var steps=3Dss.slide_animation_frames;var =
b=3Dnew =
Object();b.obj=3Da;b.offy=3Dss.slide_offxy;b.left_right=3Dss.slide_left_r=
ight;b.sub_subs_left_right=3Dss.slide_sub_subs_left_right;b.drop_subs=3Ds=
s.slide_drop_subs;if(!b.offy)b.offy=3D0;if(b.sub_subs_left_right&&a.paren=
tNode.className.indexOf("qmmc")=3D=3D-1)b.left_right=3Dtrue;if(b.left_rig=
ht)b.drop_subs=3Dfalse;b.drop_subs_height=3Dss.slide_drop_subs_height;b.d=
rop_subs_disappear=3Dss.slide_drop_subs_disappear;b.accelerator=3Dss.slid=
e_accelerator;if(b.drop_subs&&!b.accelerator)b.accelerator=3D1;if(!b.acce=
lerator)b.accelerator=3D0;b.tb=3D"top";b.wh=3D"Height";if(b.left_right){b=
.tb=3D"left";b.wh=3D"Width";}b.stepy=3Da["offset"+b.wh]/steps;b.top=3Dpar=
seInt(a.style[b.tb]);if(!hide)a.style[b.tb]=3D(b.top - =
a["offset"+b.wh])+"px";else =
{b.stepy=3D-b.stepy;x2("qmfv",a,1);}a.isrun=3Dtrue;qm_slide_ai(qm_slide_a=
m(b,hide),hide);};function qm_slide_ai(id,hide){var =
a=3Dqmad.slide["_"+id];if(!a)return;var =
cy=3DparseInt(a.obj.style[a.tb]);if(a.drop_subs)a.stepy+=3Da.accelerator;=
else {if(hide)a.stepy -=3Da.accelerator;else =
a.stepy+=3Da.accelerator;}if((!hide&&cy+a.stepy<a.top)||(hide&&!a.drop_su=
bs&&cy+a.stepy>a.top-a.obj["offset"+a.wh])||(hide&&a.drop_subs&&cy<a.drop=
_subs_height)){var =
bc=3D2000;if(hide&&a.drop_subs&&!a.drop_subs_disappear&&cy+a.stepy+a.obj[=
"offset"+a.wh]>a.drop_subs_height)bc=3Da.drop_subs_height-cy+a.stepy;var =
tc=3DMath.round(a.top-(cy+a.stepy)+a.offy);if(a.left_right)a.obj.style.cl=
ip=3D"rect(auto 2000px 2000px "+tc+"px)";else =
a.obj.style.clip=3D"rect("+tc+"px 2000px "+bc+"px =
auto)";a.obj.style[a.tb]=3DMath.round(cy+a.stepy)+"px";a.timer=3DsetTimeo=
ut("qm_slide_ai("+id+","+hide+")",10);}else =
{a.obj.style[a.tb]=3Da.top+"px";a.obj.style.clip=3D"rect(0 auto auto =
auto)";if(a.obj.style.removeAttribute)a.obj.style.removeAttribute("clip")=
;else =
a.obj.style.clip=3D"auto";if(!window.showHelp)a.obj.style.clip=3D"";if(hi=
de)x2("qmfv",a.obj);qmad.slide["_"+id]=3Dnull;a.obj.isrun=3Dfalse;if(wind=
ow.showHelp&&window.qm_over_select)qm_over_select(a.obj)}};function =
qm_slide_am(obj,hide){var k;for(k in =
qmad.slide){if(qmad.slide[k]&&obj.obj=3D=3Dqmad.slide[k].obj){if(qmad.sli=
de[k].timer){clearTimeout(qmad.slide[k].timer);qmad.slide[k].timer=3Dnull=
;}obj.top=3Dqmad.slide[k].top;qmad.slide[k].obj.isrun=3Dfalse;qmad.slide[=
k]=3Dnull;}}var =
i=3D0;while(qmad.slide["_"+i])i++;qmad.slide["_"+i]=3Dobj;return i;}=0A=
=0A=
=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/javascript/commonScripts.js

function newWindow(URL, windowName, menuFlag,=20
				pHeight, pWidth, centerWindow) {
	if (parseInt(navigator.appVersion) >=3D 4) {
		isDyn =3D true;
	}
	else {
		isDyn =3D false;
	}

	if (pHeight !=3D null && pWidth !=3D null) {
		wWidth =3D pWidth;
		wHeight =3D pHeight;
	}
	else {
		// set absolute defaults in case not a 4.0 or greater
		wWidth =3D 450;
		wHeight =3D 500;
=09
		// ok...figure out the screen size
=09
		if (isDyn) {
			wWidth =3D parseInt(screen.width * .75);
			wHeight =3D parseInt(screen.height * .75);
		}
	}
=09
	if (windowName =3D=3D null)
		windowName =3D "popupWindow";
=09
	if (menuFlag) menuFlag =3D 'yes'; else menuFlag =3D 'no';
=09
	var windowFeatures =3D "height=3D" + wHeight + ",width=3D" + wWidth;
	windowFeatures +=3D =
",resizable=3Dyes,toolbar=3Dno,scrollbars=3Dyes,menubar=3D";
	windowFeatures +=3D menuFlag;

	var windowHandle =3D window.open(URL, windowName, windowFeatures);
=09
	if (centerWindow) {
		windowHandle.focus();
=09
		if (isDyn) {
			var sWidth =3D screen.width;
			var sHeight =3D screen.height;
		=09
			windowHandle.moveTo(sWidth / 2 - wWidth / 2,=20
								sHeight / 2 - wHeight / 2 - 35);
		}
	}

	return false;
}

function getVerticalScrollPos(){
var ScrollTop =3D document.body.scrollTop;
	if (ScrollTop =3D=3D 0){
		if (window.pageYOffset){
			ScrollTop =3D window.pageYOffset;
		}else{
			ScrollTop =3D (document.body.parentElement) ? =
document.body.parentElement.scrollTop : 0;
		}
	}
	//alert("Scroll Top is: "+ScrollTop);
	return ScrollTop;
}

/*function findPos() is on ajax.js */
function showIdentityPartnerInfo(content,obj){
	position =3D findPos(obj);
	//var rowYPos =3D position[1]+0+"px";
	var rowYPos =3D getVerticalScrollPos()+50+"px";
	//var rowXPos =3D position[0]-25+"px";
	var rowXPos =3D "165px";
	var el =3D document.getElementById("identityTestimonialDiv");
	el.style.visibility=3D"visible";
	el.style.width=3D"450px";
	el.style.margin=3D"0px";
	el.style.padding=3D"0px";
	el.style.top =3D rowYPos;
	el.style.left =3D rowXPos;
	el.innerHTML =3D content;
}

function hideIdentityPartnerInfo(){
	var el =3D document.getElementById("identityTestimonialDiv");
	el.innerHTML =3D "";
	el.style.visibility=3D"hidden";
}

function createCookie(name,value,days) {
	if (days) {
		var date =3D new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires =3D "; expires=3D"+date.toGMTString();
	}
	else var expires =3D "";
	document.cookie =3D name+"=3D"+value+expires+"; path=3D/";
}

function readCookie(name) {
	var nameEQ =3D name + "=3D";
	var ca =3D document.cookie.split(';');
	for(var i=3D0;i < ca.length;i++) {
		var c =3D ca[i];
		while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);
		if (c.indexOf(nameEQ) =3D=3D 0) return =
c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

//confirmLang1 and confirmLang2 are global vars that are written by php
function confirmLanguageChange(selectBox){
	var doSwitch =3D false;
	var selectedIndex =3D selectBox.selectedIndex;
	var lang =3D selectBox.options[selectedIndex].value;
	var secondSlash =3D lang.indexOf('/', 1);
	if(secondSlash > -1){
	lang =3D lang.substr(0,secondSlash);
	}
	//alert ('lang is '+lang);
	var langLabel =3D 'English';
	switch(lang){
		case '/francais':
		langLabel =3D 'Fran\u00E7ais';
		doSwitch =3D true;
		break;
		case '/deutsch':
		langLabel =3D 'Deutsch';
		doSwitch =3D true;
		break;
		case '/espanol':
		langLabel =3D 'Espa\u00F1ol';
		doSwitch =3D true;
		break;
		case '/portugues':
		langLabel =3D 'Portugu\u00EAs';
		doSwitch =3D true;
		break;
		case '/italiano':
		langLabel =3D 'Italiano';
		doSwitch =3D true;
		break;
		case '/japanese':
		langLabel =3D '\u65E5\u672C\u8A9E';
		doSwitch =3D true;
		break;
		case '/chinese':
		langLabel =3D '\u4E2D\u6587';
		doSwitch =3D true;
		break;
		case '/korean':
		langLabel =3D '\uD55C\uAD6D\uC5B4';
		doSwitch =3D true;
		break;
		case '/russian':
		langLabel =3D '\u043F\u043E-\u0440\u0443\u0441\u0441\u043A\u0438';
		doSwitch =3D true;
		break;
		case '/index.php':
		doSwitch =3D true;
		lang =3D "";
		//alert ('lang =3D '+lang);
		default:
		langLabel =3D 'English';
	}
	if(doSwitch){
		var answer =3D confirm(confirmLang1+' '+langLabel+' '+confirmLang2)
		if (answer){
			//alert('The selected language is '+lang);
			createCookie('langPref',lang,360);
			createCookie('declineLang','false',0);
		}
		else{
			createCookie('declineLang','true',0);
			=
//eval("parent.location=3D'"+selectBox.options[selectBox.selectedIndex].v=
alue+"'");
		}
		return true;
	}else{
		return true;
	}
}

//this function is only for US and Canadian codes
function validZip(zip){
	if(zip.match(/((^\d{5}([- |]\d{4})?$)|(^[A-Z]\d[A-Z][- =
|]\d[A-Z]\d$))/)){
		return true;
	}
	//alert('*** Bad ZIP.');
	return false;
}

//Get all the elements of the given classname of the given tag.
function getElementsByClassName(classname,tag) {
 if(!tag) tag =3D "*";
 var anchs =3D  document.getElementsByTagName(tag);
 var total_anchs =3D anchs.length;
 var regexp =3D new RegExp('\\b' + classname + '\\b');
 var class_items =3D new Array()
=20
 for(var i=3D0;i<total_anchs;i++) { //Go thru all the links seaching for =
the class name
  var this_item =3D anchs[i];
  if(regexp.test(this_item.className)) {
   class_items.push(this_item);
  }
 }
 return class_items;
}


String.prototype.trim =3D function() { var _ret =3D =
this.replace(/^\s+|\s+$/g, ''); return =
_ret.replace(/^(\&nbsp\;)+|(\&nbsp\;)+$/g, ''); }


/*Implementation of imposeMaxLength:
<textarea name=3D"myName" onkeypress=3D"return imposeMaxLength(this, =
15);" ><textarea> */
function imposeMaxLength(Obj, MaxLen)
{
  return (Obj.value.length <=3D MaxLen);
}




------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/mm_menu.js

/**
 * mm_menu 20MAR2002 Version 6.0
 * Andy Finnell, March 2002
 * Copyright (c) 2000-2002 Macromedia, Inc.
 *
 * based on menu.js
 * by gary smith, July 1997
 * Copyright (c) 1997-1999 Netscape Communications Corp.
 *
 * Netscape grants you a royalty free license to use or modify this
 * software provided that this copyright notice appears on all copies.
 * This software is provided "AS IS," without a warranty of any kind.
 */
function Menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, =
valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah)=20
{
	this.version =3D "020320 [Menu; mm_menu.js]";
	this.type =3D "Menu";
	this.menuWidth =3D mw;
	this.menuItemHeight =3D mh;
	this.fontSize =3D fs;
	this.fontWeight =3D "plain";
	this.fontFamily =3D fnt;
	this.fontColor =3D fclr;
	this.fontColorHilite =3D fhclr;
	this.bgColor =3D "#555555";
	this.menuBorder =3D 1;
	this.menuBgOpaque=3Dopq;
	this.menuItemBorder =3D 1;
	this.menuItemIndent =3D idt;
	this.menuItemBgColor =3D bg;
	this.menuItemVAlign =3D valgn;
	this.menuItemHAlign =3D halgn;
	this.menuItemPadding =3D pad;
	this.menuItemSpacing =3D space;
	this.menuLiteBgColor =3D "#ffffff";
	this.menuBorderBgColor =3D "#777777";
	this.menuHiliteBgColor =3D bgh;
	this.menuContainerBgColor =3D "#cccccc";
	this.childMenuIcon =3D "arrows.gif";
	this.submenuXOffset =3D sx;
	this.submenuYOffset =3D sy;
	this.submenuRelativeToItem =3D srel;
	this.vertical =3D vert;
	this.items =3D new Array();
	this.actions =3D new Array();
	this.childMenus =3D new Array();
	this.hideOnMouseOut =3D true;
	this.hideTimeout =3D to;
	this.addMenuItem =3D addMenuItem;
	this.writeMenus =3D writeMenus;
	this.MM_showMenu =3D MM_showMenu;
	this.onMenuItemOver =3D onMenuItemOver;
	this.onMenuItemAction =3D onMenuItemAction;
	this.hideMenu =3D hideMenu;
	this.hideChildMenu =3D hideChildMenu;
	if (!window.menus) window.menus =3D new Array();
	this.label =3D " " + label;
	window.menus[this.label] =3D this;
	window.menus[window.menus.length] =3D this;
	if (!window.activeMenus) window.activeMenus =3D new Array();
}

function addMenuItem(label, action) {
	this.items[this.items.length] =3D label;
	this.actions[this.actions.length] =3D action;
}

function FIND(item) {
	if( window.mmIsOpera ) return(document.getElementById(item));
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}

function writeMenus(container) {
	if (window.triedToWriteMenus) return;
	var agt =3D navigator.userAgent.toLowerCase();
	window.mmIsOpera =3D agt.indexOf("opera") !=3D -1;
	if (!container && document.layers) {
		window.delayWriteMenus =3D this.writeMenus;
		var timer =3D setTimeout('delayWriteMenus()', 500);
		container =3D new Layer(100);
		clearTimeout(timer);
	} else if (document.all || document.hasChildNodes || window.mmIsOpera) =
{
		document.writeln('<span id=3D"menuContainer"></span>');
		container =3D FIND("menuContainer");
	}

	window.mmHideMenuTimer =3D null;
	if (!container) return;=09
	window.triedToWriteMenus =3D true;=20
	container.isContainer =3D true;
	container.menus =3D new Array();
	for (var i=3D0; i<window.menus.length; i++)=20
		container.menus[i] =3D window.menus[i];
	window.menus.length =3D 0;
	var countMenus =3D 0;
	var countItems =3D 0;
	var top =3D 0;
	var content =3D '';
	var lrs =3D false;
	var theStat =3D "";
	var tsc =3D 0;
	if (document.layers) lrs =3D true;
	for (var i=3D0; i<container.menus.length; i++, countMenus++) {
		var menu =3D container.menus[i];
		if (menu.bgImageUp || !menu.menuBgOpaque) {
			menu.menuBorder =3D 0;
			menu.menuItemBorder =3D 0;
		}
		if (lrs) {
			var menuLayer =3D new Layer(100, container);
			var lite =3D new Layer(100, menuLayer);
			lite.top =3D menu.menuBorder;
			lite.left =3D menu.menuBorder;
			var body =3D new Layer(100, lite);
			body.top =3D menu.menuBorder;
			body.left =3D menu.menuBorder;
		} else {
			content +=3D ''+
			'<div id=3D"menuLayer'+ countMenus +'" =
style=3D"position:absolute;z-index:1;left:10px;top:'+ (i * 100) =
+'px;visibility:hidden;color:' +  menu.menuBorderBgColor + ';">\n'+
			'  <div id=3D"menuLite'+ countMenus +'" =
style=3D"position:absolute;z-index:1;left:'+ menu.menuBorder +'px;top:'+ =
menu.menuBorder +'px;visibility:hide;" =
onmouseout=3D"mouseoutMenu();">\n'+
			'	 <div id=3D"menuFg'+ countMenus +'" =
style=3D"position:absolute;left:'+ menu.menuBorder +'px;top:'+ =
menu.menuBorder +'px;visibility:hide;">\n'+
			'';
		}
		var x=3Di;
		for (var i=3D0; i<menu.items.length; i++) {
			var item =3D menu.items[i];
			var childMenu =3D false;
			var defaultHeight =3D menu.fontSize+2*menu.menuItemPadding;
			if (item.label) {
				item =3D item.label;
				childMenu =3D true;
			}
			menu.menuItemHeight =3D menu.menuItemHeight || defaultHeight;
			var itemProps =3D '';
			if( menu.fontFamily !=3D '' ) itemProps +=3D 'font-family:' + =
menu.fontFamily +';';
			itemProps +=3D 'font-weight:' + menu.fontWeight + ';fontSize:' + =
menu.fontSize + 'px;';
			if (menu.fontStyle) itemProps +=3D 'font-style:' + menu.fontStyle + =
';';
			if (document.all || window.mmIsOpera)=20
				itemProps +=3D 'font-size:' + menu.fontSize + 'px;" =
onmouseover=3D"onMenuItemOver(null,this);" =
onclick=3D"onMenuItemAction(null,this);';
			else if (!document.layers) {
				itemProps +=3D 'font-size:' + menu.fontSize + 'px;';
			}
			var l;
			if (lrs) {
				var lw =3D menu.menuWidth;
				if( menu.menuItemHAlign =3D=3D 'right' ) lw -=3D =
menu.menuItemPadding;
				l =3D new Layer(lw,body);
			}
			var itemLeft =3D 0;
			var itemTop =3D i*menu.menuItemHeight;
			if( !menu.vertical ) {
				itemLeft =3D i*menu.menuWidth;
				itemTop =3D 0;
			}
			var dTag =3D '<div id=3D"menuItem'+ countItems +'" =
style=3D"cursor:pointer;white-space:nowrap;position:absolute;left:' + =
itemLeft + 'px;top:'+ itemTop +'px;'+ itemProps +'">';
			var dClose =3D '</div>'
			if (menu.bgImageUp) dTag =3D '<div id=3D"menuItem'+ countItems +'" =
style=3D"background:url('+menu.bgImageUp+');position:absolute;left:' + =
itemLeft + 'px;top:'+ itemTop +'px;'+ itemProps +'">';

			var left =3D 0, top =3D 0, right =3D 0, bottom =3D 0;
			left =3D 1 + menu.menuItemPadding + menu.menuItemIndent;
			right =3D left + menu.menuWidth - 2*menu.menuItemPadding - =
menu.menuItemIndent;
			if( menu.menuItemVAlign =3D=3D 'top' ) top =3D menu.menuItemPadding;
			if( menu.menuItemVAlign =3D=3D 'bottom' ) top =3D =
menu.menuItemHeight-menu.fontSize-1-menu.menuItemPadding;
			if( menu.menuItemVAlign =3D=3D 'middle' ) top =3D =
((menu.menuItemHeight/2)-(menu.fontSize/2)-1);
			bottom =3D menu.menuItemHeight - 2*menu.menuItemPadding;
			var textProps =3D 'position:absolute;left:' + left + 'px;top:' + top =
+ 'px;';
			if (lrs) {
				textProps +=3DitemProps + 'right:' + right + ';bottom:' + bottom + =
';';
				dTag =3D "";
				dClose =3D "";
			}
		=09
			if(document.all && !window.mmIsOpera) {
				item =3D '<div align=3D"' + menu.menuItemHAlign + '">' + item + =
'</div>';
			} else if (lrs) {
				item =3D '<div style=3D"text-align:' + menu.menuItemHAlign + ';">' + =
item + '</div>';
			} else {
				var hitem =3D null;
				if( menu.menuItemHAlign !=3D 'left' ) {
					if(window.mmIsOpera) {
						var operaWidth =3D menu.menuItemHAlign =3D=3D 'center' ? =
-(menu.menuWidth-2*menu.menuItemPadding) : =
(menu.menuWidth-6*menu.menuItemPadding);
						hitem =3D '<div id=3D"menuItemHilite' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:' + menu.menuItemPadding + =
'px;width:' + operaWidth + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
						item =3D '<div id=3D"menuItemText' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:' + menu.menuItemPadding + =
'px;width:' + operaWidth + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
					} else {
						hitem =3D '<div id=3D"menuItemHilite' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:1px;right:-' + =
(left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
						item =3D '<div id=3D"menuItemText' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:1px;right:-' + =
(left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
					}
				} else hitem =3D null;
			}
			if(document.all && !window.mmIsOpera) item =3D '<div =
id=3D"menuItemShim' + countItems + '" =
style=3D"position:absolute;left:0px;top:0px;">' + item + '</div>';
			var dText	=3D '<div id=3D"menuItemText'+ countItems +'" style=3D"' + =
textProps + 'color:'+ menu.fontColor +';">'+ item +'&nbsp</div>\n'
						+ '<div id=3D"menuItemHilite'+ countItems +'" style=3D"' + =
textProps + 'color:'+ menu.fontColorHilite +';visibility:hidden;">'=20
						+ (hitem||item) +'&nbsp</div>';
			if (childMenu) content +=3D ( dTag + dText + '<div id=3D"childMenu'+ =
countItems +'" style=3D"position:absolute;left:0px;top:3px;"><img =
src=3D"'+ menu.childMenuIcon +'"></div>\n' + dClose);
			else content +=3D ( dTag + dText + dClose);
			if (lrs) {
				l.document.open("text/html");
				l.document.writeln(content);
				l.document.close();=09
				content =3D '';
				theStat +=3D "-";
				tsc++;
				if (tsc > 50) {
					tsc =3D 0;
					theStat =3D "";
				}
				status =3D theStat;
			}
			countItems++; =20
		}
		if (lrs) {
			var focusItem =3D new Layer(100, body);
			focusItem.visiblity=3D"hidden";
			focusItem.document.open("text/html");
			focusItem.document.writeln("&nbsp;");
			focusItem.document.close();=09
		} else {
		  content +=3D '	  <div id=3D"focusItem'+ countMenus +'" =
style=3D"position:absolute;left:0px;top:0px;visibility:hide;" =
onclick=3D"onMenuItemAction(null,this);">&nbsp;</div>\n';
		  content +=3D '   </div>\n  </div>\n</div>\n';
		}
		i=3Dx;
	}
	if (document.layers) {	=09
		container.clip.width =3D window.innerWidth;
		container.clip.height =3D window.innerHeight;
		container.onmouseout =3D mouseoutMenu;
		container.menuContainerBgColor =3D this.menuContainerBgColor;
		for (var i=3D0; i<container.document.layers.length; i++) {
			proto =3D container.menus[i];
			var menu =3D container.document.layers[i];
			container.menus[i].menuLayer =3D menu;
			container.menus[i].menuLayer.Menu =3D container.menus[i];
			container.menus[i].menuLayer.Menu.container =3D container;
			var body =3D menu.document.layers[0].document.layers[0];
			body.clip.width =3D proto.menuWidth || body.clip.width;
			body.clip.height =3D proto.menuHeight || body.clip.height;
			for (var n=3D0; n<body.document.layers.length-1; n++) {
				var l =3D body.document.layers[n];
				l.Menu =3D container.menus[i];
				l.menuHiliteBgColor =3D proto.menuHiliteBgColor;
				l.document.bgColor =3D proto.menuItemBgColor;
				l.saveColor =3D proto.menuItemBgColor;
				l.onmouseover =3D proto.onMenuItemOver;
				l.onclick =3D proto.onMenuItemAction;
				l.mmaction =3D container.menus[i].actions[n];
				l.focusItem =3D body.document.layers[body.document.layers.length-1];
				l.clip.width =3D proto.menuWidth || body.clip.width;
				l.clip.height =3D proto.menuItemHeight || l.clip.height;
				if (n>0) {
					if( l.Menu.vertical ) l.top =3D body.document.layers[n-1].top + =
body.document.layers[n-1].clip.height + proto.menuItemBorder + =
proto.menuItemSpacing;
					else l.left =3D body.document.layers[n-1].left + =
body.document.layers[n-1].clip.width + proto.menuItemBorder + =
proto.menuItemSpacing;
				}
				l.hilite =3D l.document.layers[1];
				if (proto.bgImageUp) l.background.src =3D proto.bgImageUp;
				l.document.layers[1].isHilite =3D true;
				if (l.document.layers.length > 2) {
					l.childMenu =3D container.menus[i].items[n].menuLayer;
					l.document.layers[2].left =3D l.clip.width -13;
					l.document.layers[2].top =3D (l.clip.height / 2) -4;
					l.document.layers[2].clip.left +=3D 3;
					l.Menu.childMenus[l.Menu.childMenus.length] =3D l.childMenu;
				}
			}
			if( proto.menuBgOpaque ) body.document.bgColor =3D proto.bgColor;
			if( proto.vertical ) {
				body.clip.width  =3D l.clip.width +proto.menuBorder;
				body.clip.height =3D l.top + l.clip.height +proto.menuBorder;
			} else {
				body.clip.height  =3D l.clip.height +proto.menuBorder;
				body.clip.width =3D l.left + l.clip.width  +proto.menuBorder;
				if( body.clip.width > window.innerWidth ) body.clip.width =3D =
window.innerWidth;
			}
			var focusItem =3D body.document.layers[n];
			focusItem.clip.width =3D body.clip.width;
			focusItem.Menu =3D l.Menu;
			focusItem.top =3D -30;
            focusItem.captureEvents(Event.MOUSEDOWN);
            focusItem.onmousedown =3D onMenuItemDown;
			if( proto.menuBgOpaque ) menu.document.bgColor =3D =
proto.menuBorderBgColor;
			var lite =3D menu.document.layers[0];
			if( proto.menuBgOpaque ) lite.document.bgColor =3D =
proto.menuLiteBgColor;
			lite.clip.width =3D body.clip.width +1;
			lite.clip.height =3D body.clip.height +1;
			menu.clip.width =3D body.clip.width + (proto.menuBorder * 3) ;
			menu.clip.height =3D body.clip.height + (proto.menuBorder * 3);
		}
	} else {
		if ((!document.all) && (container.hasChildNodes) && !window.mmIsOpera) =
{
			container.innerHTML=3Dcontent;
		} else {
			container.document.open("text/html");
			container.document.writeln(content);
			container.document.close();=09
		}
		if (!FIND("menuLayer0")) return;
		var menuCount =3D 0;
		for (var x=3D0; x<container.menus.length; x++) {
			var menuLayer =3D FIND("menuLayer" + x);
			container.menus[x].menuLayer =3D "menuLayer" + x;
			menuLayer.Menu =3D container.menus[x];
			menuLayer.Menu.container =3D "menuLayer" + x;
			menuLayer.style.zindex =3D 1;
		    var s =3D menuLayer.style;
			s.pixeltop =3D -300;
			s.pixelleft =3D -300;
			s.top =3D '-300px';
			s.left =3D '-300px';

			var menu =3D container.menus[x];
			menu.menuItemWidth =3D menu.menuWidth || menu.menuIEWidth || 140;
			if( menu.menuBgOpaque ) menuLayer.style.backgroundColor =3D =
menu.menuBorderBgColor;
			var top =3D 0;
			var left =3D 0;
			menu.menuItemLayers =3D new Array();
			for (var i=3D0; i<container.menus[x].items.length; i++) {
				var l =3D FIND("menuItem" + menuCount);
				l.Menu =3D container.menus[x];
				l.Menu.menuItemLayers[l.Menu.menuItemLayers.length] =3D l;
				if (l.addEventListener || window.mmIsOpera) {
					l.style.width =3D menu.menuItemWidth + 'px';
					l.style.height =3D menu.menuItemHeight + 'px';
					l.style.pixelWidth =3D menu.menuItemWidth;
					l.style.pixelHeight =3D menu.menuItemHeight;
					l.style.top =3D top + 'px';
					l.style.left =3D left + 'px';
					if(l.addEventListener) {
						l.addEventListener("mouseover", onMenuItemOver, false);
						l.addEventListener("click", onMenuItemAction, false);
						l.addEventListener("mouseout", mouseoutMenu, false);
					}
					if( menu.menuItemHAlign !=3D 'left' ) {
						l.hiliteShim =3D FIND("menuItemHilite" + menuCount + "Shim");
						l.hiliteShim.style.visibility =3D "inherit";
						l.textShim =3D FIND("menuItemText" + menuCount + "Shim");
						l.hiliteShim.style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						l.hiliteShim.style.width =3D l.hiliteShim.style.pixelWidth;
						l.textShim.style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						l.textShim.style.width =3D l.textShim.style.pixelWidth;=09
					}
				} else {
					l.style.pixelWidth =3D menu.menuItemWidth;
					l.style.pixelHeight =3D menu.menuItemHeight;
					l.style.pixelTop =3D top;
					l.style.pixelLeft =3D left;
					if( menu.menuItemHAlign !=3D 'left' ) {
						var shim =3D FIND("menuItemShim" + menuCount);
						shim[0].style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						shim[1].style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						shim[0].style.width =3D shim[0].style.pixelWidth + 'px';
						shim[1].style.width =3D shim[1].style.pixelWidth + 'px';
					}
				}
				if( menu.vertical ) top =3D top + =
menu.menuItemHeight+menu.menuItemBorder+menu.menuItemSpacing;
				else left =3D left + =
menu.menuItemWidth+menu.menuItemBorder+menu.menuItemSpacing;
				l.style.fontSize =3D menu.fontSize + 'px';
				l.style.backgroundColor =3D menu.menuItemBgColor;
				l.style.visibility =3D "inherit";
				l.saveColor =3D menu.menuItemBgColor;
				l.menuHiliteBgColor =3D menu.menuHiliteBgColor;
				l.mmaction =3D container.menus[x].actions[i];
				l.hilite =3D FIND("menuItemHilite" + menuCount);
				l.focusItem =3D FIND("focusItem" + x);
				l.focusItem.style.pixelTop =3D -30;
				l.focusItem.style.top =3D '-30px';
				var childItem =3D FIND("childMenu" + menuCount);
				if (childItem) {
					l.childMenu =3D container.menus[x].items[i].menuLayer;
					childItem.style.pixelLeft =3D menu.menuItemWidth -11;
					childItem.style.left =3D childItem.style.pixelLeft + 'px';
					childItem.style.pixelTop =3D (menu.menuItemHeight /2) -4;
					childItem.style.top =3D childItem.style.pixelTop + 'px';
					l.Menu.childMenus[l.Menu.childMenus.length] =3D l.childMenu;
				}
				l.style.cursor =3D "hand";
				menuCount++;
			}
			if( menu.vertical ) {
				menu.menuHeight =3D top-1-menu.menuItemSpacing;
				menu.menuWidth =3D menu.menuItemWidth;
			} else {
				menu.menuHeight =3D menu.menuItemHeight;
				menu.menuWidth =3D left-1-menu.menuItemSpacing;
			}

			var lite =3D FIND("menuLite" + x);
			var s =3D lite.style;
			s.pixelHeight =3D menu.menuHeight +(menu.menuBorder * 2);
			s.height =3D s.pixelHeight + 'px';
			s.pixelWidth =3D menu.menuWidth + (menu.menuBorder * 2);
			s.width =3D s.pixelWidth + 'px';
			if( menu.menuBgOpaque ) s.backgroundColor =3D menu.menuLiteBgColor;

			var body =3D FIND("menuFg" + x);
			s =3D body.style;
			s.pixelHeight =3D menu.menuHeight + menu.menuBorder;
			s.height =3D s.pixelHeight + 'px';
			s.pixelWidth =3D menu.menuWidth + menu.menuBorder;
			s.width =3D s.pixelWidth + 'px';
			if( menu.menuBgOpaque ) s.backgroundColor =3D menu.bgColor;

			s =3D menuLayer.style;
			s.pixelWidth  =3D menu.menuWidth + (menu.menuBorder * 4);
			s.width =3D s.pixelWidth + 'px';
			s.pixelHeight  =3D menu.menuHeight+(menu.menuBorder*4);
			s.height =3D s.pixelHeight + 'px';
		}
	}
	if (document.captureEvents) document.captureEvents(Event.MOUSEUP);
	if (document.addEventListener) document.addEventListener("mouseup", =
onMenuItemOver, false);
	if (document.layers && window.innerWidth) {
		window.onresize =3D NS4resize;
		window.NS4sIW =3D window.innerWidth;
		window.NS4sIH =3D window.innerHeight;
		setTimeout("NS4resize()",500);
	}
	document.onmouseup =3D mouseupMenu;
	window.mmWroteMenu =3D true;
	status =3D "";
}

function NS4resize() {
	if (NS4sIW !=3D window.innerWidth || NS4sIH !=3D window.innerHeight) =
window.location.reload();
}

function onMenuItemOver(e, l) {
	MM_clearTimeout();
	l =3D l || this;
	var a =3D window.ActiveMenuItem;
	if (document.layers) {
		if (a) {
			a.document.bgColor =3D a.saveColor;
			if (a.hilite) a.hilite.visibility =3D "hidden";
			if (a.Menu.bgImageOver) a.background.src =3D a.Menu.bgImageUp;
			a.focusItem.top =3D -100;
			a.clicked =3D false;
		}
		if (l.hilite) {
			l.document.bgColor =3D l.menuHiliteBgColor;
			l.zIndex =3D 1;
			l.hilite.visibility =3D "inherit";
			l.hilite.zIndex =3D 2;
			l.document.layers[1].zIndex =3D 1;
			l.focusItem.zIndex =3D this.zIndex +2;
		}
		if (l.Menu.bgImageOver) l.background.src =3D l.Menu.bgImageOver;
		l.focusItem.top =3D this.top;
		l.focusItem.left =3D this.left;
		l.focusItem.clip.width =3D l.clip.width;
		l.focusItem.clip.height =3D l.clip.height;
		l.Menu.hideChildMenu(l);
	} else if (l.style && l.Menu) {
		if (a) {
			a.style.backgroundColor =3D a.saveColor;
			if (a.hilite) a.hilite.style.visibility =3D "hidden";
			if (a.hiliteShim) a.hiliteShim.style.visibility =3D "inherit";
			if (a.Menu.bgImageUp) a.style.background =3D "url(" + =
a.Menu.bgImageUp +")";;
		}=20
		l.style.backgroundColor =3D l.menuHiliteBgColor;
		l.zIndex =3D 1;
		if (l.Menu.bgImageOver) l.style.background =3D "url(" + =
l.Menu.bgImageOver +")";
		if (l.hilite) {
			l.hilite.style.visibility =3D "inherit";
			if( l.hiliteShim ) l.hiliteShim.style.visibility =3D "visible";
		}
		l.focusItem.style.pixelTop =3D l.style.pixelTop;
		l.focusItem.style.top =3D l.focusItem.style.pixelTop + 'px';
		l.focusItem.style.pixelLeft =3D l.style.pixelLeft;
		l.focusItem.style.left =3D l.focusItem.style.pixelLeft + 'px';
		l.focusItem.style.zIndex =3D l.zIndex +1;
		l.Menu.hideChildMenu(l);
	} else return;
	window.ActiveMenuItem =3D l;
}

function onMenuItemAction(e, l) {
	l =3D window.ActiveMenuItem;
	if (!l) return;
	hideActiveMenus();
	if (l.mmaction) eval("" + l.mmaction);
	window.ActiveMenuItem =3D 0;
}

function MM_clearTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer =3D null;
	mmDHFlag =3D false;
}

function MM_startTimeout() {
	if( window.ActiveMenu ) {
		mmStart =3D new Date();
		mmDHFlag =3D true;
		mmHideMenuTimer =3D setTimeout("mmDoHide()", =
window.ActiveMenu.Menu.hideTimeout);
	}
}

function mmDoHide() {
	if (!mmDHFlag || !window.ActiveMenu) return;
	var elapsed =3D new Date() - mmStart;
	var timeout =3D window.ActiveMenu.Menu.hideTimeout;
	if (elapsed < timeout) {
		mmHideMenuTimer =3D setTimeout("mmDoHide()", timeout+100-elapsed);
		return;
	}
	mmDHFlag =3D false;
	hideActiveMenus();
	window.ActiveMenuItem =3D 0;
}

function MM_showMenu(menu, x, y, child, imgname) {
	if (!window.mmWroteMenu) return;
	MM_clearTimeout();
	if (menu) {
		var obj =3D FIND(imgname) || document.images[imgname] || =
document.links[imgname] || document.anchors[imgname];
		x =3D moveXbySlicePos (x, obj);
		y =3D moveYbySlicePos (y, obj);
	}
	if (document.layers) {
		if (menu) {
			var l =3D menu.menuLayer || menu;
			l.top =3D l.left =3D 1;
			hideActiveMenus();
			if (this.visibility) l =3D this;
			window.ActiveMenu =3D l;
		} else {
			var l =3D child;
		}
		if (!l) return;
		for (var i=3D0; i<l.layers.length; i++) { 			  =20
			if (!l.layers[i].isHilite) l.layers[i].visibility =3D "inherit";
			if (l.layers[i].document.layers.length > 0) MM_showMenu(null, =
"relative", "relative", l.layers[i]);
		}
		if (l.parentLayer) {
			if (x !=3D "relative") l.parentLayer.left =3D x || window.pageX || 0;
			if (l.parentLayer.left + l.clip.width > window.innerWidth) =
l.parentLayer.left -=3D (l.parentLayer.left + l.clip.width - =
window.innerWidth);
			if (y !=3D "relative") l.parentLayer.top =3D y || window.pageY || 0;
			if (l.parentLayer.isContainer) {
				l.Menu.xOffset =3D window.pageXOffset;
				l.Menu.yOffset =3D window.pageYOffset;
				l.parentLayer.clip.width =3D window.ActiveMenu.clip.width +2;
				l.parentLayer.clip.height =3D window.ActiveMenu.clip.height +2;
				if (l.parentLayer.menuContainerBgColor && l.Menu.menuBgOpaque ) =
l.parentLayer.document.bgColor =3D l.parentLayer.menuContainerBgColor;
			}
		}
		l.visibility =3D "inherit";
		if (l.Menu) l.Menu.container.visibility =3D "inherit";
	} else if (FIND("menuItem0")) {
		var l =3D menu.menuLayer || menu;=09
		hideActiveMenus();
		if (typeof(l) =3D=3D "string") l =3D FIND(l);
		window.ActiveMenu =3D l;
		var s =3D l.style;
		s.visibility =3D "inherit";
		if (x !=3D "relative") {
			s.pixelLeft =3D x || (window.pageX + document.body.scrollLeft) || 0;
			s.left =3D s.pixelLeft + 'px';
		}
		if (y !=3D "relative") {
			s.pixelTop =3D y || (window.pageY + document.body.scrollTop) || 0;
			s.top =3D s.pixelTop + 'px';
		}
		l.Menu.xOffset =3D document.body.scrollLeft;
		l.Menu.yOffset =3D document.body.scrollTop;
	}
	if (menu) window.activeMenus[window.activeMenus.length] =3D l;
	MM_clearTimeout();
}

function onMenuItemDown(e, l) {
	var a =3D window.ActiveMenuItem;
	if (document.layers && a) {
		a.eX =3D e.pageX;
		a.eY =3D e.pageY;
		a.clicked =3D true;
    }
}

function mouseupMenu(e) {
	hideMenu(true, e);
	hideActiveMenus();
	return true;
}

function getExplorerVersion() {
	var ieVers =3D parseFloat(navigator.appVersion);
	if( navigator.appName !=3D 'Microsoft Internet Explorer' ) return =
ieVers;
	var tempVers =3D navigator.appVersion;
	var i =3D tempVers.indexOf( 'MSIE ' );
	if( i >=3D 0 ) {
		tempVers =3D tempVers.substring( i+5 );
		ieVers =3D parseFloat( tempVers );=20
	}
	return ieVers;
}

function mouseoutMenu() {
	if ((navigator.appName =3D=3D "Microsoft Internet Explorer") && =
(getExplorerVersion() < 4.5))
		return true;
	hideMenu(false, false);
	return true;
}

function hideMenu(mouseup, e) {
	var a =3D window.ActiveMenuItem;
	if (a && document.layers) {
		a.document.bgColor =3D a.saveColor;
		a.focusItem.top =3D -30;
		if (a.hilite) a.hilite.visibility =3D "hidden";
		if (mouseup && a.mmaction && a.clicked && window.ActiveMenu) {
 			if (a.eX <=3D e.pageX+15 && a.eX >=3D e.pageX-15 && a.eY <=3D =
e.pageY+10 && a.eY >=3D e.pageY-10) {
				setTimeout('window.ActiveMenu.Menu.onMenuItemAction();', 500);
			}
		}
		a.clicked =3D false;
		if (a.Menu.bgImageOver) a.background.src =3D a.Menu.bgImageUp;
	} else if (window.ActiveMenu && FIND("menuItem0")) {
		if (a) {
			a.style.backgroundColor =3D a.saveColor;
			if (a.hilite) a.hilite.style.visibility =3D "hidden";
			if (a.hiliteShim) a.hiliteShim.style.visibility =3D "inherit";
			if (a.Menu.bgImageUp) a.style.background =3D "url(" + =
a.Menu.bgImageUp +")";
		}
	}
	if (!mouseup && window.ActiveMenu) {
		if (window.ActiveMenu.Menu) {
			if (window.ActiveMenu.Menu.hideOnMouseOut) MM_startTimeout();
			return(true);
		}
	}
	return(true);
}

function hideChildMenu(hcmLayer) {
	MM_clearTimeout();
	var l =3D hcmLayer;
	for (var i=3D0; i < l.Menu.childMenus.length; i++) {
		var theLayer =3D l.Menu.childMenus[i];
		if (document.layers) theLayer.visibility =3D "hidden";
		else {
			theLayer =3D FIND(theLayer);
			theLayer.style.visibility =3D "hidden";
			if( theLayer.Menu.menuItemHAlign !=3D 'left' ) {
				for(var j =3D 0; j < theLayer.Menu.menuItemLayers.length; j++) {
					var itemLayer =3D theLayer.Menu.menuItemLayers[j];
					if(itemLayer.textShim) itemLayer.textShim.style.visibility =3D =
"inherit";
				}
			}
		}
		theLayer.Menu.hideChildMenu(theLayer);
	}
	if (l.childMenu) {
		var childMenu =3D l.childMenu;
		if (document.layers) {
			l.Menu.MM_showMenu(null,null,null,childMenu.layers[0]);
			childMenu.zIndex =3D l.parentLayer.zIndex +1;
			childMenu.top =3D l.Menu.menuLayer.top + l.Menu.submenuYOffset;
			if( l.Menu.vertical ) {
				if( l.Menu.submenuRelativeToItem ) childMenu.top +=3D l.top + =
l.parentLayer.top;
				childMenu.left =3D l.parentLayer.left + l.parentLayer.clip.width - =
(2*l.Menu.menuBorder) + l.Menu.menuLayer.left + l.Menu.submenuXOffset;
			} else {
				childMenu.top +=3D l.top + l.parentLayer.top;=09
				if( l.Menu.submenuRelativeToItem ) childMenu.left =3D =
l.Menu.menuLayer.left + l.left + l.clip.width + (2*l.Menu.menuBorder) + =
l.Menu.submenuXOffset;
				else childMenu.left =3D l.parentLayer.left + =
l.parentLayer.clip.width - (2*l.Menu.menuBorder) + l.Menu.menuLayer.left =
+ l.Menu.submenuXOffset;
			}
			if( childMenu.left < l.Menu.container.clip.left ) =
l.Menu.container.clip.left =3D childMenu.left;
			var w =3D =
childMenu.clip.width+childMenu.left-l.Menu.container.clip.left;
			if (w > l.Menu.container.clip.width)  l.Menu.container.clip.width =3D =
w;
			var h =3D =
childMenu.clip.height+childMenu.top-l.Menu.container.clip.top;
			if (h > l.Menu.container.clip.height) l.Menu.container.clip.height =
=3D h;
			l.document.layers[1].zIndex =3D 0;
			childMenu.visibility =3D "inherit";
		} else if (FIND("menuItem0")) {
			childMenu =3D FIND(l.childMenu);
			var menuLayer =3D FIND(l.Menu.menuLayer);
			var s =3D childMenu.style;
			s.zIndex =3D menuLayer.style.zIndex+1;
			if (document.all || window.mmIsOpera) {
				s.pixelTop =3D menuLayer.style.pixelTop + l.Menu.submenuYOffset;
				if( l.Menu.vertical ) {
					if( l.Menu.submenuRelativeToItem ) s.pixelTop +=3D =
l.style.pixelTop;
					s.pixelLeft =3D l.style.pixelWidth + menuLayer.style.pixelLeft + =
l.Menu.submenuXOffset;
					s.left =3D s.pixelLeft + 'px';
				} else {
					s.pixelTop +=3D l.style.pixelTop;
					if( l.Menu.submenuRelativeToItem ) s.pixelLeft =3D =
menuLayer.style.pixelLeft + l.style.pixelLeft + l.style.pixelWidth + =
(2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
					else s.pixelLeft =3D =
(menuLayer.style.pixelWidth-4*l.Menu.menuBorder) + =
menuLayer.style.pixelLeft + l.Menu.submenuXOffset;
					s.left =3D s.pixelLeft + 'px';
				}
			} else {
				var top =3D parseInt(menuLayer.style.top) + l.Menu.submenuYOffset;
				var left =3D 0;
				if( l.Menu.vertical ) {
					if( l.Menu.submenuRelativeToItem ) top +=3D parseInt(l.style.top);
					left =3D (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + =
parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
				} else {
					top +=3D parseInt(l.style.top);
					if( l.Menu.submenuRelativeToItem ) left =3D =
parseInt(menuLayer.style.left) + parseInt(l.style.left) + =
parseInt(l.style.width) + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
					else left =3D (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) =
+ parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
				}
				s.top =3D top + 'px';
				s.left =3D left + 'px';
			}
			childMenu.style.visibility =3D "inherit";
		} else return;
		window.activeMenus[window.activeMenus.length] =3D childMenu;
	}
}

function hideActiveMenus() {
	if (!window.activeMenus) return;
	for (var i=3D0; i < window.activeMenus.length; i++) {
		if (!activeMenus[i]) continue;
		if (activeMenus[i].visibility && activeMenus[i].Menu && =
!window.mmIsOpera) {
			activeMenus[i].visibility =3D "hidden";
			activeMenus[i].Menu.container.visibility =3D "hidden";
			activeMenus[i].Menu.container.clip.left =3D 0;
		} else if (activeMenus[i].style) {
			var s =3D activeMenus[i].style;
			s.visibility =3D "hidden";
			s.left =3D '-200px';
			s.top =3D '-200px';
		}
	}
	if (window.ActiveMenuItem) hideMenu(false, false);
	window.activeMenus.length =3D 0;
}

function moveXbySlicePos (x, img) {=20
	if (!document.layers) {
		var onWindows =3D navigator.platform ? navigator.platform =3D=3D =
"Win32" : false;
		var macIE45 =3D document.all && !onWindows && getExplorerVersion() =
=3D=3D 4.5;
		var par =3D img;
		var lastOffset =3D 0;
		while(par){
			if( par.leftMargin && ! onWindows ) x +=3D parseInt(par.leftMargin);
			if( (par.offsetLeft !=3D lastOffset) && par.offsetLeft ) x +=3D =
parseInt(par.offsetLeft);
			if( par.offsetLeft !=3D 0 ) lastOffset =3D par.offsetLeft;
			par =3D macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.x) x +=3D img.x;
	return x;
}

function moveYbySlicePos (y, img) {
	if(!document.layers) {
		var onWindows =3D navigator.platform ? navigator.platform =3D=3D =
"Win32" : false;
		var macIE45 =3D document.all && !onWindows && getExplorerVersion() =
=3D=3D 4.5;
		var par =3D img;
		var lastOffset =3D 0;
		while(par){
			if( par.topMargin && !onWindows ) y +=3D parseInt(par.topMargin);
			if( (par.offsetTop !=3D lastOffset) && par.offsetTop ) y +=3D =
parseInt(par.offsetTop);
			if( par.offsetTop !=3D 0 ) lastOffset =3D par.offsetTop;
			par =3D macIE45 ? par.parentElement : par.offsetParent;
		}	=09
	} else if (img.y >=3D 0) y +=3D img.y;
	return y;
}


------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/new-header/js/hoverIntent.js

(function($){=0A=
	/* hoverIntent by Brian Cherne */=0A=
	$.fn.hoverIntent =3D function(f,g) {=0A=
		// default configuration options=0A=
		var cfg =3D {=0A=
			sensitivity: 7,=0A=
			interval: 100,=0A=
			timeout: 0=0A=
		};=0A=
		// override configuration options with user supplied object=0A=
		cfg =3D $.extend(cfg, g ? { over: f, out: g } : f );=0A=
=0A=
		// instantiate variables=0A=
		// cX, cY =3D current X and Y position of mouse, updated by mousemove =
event=0A=
		// pX, pY =3D previous X and Y position of mouse, set by mouseover and =
polling interval=0A=
		var cX, cY, pX, pY;=0A=
=0A=
		// A private function for getting mouse position=0A=
		var track =3D function(ev) {=0A=
			cX =3D ev.pageX;=0A=
			cY =3D ev.pageY;=0A=
		};=0A=
=0A=
		// A private function for comparing current and previous mouse position=0A=
		var compare =3D function(ev,ob) {=0A=
			ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A=
			// compare mouse positions to see if they've crossed the threshold=0A=
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {=0A=
				$(ob).unbind("mousemove",track);=0A=
				// set hoverIntent state to true (so mouseOut can be called)=0A=
				ob.hoverIntent_s =3D 1;=0A=
				return cfg.over.apply(ob,[ev]);=0A=
			} else {=0A=
				// set previous coordinates for next time=0A=
				pX =3D cX; pY =3D cY;=0A=
				// use self-calling timeout, guarantees intervals are spaced out =
properly (avoids JavaScript timer bugs)=0A=
				ob.hoverIntent_t =3D setTimeout( function(){compare(ev, ob);} , =
cfg.interval );=0A=
			}=0A=
		};=0A=
=0A=
		// A private function for delaying the mouseOut function=0A=
		var delay =3D function(ev,ob) {=0A=
			ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A=
			ob.hoverIntent_s =3D 0;=0A=
			return cfg.out.apply(ob,[ev]);=0A=
		};=0A=
=0A=
		// A private function for handling mouse 'hovering'=0A=
		var handleHover =3D function(e) {=0A=
			// next three lines copied from jQuery.hover, ignore children =
onMouseOver/onMouseOut=0A=
			var p =3D (e.type =3D=3D "mouseover" ? e.fromElement : e.toElement) =
|| e.relatedTarget;=0A=
			while ( p && p !=3D this ) { try { p =3D p.parentNode; } catch(e) { p =
=3D this; } }=0A=
			if ( p =3D=3D this ) { return false; }=0A=
=0A=
			// copy objects to be passed into t (required for event object to be =
passed in IE)=0A=
			var ev =3D jQuery.extend({},e);=0A=
			var ob =3D this;=0A=
=0A=
			// cancel hoverIntent timer if it exists=0A=
			if (ob.hoverIntent_t) { ob.hoverIntent_t =3D =
clearTimeout(ob.hoverIntent_t); }=0A=
=0A=
			// else e.type =3D=3D "onmouseover"=0A=
			if (e.type =3D=3D "mouseover") {=0A=
				// set "previous" X and Y position based on initial entry point=0A=
				pX =3D ev.pageX; pY =3D ev.pageY;=0A=
				// update "current" X and Y position based on mousemove=0A=
				$(ob).bind("mousemove",track);=0A=
				// start polling interval (self-calling timeout) to compare mouse =
coordinates over time=0A=
				if (ob.hoverIntent_s !=3D 1) { ob.hoverIntent_t =3D setTimeout( =
function(){compare(ev,ob);} , cfg.interval );}=0A=
=0A=
			// else e.type =3D=3D "onmouseout"=0A=
			} else {=0A=
				// unbind expensive mousemove event=0A=
				$(ob).unbind("mousemove",track);=0A=
				// if hoverIntent state is true, then call the mouseOut function =
after the specified delay=0A=
				if (ob.hoverIntent_s =3D=3D 1) { ob.hoverIntent_t =3D setTimeout( =
function(){delay(ev,ob);} , cfg.timeout );}=0A=
			}=0A=
		};=0A=
=0A=
		// bind the function to the two event listeners=0A=
		return this.mouseover(handleHover).mouseout(handleHover);=0A=
	};=0A=
	=0A=
})(jQuery);
------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/new-header/js/superfish.js

/*=0A=
 * Superfish v1.4.8 - jQuery menu widget=0A=
 * Copyright (c) 2008 Joel Birch=0A=
 *=0A=
 * Dual licensed under the MIT and GPL licenses:=0A=
 * 	http://www.opensource.org/licenses/mit-license.php=0A=
 * 	http://www.gnu.org/licenses/gpl.html=0A=
 *=0A=
 * CHANGELOG: =
http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt=0A=
 */=0A=
=0A=
;(function($){=0A=
	$.fn.superfish =3D function(op){=0A=
=0A=
		var sf =3D $.fn.superfish,=0A=
			c =3D sf.c,=0A=
			$arrow =3D $(['<span class=3D"',c.arrowClass,'"> =
&#187;</span>'].join('')),=0A=
			over =3D function(){=0A=
				var $$ =3D $(this), menu =3D getMenu($$);=0A=
				clearTimeout(menu.sfTimer);=0A=
				$$.showSuperfishUl().siblings().hideSuperfishUl();=0A=
			},=0A=
			out =3D function(){=0A=
				var $$ =3D $(this), menu =3D getMenu($$), o =3D sf.op;=0A=
				clearTimeout(menu.sfTimer);=0A=
				menu.sfTimer=3DsetTimeout(function(){=0A=
					o.retainPath=3D($.inArray($$[0],o.$path)>-1);=0A=
					$$.hideSuperfishUl();=0A=
					if (o.$path.length && =
$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}=0A=
				},o.delay);	=0A=
			},=0A=
			getMenu =3D function($menu){=0A=
				var menu =3D $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];=0A=
				sf.op =3D sf.o[menu.serial];=0A=
				return menu;=0A=
			},=0A=
			addArrow =3D function($a){ =
$a.addClass(c.anchorClass).append($arrow.clone()); };=0A=
			=0A=
		return this.each(function() {=0A=
			var s =3D this.serial =3D sf.o.length;=0A=
			var o =3D $.extend({},sf.defaults,op);=0A=
			o.$path =3D =
$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){=0A=
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))=0A=
					.filter('li:has(ul)').removeClass(o.pathClass);=0A=
			});=0A=
			sf.o[s] =3D sf.op =3D o;=0A=
			=0A=
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? =
'hoverIntent' : 'hover'](over,out).each(function() {=0A=
				if (o.autoArrows) addArrow( $('>h4:first-child',this) );=0A=
			})=0A=
			.not('.'+c.bcClass)=0A=
				.hideSuperfishUl();=0A=
			=0A=
			var $a =3D $('h4',this);=0A=
			$a.each(function(i){=0A=
				var $li =3D $a.eq(i).parents('li');=0A=
				=
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li)=
;});=0A=
			});=0A=
			o.onInit.call(this);=0A=
			=0A=
		}).each(function() {=0A=
			var menuClasses =3D [c.menuClass];=0A=
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) =
menuClasses.push(c.shadowClass);=0A=
			$(this).addClass(menuClasses.join(' '));=0A=
		});=0A=
	};=0A=
=0A=
	var sf =3D $.fn.superfish;=0A=
	sf.o =3D [];=0A=
	sf.op =3D {};=0A=
	sf.IE7fix =3D function(){=0A=
		var o =3D sf.op;=0A=
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && =
o.animation.opacity!=3Dundefined)=0A=
			this.toggleClass(sf.c.shadowClass+'-off');=0A=
		};=0A=
	sf.c =3D {=0A=
		bcClass     : 'sf-breadcrumb',=0A=
		menuClass   : 'sf-js-enabled',=0A=
		anchorClass : 'sf-with-ul',=0A=
		arrowClass  : 'sf-sub-indicator',=0A=
		shadowClass : 'sf-shadow'=0A=
	};=0A=
	sf.defaults =3D {=0A=
		hoverClass	: 'sfHover',=0A=
		pathClass	: 'overideThisToUse',=0A=
		pathLevels	: 1,=0A=
		delay		: 800,=0A=
//		animation	: {opacity:'show'},=0A=
		animationOpen : {opacity:'show',height:'show'},=0A=
		animationClose : {opacity:'hide'},=0A=
		speed		: 'normal',=0A=
		autoArrows	: true,=0A=
		dropShadows : true,=0A=
		disableHI	: false,		// true disables hoverIntent detection=0A=
		onInit		: function(){}, // callback functions=0A=
		onBeforeShow: function(){},=0A=
		onShow		: function(){},=0A=
		onHide		: function(){}=0A=
	};=0A=
	$.fn.extend({=0A=
	hideSuperfishUl : function(){ var o =3D $.fn.superfish.op, $ul =3D =
$('li.'+o.hoverClass,this).add(this); =
$ul.find('>ul').animate(o.animationClose, o.speed, function() { =
$(this).css('visibility','hidden'); $ul.removeClass(o.hoverClass); =
o.onBeforeShow.call($ul); }); return this; }, showSuperfishUl : =
function(){ var o =3D $.fn.superfish.op, $ul =3D =
this.addClass(o.hoverClass) =
.find('>ul:hidden').css('visibility','visible'); =
o.onBeforeShow.call($ul); =
$ul.animate(o.animationOpen,o.speed,function(){ o.onShow.call(this); }); =
return this; }=0A=
=0A=
/*=0A=
		hideSuperfishUl : function(){=0A=
			var o =3D sf.op,=0A=
				not =3D (o.retainPath=3D=3D=3Dtrue) ? o.$path : '';=0A=
			o.retainPath =3D false;=0A=
			var $ul =3D =
$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.ho=
verClass)=0A=
					.find('>ul').hide().css('visibility','hidden');=0A=
			o.onHide.call($ul);=0A=
			return this;=0A=
		},=0A=
		showSuperfishUl : function(){=0A=
			var o =3D sf.op,=0A=
				sh =3D sf.c.shadowClass+'-off',=0A=
				$ul =3D this.addClass(o.hoverClass)=0A=
					.find('>ul:hidden').css('visibility','visible');=0A=
			sf.IE7fix.call($ul);=0A=
			o.onBeforeShow.call($ul);=0A=
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); =
o.onShow.call($ul); });=0A=
			return this;=0A=
		}=0A=
*/=0A=
	});=0A=
=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/javascript/omnitureWriterHelper.js

function createOmnitureCookie(name,value,days) {=0A=
	if (days) {=0A=
		var date =3D new Date();=0A=
		date.setTime(date.getTime()+(days*24*60*60*1000));=0A=
		var expires =3D "; expires=3D"+date.toGMTString();=0A=
	}=0A=
	else var expires =3D "";=0A=
	document.cookie =3D name+"=3D"+value+expires+"; path=3D/";=0A=
}=0A=
=0A=
function readOmnitureCookie(name) {=0A=
	var nameEQ =3D name + "=3D";=0A=
	var ca =3D document.cookie.split(';');=0A=
	for(var i=3D0;i < ca.length;i++) {=0A=
		var c =3D ca[i];=0A=
		while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);=0A=
		if (c.indexOf(nameEQ) =3D=3D 0) return =
c.substring(nameEQ.length,c.length);=0A=
	}=0A=
	return null;=0A=
}=0A=
=0A=
function eraseOmnitureCookie(name) {=0A=
	createCookie(name,"",-1);=0A=
}
------=_NextPart_000_0000_01CBFDB6.9A067220
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hidglobal.com/javascript/s_code.js

/* SiteCatalyst code version: H.19.4.=0A=
Copyright 1997-2009 Omniture, Inc. More info available at=0A=
http://www.omniture.com */=0A=
/************************ ADDITIONAL FEATURES ************************=0A=
     Plugins=0A=
*/=0A=
=0A=
var s_account=3D"hidProd"=0A=
var s=3Ds_gi(s_account)=0A=
=0A=
=0A=
/************************** CONFIG SECTION **************************/=0A=
/* You may add or alter any code config here. */=0A=
/* Conversion Config */=0A=
s.currencyCode=3D"USD"=0A=
/* Link Tracking Config */=0A=
s.trackDownloadLinks=3Dtrue=0A=
s.trackExternalLinks=3Dtrue=0A=
s.trackInlineStats=3Dtrue=0A=
s.linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,wmv,pdf,doc,docx,x=
ls,xlsx,ppt,pptx,flv,swf"=0A=
s.linkInternalFilters=3D"javascript:,hidglobal"=0A=
s.linkLeaveQueryString=3Dtrue=0A=
s.linkTrackVars=3D"None"=0A=
s.linkTrackEvents=3D"None"=0A=
=0A=
/* Media Module */=0A=
s.loadModule("Media")=0A=
s.Media.autoTrack=3Dfalse=0A=
s.Media.trackWhilePlaying=3Dtrue=0A=
s.Media.trackVars=3D"None"=0A=
s.Media.trackEvents=3D"None"=0A=
=0A=
=0A=
/* Form Analysis Config */=0A=
s.formList=3D""=0A=
s.trackFormList=3Dtrue=0A=
s.trackPageName=3Dtrue=0A=
s.useCommerce=3Dtrue=0A=
s.varUsed=3D""=0A=
s.eventList=3D"" //Abandon,Success,Error=0A=
=0A=
/* Plugin Config */=0A=
s.usePlugins=3Dtrue=0A=
function s_doPlugins(s) {=0A=
	/* External Campaigns */=0A=
	if(!s.campaign)=0A=
		s.campaign=3Ds.getQueryParam('cmpid');=0A=
		s.campaign=3Ds.getValOnce(s.campaign,'s_campaign',0);=0A=
	=0A=
	/* Internal Campaigns */=0A=
	if(!s.eVar4)=0A=
		s.eVar4=3Ds.getQueryParam('intcmp');=0A=
		s.eVar4=3Ds.getValOnce(s.eVar4,'ev4',0);=0A=
	=0A=
	/* Site Search */=0A=
	if(s.prop5){=0A=
		s.prop5=3Ds.prop5.toLowerCase();=0A=
		s.eVar5=3Ds.prop5;=0A=
		var t_search=3Ds.getValOnce(s.eVar5,'ev5',0);=0A=
		if(t_search){=0A=
			s.events=3Ds.apl(s.events,"event5",",",2);=0A=
		}=0A=
	}=0A=
	//optional Search Orgination Page=0A=
	s.prop11=3Ds.getPreviousValue(s.pageName,'gpv_p11','event5');=0A=
=0A=
	/* Direct Influence Pages */=0A=
	s.eVar3=3Ds.pageName;=0A=
	=0A=
	/* Enhanced download tracking */=0A=
	s.url=3Ds.downloadLinkHandler();=0A=
	if(s.url){=0A=
		 //Track FileName=0A=
                 	=
s.eVar7=3Ds.url.substring(s.url.lastIndexOf("/")+1,s.url.length);=0A=
	                s.events=3Ds.apl(s.events,"event4",",",2)               =
                           =0A=
                 //Track eVar & Event=0A=
                        s.linkTrackVars=3D"eVar7,events"=0A=
                        s.linkTrackEvents=3D"event4"=0A=
	}=0A=
=0A=
	s.setupFormAnalysis();=0A=
=0A=
	if(s.prop12){=0A=
		s.eVar8=3Ds.prop12;=0A=
	}=0A=
	=0A=
	if(s.getQueryParam('s_kwcid')){=0A=
    	s.pageURL=3Ds.manageQueryParam('s_kwcid',1,1); =0A=
	}=0A=
	=0A=
}=0A=
s.doPlugins=3Ds_doPlugins=0A=
=0A=
=0A=
/************************** PLUGINS SECTION *************************/=0A=
/* You may insert any plugins you wish to use here.                 */=0A=
=0A=
/*=0A=
 *	Plug-in: manageQueryParam v1.2 - Manages query string parameters=0A=
 *	by either encoding, swapping, or both encoding and swapping a value. =0A=
 */                                                                      =
                 =0A=
=0A=
s.manageQueryParam=3Dnew Function("p","w","e","u",""=0A=
+"var =
s=3Dthis,x,y,i,qs,qp,qv,f,b;u=3Du?u:(s.pageURL?s.pageURL:''+s.wd.lo"=0A=
+"cation);u=3Du=3D=3D'f'?''+s.gtfs().location:u+'';x=3Du.indexOf('?');qs=3D=
x>-1"=0A=
+"?u.substring(x,u.length):'';u=3Dx>-1?u.substring(0,x):u;x=3Dqs.indexOf(=
"=0A=
+"'?'+p+'=3D');if(x>-1){y=3Dqs.indexOf('&');f=3D'';if(y>-1){qp=3Dqs.subst=
ring"=0A=
+"(x+1,y);b=3Dqs.substring(y+1,qs.length);}else{qp=3Dqs.substring(1,qs.le=
"=0A=
+"ngth);b=3D'';}}else{x=3Dqs.indexOf('&'+p+'=3D');if(x>-1){f=3Dqs.substri=
ng(1"=0A=
+",x);b=3Dqs.substring(x+1,qs.length);y=3Db.indexOf('&');if(y>-1){qp=3Db.=
su"=0A=
+"bstring(0,y);b=3Db.substring(y,b.length);}else{qp=3Db;b=3D'';}}}if(e&&q=
p)"=0A=
+"{y=3Dqp.indexOf('=3D');qv=3Dy>-1?qp.substring(y+1,qp.length):'';var =
eui=3D0"=0A=
+";while(qv.indexOf('%25')>-1){qv=3Dunescape(qv);eui++;if(eui=3D=3D10)bre=
ak"=0A=
+";}qv=3Ds.rep(qv,'+',' =
');qv=3Descape(qv);qv=3Ds.rep(qv,'%25','%');qv=3Ds.re"=0A=
+"p(qv,'%7C','|');qv=3Ds.rep(qv,'%7c','|');qp=3Dqp.substring(0,y+1)+qv;}i=
"=0A=
+"f(w&&qp){if(f)qs=3D'?'+qp+'&'+f+b;else if(b)qs=3D'?'+qp+'&'+b;else =
qs=3D'"=0A=
+"?'+qp}else if(f)qs=3D'?'+f+'&'+qp+b;else if(b)qs=3D'?'+qp+'&'+b;else =
if"=0A=
+"(qp)qs=3D'?'+qp;return u+qs;");=0A=
=0A=
/*=0A=
 * Plugin: getQueryParam 2.1 - return query string parameter(s)=0A=
 */=0A=
s.getQueryParam=3Dnew Function("p","d","u",""=0A=
+"var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"=0A=
+"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"=0A=
+".length:i;t=3Ds.p_gpv(p.substring(0,i),u+'');if(t)v+=3Dv?d+t:t;p=3Dp.su=
bs"=0A=
+"tring(i=3D=3Dp.length?i:i+1)}return v");=0A=
s.p_gpv=3Dnew Function("k","u",""=0A=
+"var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"=0A=
+"=3Ds.pt(q,'&','p_gvf',k)}return v");=0A=
s.p_gvf=3Dnew Function("t","k",""=0A=
+"if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"=0A=
+"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
s."=0A=
+"epa(v)}return ''");=0A=
/*=0A=
 * Plugin: getValOnce_v1.0=0A=
 */=0A=
s.getValOnce=3Dnew Function("v","c","e",""=0A=
+"var s=3Dthis,a=3Dnew =
Date,v=3Dv?v:v=3D'',c=3Dc?c:c=3D's_gvo',e=3De?e:0,k=3Ds.c_r(c"=0A=
+");if(v){a.setTime(a.getTime()+e*86400000);s.c_w(c,v,e?a:0);}return"=0A=
+" v=3D=3Dk?'':v");=0A=
/*=0A=
 * Utility Function: split v1.5 - split a string (JS 1.0 compatible)=0A=
 */=0A=
s.split=3Dnew Function("l","d",""=0A=
+"var i,x=3D0,a=3Dnew =
Array;while(l){i=3Dl.indexOf(d);i=3Di>-1?i:l.length;a[x"=0A=
+"++]=3Dl.substring(0,i);l=3Dl.substring(i+d.length);}return a");=0A=
/*=0A=
 * Plugin Utility: apl v1.1=0A=
 */=0A=
s.apl=3Dnew Function("L","v","d","u",""=0A=
+"var s=3Dthis,m=3D0;if(!L)L=3D'';if(u){var =
i,n,a=3Ds.split(L,d);for(i=3D0;i<a."=0A=
+"length;i++){n=3Da[i];m=3Dm||(u=3D=3D1?(n=3D=3Dv):(n.toLowerCase()=3D=3D=
v.toLowerCas"=0A=
+"e()));}}if(!m)L=3DL?L+d+v:v;return L");=0A=
/*=0A=
 * Plugin: getPreviousValue_v1.0 - return previous value of designated=0A=
 *   variable (requires split utility)=0A=
 */=0A=
s.getPreviousValue=3Dnew Function("v","c","el",""=0A=
+"var s=3Dthis,t=3Dnew =
Date,i,j,r=3D'';t.setTime(t.getTime()+1800000);if(el"=0A=
+"){if(s.events){i=3Ds.split(el,',');j=3Ds.split(s.events,',');for(x in =
i"=0A=
+"){for(y in j){if(i[x]=3D=3Dj[y]){if(s.c_r(c)) =
r=3Ds.c_r(c);v?s.c_w(c,v,t)"=0A=
+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=3Ds.c_r(c);v?"=0A=
+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");=0A=
/*=0A=
 * Plugin: downloadLinkHandler 0.5 - identify and report download links=0A=
 */=0A=
s.downloadLinkHandler=3Dnew Function("p",""=0A=
+"var =
s=3Dthis,h=3Ds.p_gh(),n=3D'linkDownloadFileTypes',i,t;if(!h||(s.linkT"=0A=
+"ype&&(h||s.linkName)))return =
'';i=3Dh.indexOf('?');t=3Ds[n];s[n]=3Dp?p:t;"=0A=
+"if(s.lt(h)=3D=3D'd')s.linkType=3D'd';else h=3D'';s[n]=3Dt;return h;");=0A=
/*=0A=
 * Utility Function: p_gh=0A=
 */=0A=
s.p_gh=3Dnew Function(""=0A=
+"var s=3Dthis;if(!s.eo&&!s.lnk)return '';var =
o=3Ds.eo?s.eo:s.lnk,y=3Ds.ot("=0A=
+"o),n=3Ds.oid(o),x=3Do.s_oidt;if(s.eo&&o=3D=3Ds.eo){while(o&&!n&&y!=3D'B=
ODY'){"=0A=
+"o=3Do.parentElement?o.parentElement:o.parentNode;if(!o)return =
'';y=3Ds."=0A=
+"ot(o);n=3Ds.oid(o);x=3Do.s_oidt}}return o.href?o.href:'';");=0A=
/*=0A=
 * Plugin: Form Analysis 2.1 (Success, Error, Abandonment)=0A=
 */=0A=
s.setupFormAnalysis=3Dnew Function(""=0A=
+"var s=3Dthis;if(!s.fa){s.fa=3Dnew Object;var =
f=3Ds.fa;f.ol=3Ds.wd.onload;s."=0A=
+"wd.onload=3Ds.faol;f.uc=3Ds.useCommerce;f.vu=3Ds.varUsed;f.vl=3Df.uc?s.=
even"=0A=
+"tList:'';f.tfl=3Ds.trackFormList;f.fl=3Ds.formList;f.va=3Dnew =
Array('',''"=0A=
+",'','')}");=0A=
s.sendFormEvent=3Dnew Function("t","pn","fn","en",""=0A=
+"var =
s=3Dthis,f=3Ds.fa;t=3Dt=3D=3D's'?t:'e';f.va[0]=3Dpn;f.va[1]=3Dfn;f.va[3]=3D=
t=3D=3D'"=0A=
+"s'?'Success':en;s.fasl(t);f.va[1]=3D'';f.va[3]=3D'';");=0A=
s.faol=3Dnew Function("e",""=0A=
+"var =
s=3Ds_c_il["+s._in+"],f=3Ds.fa,r=3Dtrue,fo,fn,i,en,t,tf;if(!e)e=3Ds.wd."=0A=
+"event;f.os=3Dnew =
Array;if(f.ol)r=3Df.ol(e);if(s.d.forms&&s.d.forms.leng"=0A=
+"th>0){for(i=3Ds.d.forms.length-1;i>=3D0;i--){fo=3Ds.d.forms[i];fn=3Dfo.=
name"=0A=
+";tf=3Df.tfl&&s.pt(f.fl,',','ee',fn)||!f.tfl&&!s.pt(f.fl,',','ee',fn);"=0A=
+"if(tf){f.os[fn]=3Dfo.onsubmit;fo.onsubmit=3Ds.faos;f.va[1]=3Dfn;f.va[3]=
=3D'"=0A=
+"No Data =
Entered';for(en=3D0;en<fo.elements.length;en++){el=3Dfo.element"=0A=
+"s[en];t=3Del.type;if(t&&t.toUpperCase){t=3Dt.toUpperCase();var =
md=3Del.on"=0A=
+"mousedown,kd=3Del.onkeydown,omd=3Dmd?md.toString():'',okd=3Dkd?kd.toStr=
in"=0A=
+"g():'';if(omd.indexOf('.fam(')<0&&okd.indexOf('.fam(')<0){el.s_famd"=0A=
+"=3Dmd;el.s_fakd=3Dkd;el.onmousedown=3Ds.fam;el.onkeydown=3Ds.fam}}}}}f.=
ul=3Ds"=0A=
+".wd.onunload;s.wd.onunload=3Ds.fasl;}return r;");=0A=
s.faos=3Dnew Function("e",""=0A=
+"var =
s=3Ds_c_il["+s._in+"],f=3Ds.fa,su;if(!e)e=3Ds.wd.event;if(f.vu){s[f.v"=0A=
+"u]=3D'';f.va[1]=3D'';f.va[3]=3D'';}su=3Df.os[this.name];return =
su?su(e):tru"=0A=
+"e;");=0A=
s.fasl=3Dnew Function("e",""=0A=
+"var =
s=3Ds_c_il["+s._in+"],f=3Ds.fa,a=3Df.va,l=3Ds.wd.location,ip=3Ds.trackPag=
"=0A=
+"eName,p=3Ds.pageName;if(a[1]!=3D''&&a[3]!=3D''){a[0]=3D!p&&ip?l.host+l.=
path"=0A=
+"name:a[0]?a[0]:p;if(!f.uc&&a[3]!=3D'No Data =
Entered'){if(e=3D=3D'e')a[2]=3D"=0A=
+"'Error';else if(e=3D=3D's')a[2]=3D'Success';else a[2]=3D'Abandon'}else =
a[2]"=0A=
+"=3D'';var =
tp=3Dip?a[0]+':':'',t3=3De!=3D's'?':('+a[3]+')':'',ym=3D!f.uc&&a[3]"=0A=
+"!=3D'No Data =
Entered'?tp+a[1]+':'+a[2]+t3:tp+a[1]+t3,ltv=3Ds.linkTrackV"=0A=
+"ars,lte=3Ds.linkTrackEvents,up=3Ds.usePlugins;if(f.uc){s.linkTrackVars=3D=
"=0A=
+"ltv=3D=3D'None'?f.vu+',events':ltv+',events,'+f.vu;s.linkTrackEvents=3D=
lt"=0A=
+"e=3D=3D'None'?f.vl:lte+','+f.vl;f.cnt=3D-1;if(e=3D=3D'e')s.events=3Ds.p=
t(f.vl,'"=0A=
+",','fage',2);else =
if(e=3D=3D's')s.events=3Ds.pt(f.vl,',','fage',1);else s"=0A=
+".events=3Ds.pt(f.vl,',','fage',0)}else{s.linkTrackVars=3Dltv=3D=3D'None=
'?f."=0A=
+"vu:ltv+','+f.vu}s[f.vu]=3Dym;s.usePlugins=3Dfalse;var faLink=3Dnew =
Object"=0A=
+"();faLink.href=3D'#';s.tl(faLink,'o','Form =
Analysis');s[f.vu]=3D'';s.us"=0A=
+"ePlugins=3Dup}return f.ul&&e!=3D'e'&&e!=3D's'?f.ul(e):true;");=0A=
s.fam=3Dnew Function("e",""=0A=
+"var s=3Ds_c_il["+s._in+"],f=3Ds.fa;if(!e) e=3Ds.wd.event;var =
o=3Ds.trackLas"=0A=
+"tChanged,et=3De.type.toUpperCase(),t=3Dthis.type.toUpperCase(),fn=3Dthi=
s."=0A=
+"form.name,en=3Dthis.name,sc=3Dfalse;if(document.layers){kp=3De.which;b=3D=
e."=0A=
+"which}else{kp=3De.keyCode;b=3De.button}et=3Det=3D=3D'MOUSEDOWN'?1:et=3D=
=3D'KEYDOW"=0A=
+"N'?2:et;if(f.ce!=3Den||f.cf!=3Dfn){if(et=3D=3D1&&b!=3D2&&'BUTTONSUBMITR=
ESETIM"=0A=
+"AGERADIOCHECKBOXSELECT-ONEFILE'.indexOf(t)>-1){f.va[1]=3Dfn;f.va[3]=3De=
"=0A=
+"n;sc=3Dtrue}else =
if(et=3D=3D1&&b=3D=3D2&&'TEXTAREAPASSWORDFILE'.indexOf(t)>-1"=0A=
+"){f.va[1]=3Dfn;f.va[3]=3Den;sc=3Dtrue}else =
if(et=3D=3D2&&kp!=3D9&&kp!=3D13){f.va["=0A=
+"1]=3Dfn;f.va[3]=3Den;sc=3Dtrue}if(sc){nface=3Den;nfacf=3Dfn}}if(et=3D=3D=
1&&this.s"=0A=
+"_famd)return this.s_famd(e);if(et=3D=3D2&&this.s_fakd)return =
this.s_fak"=0A=
+"d(e);");=0A=
s.ee=3Dnew Function("e","n",""=0A=
+"return n&&n.toLowerCase?e.toLowerCase()=3D=3Dn.toLowerCase():false;");=0A=
s.fage=3Dnew Function("e","a",""=0A=
+"var s=3Dthis,f=3Ds.fa,x=3Df.cnt;x=3Dx?x+1:1;f.cnt=3Dx;return =
x=3D=3Da?e:'';");=0A=
=0A=
=0A=
/* WARNING: Changing any of the below variables will cause drastic=0A=
changes to how your visitor data is collected.  Changes should only be=0A=
made when instructed to do so by your account manager.*/=0A=
s.visitorNamespace=3D"hidglobal"=0A=
s.trackingServer=3D"metrics.hidglobal.com"=0A=
s.trackingServerSecure=3D"smetrics.hidglobal.com"=0A=
s.dc=3D"122"=0A=
s.vmk=3D"4A560CED"=0A=
=0A=
/****************************** MODULES *****************************/=0A=
/* Module: Media */=0A=
s.m_Media_c=3D"(`OWhilePlaying~=3D's_media_'+m._in+'_~unc^D(~;`E~m.ae(mn,=
l,\"'+p+'\",~){var =
m=3Dthis~o;w.percent=3D((w.off^e+1)/w`X)*100;w.percent=3Dw.percent>1~o.'+=
f~=3Dnew ~o.Get~:Math.floor(w.percent);w.timeP"=0A=
+"layed=3Di.t~}`x =
p');p=3Dtcf(o)~Time~x,x!=3D2?p:-1,o)}~if(~m.monitor)m.monitor(m.s,w)}~m.s=
.d.getElementsByTagName~ersionInfo~'^N_c_il['+m._in+'],~'o','var =
e,p=3D~else~i.to~=3DMath.floor(~}catch(e){p=3D~m.track~"=0A=
+"s.wd.addEventListener~.name~m.s.rep(~layState~||^8~Object~m.s.wd[f1]~^A=
+=3Di.t+d+i.s+d+~.length~parseInt(~Player =
'+~s.wd.attachEvent~'a','b',c~Media~pe=3D'm~;o[f1]~m.s.isie~.current~);i.=
~p<p2||p-p2>5)~"=0A=
+".event=3D~m.close~i.lo~vo.linkTrack~=3Dv+',n,~.open~){w.off^e=3D~;n=3Dm=
.cn(n);~){this.e(n,~v=3De=3D'None';~Quick~MovieName()~);o[f~out(\"'+v+';~=
return~1000~i.lx~m.ol~o.controls~m.s.ape(i.~load',m.as~)}};m.~scr"=0A=
+"ipt';x.~,t;try{t=3D~Version()~n=3D=3D~'--**--',~pev3~o.id~i.ts~tion~){m=
n=3D~1;o[f7]=3D~();~(x=3D=3D~){p=3D'~&&m.l~l[n])~:'')+i.e~':'E')+o~var =
m=3Ds~!p){tcf~xc=3Dm.s.~Title()~()/~7+'~+1)/i.l~;i.e=3D''~3,p,o);~m.l[n]=3D=
~Dat"=0A=
+"e~5000~;if~i.lt~';c2=3D'~tm.get~Events~set~Change~)};m~',f~(x!=3D~4+'=3D=
n;~~^N.m_i('`c');m.cn=3Df`2n`5;`x =
`Rm.s.rep(`Rn,\"\\n\",''),\"\\r\",''),^9''^g`o=3Df`2n,l,p,b`5,i`8`U,tm`8^=
X,a=3D'',x`ql=3D`Yl)`3!l)l=3D1`3n&"=0A=
+"&p){`E!m.l)m.l`8`U`3m.^K`k(n)`3b&&b.id)a=3Db.id;for (x in =
m.l)`Em.l[x]^J[x].a=3D=3Da)`k(m.l[x].n`hn=3Dn;i.l=3Dl;i.p=3Dm.cn(p`ha=3Da=
;i.t=3D0;^C=3D0;i.s`M^c`C^R`y`hlx=3D0;^a=3Di.s;`l=3D0^U;`L=3D-1;^Wi}};`k=3D=
f`2n`r0,-1^g.play=3Df"=0A=
+"`2n,o`5,i;i=3Dm.e(n,1,o`hm`8F`2`Ii`3m.l){i=3Dm.l[\"'+`Ri.n,'\"','\\\\\"=
')+'\"]`3i){`E`z=3D=3D1)m.e(i.n,3,-1`hmt=3D^e`Cout(i.m,^Y)}}'`hm(^g.stop=3D=
f`2n,o`r2,o)};`O=3Df`2n`5^Z `0) {m.e(n,4,-1^4e=3Df`2n,x,o`5,i,tm`8^"=0A=
+"X,ts`M^c`C^R`y),ti=3D`OSeconds,tp=3D`OMilestones,z`8Array,j,d=3D^9t=3D1=
,b,v=3D`OVars,e=3D`O^d,`dedia',^A,w`8`U,vo`8`U`qi=3Dn^J&&m.l[n]?m.l[n]:0`=
3i){w`Q=3Dn;w`X=3Di.l;w.playerName=3Di.p`3`L<0)w`j\"OPEN\";`K =
w`j^H1?\"PL"=0A=
+"AY\":^H2?\"STOP\":^H3?\"MONITOR\":\"CLOSE\")));w`o`C`8^X^Gw`o`C.^e`C(i.=
s*`y)`3x>2||^i`z&&^i2||`z=3D=3D1))) {b=3D\"`c.\"+name;^A =3D =
^2n)+d+i.l+d+^2p)+d`3x){`Eo<0&&^a>0){o=3D(ts-^a)+`l;o=3Do<i.l?o:i.l-1}o`M=
o)`3"=0A=
+"x>=3D2&&`l<o){i.t+=3Do-`l;^C+=3Do-`l;}`Ex<=3D2){i.e+=3D^H1?'S^M;`z=3Dx;=
}`K =
`E`z!=3D1)m.e(n,1,o`hlt=3Dts;`l=3Do;`W`0&&`L>=3D0?'L'+`L^L+^i2?`0?'L^M:''=
)^Z`0){b=3D0;`d_o'`3x!=3D4`p`600?100`A`3`F`E`L<0)`d_s';`K =
`Ex=3D=3D4)`d_i';`K"=0A=
+"{t=3D0;`sti=3Dti?`Yti):0;z=3Dtp?m.s.sp(tp,','):0`3ti&&^C>=3Dti)t=3D1;`K=
 =
`Ez){`Eo<`L)`L=3Do;`K{for(j=3D0;j<z`X;j++){ti=3Dz[j]?`Yz[j]):0`3ti&&((`L^=
T<ti/100)&&((o^T>=3Dti/100)){t=3D1;j=3Dz`X}}}}}}}`K{m.e(n,2,-1)^Z`0`pi.l`=
6"=0A=
+"00?100`A`3`F^W0`3i.e){`W`0&&`L>=3D0?'L'+`L^L^Z`0){`s`d_o'}`K{t=3D0;m.s.=
fbr(b)}}`K =
t=3D0;b=3D0}`Et){`mVars=3Dv;`m^d=3De;vo.pe=3Dpe;vo.^A=3D^A;m.s.t(vo,b)^Z`=
0){^C=3D0;`L=3Do^U}}}}`x i};m.ae=3Df`2n,l,p,x,o,b){`En&&p`5`3!m."=0A=
+"l||!m.^Km`o(n,l,p,b);m.e(n,x,o^4a=3Df`2o,t`5,i=3D^B?^B:o`Q,n=3Do`Q,p=3D=
0,v,c,c1,c2,^Ph,x,e,f1,f2`1oc^h3`1t^h4`1s^h5`1l^h6`1m^h7`1c',tcf,w`3!i){`=
E!m.c)m.c=3D0;i`1'+m.c;m.c++}`E!^B)^B=3Di`3!o`Q)o`Q=3Dn=3Di`3!^0)^0`8"=0A=
+"`U`3^0[i])`x;^0[i]=3Do`3!xc)^Pb;tcf`8F`2`J0;try{`Eo.v`H&&o`g`c&&^1)p=3D=
1`N0`B`3^O`8F`2`J0^6`9`t`C^7`3t)p=3D2`N0`B`3^O`8F`2`J0^6`9V`H()`3t)p=3D3`=
N0`B}}v=3D\"^N_c_il[\"+m._in+\"],o=3D^0['\"+i+\"']\"`3p=3D=3D1^IWindo"=0A=
+"ws `c =
`Zo.v`H;c1`np,l,x=3D-1,cm,c,mn`3o){cm=3Do`g`c;c=3D^1`3cm&&c^Ecm`Q?cm`Q:c.=
URL;l=3Dcm.dura^D;p=3Dc`gPosi^D;n=3Do.p`S`3n){`E^88)x=3D0`3^83)x=3D1`3^81=
`T2`T4`T5`T6)x=3D2;}^b`Ex>=3D0)`4`D}';c=3Dc1+c2`3`f&&xc){x=3Dm.s.d.cr"=0A=
+"eateElement('script');x.language=3D'j^5type=3D'text/java^5htmlFor=3Di;x=
`j'P`S^f(NewState)';x.defer=3Dtrue;x.text=3Dc;xc.appendChild(x`v6]`8F`2c1=
+'`E^83){x=3D3;'+c2+'}^e`Cout(`76+',^Y)'`v6]()}}`Ep=3D=3D2^I`t`C `Z(`"=0A=
+"9Is`t`CRegistered()?'Pro =
':'')+`9`t`C^7;f1=3Df2;c`nx,t,l,p,p2,mn`3o^E`9`u?`9`u:`9URL^Gn=3D`9Rate^G=
t=3D`9`CScale^Gl=3D`9Dura^D^Rt;p=3D`9`C^Rt;p2=3D`75+'`3n!=3D`74+'||`i{x=3D=
2`3n!=3D0)x=3D1;`K `Ep>=3Dl)x=3D0`3`i`42,p2,o);`4"=0A=
+"`D`En>0&&`7^S>=3D10){`4^V`7^S=3D0}`7^S++;`7^j`75+'=3Dp;^e`C`w`72+'(0,0)=
\",500)}'`e`8F`2`b`v4]=3D-^F0`e(0,0)}`Ep=3D=3D3^IReal`Z`9V`H^Gf1=3Dn+'_On=
P`S^f';c1`nx=3D-1,l,p,mn`3o^E`9^Q?`9^Q:`9Source^Gn=3D`9P`S^Gl=3D`9Length^=
"=0A=
+"R`y;p=3D`9Posi^D^R`y`3n!=3D`74+'){`E^83)x=3D1`3^80`T2`T4`T5)x=3D2`3^80&=
&(p>=3Dl||p=3D=3D0))x=3D0`3x>=3D0)`4`D`E^83&&(`7^S>=3D10||!`73+')){`4^V`7=
^S=3D0}`7^S++;`7^j^b`E`72+')`72+'(o,n)}'`3`V)o[f2]=3D`V;`V`8F`2`b1+c2)`e`=
8F`2"=0A=
+"`b1+'^e`C`w`71+'(0,0)\",`73+'?500:^Y);'+c2`v4]=3D-1`3`f)o[f3]=3D^F0`e(0=
,0^4as`8F`2'e',`Il,n`3m.autoTrack&&`G){l=3D`G(`f?\"OBJECT\":\"EMBED\")`3l=
)for(n=3D0;n<l`X;n++)m.a(^K;}')`3`a)`a('on^3);`K `E`P)`P('^3,"=0A=
+"false)";=0A=
s.m_i("Media");=0A=
=0A=
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/=0A=
var s_code=3D'',s_objectID;function s_gi(un,pg,ss){var =
c=3D"=3Dfun^I(~){`Ls=3D^Z~$y ~.substring(~.indexOf(~;@u~`c@u~=3Dnew =
Fun^I(~.toLowerCase()~};s.~.length~s_c_il['+s@4n+']~=3Dnew =
Object~`ZMigrationServer~.toU"=0A=
+"pperCase~){@u~`U$z=3D^O=3Ds.`W`q=3Ds.`W^c=3D`I^zobjectID=3Ds.ppu=3D$9=3D=
$9v1=3D$9v2=3D$9v3=3D~','~s.wd~t^S~')q=3D'~var ~s.pt(~=3Dnew =
Array~ookieDomainPeriods~.location~^KingServer~dynamicAccount~s.apv~Buffe=
redRequests~);s"=0A=
+".~)@ux^w!Object$rObject.prototype$rObject.prototype[x])~link~s.m_~Eleme=
nt~visitor~$q@h~referrer~else =
~.get#B()~}c#D(e){~.lastIndexOf(~.protocol~=3Dnew =
Date~=3D''~;@d^ss[k],255)}~javaEnabled~conne^I^c~^"=0A=
+"zc_i~:'')~onclick~}@u~Name~ternalFilters~javascript~s.dl~@9s.b.addBehav=
ior(\"# default# =
~for(~=3DparseFloat(~'+tm.get~typeof(v)=3D=3D\"~window~cookie~s.rep(~s.vl=
_g~tfs~s.un~&&s.~o^zoid~browser~.parent~do"=0A=
+"cument~colorDepth~String~while(~.host~s.maxDelay~r=3Ds.m(f)?s[f](~s.sq~=
parseInt(~ction~t=3Ds.ot(o)~track~nload~j=3D'1.~#NURL~s.eo~lugins~'){q=3D=
'~dynamicVariablePrefix~=3D=3D'~set#Bout(~Sampling~s.rc[un]~Event"=0A=
+"~;i++)~');~this~resolution~}else{~Type~s.c_r(~s.c_w(~s.eh~s.isie~s.vl_l=
~s.vl_t~Secure~Height~t,h#Wt?t~tcf~isopera~ismac~escape(~.href~screen.~s.=
fl(~s=3Ds_gi(~Version~harCode~&&(~_'+~variableProvider~"=0A=
+".s_~f',~){s.~)?'Y':'N'~:'';h=3Dh?h~._i~e&&l!=3D'SESSION'~s_sv(v,n[k],i)=
}~name~home#N~;try{~s.ssl~s.oun~s.rl[u~Width~o.type~\"m_\"+n~Lifetime~s.g=
g('objectID~sEnabled~.mrq($tun+'\"~ExternalLinks~charSet~"=0A=
+"onerror~currencyCode~.src~disable~etYear(~MigrationKey~&&!~Opera~'s_~Ma=
th.~s.fsg~s.$z~s.ns6~InlineStats~&&l!=3D'NONE'~Track~'0123456789~s[k]=3D~=
'+n+'~loadModule~+\"_c\"]~s.ape(~s.epa(~t.m_nl~m._d~n=3Ds.o"=0A=
+"id(o)~,'sqs',q);~LeaveQuery~(''+~')>=3D~'=3D')~){n=3D~\",''),~&&t!=3D'~=
if(~vo)~s.sampled~=3Ds.oh(o);~+(y<1900?~n]=3D~true~sess~campaign~lif~ in =
~'http~,100)~s.co(~ffset~s.pe~'&pe~m._l~s.c_d~s.brl~s.nrs~s.gv(~s"=0A=
+"[mn]~s.qav~,'vo~s.pl~=3D(apn~Listener~\"s_gs(\")~vo._t~b.attach~2o7.net=
'~d.create~=3Ds.n.app~n){~t&&~)+'/~s()+'~){p=3D~():''~a):f(~'+n;~+1))~a['=
!'+t]~){v=3Ds.n.~channel~.target~x.split~o.value~[\"s_\"+g~s_"=0A=
+"si(t)~')dc=3D'1~\".tl(\")~etscape~s_')t=3Dt~omePage~s.d.get~')<~=3D'+~|=
|!~'||~\"'+~[b](e);~\"){n[k]~a+1,b):~m[t+1](~return~lnk~mobile~height~eve=
nts~random~code~wd.~=3Dun~un,~,pev~'MSIE ~rs,~Time~floor(~atc"=0A=
+"h~s.num(~s.pg~m._e~s.c_gd~,'lt~.inner~transa~;s.gl(~',s.bc~page~Group,~=
.fromC~sByTag~?'&~+';'~&&o~1);~}}}}~){t=3D~[t]=3D~[n];~>=3D5)~[t](~!a[t])=
~~s._c=3D@Uc';`I=3D`z`5!`I`m$S`I`ml`N;`I`mn=3D0;}s@4l=3D`I`ml;s@4n=3D"=0A=
+"`I`mn;s@4l[s@4@zs;`I`mn++;s.m`0m){`2@om)`4'{$p0`9fl`0x,l){`2x?@ox)`30,l=
):x`9co`0o`F!o)`2o;`Ln`C,x;`vx$4o)@ux`4'select$p0&&x`4'filter$p0)n[x]=3Do=
[x];`2n`9num`0x){x`i+x;`v`Lp=3D0;p<x`A;p++)@u(@c')`4x`3p,"=0A=
+"p$a<0)`20;`21`9rep=3Ds_r;s.spf`0t,a){a[a`A]=3Dt;`20`9sp`0x,d`1,a`N`5$f)=
a=3D$f(d);`c`Mx,d,'sp@0a);`2a`9ape`0x`1,h=3D@cABCDEF',i,c=3Ds.@L,n,l,e,y`=
i;c=3Dc?c`E$X`5x){x`i+x`5c^SAUTO'^w'').c^vAt){`vi=3D0;i<x`A^X{c=3Dx`3"=0A=
+"i,i+#Un=3Dx.c^vAt(i)`5n>127){l=3D0;e`i;^Cn||l<4){e=3Dh`3n%16,n%16+1)+e;=
n=3D(n-n%16)/16;l++}y+=3D'%u'+e}`6c^S+')y+=3D'%2B';`cy+=3D^pc)}x=3Dy^bx=3D=
x?^1^p''+x),'+`H%2B'):x`5x&&c^5em=3D=3D1&&x`4'%u$p0&&x`4'%U$p0){i=3Dx`4'%=
^Y^"=0A=
+"Ci>=3D0){i++`5h`38)`4x`3i,i+1)`E())>=3D0)`2x`30,i)+'u00'+x`3i);i=3Dx`4'=
%',i)#V`2x`9epa`0x`1;`2x?un^p^1''+x,'+`H =
')):x`9pt`0x,d,f,a`1,t=3Dx,z=3D0,y,r;^Ct){y=3Dt`4d);y=3Dy<0?t`A:y;t=3Dt`3=
0,y);^Ft,$Yt,a)`5r)`2r;z+=3Dy+"=0A=
+"d`A;t=3Dx`3z,x`A);t=3Dz<x`A?t:''}`2''`9isf`0t,a){`Lc=3Da`4':')`5c>=3D0)=
a=3Da`30,c)`5t`30,2)^S$m`32);`2(t!`i&&t=3D=3Da)`9fsf`0t,a`1`5`Ma,`H,'is@0=
t))@W+=3D(@W!`i?`H`n+t;`20`9fs`0x,f`1;@W`i;`Mx,`H,'fs@0f);`2@W`9si`0w"=0A=
+"d`1,c`i+s_gi,a=3Dc`4\"{\"),b=3Dc`f\"}\"),m;c=3Ds_fe(a>0&&b>0?c`3$w0)`5w=
d&&#5^9&&c){#5^T'fun^I =
s_sv(o,n,k){`Lv=3Do[k],i`5v`F`ystring\"||`ynumber\")n[k]=3Dv;`cif =
(`yarray$v`N;`vi=3D0;i<v`A^X@6`cif (`yobject$v`C;"=0A=
+"`vi$4v)@6}}fun^I =
$i{`Lwd=3D`z,s,i,j,c,a,b;wd^zgi`7\"un\",\"pg\",\"ss\",$tc+'\");#5^t$t@B+'=
\");s=3D#5s;s.sa($t^4+'\"`U^3=3Dwd;`M^2,\",\",\"vo1\",t`G\\'\\'`5t.m_l&&@=
j)`vi=3D0;i<@j`A^X{n=3D@j[i]`5$Sm=3Dt#Yc=3Dt[@F]"=0A=
+"`5m&&c){c=3D\"\"+c`5c`4\"fun^I\")>=3D0){a=3Dc`4\"{\");b=3Dc`f\"}\");c=3D=
a>0&&b>0?c`3$w0;s[@F@g=3Dc`5#G)s.@f(n)`5s[n])`vj=3D0;j<$B`A;j++)s_sv(m,s[=
n],$B[j])#V}`Le,o,t@9o=3D`z.opener`5o#T^zgi#Wo^zgi($t^4+'\")`5t)$i}`"=0A=
+"e}',1)}`9c_d`i;#Hf`0t,a`1`5!#Et))`21;`20`9c_gd`0`1,d=3D`I`P^D@7,n=3Ds.f=
pC`O,p`5!n)n=3Ds.c`O`5d@S$C@rn?^Hn):2;n=3Dn>2?n:2;p=3Dd`f'.')`5p>=3D0){^C=
p>=3D0&&n>1$Wd`f'.',p-#Un--}$C=3Dp>0&&`Md,'.`Hc_gd@00)?d`3p):d}}`2$C`"=0A=
+"9c_r`0k`1;k=3D@hk);`Lc=3D' '+s.d.^0,i=3Dc`4' =
'+k+@q,e=3Di<0?i:c`4';',i),v=3Di<0?'':@ic`3i+2+k`A,e<0?c`A:e));`2v!=3D'[[=
B]]'?v:''`9c_w`0k,v,e`1,d=3D#H(),l=3Ds.^0@G,t;v`i+v;l=3Dl?@ol)`E$X`5@5@a#=
W(v!`i?^Hl?l:0):-60)`5t)"=0A=
+"{e`h;e.set#B(e`d+(t*1000))}`pk@a@1d.^0=3Dk+'`av!`i?v:'[[B]]')+'; =
path=3D/;'+(@5?' expires$qe.toGMT^B()#S`n+(d?' =
domain$qd#S`n;`2^dk)=3D=3Dv}`20`9eh`0o,e,r,f`1,b=3D's^xe+'^xs@4n,n=3D-1,l=
,i,x`5!^fl)^fl`N;l=3D^fl;`"=0A=
+"vi=3D0;i<l`A&&n<0;i++`Fl[i].o=3D=3Do&&l[i].e=3D=3De)n=3Di`pn<0@ri;l[n]`=
C}x=3Dl#Yx.o=3Do;x.e=3De;f=3Dr?x.b:f`5r||f){x.b=3Dr?0:o[e];x.o[e]=3Df`px.=
b){x.o[b]=3Dx.b;`2b}`20`9cet`0f,a,t,o,b`1,r,^m`5`S>=3D5^w!s.^n||`S>=3D7))=
{^m`7's`Hf"=0A=
+"`Ha`Ht`H`Le,r@9^F$Ya)`er=3Ds.m(t)?s#ae):t(e)}`2r^Yr=3D^m(s,f,a,t)^b@us.=
^o^5u`4#94@p0)r=3Ds.m(b)?s[b](a):b(a);else{^f(`I,'@M',0,o);^F$Ya`Ueh(`I,'=
@M',1)}}`2r`9g^3et`0e`1;`2s.^3`9g^3oe`7'e`H`Ls=3D`B,c;^f(`z,"=0A=
+"\"@M\",1`Ue^3=3D1;c=3Ds.t()`5c)s.d.write(c`Ue^3=3D0;`2$0'`Ug^3fb`0a){`2=
`z`9g^3f`0w`1,p=3Dw^8,l=3Dw`P;s.^3=3Dw`5p&&p`P!=3Dl&&p`P^D=3D=3Dl^D@1^3=3D=
p;`2s.g^3f(s.^3)}`2s.^3`9g^3`0`1`5!s.^3@1^3=3D`I`5!s.e^3)s.^3=3Ds.cet('g^=
3@0"=0A=
+"s.^3,'g^3et',s.g^3oe,'g^3fb')}`2s.^3`9mrq`0u`1,l=3D@C],n,r;@C]=3D0`5l)`=
vn=3D0;n<l`A;n++){r=3Dl#Ys.mr(0,0,r.r,0,r.t,r.u)}`9br`0id,rs`1`5s.@P`T$r^=
e@Ubr',rs))$D=3Drs`9flush`T`0`1;s.fbr(0)`9fbr`0id`1,br=3D^d@Ubr')"=0A=
+"`5!br)br=3D$D`5br`F!s.@P`T)^e@Ubr`H'`Umr(0,0,br)}$D=3D0`9mr`0$1,q,#Aid,=
ta,u`1,dc=3Ds.dc,t1=3Ds.`Q,t2=3Ds.`Q^j,tb=3Ds.`QBase,p=3D'.sc',ns=3Ds.`Z`=
qspace,un=3Du?u:(ns?ns:s.fun),unc=3D^1#7'_`H-'),r`C,l,imn=3D@Ui^x(un),im,=
b,"=0A=
+"e`5!rs`Ft1`Ft2^5ssl)t1=3Dt2^b@u!ns)ns#6c`5!tb)tb=3D'$P`5dc)dc=3D@odc)`8=
;`cdc=3D'd1'`5tb^S$P`Fdc^Sd1$j12';`6dc^Sd2$j22';p`i}t1=3Dns+'.'+dc+'.'+p+=
tb}rs=3D$5'+(@A?'s'`n+'://'+t1+'/b/ss/'+^4+'/'+(s.#0?'5.1':'1'$UH"=0A=
+".19.4/'+$1+'?AQB=3D1&ndh=3D1'+(q?q`n+'&AQE=3D1'`5^g@Ss.^o`F`S>5.5)rs=3D=
^s#A4095);`crs=3D^s#A2047)`pid@1br(id,rs);$y}`ps.d.images&&`S>=3D3^w!s.^n=
||`S>=3D7)^w@Y<0||`S>=3D6.1)`F!s.rc)s.rc`C`5!^V){^V=3D1`5!s.rl)s.rl`C;@"=0A=
+"Cn]`N;^T'@u`z`ml)`z.`B@J)',750)^bl=3D@Cn]`5l){r.t=3Dta;r.u#6;r.r=3Drs;l=
[l`A]=3Dr;`2''}imn+=3D'^x^V;^V++}im=3D`I[imn]`5!im)im=3D`I[im@znew =
Image;im^zl=3D0;im.o^L`7'e`H^Z^zl=3D1;`Lwd=3D`z,s`5wd`ml){s=3D#5`B;s@J`Un=
rs--`5!$"=0A=
+"E)`Xm(\"rr\")}')`5!$E@1nrs=3D1;`Xm('rs')}`c$E++;im@O=3Drs`5rs`4$A=3D@p0=
^w!ta||ta^S_self$sta^S_top$s(`I.@7&&ta=3D=3D`I.@7))){b=3De`h;^C!im^zl&&e`=
d-b`d<500)e`h}`2''}`2'<im'+'g sr'+'c=3D$trs+'\" width=3D1 #1=3D1 border"=0A=
+"=3D0 =
alt=3D\"\">'`9gg`0v`1`5!`I['s^xv])`I['s^xv]`i;`2`I['s^xv]`9glf`0t,a`Ft`30=
,2)^S$m`32);`Ls=3D^Z,v=3Ds.gg(t)`5v)s#Xv`9gl`0v`1`5#F)`Mv,`H,'gl@00)`9gv`=
0v`1;`2s['vpm^xv]?s['vpv^xv]:(s[v]?s[v]`n`9havf`0t,a`1"=0A=
+",b=3Dt`30,4),x=3Dt`34),n=3D^Hx),k=3D'g^xt,m=3D'vpm^xt,q=3Dt,v=3Ds.`W@bV=
a#Ae=3Ds.`W@b^Ws,mn;@d$Ft)`5s[k]`F$9||@X||^O`F$9){mn=3D$9`30,1)`E()+$9`31=
)`5$G){v=3D$G.^KVars;e=3D$G.^K^Ws}}v=3Dv?v+`H+^h+`H+^h2:''`5v@S`Mv,`H,'is=
@0t)"=0A=
+")s[k]`i`5`J#2'&&e)@ds.fs(s[k],e)}s[m]=3D0`5`J^R`KD';`6`J`ZID`Kvid';`6`J=
^N^Qg'`j`6`J`b^Qr'`j`6`Jvmk$s`J`Z@R`Kvmt';`6`J`D^Qvmf'`5@A^5`D^j)s[k]`i}`=
6`J`D^j^Qvmf'`5!@A^5`D)s[k]`i}`6`J@L^Qce'`5s[k]`E()^SAU"=0A=
+"TO')@d'ISO8859-1';`6s.em=3D=3D2)@d'UTF-8'}`6`J`Z`qspace`Kns';`6`Jc`O`Kc=
dp';`6`J^0@G`Kcl';`6`J^y`Kvvp';`6`J@N`Kcc';`6`J$d`Kch';`6`J#K^IID`Kxact';=
`6`J$2`Kv0';`6`J^a`Ks';`6`J^A`Kc';`6`J`s^u`Kj';`6`J`k`Kv'"=0A=
+";`6`J^0@I`Kk';`6`J^7@D`Kbw';`6`J^7^k`Kbh';`6`J`l`Kct';`6`J@8`Khp';`6`Jp=
^P`Kp';`6#Ex)`Fb^Sprop`Kc$Z`6b^SeVar`Kv$Z`6b^Slist`Kl$Z`6b^Shier^Qh'+n`j`=
ps[k]@t`W`q'@t`W^c')$H+=3D'&'+q+'$q(t`30,3)!=3D'pev'?@hs["=0A=
+"k]):s[k]);}`2''`9hav`0`1;$H`i;`M^i,`H,'hav@00);`2$H`9lnf`0^l`8@3`8:'';`=
Lte=3Dt`4@q`5$Tte>0&&h`4t`3te$a>=3D0)`2t`30,te);`2''`9ln`0h`1,n=3Ds.`W`qs=
`5n)`2`Mn,`H,'ln@0h);`2''`9ltdf`0^l`8@3`8:'';`Lqi=3Dh`4'?^Yh=3D"=0A=
+"qi>=3D0?h`30,qi):h`5$Th`3h`A-(t`A$a^S.'+t)`21;`20`9ltef`0^l`8@3`8:''`5$=
Th`4t)>=3D0)`21;`20`9lt`0h`1,lft=3Ds.`WDow^LFile^cs,lef=3Ds.`WEx`r,$3=3Ds=
.`WIn`r;$3=3D$3?$3:`I`P^D@7;h=3Dh`8`5s.^KDow^LLinks&&lf$T`Mlft,`H#I"=0A=
+"d@0h))`2'd'`5s.^K@K&&h`30,1)!=3D'# =
'^wlef||$3)^w!lef||`Mlef,`H#Ie@0h))^w!$3$r`M$3,`H#Ie@0h)))`2'e';`2''`9lc`=
7'e`H`Ls=3D`B,b=3D^f(^Z,\"`o\"`U$z=3D$7^Z`Ut(`U$z=3D0`5b)`2^Z$u`2$0'`Ubc`=
7'e`H`Ls=3D`B,f,^m`5s.d^5d.a"=0A=
+"ll^5d.all.cppXYctnr)$y;^O=3De@O`Y?e@O`Y:e$e;^m`7\"s\",\"`Le@9@u^O^w^O.t=
ag`q||^O^8`Y||^O^8Node))s.t()`e}\");^m(s`Ueo=3D0'`Uoh`0o`1,l=3D`I`P,h=3Do=
^q?o^q:'',i,j,k,p;i=3Dh`4':^Yj=3Dh`4'?^Yk=3Dh`4'/')`5h^wi<0||(j>=3D0&"=0A=
+"&i>j)||(k>=3D0&&i>k))$Wo`g#T`g`A>1?o`g:(l`g?l`g`n;i=3Dl.path@7`f'/^Yh=3D=
(p?p+'//'`n+(o^D?o^D:(l^D?l^D`n)+(h`30,1)!=3D'/'?l.path@7`30,i<0?0:i$U'`n=
+h}`2h`9ot`0o){`Lt=3Do.tag`q;t=3D$Tt`E?t`E$X`5`JSHAPE')t`i`5t`F`"=0A=
+"JINPUT'&&@E&&@E`E)t=3D@E`E();`6!$To^q)t=3D'A';}`2t`9oid`0o`1,^J,p,c,n`i=
,x=3D0`5t@S^6$Wo`g;c=3Do.`o`5o^q^w`JA$s`JAREA')^w!c$rp||p`8`4'`s$p0))n@x`=
6c@r^1s.rep(^1s.rep@oc,\"\\r@s\"\\n@s\"\\t@s' `H^Yx=3D2}`6$g^w`"=0A=
+"JINPUT$s`JSUBMIT')@r$g;x=3D3}`6o@O&&`JIMAGE')n=3Do@O`5$S^6=3D^sn$6;^6t=3D=
x}}`2^6`9rqf`0t,un`1,e=3Dt`4@q,u=3De>=3D0?`H+t`30,e)+`H:'';`2u&&u`4`H+un+=
`H)>=3D0?@it`3e$a:''`9rq`0un`1,c#6`4`H),v=3D^d@Usq'),q`i`5c<0)`2`Mv,'"=0A=
+"&`Hrq@0un);`2`M#7`H,'rq',0)`9sqp`0t,a`1,e=3Dt`4@q,q=3De<0?'':@it`3e+1)`=
Usqq[q]`i`5e>=3D0)`Mt`30,e),`H@m`20`9sqs`0#7q`1;^Gu[u@zq;`20`9sq`0q`1,k=3D=
@Usq',v=3D^dk),x,c=3D0;^Gq`C;^Gu`C;^Gq[q]`i;`Mv,'&`Hsqp',0);`M^4"=0A=
+",`H@mv`i;`vx$4^Gu`V)^Gq[^Gu[x]]+=3D(^Gq[^Gu[x]]?`H`n+x;`vx$4^Gq`V^5sqq[=
x]^wx=3D=3Dq||c<2)){v+=3D(v#R'`n+^Gq[x]+'`ax);c++}`2^ek,v,0)`9wdl`7'e`H`L=
s=3D`B,r=3D$0,b=3D^f(`I,\"o^L\"),i,o,oc`5b)r=3D^Z$u`vi=3D0;i<s.d.`Ws`A^"=0A=
+"X{o=3Ds.d.`Ws[i];oc=3Do.`o?\"\"+o.`o:\"\"`5(oc`4$M<0||oc`4\"^zoc(\")>=3D=
0)#Tc`4$k<0)^f(o,\"`o\",0,s.lc);}`2r^Y`Is`0`1`5`S>3^w!^g$rs.^o||`S#Z`Fs.b=
^5$O^W)s.$O^W('`o#M);`6s.b^5b.add^W$L)s.b.add^W$L('click#M"=0A=
+",false);`c^f(`I,'o^L',0,`Il)}`9vs`0x`1,v=3Ds.`Z^U,g=3Ds.`Z^U#Ok=3D@Uvsn=
^x^4+(g?'^xg`n,n=3D^dk),e`h,y=3De.g@Q);e.s@Qy+10@y1900:0))`5v){v*=3D100`5=
!n`F!^ek,x,e))`20;n=3Dx`pn%10000>v)`20}`21`9dyasmf`0t,m`F$Tm&&m`4t)"=0A=
+">=3D0)`21;`20`9dyasf`0t,m`1,i=3Dt?t`4@q:-1,n,x`5i>=3D0&&m){`Ln=3Dt`30,i=
),x=3Dt`3i+1)`5`Mx,`H,'dyasm@0m))`2n}`20`9uns`0`1,x=3Ds.`RSele^I,l=3Ds.`R=
List,m=3Ds.`RM#D,n,i;^4=3D^4`8`5x&&l`F!m)m=3D`I`P^D`5!m.toLowerCase)m`i+m=
"=0A=
+";l=3Dl`8;m=3Dm`8;n=3D`Ml,';`Hdyas@0m)`5n)^4=3Dn}i=3D^4`4`H`Ufun=3Di<0?^=
4:^4`30,i)`9sa`0un`1;^4#6`5!@B)@B#6;`6(`H+@B+`H)`4un)<0)@B+=3D`H+un;^4s()=
`9m_i`0n,a`1,m,f=3Dn`30,1),r,l,i`5!`Xl)`Xl`C`5!`Xnl)`Xnl`N;m=3D`Xl[n]`5"=0A=
+"!a&&m&&#G@Sm@4)`Xa(n)`5!m){m`C,m._c=3D@Um';m@4n=3D`I`mn;m@4l=3Ds@4l;m@4=
l[m@4@zm;`I`mn++;m.s=3Ds;m._n=3Dn;$B`N('_c`H_in`H_il`H_i`H_e`H_d`H_dl`Hs`=
Hn`H_r`H_g`H_g1`H_t`H_t1`H_x`H_x1`H_rs`H_rr`H_l'`Um_l[@zm;`Xnl["=0A=
+"`Xnl`A]=3Dn}`6m._r@Sm._m){r=3Dm._r;r._m=3Dm;l=3D$B;`vi=3D0;i<l`A^X@um[l=
[i]])r[l[i]]=3Dm[l[i]];r@4l[r@4@zr;m=3D`Xl[@zr`pf=3D=3Df`E())s[@zm;`2m`9m=
_a`7'n`Hg`H@u!g)g=3D@F;`Ls=3D`B,c=3Ds[g@g,m,x,f=3D0`5!c)c=3D`I$h@g`5c&&s_=
d)s[g]`7"=0A=
+"\"s\",s_ft(s_d(c)));x=3Ds[g]`5!x)x=3Ds[g]=3D`I$h];m=3D`Xi(n,1)`5x){m@4=3D=
f=3D1`5(\"\"+x)`4\"fun^I\")>=3D0)x(s);`c`Xm(\"x\",n,x)}m=3D`Xi(n,1)`5@kl)=
@kl=3D@k=3D0;`tt();`2f'`Um_m`0t,n,d#W'^xt;`Ls=3D^Z,i,x,m,f=3D'^xt`5`Xl&&`=
Xn"=0A=
+"l)`vi=3D0;i<`Xnl`A^X{x=3D`Xnl[i]`5!n||x=3D=3D$Sm=3D`Xi(x)`5m[t]`F`J_d')=
`21`5d)m#ad);`cm#a)`pm[t+1]@Sm[f]`Fd)$xd);`c$x)}m[f]=3D1}}`20`9@f`0n,u,d,=
l`1,m,i=3Dn`4':'),g=3Di<0?@F:n`3i+1),o=3D0,f,c=3Ds.h?s.h:s.b,^m`5i>=3D0)n=
=3Dn"=0A=
+"`30,i);m=3D`Xi(n)`5(l$r`Xa(n,g))&&u^5d&&c^5$Q`Y`Fd){@k=3D1;@kl=3D1`p@A)=
u=3D^1u,$5:`Hhttps:^Yf`7'e`H`B.m_a(\"@e\",$tg+'\")^Y^m`7's`Hf`Hu`Hc`H`Le,=
o=3D0@9o=3Ds.$Q`Y(\"script\")`5o){@E=3D\"text/`s\"`5f)o.o^L=3Df;o@O=3Du"=0A=
+";c.appendChild(o)}`eo=3D0}`2o^Yo=3D^m(s,f,u,c)}`cm=3D`Xi(n);#G=3D1;`2m`=
9vo1`0t,a`Fa[t]||$b)^Z#Xa[t]`9vo2`0t,a`F#b{a#X^Z[t]`5#b$b=3D1}`9dlt`7'`Ls=
=3D`B,d`h,i,vo,f=3D0`5`tl)`vi=3D0;i<`tl`A^X{vo=3D`tl[i]`5vo`F!`Xm(\"d\""=0A=
+")||d`d-$N>=3D^E){`tl[i]=3D0;s.t(@v}`cf=3D1}`p`ti)clear#Bout(`ti`Udli=3D=
0`5f`F!`ti)`ti=3D^T`tt,^E)}`c`tl=3D0'`Udl`0vo`1,d`h`5!@vvo`C;`M^2,`H$I2',=
@v;$N=3Dd`d`5!`tl)`tl`N;`tl[`tl`A]=3Dvo`5!^E)^E=3D250;`tt()`9t`0vo,id`1"=0A=
+",trk=3D1,tm`h,sed=3DMath&&@V#3?@V#C@V#3()*10000000000000):tm`d,$1=3D's'=
+@V#Ctm`d/10800000)%10+sed,y=3Dtm.g@Q),vt=3Dtm.getDate($U`xMonth($U'@yy+1=
900:y)+' `xHour$V:`xMinute$V:`xSecond$V `xDay()+' `x#BzoneO$8()"=0A=
+",^m,^3=3Ds.g^3(),ta`i,q`i,qs`i,#4`i,vb`C#L^2`Uuns()`5!s.td){`Ltl=3D^3`P=
,a,o,i,x`i,c`i,v`i,p`i,bw`i,bh`i,^M0',k=3D^e@Ucc`H$0',0@2,hp`i,ct`i,pn=3D=
0,ps`5^B&&^B.prototype){^M1'`5j.m#D){^M2'`5tm.setUTCDate){^M3"=0A=
+"'`5^g^5^o&&`S#Z^M4'`5pn.toPrecisio$S^M5';a`N`5a.forEach){^M6';i=3D0;o`C=
;^m`7'o`H`Le,i=3D0@9i=3Dnew =
Iterator(o)`e}`2i^Yi=3D^m(o)`5i&&i.next)^M7'#V`p`S>=3D4)x=3D^rwidth+'x'+^=
r#1`5s.isns||s.^n`F`S>=3D3$c`k(@2`5`S>=3D"=0A=
+"4){c=3D^rpixelDepth;bw=3D`I#J@D;bh=3D`I#J^k}}$J=3Ds.n.p^P}`6^g`F`S>=3D4=
$c`k(@2;c=3D^r^A`5`S#Z{bw=3Ds.d.^9`Y.o$8@D;bh=3Ds.d.^9`Y.o$8^k`5!s.^o^5b)=
{^m`7's`Htl`H`Le,hp=3D0`uh$n\");hp=3Ds.b.isH$n(tl)?\"Y\":\"N\"`e}`2hp^Yhp=
"=0A=
+"=3D^m(s,tl);^m`7's`H`Le,ct=3D0`uclientCaps\");ct=3Ds.b.`l`e}`2ct^Yct=3D=
^m(s)}}}`cr`i`p$J)^Cpn<$J`A&&pn<30){ps=3D^s$J[pn].@7$6#S`5p`4ps)<0)p+=3Dp=
s;pn++}s.^a=3Dx;s.^A=3Dc;s.`s^u=3Dj;s.`k=3Dv;s.^0@I=3Dk;s.^7@D=3Dbw;s.^7^=
k=3Dbh"=0A=
+";s.`l=3Dct;s.@8=3Dhp;s.p^P=3Dp;s.td=3D1`p@v{`M^2,`H$I2',vb);`M^2,`H$I1'=
,@v`ps.useP^P)s.doP^P(s);`Ll=3D`I`P,r=3D^3.^9.`b`5!s.^N)s.^N=3Dl^q?l^q:l`=
5!s.`b@Ss._1_`b@1`b=3Dr;s._1_`b=3D1}`Xm('g')`5(vo&&$N)$r`Xm('d')`F@X||^"=0A=
+"O){`Lo=3D^O?^O:@X`5!o)`2'';`Lp=3D$F'#N`q'),w=3D1,^J,@l,x=3D^6t,h,l,i,oc=
`5^O#T=3D=3D^O){^Co@Sn@tBODY'){o=3Do^8`Y?o^8`Y:o^8Node`5!o)`2'';^J;@l;x=3D=
^6t}oc=3Do.`o?''+o.`o:''`5(oc`4$M>=3D0#Tc`4\"^zoc(\")<0)||oc`4$k>=3D0)`2'=
'"=0A=
+"}ta=3Dn?o$e:1;h@xi=3Dh`4'?^Yh=3Ds.`W@n^B||i<0?h:h`30,i);l=3Ds.`W`q?s.`W=
`q:s.ln(h);t=3Ds.`W^c?s.`W^c`8:s.lt(h)`5t^wh||l))q+=3D$A=3D$z^x(`Jd$s`Je'=
?@ht):'o')+(h?$Av1`ah)`n+(l?$Av2`al)`n;`ctrk=3D0`5s.^K@Z`F!p$W$F'^N^Y"=0A=
+"w=3D0}^J;i=3Do.sourceIndex`5@H')@r@H^Yx=3D1;i=3D1`pp&&n&&t)qs=3D'&pid`a=
^sp,255))+(w#Rpidt$qw`n+'&oid`a^sn$6)+(x#Roidt$qx`n+'&ot`at)+(i#Roi$qi`n}=
`p!trk@Sqs)`2'';@w=3Ds.vs(sed)`5trk`F@w)#4=3Ds.mr($1,(vt#Rt`avt)`n+"=0A=
+"s.hav()+q+(qs?qs:s.rq(^4)),0,id,ta);qs`i;`Xm('t')`5s.p_r)s.p_r(`U`b`i}^=
G(qs);^b`t(@v;`p@v`M^2,`H$I1',vb`G''`5#F)`I^z$z=3D`I^zeo=3D`I^z`W`q=3D`I^=
z`W^c`i`5!id@Ss.tc@1tc=3D1;s.flush`T()}`2#4`9tl`0o,t,n,vo`1;@"=0A=
+"X=3D$7o`U`W^c=3Dt;s.`W`q=3Dn;s.t(@v}`5pg){`I^zco`0o){`L^t\"_\",1,#U`2$7=
o)`9wd^zgs`0u$S`L^t#71,#U`2s.t()`9wd^zdc`0u$S`L^t#7#U`2s.t()}}@A=3D(`I`P`=
g`8`4$5s@p0`Ud=3D^9;s.b=3Ds.d.body`5$o`Y#Q`q@1h=3D$o`Y#Q`q('HEAD')`"=0A=
+"5s.h)s.h=3Ds.h[0]}s.n=3Dnavigator;s.u=3Ds.n.userAgent;@Y=3Ds.u`4'N$l6/^=
Y`Lapn$R`q,v$R^u,ie=3Dv`4#9'),o=3Ds.u`4'@T =
'),i`5v`4'@T@p0||o>0)apn=3D'@T';^g$K^SMicrosoft Internet =
Explorer'`Uisns$K^SN$l'`U^n$K^S@T'`U^o=3D("=0A=
+"s.u`4'Mac@p0)`5o>0)`S`ws.u`3o+6));`6ie>0){`S=3D^Hi=3Dv`3ie+5))`5`S>3)`S=
`wi)}`6@Y>0)`S`ws.u`3@Y+10));`c`S`wv`Uem=3D0`5^B#P^v){i=3D^p^B#P^v(256))`=
E(`Uem=3D(i^S%C4%80'?2:(i^S%U0100'?1:0))}s.sa(un`Uvl_l=3D'^R,`ZID"=0A=
+",vmk,`Z@R,`D,`D^j,ppu,@L,`Z`qspace,c`O,^0@G,#N`q,^N,`b,@N';^i=3D^h+',^y=
,$d,server,#N^c,#K^IID,purchaseID,$2,state,zip,#2,products,`W`q,`W^c';`v`=
Ln=3D1;n<51;n++)^i+=3D',prop@e,eVar@e,hier@e,list$Z^h2=3D',tn"=0A=
+"t,pe#81#82#83,^a,^A,`s^u,`k,^0@I,^7@D,^7^k,`l,@8,p^P';^i+=3D^h2;^2=3D^i=
+',`Q,`Q^j,`QBase,fpC`O,@P`T,#0,`Z^U,`Z^U#O`RSele^I,`RList,`RM#D,^KDow^LL=
inks,^K@K,^K@Z,`W@n^B,`WDow^LFile^cs,`WEx`r,`WIn`r,`W@bVa"=0A=
+"#A`W@b^Ws,`W`qs,$z,eo,_1_`b';#F=3Dpg#L^2)`5!ss)`Is()",=0A=
w=3Dwindow,l=3Dw.s_c_il,n=3Dnavigator,u=3Dn.userAgent,v=3Dn.appVersion,e=3D=
v.indexOf('MSIE =
'),m=3Du.indexOf('Netscape6/'),a,i,s;if(un){un=3Dun.toLowerCase();if(l)fo=
r(i=3D0;i<l.length;i++){s=3Dl[i];if(s._c=3D=3D's_c'){if(s.oun=3D=3Dun)ret=
urn s;else if(s.fs&&s.sa&&s.fs(s.oun,un)){s.sa(un);return s}}}}=0A=
w.s_r=3Dnew Function("x","o","n","var =
i=3Dx.indexOf(o);if(i>=3D0&&x.split)x=3D(x.split(o)).join(n);else =
while(i>=3D0){x=3Dx.substring(0,i)+n+x.substring(i+o.length);i=3Dx.indexO=
f(o)}return x");=0A=
w.s_d=3Dnew Function("x","var =
t=3D'`^@$#',l=3D'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst=
uvwxyz',d,n=3D0,b,k,w,i=3Dx.lastIndexOf('~~');if(i>0){d=3Dx.substring(0,i=
);x=3Dx.substring(i+2);while(d){w=3Dd;i"=0A=
+"=3Dd.indexOf('~');if(i>0){w=3Dd.substring(0,i);d=3Dd.substring(i+1)}els=
e =
d=3D'';b=3D(n-n%62)/62;k=3Dn-b*62;k=3Dt.substring(b,b+1)+l.substring(k,k+=
1);x=3Ds_r(x,k,w);n++}for(i=3D0;i<5;i++){w=3Dt.substring(i,i+1);x=3Ds_r(x=
"=0A=
+",w+' ',w)}}return x");=0A=
w.s_fe=3Dnew Function("c","return =
s_r(s_r(s_r(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")");=0A=
w.s_fa=3Dnew Function("f","var =
s=3Df.indexOf('(')+1,e=3Df.indexOf(')'),a=3D'',c;while(s>=3D0&&s<e){c=3Df=
.substring(s,s+1);if(c=3D=3D',')a+=3D'\",\"';else if((\"\\n\\r\\t =
\").indexOf(c)<0)a+=3Dc;s++}return a?'\"'+a+'\"':"=0A=
+"a");=0A=
w.s_ft=3Dnew Function("c","c+=3D'';var =
s,e,o,a,d,q,f,h,x;s=3Dc.indexOf('=3Dfunction(');while(s>=3D0){s++;d=3D1;q=
=3D'';x=3D0;f=3Dc.substring(s);a=3Ds_fa(f);e=3Do=3Dc.indexOf('{',s);e++;w=
hile(d>0){h=3Dc.substring(e,e+1);if(q){i"=0A=
+"f(h=3D=3Dq&&!x)q=3D'';if(h=3D=3D'\\\\')x=3Dx?0:1;else =
x=3D0}else{if(h=3D=3D'\"'||h=3D=3D\"'\")q=3Dh;if(h=3D=3D'{')d++;if(h=3D=3D=
'}')d--}if(d>0)e++}c=3Dc.substring(0,s)+'new =
Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"=0A=
+"'+c.substring(e+1);s=3Dc.indexOf('=3Dfunction(')}return c;");=0A=
c=3Ds_d(c);if(e>0){a=3DparseInt(i=3Dv.substring(e+5));if(a>3)a=3DparseFlo=
at(i)}else if(m>0)a=3DparseFloat(u.substring(m+10));else =
a=3DparseFloat(v);if(a>=3D5&&v.indexOf('Opera')<0&&u.indexOf('Opera')<0){=
w.s_c=3Dnew Function("un","pg","ss","var s=3Dthis;"+c);return new =
s_c(un,pg,ss)}else s=3Dnew Function("un","pg","ss","var s=3Dnew =
Object;"+s_ft(c)+";return s");return s(un,pg,ss)}=0A=
=0A=

------=_NextPart_000_0000_01CBFDB6.9A067220--
