Adding EclipseConEurope 2012 slides
diff --git a/pages/transcripts/2012_EclipseConEurope/Intent_EConEurope2012.html b/pages/transcripts/2012_EclipseConEurope/Intent_EConEurope2012.html
new file mode 100644
index 0000000..7efa7d3
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/Intent_EConEurope2012.html
@@ -0,0 +1,717 @@
+<!--
+Google IO 2012 HTML5 Slide Template
+
+Authors: Eric Bidelman <ebidel@gmail.com>
+         Luke Mahé <lukem@google.com>
+
+URL: https://code.google.com/p/io-2012-slides
+-->
+<!DOCTYPE html>
+<html>
+<head>
+  <title>It's 2012 and your documentation sucks</title>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="chrome=1">
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
+  <!--This one seems to work all the time, but really small on ipad-->
+  <!--<meta name="viewport" content="initial-scale=0.4">-->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <link rel="stylesheet" media="all" href="theme/css/default.css">
+   <link rel="stylesheet" media="all" href="theme/css/custo.css">
+  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="theme/css/phone.css">
+  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
+  <script data-main="js/slides" src="js/require-1.0.8.min.js"></script>
+</head>
+<body style="opacity: 0">
+
+<slides class="layout-widescreen">
+
+  <slide class="title-slide segue nobackground" style="background: url(images/Intent/doc/rtfm.jpg); background-size: 100%;">
+	<aside class="gdbar" style="width: 350px;">	
+		<img style=" width: 261px;height: 85px;position: absolute;right: 0;margin: 8px 15px;" 
+	src="images/Intent/Image-Intent_logo.png">
+	</aside>
+    <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
+    <hgroup style="position:relative;left:-100px;top:250px;padding: 0px 0px 0px 0px;margin:0px 0px 0px 0px;">
+		<div>
+      <h1 data-config-title class="stroke white"><!-- populated from slide_config.json --></h1>
+      <h2 data-config-subtitle class="stroke white"><!-- populated from slide_config.json --></h2>
+	  <br/><br/><br/><br/><br/>
+	  <p style="font-size:27px" data-config-presenter class="stroke white"><!-- populated from slide_config.json --></p>
+	 	<p style="font-size:27px;width:300px;margin-top:-35px; margin-left:830px"><span class="stroke white">EclipseCon Europe</span>
+		<span class="stroke white" >2012</span></p>
+	  </div>
+    </hgroup>	
+
+  </slide>
+
+  <slide class="nutshell">
+    <hgroup>
+      <h2>
+	  <img style="width: 261px;height: 85px;float:left;" src="images/Intent/Image-Intent_logo.png">
+	  <div style="padding-top:20px;">&nbsp;&nbsp;in a Nutshell</div>
+	  </h2>
+    </hgroup>
+    <article class="auto-fadein noBullets">
+      <ul >
+        <li>A <b>documentation</b> environment</li>
+		<ul class="build">
+			<li><b>synchronized</b> with development artifacts</li>
+			<li><b>customizable</b> for your development processes</li>
+		</ul>
+    </article>
+	<article class="build rightaligned" style="padding-top:150px">
+      <ul>
+        <img style="float:left;position:absolute;left:500px" src="images/Intent/egg-incubation.png"/>
+		<li>Parf of <b>Mylyn</b> docs</li>
+		<li>In incubation phase</li>		
+	    <li>Parf of Release train since Juno </li>
+	  </ul>
+    </article>
+  </slide>
+  
+  <slide class="segue nobackground partTitle" style="background: url(images/Intent/doc/wasted_paper.jpg); background-size: 100%;">
+	  <h2 style="top:-20px">1. Documentation Sucks </h2>
+	  <aside style="top:20px; width:650px" class="gdbar" ></aside>
+  </slide>
+
+  <slide class="part1">
+    <hgroup>
+      <h2>
+		Why does Documentation <b>Suck</b>?
+	  </h2>
+    </hgroup>
+    <article class="auto-fadein noBullets">
+		<p>
+		  1. Because most of the time it does not exist/contain the infos you need
+		 </p>
+		</article>
+	</slide>
+	
+	<slide class="part1">
+    <hgroup>
+      <h2>
+		Why does Documentation <b>Suck</b>?
+	  </h2>
+    </hgroup>
+    <article class="noBullets">
+		<p>
+		  1. Because most of the time it does not exist/contain the infos you need
+		 </p>
+		<div class="paddinger">
+			 <hgroup>
+				  <h3>
+					Why does nobody write doc? <br/><hr/>
+				  </h3>
+			   </hgroup>
+			  <img src="images/Intent/short_sight.jpg"  style="float:left;padding-right:10px;width:35%"/>
+				<p>"Working software <b>over comprehensive documentation</b>"<br/>
+					<span style="padding-left:375px">Agile Manifesto</span>
+				</p>
+				<p>
+					<br/>
+			Don't be short-sighted: Enable your <b>next effort</b>
+				<br/>	<br/>	<br/>
+				</p>
+		 </div>
+		</article>
+	</slide>
+	
+	<slide class="part1">
+    <hgroup>
+      <h2>
+		Why does Documentation <b>Suck</b>?
+	  </h2>
+    </hgroup>
+    <article class="noBullets">
+		 <p>
+		  1. Because most of the time it does not contain what you are looking for.
+		 </p>
+		 <p>
+			2. Because most of the time it's <b>outdated</b> -> no one trusts it anymore				 
+		</p>
+    </article>	
+  </slide>
+  
+  <slide class="part1">
+    <hgroup>
+      <h2>
+		Why does Documentation <b>Suck</b>?
+	  </h2>
+    </hgroup>
+    <article class="noBullets">
+		 <p>
+		  1. Because most of the time it does not contain what you are looking for.
+		 </p>
+		 <p>
+			2. Because most of the time it's <b>outdated</b> -> no one trusts it anymore				 
+		</p>
+		<div class="paddinger">
+			<hgroup>
+				 <h3>
+					Why is Documentation <b>outdated</b>?<br/><hr/>
+				</h3>
+			</hgroup>
+			<img class="build" src="images/Intent/doc/doc_monster.png"  style="float:left;padding-right:10px;width:35%"/>
+			<p>
+				Because <b>keeping your doc synchronized</b> is a burden <br/>
+				<br/>
+				<br/>
+				That's exactly what Intent is about
+			</p>
+			<div style="clear:both"/>
+		</div>
+    </article>	
+  </slide>
+  
+
+  <slide class="segue nobackground partTitle" style="background: url(images/Intent/part2.jpg); background-size: 100%;">
+	  <h2>2. Synchronize your Doc with Intent</h2>
+	  <aside style="width:875px" class="gdbar" ></aside>
+  </slide>
+  
+    
+  <slide class="partNONE" style="background: url(images/Intent/linked_doc.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+	<div class="auto-fadein paddinger" style="position:relative;top:100px;text-align:center;width:62%">
+		<h2>What do we want ?</h2>
+		<hr/>
+		A mechanism to <b>link</b> documentation parts with technical<br/> artifacts (Java code, models, plug-in dependencies...)
+		</div>
+  </slide>
+  
+  <slide class="partNONE" style="background: url(images/Intent/linked_doc_step2a.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+  
+  <slide class="partNONE" style="background: url(images/Intent/linked_doc_step5b.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+  
+   <slide class="partNONE" style="background: url(images/Intent/smartEA/instead_of_v2.png); background-size: 90%;background-position:30px 30px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+  
+  <slide class="partNONE">
+    <hgroup>
+      <h2>
+		One <b>Intent Document</b> mixing both
+	  </h2>
+    </hgroup>
+		<div class="intent_content">
+			<b class="kw">Chapter</b> <b>Logical Target Business Architecture </b> {
+				<div class="intent_subsectioncontainer">
+				<div class="du">
+					This chapter aims to describe the system users/actors in scope for <br/>
+					the <b>*Target Architecture*</b>. System actors/users are those users who <br/>
+					<b>*interact with a system*</b>. They can be human or a system/computer.<br/>
+				</div>
+					<br/><b class="kw">Section</b> <b>Computer Actors</b> {
+						<div class="intent_subsectioncontainer">
+								<div class="du">
+									One of the most relevant <i style="font-style:italic">_Computer Actor_</i> is the <b>*Consistency Checker*</b>.<br/>
+									Whenever changes occur on the Travel Agency database, it verify all consistency constraints defined on the system.
+								</div>
+								<div class="intent_modelingunit">
+								<b class="kw">@M</b><br/>
+								<div class="intent_subsectioncontainer">
+								<b class="kw">new</b> Actor consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										name = <i style="color:blue">"Consistency Checker"</i>;<br/>
+										type = ActorType.Computer;<br/>
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>
+								</div></div>
+							}						
+						
+						<hr/>
+					<div style="text-align:center;padding-right:30px;margin-top:0px;font-size: 16px;">
+					<b>[...]</b>
+					</div>
+					<hr/>
+					<b class="kw">Section</b> <b>Process Steps mapped to Actors</b> {
+						<div class="intent_subsectioncontainer">
+							<div class="du">
+								The <b>*Consistency Checker*</b> Actor participates to the <i style="font-style:italic">_Consistency Checking_</i> Process,<br/>
+								which helps achieving the <i style="font-style:italic">_Manage the data integrity_</i> Business Objective.<br/>
+							</div>
+							<div class="intent_modelingunit">
+								<b class="kw">@M</b>
+									<div class="intent_subsectioncontainer">
+									consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										participatesInProcesses += <i style="font-style:italic">consistencyCheckingProcess</i>;<br/>
+										followObjectives += <i style="font-style:italic">dataIntegrityObjective</i>;								
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>								
+								</div>
+						</div>
+					}<br/>
+				</div>
+				}
+				
+							</div>
+	</div>
+  </slide>
+  
+   <slide class="partNONE">
+    <hgroup>
+      <h2>
+		One <b>Intent Document</b> mixing both
+	  </h2>
+    </hgroup>
+		<div class="intent_content">
+			<b class="kw">Chapter</b> <b>Logical Target Business Architecture </b> {
+				<div class="intent_subsectioncontainer">
+				<div class="du">
+					This chapter aims to describe the system users/actors in scope for <br/>
+					the <b>*Target Architecture*</b>. System actors/users are those users who <br/>
+					<b>*interact with a system*</b>. They can be human or a system/computer.<br/>
+				</div>
+					<br/><b class="kw">Section</b> <b>Computer Actors</b> {
+						<div class="intent_subsectioncontainer">
+								<div class="du">
+									One of the most relevant <i style="font-style:italic">_Computer Actor_</i> is the <b>*Consistency Checker*</b>.<br/>
+									Whenever changes occur on the Travel Agency database, it verify all consistency constraints defined on the system.
+								</div>
+								<div class="greyed">
+								<div class="intent_modelingunit" style="background-color:#F8F8F8;color:grey;font-size: 14px;">
+								@M<br/>
+								<div class="intent_subsectioncontainer">
+								new Actor consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										name = <i >"Consistency Checker"</i>;<br/>
+										type = ActorType.Computer;<br/>
+										</div>
+									}<br/>
+									</div>
+								M@
+								</div>
+								</div>
+													
+						</div>}	
+						<hr/>
+					<div style="text-align:center;padding-right:30px;margin-top:0px;font-size: 16px;">
+					<b>[...]</b>
+					</div>
+					<hr/>
+					<b class="kw">Section</b> <b>Process Steps mapped to Actors</b> {
+						<div class="intent_subsectioncontainer">
+							<div class="du">
+								The <b>*Consistency Checker*</b> Actor participates to the <i style="font-style:italic">_Consistency Checking_</i> Process,<br/>
+								which helps achieving the <i style="font-style:italic">_Manage the data integrity_</i> Business Objective.<br/>
+							</div>
+							<div class="greyed">
+							<div class="intent_modelingunit"  style="background-color:#F8F8F8;color:grey;font-size: 14px;">
+								@M
+									<div class="intent_subsectioncontainer">
+									consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										participatesInProcesses += <i style="font-style:italic">consistencyCheckingProcess</i>;<br/>
+										followObjectives += <i style="font-style:italic">dataIntegrityObjective</i>;								
+										</div>
+									}<br/>
+									</div>
+								M@						
+								</div>
+							</div>
+						</div>
+					}<br/>
+				</div>
+				}
+				
+							</div>
+	</div>
+  </slide>
+  
+    
+  <slide class="partNONE">
+    <hgroup>
+      <h2>
+		One <b>Intent Document</b> mixing both
+	  </h2>
+    </hgroup>
+		<div class="intent_content greyed">
+			Chapter Logical Target Business Architecture {
+				<div class="intent_subsectioncontainer">
+				<div class="du">
+					This chapter aims to describe the system users/actors in scope for <br/>
+					the *Target Architecture*. System actors/users are those users who <br/>
+					*interact with a system*. They can be human or a system/computer.<br/>
+				</div>
+					<br/>SectionComputer Actors{
+						<div class="intent_subsectioncontainer">
+								<div class="du">
+									One of the most relevant <i style="font-style:italic">_Computer Actor_</i> is the *Consistency Checker*.<br/>
+									Whenever changes occur on the Travel Agency database, it verify all consistency constraints defined on the system.
+								</div>
+								<div class="intent_modelingunit">
+								<b class="kw">@M</b><br/>
+								<div class="intent_subsectioncontainer">
+								<b class="kw">new</b> Actor consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										name = <i style="color:blue">"Consistency Checker"</i>;<br/>
+										type = ActorType.Computer;<br/>
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>
+								</div></div>
+							}						
+						
+						<hr/>
+					<div style="text-align:center;padding-right:30px;margin-top:0px;font-size: 16px;">
+					<b>[...]</b>
+					</div>
+					<hr/>
+					Section Process Steps mapped to Actors {
+						<div class="intent_subsectioncontainer">
+							<div class="du">
+								The *Consistency Checker* Actor participates to the <i style="font-style:italic">_Consistency Checking_</i> Process,<br/>
+								which helps achieving the <i style="font-style:italic">_Manage the data integrity_</i> Business Objective.<br/>
+							</div>
+							<div class="intent_modelingunit">
+								<b class="kw">@M</b>
+									<div class="intent_subsectioncontainer">
+									consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										participatesInProcesses += <i style="font-style:italic">consistencyCheckingProcess</i>;<br/>
+										followObjectives += <i style="font-style:italic">dataIntegrityObjective</i>;								
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>								
+								</div>
+						</div>
+					}<br/>
+				</div>
+				}
+				
+							</div>
+	</div>
+  </slide>
+    <slide class="partNONE">
+    <hgroup>
+      <h2>
+		One <b>Intent Document</b> mixing both
+	  </h2>
+    </hgroup>
+		<div class="intent_content greyed">
+			Chapter Logical Target Business Architecture {
+				<div class="intent_subsectioncontainer">
+				<div class="du">
+					This chapter aims to describe the system users/actors in scope for <br/>
+					the *Target Architecture*. System actors/users are those users who <br/>
+					*interact with a system*. They can be human or a system/computer.<br/>
+				</div>
+					<br/>SectionComputer Actors{
+						<div class="intent_subsectioncontainer">
+								<div class="du">
+									One of the most relevant <i style="font-style:italic">_Computer Actor_</i> is the *Consistency Checker*.<br/>
+									Whenever changes occur on the Travel Agency database, it verify all consistency constraints defined on the system.
+								</div>
+								<div class="intent_modelingunit">
+								<b class="kw">@M</b><br/>
+								<div class="intent_subsectioncontainer">
+								<b class="kw">new</b> Actor <span class="stroke focused" >consistencyCheckerActor</span> {<br/>
+										<div class="intent_subsectioncontainer">
+										name = <i style="color:blue">"Consistency Checker"</i>;<br/>
+										type = ActorType.Computer;<br/>
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>
+								</div></div>
+							}						
+						
+						<hr/>
+					<div style="text-align:center;padding-right:30px;margin-top:0px;font-size: 16px;">
+					<b>[...]</b>
+					</div>
+					<hr/>
+					Section Process Steps mapped to Actors {
+						<div class="intent_subsectioncontainer">
+							<div class="du">
+								The *Consistency Checker* Actor participates to the <i style="font-style:italic">_Consistency Checking_</i> Process,<br/>
+								which helps achieving the <i style="font-style:italic">_Manage the data integrity_</i> Business Objective.<br/>
+							</div>
+							<div class="intent_modelingunit">
+								<b class="kw">@M</b>
+									<div class="intent_subsectioncontainer">
+									consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										participatesInProcesses += <i style="font-style:italic">consistencyCheckingProcess</i>;<br/>
+										followObjectives += <i style="font-style:italic">dataIntegrityObjective</i>;								
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>								
+								</div>
+						</div>
+					}<br/>
+				</div>
+				}
+				
+							</div>
+	</div>
+  </slide>
+    <slide class="partNONE">
+    <hgroup>
+      <h2>
+		One <b>Intent Document</b> mixing both
+	  </h2>
+    </hgroup>
+		<div class="intent_content greyed">
+			Chapter Logical Target Business Architecture {
+				<div class="intent_subsectioncontainer">
+				<div class="du">
+					This chapter aims to describe the system users/actors in scope for <br/>
+					the *Target Architecture*. System actors/users are those users who <br/>
+					*interact with a system*. They can be human or a system/computer.<br/>
+				</div>
+					<br/>SectionComputer Actors{
+						<div class="intent_subsectioncontainer">
+								<div class="du">
+									One of the most relevant <i style="font-style:italic">_Computer Actor_</i> is the *Consistency Checker*.<br/>
+									Whenever changes occur on the Travel Agency database, it verify all consistency constraints defined on the system.
+								</div>
+								<div class="intent_modelingunit">
+								<b class="kw">@M</b><br/>
+								<div class="intent_subsectioncontainer">
+								<b class="kw">new</b> Actor consistencyCheckerActor {<br/>
+										<div class="intent_subsectioncontainer">
+										name = <i style="color:blue">"Consistency Checker"</i>;<br/>
+										type = ActorType.Computer;<br/>
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>
+								</div></div>
+							}						
+						
+						<hr/>
+					<div style="text-align:center;padding-right:30px;margin-top:0px;font-size: 16px;">
+					<b>[...]</b>
+					</div>
+					<hr/>
+					Section Process Steps mapped to Actors {
+						<div class="intent_subsectioncontainer">
+							<div class="du">
+								The *Consistency Checker* Actor participates to the <i style="font-style:italic">_Consistency Checking_</i> Process,<br/>
+								which helps achieving the <i style="font-style:italic">_Manage the data integrity_</i> Business Objective.<br/>
+							</div>
+							<div class="intent_modelingunit">
+								<b class="kw">@M</b>
+									<div class="intent_subsectioncontainer">
+									<span class="focused stroke" >consistencyCheckerActor</span> {<br/>
+										<div class="intent_subsectioncontainer">
+										participatesInProcesses += <i style="font-style:italic">consistencyCheckingProcess</i>;<br/>
+										followObjectives += <i style="font-style:italic">dataIntegrityObjective</i>;								
+										</div>
+									}<br/>
+									</div>
+								<b class="kw">M@</b>								
+								</div>
+						</div>
+					}<br/>
+				</div>
+				}
+				
+							</div>
+	</div>
+  </slide>
+
+       <slide class="partNONE" style="background: url(images/Intent/linked_doc_step2.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+  
+     <slide class="partNONE" style="background: url(images/Intent/linked_doc_step3.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+   <slide class="partNONE" style="background: url(images/Intent/linked_doc_step4.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  </slide>
+  
+  
+  
+  <slide class="segue nobackground partTitle" style="background: url(images/Intent/inAction.jpg); background-size: 100%;">
+	  <h2 style="left:550px;top:0px;">3. Intent in Action</h2>
+	  <aside style="width:460px;top:35px;" class="gdbar right" ></aside>
+  </slide>
+  
+  <slide class="part3">
+    <hgroup>
+      <h2>
+		Intent applied to <b>Enterprise Architecture</b>
+	  </h2>
+	  </hgroup>		
+    </hgroup>
+	<article>
+	 <img class="reflect" src="images/Intent/smartEA.png" style="float:left;padding-right:40px"/>
+	<div style="padding-top:20px">
+	- <b>SmartEA</b>:  provides modelers to manage <b>Enterprise Architecture</b> models<br/>
+	<br/>- based on the TOGAF methodology
+	
+	 </div><div style="clear:both"/>
+	 <p style="text-align:right;">
+	 <br/>
+	<img src="images/Intent/smartEA/togaf.png" style="height:60%;float:right;padding-right:20px"/><br/> <br/><br/><br/>
+	-EA models contain business-critical informations <br/>
+	
+	 <br/>- Many Documents to store the intents behind EA models
+	 </p>
+	 <h3><a href="demos/smartea/Intent_AppliedOnEnterpriseArchitecture.mp4" target="demo">See Demo: how can Intent help documenting EA models</a>
+	 </h3>
+	<div style="clear:both"/>
+	
+		</article>
+  </slide>
+  
+    
+  <slide class="segue nobackground partTitle" style="background: url(images/Intent/share1.jpg); background-size: 100%;">
+	  <h2 style="top:550px;left:100px;";>4. Documentation sharing sucks</h2>
+	  <aside style="width:920px;top:585px;" class="gdbar" ></aside>
+  </slide>
+
+   <slide class="part4">
+    <hgroup>
+      <h2>
+		Intent: <b>behind the Scene</b>
+	  </h2>
+	   <article class="flexbox vcenter auto-fadein">
+	   <img src="images/Intent/Architecture_repository.png"/>
+	   </article>
+    </hgroup>
+  </slide>
+  
+  <slide class="part4">
+    <hgroup>
+      <h2>
+		Intent: <b>share</b> your doc in real-time
+	  </h2>
+	  <article>
+	  <iframe style="margin-left:-95px;padding-top:50px;width:1190px;height:475px" data-src="demos/cdo/cdo/cdo_player.html"></iframe>
+	  </article>
+    </hgroup>
+  </slide>
+  
+    <slide class="segue nobackground partTitle" style="background: url(images/Intent/ariadne_bg.png); background-size: 100%;">
+	  <h2>5. To code synchronization and beyond</h2>
+	  <aside style="width:960px" class="gdbar" ></aside>
+	  <img  style="margin-top:100px;position:relative;top:-200px;left:100px;width:80%" src="images/Intent/maze.png"/>
+  </slide>
+  
+  <slide class="partNONE" style="background: url(images/Intent/sync01.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+  <div class="paddinger" style="position:relative;top:200px;left:280px;text-align:center;width:250px">
+		<h3 style="padding:0px 0px 0px 0px;">Intent <b>Synchronizer</b></h3>
+		<hr/>
+		<span style="font-size:18px">
+		Compares Doc (Model Fragments)  with Artifacts (as Models)</span>
+  </div>
+
+  </slide>
+  
+  
+  <slide class="partNONE" style="background: url(images/Intent/sync02.png); background-size: 90%;background-position:30px 0px;background-color:white; background-repeat : no-repeat;">
+ <div class="paddinger" style="position:relative;top:200px;left:280px;text-align:center;width:250px">
+		<h3 style="padding:0px 0px 0px 0px;">Intent <b>Synchronizer</b></h3>
+		<hr/>
+		<span style="font-size:18px">
+		Compares Doc (Model Fragments)  with Artifacts (as Models)</span>
+  </div>
+      <div class="paddinger" style="position:relative;top:300px;left:100px;text-align:center;width:250px">
+		<h3 style="padding:0px 0px 0px 0px;">Synchronization <b>Bridge</b></b></h3>
+		<hr/>
+		<span style="font-size:18px">
+		Represent a technical artifact (Java class, plugin.xml...) as a Model</span>
+  </div>
+  </slide>
+   <slide class="part5">
+    <hgroup>
+      <h2>
+		<b>Ariadne</b>: leverage the data of your IDE
+	  </h2>
+	  <article style="padding-top:100px;padding-right:30px;">
+	  <img  class="reflect" src="images/Intent/ariadne.png" style="width:30%;float:left;"/><br/><br/>
+		  - Extracts Technical Artifacts (Java code, GIT commits, bugzilla issues, plugin dependencies...) <b>as Models</b><br/><br/><br/>
+		 - Allows to <b>formalize constraints</b> (automate guidelines checking)
+	   </article>
+    </hgroup>
+  </slide>
+  
+  
+    <slide class="three_things">
+    <hgroup>
+      <h2>
+		The 3 things to remember about Intent
+	  </h2>
+	  <article style="padding-top:100px;padding-right:30px;">
+	  <br/>1. Intent keeps your doc up-to-date with concrete world<br/>
+	  <br/>2. Intent allows you to check constraints<br/>
+	  <br/>3. Intent allows real-time collaboration around Doc<br/>
+	   </article>
+    </hgroup>
+  </slide>
+  
+   <slide class="thanks">
+    <hgroup>
+      <h2>
+		Thank You!
+	  </h2>
+    </hgroup>
+
+
+		<article>
+		<img class="reflect" src="images/contact/website.png"  style="width:50px"/> <a href="http://www.eclipse.org/intent">http://www.eclipse.org/intent</a>
+		<br/><br/> <img class="reflect" src="images/Intent/Image-Intent_logo_cropped.png"  style="width:50px"/> <a href="http://wiki.eclipse.org/Intent">http://wiki.eclipse.org/Intent</a>
+		<br/><br/> <img class="reflect" src="images/contact/twitter.jpg" style="width:50px"/> @Intent_project
+		
+		<h2><br/><br/>
+		Don't forget to give Feedback <br/>
+		 <img class="reflect" style="padding-top:20px" src="images/Intent/feedback.png"/> 
+		</h2>
+	   </article>
+  </slide>
+  
+   <slide class="thanks">
+    <hgroup>
+      <h2>
+		Questions asked during the talk
+	  </h2>
+    </hgroup>
+
+
+		<article>
+		<ul><li><b>Ok, I understood that the Synchronization Bridge mechanism allows to synchronize technical artifacts.
+		What are the current Synchronization Bridges? Can I synchronize Java code?</b><br/><br/>
+		> No, not right now. However, we plan to integrate Intent with Ariadne for the Kepler release, and that will allows us to synchronize Java files, Manifests, Mylyn tasks, Git repositories...
+		</li>
+		<br/><br/><br/><br/><li><b>The Model Fragments syntax of Intent is far too complex for an end-user, could you hide them?</b><br/><br/>
+		> Yes, that is one of the things I have in mind. As Intent provides tooling for linking a piece of doc with a technical artifact (Drag'n'Drop) and to fix synchronization issues (quick-fixes), you never have to edit
+		those Model Fragements manually. <br/>
+		Consequently, we could provide a
+		simplified Intent editor which hides Model Fragments. Then you will just have a pure documentation, that is linked with technical artifacts behind the scene.
+		</li>
+	   </article>
+  </slide>
+  
+  <slide class="backdrop"></slide>
+
+</slides>
+
+<script>
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
+_gaq.push(['_trackPageview']);
+
+(function() {
+  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+<!--[if IE]>
+  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
+  <script>CFInstall.check({mode: 'overlay'});</script>
+<![endif]-->
+</body>
+</html>
diff --git a/pages/transcripts/2012_EclipseConEurope/README.md b/pages/transcripts/2012_EclipseConEurope/README.md
new file mode 100644
index 0000000..522b1b4
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/README.md
@@ -0,0 +1,4 @@
+eclipsecon-europe-2012-slides

+=============================

+

+Slides for EclipseCon Europe 2012
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/app.yaml b/pages/transcripts/2012_EclipseConEurope/app.yaml
new file mode 100644
index 0000000..8be6639
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/app.yaml
@@ -0,0 +1,23 @@
+application: my-io-talk

+version: 1

+runtime: python27

+api_version: 1

+threadsafe: yes

+

+handlers:

+- url: /

+  static_files: template.html

+  upload: template\.html

+

+- url: /slide_config\.js

+  static_files: slide_config.js

+  upload: slide_config\.js

+

+- url: /js

+  static_dir: js

+

+- url: /theme

+  static_dir: theme

+

+- url: /images

+  static_dir: images

diff --git a/pages/transcripts/2012_EclipseConEurope/config.rb b/pages/transcripts/2012_EclipseConEurope/config.rb
new file mode 100644
index 0000000..9bd182e
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/config.rb
@@ -0,0 +1,24 @@
+# Require any additional compass plugins here.

+

+# Set this to the root of your project when deployed:

+http_path = "/"

+css_dir = "theme/css"

+sass_dir = "theme/scss"

+images_dir = "images"

+javascripts_dir = "js"

+

+# You can select your preferred output style here (can be overridden via the command line):

+output_style = :compressed #:expanded or :nested or :compact or :compressed

+

+# To enable relative paths to assets via compass helper functions. Uncomment:

+# relative_assets = true

+

+# To disable debugging comments that display the original location of your selectors. Uncomment:

+# line_comments = false

+

+

+# If you prefer the indented syntax, you might want to regenerate this

+# project again passing --syntax sass, or you can uncomment this:

+# preferred_syntax = :sass

+# and then run:

+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass

diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.html b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.html
new file mode 100644
index 0000000..215ab13
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta name="DC.title" content="Untitled" />
+        <meta name="DC.date" content="2012-10-21 05:24:12 " />
+        <meta name="DC.language" content="ENU" />
+
+<meta name="google" value="notranslate" /> 
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<title>Created by Camtasia Studio 8</title>
+
+<style>
+html, body {
+	margin: 0px;
+	padding: 0px;
+	font-family:Verdana, Geneva, sans-serif;
+	background-color: #1a1a1a;
+	text-align: center;
+}
+
+</style>
+
+<link href="cdo_embed.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<iframe class="tscplayer_inline" name="tsc_player" src="cdo_player.html" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
+</body>
+</html>
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.mp4 b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.mp4
new file mode 100644
index 0000000..1bb8238
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo.mp4
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_config.xml b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_config.xml
new file mode 100644
index 0000000..3697d01
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_config.xml
@@ -0,0 +1,36 @@
+<x:xmpmeta xmlns:x="adobe:ns:meta/">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/" xmlns:tsc="http://www.techsmith.com/xmp/tsc/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:tscDM="http://www.techsmith.com/xmp/tscDM/" xmlns:tscIQ="http://www.techsmith.com/xmp/tscIQ/" xmlns:tscHS="http://www.techsmith.com/xmp/tscHS/" xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" xmlns:exif="http://ns.adobe.com/exif/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+      <rdf:Description tsc:version="2.0.0" dc:date="2012-10-21 06:00:41 " dc:source="Camtasia Studio,8.0.2,enu" dc:title="cdo" tscDM:originId="97288FDE-E7BD-476E-AAC7-48E211CEFC30" tscDM:project="cdopart">
+         <xmpDM:duration xmpDM:scale="1/1000" xmpDM:value="39433"/>
+         <xmpDM:videoFrameSize stDim:unit="pixel" stDim:h="624" stDim:w="1742"/>
+         <tsc:langName>
+            <rdf:Bag>
+               <rdf:li xml:lang="en-US">English</rdf:li></rdf:Bag>
+         </tsc:langName>
+         <xmpDM:Tracks>
+            <rdf:Bag>
+            </rdf:Bag>
+         </xmpDM:Tracks>
+         <tscDM:controller>
+            <rdf:Description xmpDM:name="tscplayer">
+               <tscDM:parameters>
+                  <rdf:Bag>
+                     <rdf:li xmpDM:name="autohide" xmpDM:value="true"/><rdf:li xmpDM:name="autoplay" xmpDM:value="true"/><rdf:li xmpDM:name="loop" xmpDM:value="false"/><rdf:li xmpDM:name="searchable" xmpDM:value="false"/><rdf:li xmpDM:name="captionsenabled" xmpDM:value="false"/><rdf:li xmpDM:name="sidebarenabled" xmpDM:value="false"/><rdf:li xmpDM:name="unicodeenabled" xmpDM:value="false"/><rdf:li xmpDM:name="backgroundcolor" xmpDM:value="000000"/><rdf:li xmpDM:name="sidebarlocation" xmpDM:value="left"/><rdf:li xmpDM:name="endaction" xmpDM:value="stop"/><rdf:li xmpDM:name="endactionparam" xmpDM:value="false"/></rdf:Bag>
+               </tscDM:parameters>
+               <tscDM:controllerText>
+                  <rdf:Bag>
+                     <rdf:li><rdf:Description xmp:label="searchText"><tscDM:localizedText><rdf:Alt><rdf:li xml:lang="en-US">Search</rdf:li></rdf:Alt></tscDM:localizedText></rdf:Description></rdf:li><rdf:li><rdf:Description xmp:label="resultText"><tscDM:localizedText><rdf:Alt><rdf:li xml:lang="en-US">Results Found</rdf:li></rdf:Alt></tscDM:localizedText></rdf:Description></rdf:li><rdf:li><rdf:Description xmp:label="searchFullscreenText"><tscDM:localizedText><rdf:Alt><rdf:li xml:lang="en-US">Search disabled in full screen mode</rdf:li></rdf:Alt></tscDM:localizedText></rdf:Description></rdf:li><rdf:li><rdf:Description xmp:label="replayButtonText"><tscDM:localizedText><rdf:Alt><rdf:li xml:lang="en-US">Replay</rdf:li></rdf:Alt></tscDM:localizedText></rdf:Description></rdf:li><rdf:li><rdf:Description xmp:label="localSecurityError"><tscDM:localizedText><rdf:Alt><rdf:li xml:lang="en-US">Certain features in your video are currently disabled due to Local Network Security. These features work correctly when the video is played from a Website or Server.</rdf:li></rdf:Alt></tscDM:localizedText></rdf:Description></rdf:li></rdf:Bag>
+               </tscDM:controllerText>
+            </rdf:Description>
+         </tscDM:controller>
+         <tscDM:contentList>
+            <rdf:Description>
+               <tscDM:files>
+                  <rdf:Seq>
+                     <rdf:li xmpDM:name="0" xmpDM:value="cdo.mp4"/></rdf:Seq>
+               </tscDM:files>
+            </rdf:Description>
+         </tscDM:contentList>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_controller.swf b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_controller.swf
new file mode 100644
index 0000000..c2b1935
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_controller.swf
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_embed.css b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_embed.css
new file mode 100644
index 0000000..e041cba
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_embed.css
@@ -0,0 +1,22 @@
+@charset "utf-8";

+

+#tsc_player {

+   z-index: 9999;	

+}

+

+.tscplayer_inline {

+	position:static;

+	margin: 0px;

+	width: 1200px;

+	height: 400px;

+	z-index:auto;

+}

+

+.tscplayer_fullframe {

+	position:absolute;

+	top: 0px;

+	left: 0px;

+	margin: 0px;

+	padding: 0px;

+	z-index: 9999;	

+}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_player.html b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_player.html
new file mode 100644
index 0000000..eca0ea6
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/cdo_player.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="google" value="notranslate" /> 
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<title></title>
+<link href="skins/overlay/player-min.css" rel="stylesheet" type="text/css" />
+
+
+
+<style>
+html, body {
+	background-color: white;
+}
+</style>
+</head>
+<body>
+
+<div id="tscVideoContent" style="width:1000px;background-color:white;height:400px;padding:0px;margin:0px;"></div>
+
+<script src="scripts/jquery-1.7.1.min.js" ></script>
+<script src="scripts/jquery-ui-1.8.15.custom.min.js" ></script>
+<script src="scripts/swfobject.js"></script>
+<script src="scripts/modernizr.js"></script>
+<script src="scripts/handlebars.js"></script>
+
+<script src="scripts/player-min.js"></script>
+<script type="text/javascript">
+    TSC.playerConfiguration.setFlashPlayerSwf("cdo_controller.swf");
+    TSC.playerConfiguration.setMediaSrc("cdo.mp4");
+    TSC.playerConfiguration.setXMPSrc("cdo_config.xml");
+    
+    TSC.playerConfiguration.setAutoHideControls(true);
+    TSC.playerConfiguration.setBackgroundColor("white");
+    TSC.playerConfiguration.setCaptionsEnabled(false);
+    TSC.playerConfiguration.setSidebarEnabled(false);
+    
+    TSC.playerConfiguration.setAutoPlayMedia(true);
+    
+    TSC.playerConfiguration.setIsSearchable(false);
+    TSC.playerConfiguration.setEndActionType("stop");
+    TSC.playerConfiguration.setEndActionParam("false");
+    TSC.playerConfiguration.setAllowRewind(-1);
+    
+
+    $(document).ready(function (e) {
+        TSC.mediaPlayer.init("#tscVideoContent");
+    });
+</script>
+
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/playerProductInstall.swf b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/playerProductInstall.swf
new file mode 100644
index 0000000..bdc3437
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/playerProductInstall.swf
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/handlebars.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/handlebars.js
new file mode 100644
index 0000000..dce24e7
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/handlebars.js
@@ -0,0 +1,2 @@
+//Handlebar.js

+var Handlebars = {}; Handlebars.VERSION = "1.0.beta.6"; Handlebars.helpers = {}; Handlebars.partials = {}; Handlebars.registerHelper = function (b, c, a) { if (a) { c.not = a; } this.helpers[b] = c; }; Handlebars.registerPartial = function (a, b) { this.partials[a] = b; }; Handlebars.registerHelper("helperMissing", function (a) { if (arguments.length === 2) { return undefined; } else { throw new Error("Could not find property '" + a + "'"); } }); var toString = Object.prototype.toString, functionType = "[object Function]"; Handlebars.registerHelper("blockHelperMissing", function (f, d) { var a = d.inverse || function () { }, h = d.fn; var c = ""; var g = toString.call(f); if (g === functionType) { f = f.call(this); } if (f === true) { return h(this); } else { if (f === false || f == null) { return a(this); } else { if (g === "[object Array]") { if (f.length > 0) { for (var e = 0, b = f.length; e < b; e++) { c = c + h(f[e]); } } else { c = a(this); } return c; } else { return h(f); } } } }); Handlebars.registerHelper("each", function (f, d) { var g = d.fn, a = d.inverse; var c = ""; if (f && f.length > 0) { for (var e = 0, b = f.length; e < b; e++) { c = c + g(f[e]); } } else { c = a(this); } return c; }); Handlebars.registerHelper("if", function (b, a) { var c = toString.call(b); if (c === functionType) { b = b.call(this); } if (!b || Handlebars.Utils.isEmpty(b)) { return a.inverse(this); } else { return a.fn(this); } }); Handlebars.registerHelper("unless", function (c, b) { var d = b.fn, a = b.inverse; b.fn = a; b.inverse = d; return Handlebars.helpers["if"].call(this, c, b); }); Handlebars.registerHelper("with", function (b, a) { return a.fn(b); }); Handlebars.registerHelper("log", function (a) { Handlebars.log(a); }); var handlebars = (function () { var f = { trace: function c() { }, yy: {}, symbols_: { error: 2, root: 3, program: 4, EOF: 5, statements: 6, simpleInverse: 7, statement: 8, openInverse: 9, closeBlock: 10, openBlock: 11, mustache: 12, partial: 13, CONTENT: 14, COMMENT: 15, OPEN_BLOCK: 16, inMustache: 17, CLOSE: 18, OPEN_INVERSE: 19, OPEN_ENDBLOCK: 20, path: 21, OPEN: 22, OPEN_UNESCAPED: 23, OPEN_PARTIAL: 24, params: 25, hash: 26, param: 27, STRING: 28, INTEGER: 29, BOOLEAN: 30, hashSegments: 31, hashSegment: 32, ID: 33, EQUALS: 34, pathSegments: 35, SEP: 36, "$accept": 0, "$end": 1 }, terminals_: { 2: "error", 5: "EOF", 14: "CONTENT", 15: "COMMENT", 16: "OPEN_BLOCK", 18: "CLOSE", 19: "OPEN_INVERSE", 20: "OPEN_ENDBLOCK", 22: "OPEN", 23: "OPEN_UNESCAPED", 24: "OPEN_PARTIAL", 28: "STRING", 29: "INTEGER", 30: "BOOLEAN", 33: "ID", 34: "EQUALS", 36: "SEP" }, productions_: [0, [3, 2], [4, 3], [4, 1], [4, 0], [6, 1], [6, 2], [8, 3], [8, 3], [8, 1], [8, 1], [8, 1], [8, 1], [11, 3], [9, 3], [10, 3], [12, 3], [12, 3], [13, 3], [13, 4], [7, 2], [17, 3], [17, 2], [17, 2], [17, 1], [25, 2], [25, 1], [27, 1], [27, 1], [27, 1], [27, 1], [26, 1], [31, 2], [31, 1], [32, 3], [32, 3], [32, 3], [32, 3], [21, 1], [35, 3], [35, 1]], performAction: function b(g, j, k, n, m, i, l) { var h = i.length - 1; switch (m) { case 1: return i[h - 1]; break; case 2: this.$ = new n.ProgramNode(i[h - 2], i[h]); break; case 3: this.$ = new n.ProgramNode(i[h]); break; case 4: this.$ = new n.ProgramNode([]); break; case 5: this.$ = [i[h]]; break; case 6: i[h - 1].push(i[h]); this.$ = i[h - 1]; break; case 7: this.$ = new n.InverseNode(i[h - 2], i[h - 1], i[h]); break; case 8: this.$ = new n.BlockNode(i[h - 2], i[h - 1], i[h]); break; case 9: this.$ = i[h]; break; case 10: this.$ = i[h]; break; case 11: this.$ = new n.ContentNode(i[h]); break; case 12: this.$ = new n.CommentNode(i[h]); break; case 13: this.$ = new n.MustacheNode(i[h - 1][0], i[h - 1][1]); break; case 14: this.$ = new n.MustacheNode(i[h - 1][0], i[h - 1][1]); break; case 15: this.$ = i[h - 1]; break; case 16: this.$ = new n.MustacheNode(i[h - 1][0], i[h - 1][1]); break; case 17: this.$ = new n.MustacheNode(i[h - 1][0], i[h - 1][1], true); break; case 18: this.$ = new n.PartialNode(i[h - 1]); break; case 19: this.$ = new n.PartialNode(i[h - 2], i[h - 1]); break; case 20: break; case 21: this.$ = [[i[h - 2]].concat(i[h - 1]), i[h]]; break; case 22: this.$ = [[i[h - 1]].concat(i[h]), null]; break; case 23: this.$ = [[i[h - 1]], i[h]]; break; case 24: this.$ = [[i[h]], null]; break; case 25: i[h - 1].push(i[h]); this.$ = i[h - 1]; break; case 26: this.$ = [i[h]]; break; case 27: this.$ = i[h]; break; case 28: this.$ = new n.StringNode(i[h]); break; case 29: this.$ = new n.IntegerNode(i[h]); break; case 30: this.$ = new n.BooleanNode(i[h]); break; case 31: this.$ = new n.HashNode(i[h]); break; case 32: i[h - 1].push(i[h]); this.$ = i[h - 1]; break; case 33: this.$ = [i[h]]; break; case 34: this.$ = [i[h - 2], i[h]]; break; case 35: this.$ = [i[h - 2], new n.StringNode(i[h])]; break; case 36: this.$ = [i[h - 2], new n.IntegerNode(i[h])]; break; case 37: this.$ = [i[h - 2], new n.BooleanNode(i[h])]; break; case 38: this.$ = new n.IdNode(i[h]); break; case 39: i[h - 2].push(i[h]); this.$ = i[h - 2]; break; case 40: this.$ = [i[h]]; break; } }, table: [{ 3: 1, 4: 2, 5: [2, 4], 6: 3, 8: 4, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 11], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 1: [3] }, { 5: [1, 16] }, { 5: [2, 3], 7: 17, 8: 18, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 19], 20: [2, 3], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 16: [2, 5], 19: [2, 5], 20: [2, 5], 22: [2, 5], 23: [2, 5], 24: [2, 5] }, { 4: 20, 6: 3, 8: 4, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 11], 20: [2, 4], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 4: 21, 6: 3, 8: 4, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 11], 20: [2, 4], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 16: [2, 9], 19: [2, 9], 20: [2, 9], 22: [2, 9], 23: [2, 9], 24: [2, 9] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 16: [2, 10], 19: [2, 10], 20: [2, 10], 22: [2, 10], 23: [2, 10], 24: [2, 10] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 16: [2, 11], 19: [2, 11], 20: [2, 11], 22: [2, 11], 23: [2, 11], 24: [2, 11] }, { 5: [2, 12], 14: [2, 12], 15: [2, 12], 16: [2, 12], 19: [2, 12], 20: [2, 12], 22: [2, 12], 23: [2, 12], 24: [2, 12] }, { 17: 22, 21: 23, 33: [1, 25], 35: 24 }, { 17: 26, 21: 23, 33: [1, 25], 35: 24 }, { 17: 27, 21: 23, 33: [1, 25], 35: 24 }, { 17: 28, 21: 23, 33: [1, 25], 35: 24 }, { 21: 29, 33: [1, 25], 35: 24 }, { 1: [2, 1] }, { 6: 30, 8: 4, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 11], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 16: [2, 6], 19: [2, 6], 20: [2, 6], 22: [2, 6], 23: [2, 6], 24: [2, 6] }, { 17: 22, 18: [1, 31], 21: 23, 33: [1, 25], 35: 24 }, { 10: 32, 20: [1, 33] }, { 10: 34, 20: [1, 33] }, { 18: [1, 35] }, { 18: [2, 24], 21: 40, 25: 36, 26: 37, 27: 38, 28: [1, 41], 29: [1, 42], 30: [1, 43], 31: 39, 32: 44, 33: [1, 45], 35: 24 }, { 18: [2, 38], 28: [2, 38], 29: [2, 38], 30: [2, 38], 33: [2, 38], 36: [1, 46] }, { 18: [2, 40], 28: [2, 40], 29: [2, 40], 30: [2, 40], 33: [2, 40], 36: [2, 40] }, { 18: [1, 47] }, { 18: [1, 48] }, { 18: [1, 49] }, { 18: [1, 50], 21: 51, 33: [1, 25], 35: 24 }, { 5: [2, 2], 8: 18, 9: 5, 11: 6, 12: 7, 13: 8, 14: [1, 9], 15: [1, 10], 16: [1, 12], 19: [1, 11], 20: [2, 2], 22: [1, 13], 23: [1, 14], 24: [1, 15] }, { 14: [2, 20], 15: [2, 20], 16: [2, 20], 19: [2, 20], 22: [2, 20], 23: [2, 20], 24: [2, 20] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 16: [2, 7], 19: [2, 7], 20: [2, 7], 22: [2, 7], 23: [2, 7], 24: [2, 7] }, { 21: 52, 33: [1, 25], 35: 24 }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 16: [2, 8], 19: [2, 8], 20: [2, 8], 22: [2, 8], 23: [2, 8], 24: [2, 8] }, { 14: [2, 14], 15: [2, 14], 16: [2, 14], 19: [2, 14], 20: [2, 14], 22: [2, 14], 23: [2, 14], 24: [2, 14] }, { 18: [2, 22], 21: 40, 26: 53, 27: 54, 28: [1, 41], 29: [1, 42], 30: [1, 43], 31: 39, 32: 44, 33: [1, 45], 35: 24 }, { 18: [2, 23] }, { 18: [2, 26], 28: [2, 26], 29: [2, 26], 30: [2, 26], 33: [2, 26] }, { 18: [2, 31], 32: 55, 33: [1, 56] }, { 18: [2, 27], 28: [2, 27], 29: [2, 27], 30: [2, 27], 33: [2, 27] }, { 18: [2, 28], 28: [2, 28], 29: [2, 28], 30: [2, 28], 33: [2, 28] }, { 18: [2, 29], 28: [2, 29], 29: [2, 29], 30: [2, 29], 33: [2, 29] }, { 18: [2, 30], 28: [2, 30], 29: [2, 30], 30: [2, 30], 33: [2, 30] }, { 18: [2, 33], 33: [2, 33] }, { 18: [2, 40], 28: [2, 40], 29: [2, 40], 30: [2, 40], 33: [2, 40], 34: [1, 57], 36: [2, 40] }, { 33: [1, 58] }, { 14: [2, 13], 15: [2, 13], 16: [2, 13], 19: [2, 13], 20: [2, 13], 22: [2, 13], 23: [2, 13], 24: [2, 13] }, { 5: [2, 16], 14: [2, 16], 15: [2, 16], 16: [2, 16], 19: [2, 16], 20: [2, 16], 22: [2, 16], 23: [2, 16], 24: [2, 16] }, { 5: [2, 17], 14: [2, 17], 15: [2, 17], 16: [2, 17], 19: [2, 17], 20: [2, 17], 22: [2, 17], 23: [2, 17], 24: [2, 17] }, { 5: [2, 18], 14: [2, 18], 15: [2, 18], 16: [2, 18], 19: [2, 18], 20: [2, 18], 22: [2, 18], 23: [2, 18], 24: [2, 18] }, { 18: [1, 59] }, { 18: [1, 60] }, { 18: [2, 21] }, { 18: [2, 25], 28: [2, 25], 29: [2, 25], 30: [2, 25], 33: [2, 25] }, { 18: [2, 32], 33: [2, 32] }, { 34: [1, 57] }, { 21: 61, 28: [1, 62], 29: [1, 63], 30: [1, 64], 33: [1, 25], 35: 24 }, { 18: [2, 39], 28: [2, 39], 29: [2, 39], 30: [2, 39], 33: [2, 39], 36: [2, 39] }, { 5: [2, 19], 14: [2, 19], 15: [2, 19], 16: [2, 19], 19: [2, 19], 20: [2, 19], 22: [2, 19], 23: [2, 19], 24: [2, 19] }, { 5: [2, 15], 14: [2, 15], 15: [2, 15], 16: [2, 15], 19: [2, 15], 20: [2, 15], 22: [2, 15], 23: [2, 15], 24: [2, 15] }, { 18: [2, 34], 33: [2, 34] }, { 18: [2, 35], 33: [2, 35] }, { 18: [2, 36], 33: [2, 36] }, { 18: [2, 37], 33: [2, 37]}], defaultActions: { 16: [2, 1], 37: [2, 23], 53: [2, 21] }, parseError: function d(h, g) { throw new Error(h); }, parse: function e(o) { var x = this, l = [0], G = [null], s = [], H = this.table, h = "", q = 0, E = 0, j = 0, n = 2, u = 1; this.lexer.setInput(o); this.lexer.yy = this.yy; this.yy.lexer = this.lexer; if (typeof this.lexer.yylloc == "undefined") { this.lexer.yylloc = {}; } var i = this.lexer.yylloc; s.push(i); if (typeof this.yy.parseError === "function") { this.parseError = this.yy.parseError; } function w(p) { l.length = l.length - 2 * p; G.length = G.length - p; s.length = s.length - p; } function v() { var p; p = x.lexer.lex() || 1; if (typeof p !== "number") { p = x.symbols_[p] || p; } return p; } var D, z, k, C, I, t, B = {}, y, F, g, m; while (true) { k = l[l.length - 1]; if (this.defaultActions[k]) { C = this.defaultActions[k]; } else { if (D == null) { D = v(); } C = H[k] && H[k][D]; } if (typeof C === "undefined" || !C.length || !C[0]) { if (!j) { m = []; for (y in H[k]) { if (this.terminals_[y] && y > 2) { m.push("'" + this.terminals_[y] + "'"); } } var A = ""; if (this.lexer.showPosition) { A = "Parse error on line " + (q + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + m.join(", ") + ", got '" + this.terminals_[D] + "'"; } else { A = "Parse error on line " + (q + 1) + ": Unexpected " + (D == 1 ? "end of input" : "'" + (this.terminals_[D] || D) + "'"); } this.parseError(A, { text: this.lexer.match, token: this.terminals_[D] || D, line: this.lexer.yylineno, loc: i, expected: m }); } } if (C[0] instanceof Array && C.length > 1) { throw new Error("Parse Error: multiple actions possible at state: " + k + ", token: " + D); } switch (C[0]) { case 1: l.push(D); G.push(this.lexer.yytext); s.push(this.lexer.yylloc); l.push(C[1]); D = null; if (!z) { E = this.lexer.yyleng; h = this.lexer.yytext; q = this.lexer.yylineno; i = this.lexer.yylloc; if (j > 0) { j--; } } else { D = z; z = null; } break; case 2: F = this.productions_[C[1]][1]; B.$ = G[G.length - F]; B._$ = { first_line: s[s.length - (F || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (F || 1)].first_column, last_column: s[s.length - 1].last_column }; t = this.performAction.call(B, h, E, q, this.yy, C[1], G, s); if (typeof t !== "undefined") { return t; } if (F) { l = l.slice(0, -1 * F * 2); G = G.slice(0, -1 * F); s = s.slice(0, -1 * F); } l.push(this.productions_[C[1]][0]); G.push(B.$); s.push(B._$); g = H[l[l.length - 2]][l[l.length - 1]]; l.push(g); break; case 3: return true; } } return true; } }; var a = (function () { var j = ({ EOF: 1, parseError: function l(o, n) { if (this.yy.parseError) { this.yy.parseError(o, n); } else { throw new Error(o); } }, setInput: function (n) { this._input = n; this._more = this._less = this.done = false; this.yylineno = this.yyleng = 0; this.yytext = this.matched = this.match = ""; this.conditionStack = ["INITIAL"]; this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }; return this; }, input: function () { var o = this._input[0]; this.yytext += o; this.yyleng++; this.match += o; this.matched += o; var n = o.match(/\n/); if (n) { this.yylineno++; } this._input = this._input.slice(1); return o; }, unput: function (n) { this._input = n + this._input; return this; }, more: function () { this._more = true; return this; }, pastInput: function () { var n = this.matched.substr(0, this.matched.length - this.match.length); return (n.length > 20 ? "..." : "") + n.substr(-20).replace(/\n/g, ""); }, upcomingInput: function () { var n = this.match; if (n.length < 20) { n += this._input.substr(0, 20 - n.length); } return (n.substr(0, 20) + (n.length > 20 ? "..." : "")).replace(/\n/g, ""); }, showPosition: function () { var n = this.pastInput(); var o = new Array(n.length + 1).join("-"); return n + this.upcomingInput() + "\n" + o + "^"; }, next: function () { if (this.done) { return this.EOF; } if (!this._input) { this.done = true; } var r, p, o, n; if (!this._more) { this.yytext = ""; this.match = ""; } var s = this._currentRules(); for (var q = 0; q < s.length; q++) { p = this._input.match(this.rules[s[q]]); if (p) { n = p[0].match(/\n.*/g); if (n) { this.yylineno += n.length; } this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - 1 : this.yylloc.last_column + p[0].length }; this.yytext += p[0]; this.match += p[0]; this.matches = p; this.yyleng = this.yytext.length; this._more = false; this._input = this._input.slice(p[0].length); this.matched += p[0]; r = this.performAction.call(this, this.yy, this, s[q], this.conditionStack[this.conditionStack.length - 1]); if (r) { return r; } else { return; } } } if (this._input === "") { return this.EOF; } else { this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno }); } }, lex: function g() { var n = this.next(); if (typeof n !== "undefined") { return n; } else { return this.lex(); } }, begin: function h(n) { this.conditionStack.push(n); }, popState: function m() { return this.conditionStack.pop(); }, _currentRules: function k() { return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; }, topState: function () { return this.conditionStack[this.conditionStack.length - 2]; }, pushState: function h(n) { this.begin(n); } }); j.performAction = function i(r, o, q, n) { var p = n; switch (q) { case 0: if (o.yytext.slice(-1) !== "\\") { this.begin("mu"); } if (o.yytext.slice(-1) === "\\") { o.yytext = o.yytext.substr(0, o.yyleng - 1), this.begin("emu"); } if (o.yytext) { return 14; } break; case 1: return 14; break; case 2: this.popState(); return 14; break; case 3: return 24; break; case 4: return 16; break; case 5: return 20; break; case 6: return 19; break; case 7: return 19; break; case 8: return 23; break; case 9: return 23; break; case 10: o.yytext = o.yytext.substr(3, o.yyleng - 5); this.popState(); return 15; break; case 11: return 22; break; case 12: return 34; break; case 13: return 33; break; case 14: return 33; break; case 15: return 36; break; case 16: break; case 17: this.popState(); return 18; break; case 18: this.popState(); return 18; break; case 19: o.yytext = o.yytext.substr(1, o.yyleng - 2).replace(/\\"/g, '"'); return 28; break; case 20: return 30; break; case 21: return 30; break; case 22: return 29; break; case 23: return 33; break; case 24: o.yytext = o.yytext.substr(1, o.yyleng - 2); return 33; break; case 25: return "INVALID"; break; case 26: return 5; break; } }; j.rules = [/^[^\x00]*?(?=(\{\{))/, /^[^\x00]+/, /^[^\x00]{2,}?(?=(\{\{))/, /^\{\{>/, /^\{\{#/, /^\{\{\//, /^\{\{\^/, /^\{\{\s*else\b/, /^\{\{\{/, /^\{\{&/, /^\{\{![\s\S]*?\}\}/, /^\{\{/, /^=/, /^\.(?=[} ])/, /^\.\./, /^[\/.]/, /^\s+/, /^\}\}\}/, /^\}\}/, /^"(\\["]|[^"])*"/, /^true(?=[}\s])/, /^false(?=[}\s])/, /^[0-9]+(?=[}\s])/, /^[a-zA-Z0-9_$-]+(?=[=}\s\/.])/, /^\[[^\]]*\]/, /^./, /^$/]; j.conditions = { mu: { rules: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], inclusive: false }, emu: { rules: [2], inclusive: false }, INITIAL: { rules: [0, 1, 26], inclusive: true} }; return j; })(); f.lexer = a; return f; })(); if (typeof require !== "undefined" && typeof exports !== "undefined") { exports.parser = handlebars; exports.parse = function () { return handlebars.parse.apply(handlebars, arguments); }; exports.main = function commonjsMain(a) { if (!a[1]) { throw new Error("Usage: " + a[0] + " FILE"); } if (typeof process !== "undefined") { var c = require("fs").readFileSync(require("path").join(process.cwd(), a[1]), "utf8"); } else { var b = require("file").path(require("file").cwd()); var c = b.join(a[1]).read({ charset: "utf-8" }); } return exports.parser.parse(c); }; if (typeof module !== "undefined" && require.main === module) { exports.main(typeof process !== "undefined" ? process.argv.slice(1) : require("system").args); } } Handlebars.Parser = handlebars; Handlebars.parse = function (a) { Handlebars.Parser.yy = Handlebars.AST; return Handlebars.Parser.parse(a); }; Handlebars.print = function (a) { return new Handlebars.PrintVisitor().accept(a); }; Handlebars.logger = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3, log: function (b, a) { } }; Handlebars.log = function (b, a) { Handlebars.logger.log(b, a); }; (function () { Handlebars.AST = {}; Handlebars.AST.ProgramNode = function (c, b) { this.type = "program"; this.statements = c; if (b) { this.inverse = new Handlebars.AST.ProgramNode(b); } }; Handlebars.AST.MustacheNode = function (d, c, b) { this.type = "mustache"; this.id = d[0]; this.params = d.slice(1); this.hash = c; this.escaped = !b; }; Handlebars.AST.PartialNode = function (c, b) { this.type = "partial"; this.id = c; this.context = b; }; var a = function (b, c) { if (b.original !== c.original) { throw new Handlebars.Exception(b.original + " doesn't match " + c.original); } }; Handlebars.AST.BlockNode = function (c, b, d) { a(c.id, d); this.type = "block"; this.mustache = c; this.program = b; }; Handlebars.AST.InverseNode = function (c, b, d) { a(c.id, d); this.type = "inverse"; this.mustache = c; this.program = b; }; Handlebars.AST.ContentNode = function (b) { this.type = "content"; this.string = b; }; Handlebars.AST.HashNode = function (b) { this.type = "hash"; this.pairs = b; }; Handlebars.AST.IdNode = function (f) { this.type = "ID"; this.original = f.join("."); var d = [], g = 0; for (var e = 0, b = f.length; e < b; e++) { var c = f[e]; if (c === "..") { g++; } else { if (c === "." || c === "this") { this.isScoped = true; } else { d.push(c); } } } this.parts = d; this.string = d.join("."); this.depth = g; this.isSimple = (d.length === 1) && (g === 0); }; Handlebars.AST.StringNode = function (b) { this.type = "STRING"; this.string = b; }; Handlebars.AST.IntegerNode = function (b) { this.type = "INTEGER"; this.integer = b; }; Handlebars.AST.BooleanNode = function (b) { this.type = "BOOLEAN"; this.bool = b; }; Handlebars.AST.CommentNode = function (b) { this.type = "comment"; this.comment = b; }; })(); Handlebars.Exception = function (b) { var a = Error.prototype.constructor.apply(this, arguments); for (var c in a) { if (a.hasOwnProperty(c)) { this[c] = a[c]; } } this.message = a.message; }; Handlebars.Exception.prototype = new Error; Handlebars.SafeString = function (a) { this.string = a; }; Handlebars.SafeString.prototype.toString = function () { return this.string.toString(); }; (function () { var c = { "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;" }; var d = /&(?!\w+;)|[<>"'`]/g; var b = /[&<>"'`]/; var a = function (e) { return c[e] || "&amp;"; }; Handlebars.Utils = { escapeExpression: function (e) { if (e instanceof Handlebars.SafeString) { return e.toString(); } else { if (e == null || e === false) { return ""; } } if (!b.test(e)) { return e; } return e.replace(d, a); }, isEmpty: function (e) { if (typeof e === "undefined") { return true; } else { if (e === null) { return true; } else { if (e === false) { return true; } else { if (Object.prototype.toString.call(e) === "[object Array]" && e.length === 0) { return true; } else { return false; } } } } } }; })(); Handlebars.Compiler = function () { }; Handlebars.JavaScriptCompiler = function () { }; (function (f, e) { f.OPCODE_MAP = { appendContent: 1, getContext: 2, lookupWithHelpers: 3, lookup: 4, append: 5, invokeMustache: 6, appendEscaped: 7, pushString: 8, truthyOrFallback: 9, functionOrFallback: 10, invokeProgram: 11, invokePartial: 12, push: 13, assignToHash: 15, pushStringParam: 16 }; f.MULTI_PARAM_OPCODES = { appendContent: 1, getContext: 1, lookupWithHelpers: 2, lookup: 1, invokeMustache: 3, pushString: 1, truthyOrFallback: 1, functionOrFallback: 1, invokeProgram: 3, invokePartial: 1, push: 1, assignToHash: 1, pushStringParam: 1 }; f.DISASSEMBLE_MAP = {}; for (var h in f.OPCODE_MAP) { var g = f.OPCODE_MAP[h]; f.DISASSEMBLE_MAP[g] = h; } f.multiParamSize = function (i) { return f.MULTI_PARAM_OPCODES[f.DISASSEMBLE_MAP[i]]; }; f.prototype = { compiler: f, disassemble: function () { var t = this.opcodes, r, n; var q = [], v, m, w; for (var s = 0, o = t.length; s < o; s++) { r = t[s]; if (r === "DECLARE") { m = t[++s]; w = t[++s]; q.push("DECLARE " + m + " = " + w); } else { v = f.DISASSEMBLE_MAP[r]; var u = f.multiParamSize(r); var k = []; for (var p = 0; p < u; p++) { n = t[++s]; if (typeof n === "string") { n = '"' + n.replace("\n", "\\n") + '"'; } k.push(n); } v = v + " " + k.join(" "); q.push(v); } } return q.join("\n"); }, guid: 0, compile: function (i, k) { this.children = []; this.depths = { list: [] }; this.options = k; var l = this.options.knownHelpers; this.options.knownHelpers = { helperMissing: true, blockHelperMissing: true, each: true, "if": true, unless: true, "with": true, log: true }; if (l) { for (var j in l) { this.options.knownHelpers[j] = l[j]; } } return this.program(i); }, accept: function (i) { return this[i.type](i); }, program: function (m) { var k = m.statements, o; this.opcodes = []; for (var n = 0, j = k.length; n < j; n++) { o = k[n]; this[o.type](o); } this.isSimple = j === 1; this.depths.list = this.depths.list.sort(function (l, i) { return l - i; }); return this; }, compileProgram: function (m) { var j = new this.compiler().compile(m, this.options); var n = this.guid++; this.usePartial = this.usePartial || j.usePartial; this.children[n] = j; for (var o = 0, k = j.depths.list.length; o < k; o++) { depth = j.depths.list[o]; if (depth < 2) { continue; } else { this.addDepth(depth - 1); } } return n; }, block: function (o) { var l = o.mustache; var n, p, j, k; var m = this.setupStackForMustache(l); var i = this.compileProgram(o.program); if (o.program.inverse) { k = this.compileProgram(o.program.inverse); this.declare("inverse", k); } this.opcode("invokeProgram", i, m.length, !!l.hash); this.declare("inverse", null); this.opcode("append"); }, inverse: function (k) { var j = this.setupStackForMustache(k.mustache); var i = this.compileProgram(k.program); this.declare("inverse", i); this.opcode("invokeProgram", null, j.length, !!k.mustache.hash); this.declare("inverse", null); this.opcode("append"); }, hash: function (n) { var m = n.pairs, p, o; this.opcode("push", "{}"); for (var k = 0, j = m.length; k < j; k++) { p = m[k]; o = p[1]; this.accept(o); this.opcode("assignToHash", p[0]); } }, partial: function (i) { var j = i.id; this.usePartial = true; if (i.context) { this.ID(i.context); } else { this.opcode("push", "depth0"); } this.opcode("invokePartial", j.original); this.opcode("append"); }, content: function (i) { this.opcode("appendContent", i.string); }, mustache: function (i) { var j = this.setupStackForMustache(i); this.opcode("invokeMustache", j.length, i.id.original, !!i.hash); if (i.escaped && !this.options.noEscape) { this.opcode("appendEscaped"); } else { this.opcode("append"); } }, ID: function (m) { this.addDepth(m.depth); this.opcode("getContext", m.depth); this.opcode("lookupWithHelpers", m.parts[0] || null, m.isScoped || false); for (var k = 1, j = m.parts.length; k < j; k++) { this.opcode("lookup", m.parts[k]); } }, STRING: function (i) { this.opcode("pushString", i.string); }, INTEGER: function (i) { this.opcode("push", i.integer); }, BOOLEAN: function (i) { this.opcode("push", i.bool); }, comment: function () { }, pushParams: function (l) { var j = l.length, k; while (j--) { k = l[j]; if (this.options.stringParams) { if (k.depth) { this.addDepth(k.depth); } this.opcode("getContext", k.depth || 0); this.opcode("pushStringParam", k.string); } else { this[k.type](k); } } }, opcode: function (i, l, k, j) { this.opcodes.push(f.OPCODE_MAP[i]); if (l !== undefined) { this.opcodes.push(l); } if (k !== undefined) { this.opcodes.push(k); } if (j !== undefined) { this.opcodes.push(j); } }, declare: function (i, j) { this.opcodes.push("DECLARE"); this.opcodes.push(i); this.opcodes.push(j); }, addDepth: function (i) { if (i === 0) { return; } if (!this.depths[i]) { this.depths[i] = true; this.depths.list.push(i); } }, setupStackForMustache: function (i) { var j = i.params; this.pushParams(j); if (i.hash) { this.hash(i.hash); } this.ID(i.id); return j; } }; e.prototype = { nameLookup: function (k, i, j) { if (/^[0-9]+$/.test(i)) { return k + "[" + i + "]"; } else { if (e.isValidJavaScriptVariableName(i)) { return k + "." + i; } else { return k + "['" + i + "']"; } } }, appendToBuffer: function (i) { if (this.environment.isSimple) { return "return " + i + ";"; } else { return "buffer += " + i + ";"; } }, initializeBuffer: function () { return this.quotedString(""); }, namespace: "Handlebars", compile: function (i, j, l, k) { this.environment = i; this.options = j || {}; this.name = this.environment.name; this.isChild = !!l; this.context = l || { programs: [], aliases: { self: "this" }, registers: { list: []} }; this.preamble(); this.stackSlot = 0; this.stackVars = []; this.compileChildren(i, j); var n = i.opcodes, m; this.i = 0; for (b = n.length; this.i < b; this.i++) { m = this.nextOpcode(0); if (m[0] === "DECLARE") { this.i = this.i + 2; this[m[1]] = m[2]; } else { this.i = this.i + m[1].length; this[m[0]].apply(this, m[1]); } } return this.createFunctionContext(k); }, nextOpcode: function (r) { var o = this.environment.opcodes, m = o[this.i + r], l, p; var q, i; if (m === "DECLARE") { l = o[this.i + 1]; p = o[this.i + 2]; return ["DECLARE", l, p]; } else { l = f.DISASSEMBLE_MAP[m]; q = f.multiParamSize(m); i = []; for (var k = 0; k < q; k++) { i.push(o[this.i + k + 1 + r]); } return [l, i]; } }, eat: function (i) { this.i = this.i + i.length; }, preamble: function () { var i = []; this.useRegister("foundHelper"); if (!this.isChild) { var j = this.namespace; var k = "helpers = helpers || " + j + ".helpers;"; if (this.environment.usePartial) { k = k + " partials = partials || " + j + ".partials;"; } i.push(k); } else { i.push(""); } if (!this.environment.isSimple) { i.push(", buffer = " + this.initializeBuffer()); } else { i.push(""); } this.lastContext = 0; this.source = i; }, createFunctionContext: function (p) { var q = this.stackVars; if (!this.isChild) { q = q.concat(this.context.registers.list); } if (q.length > 0) { this.source[1] = this.source[1] + ", " + q.join(", "); } if (!this.isChild) { var k = []; for (var o in this.context.aliases) { this.source[1] = this.source[1] + ", " + o + "=" + this.context.aliases[o]; } } if (this.source[1]) { this.source[1] = "var " + this.source[1].substring(2) + ";"; } if (!this.isChild) { this.source[1] += "\n" + this.context.programs.join("\n") + "\n"; } if (!this.environment.isSimple) { this.source.push("return buffer;"); } var r = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; for (var n = 0, j = this.environment.depths.list.length; n < j; n++) { r.push("depth" + this.environment.depths.list[n]); } if (p) { r.push(this.source.join("\n  ")); return Function.apply(this, r); } else { var m = "function " + (this.name || "") + "(" + r.join(",") + ") {\n  " + this.source.join("\n  ") + "}"; Handlebars.log(Handlebars.logger.DEBUG, m + "\n\n"); return m; } }, appendContent: function (i) { this.source.push(this.appendToBuffer(this.quotedString(i))); }, append: function () { var i = this.popStack(); this.source.push("if(" + i + " || " + i + " === 0) { " + this.appendToBuffer(i) + " }"); if (this.environment.isSimple) { this.source.push("else { " + this.appendToBuffer("''") + " }"); } }, appendEscaped: function () { var j = this.nextOpcode(1), i = ""; this.context.aliases.escapeExpression = "this.escapeExpression"; if (j[0] === "appendContent") { i = " + " + this.quotedString(j[1][0]); this.eat(j); } this.source.push(this.appendToBuffer("escapeExpression(" + this.popStack() + ")" + i)); }, getContext: function (i) { if (this.lastContext !== i) { this.lastContext = i; } }, lookupWithHelpers: function (k, l) { if (k) { var i = this.nextStack(); this.usingKnownHelper = false; var j; if (!l && this.options.knownHelpers[k]) { j = i + " = " + this.nameLookup("helpers", k, "helper"); this.usingKnownHelper = true; } else { if (l || this.options.knownHelpersOnly) { j = i + " = " + this.nameLookup("depth" + this.lastContext, k, "context"); } else { this.register("foundHelper", this.nameLookup("helpers", k, "helper")); j = i + " = foundHelper || " + this.nameLookup("depth" + this.lastContext, k, "context"); } } j += ";"; this.source.push(j); } else { this.pushStack("depth" + this.lastContext); } }, lookup: function (j) { var i = this.topStack(); this.source.push(i + " = (" + i + " === null || " + i + " === undefined || " + i + " === false ? " + i + " : " + this.nameLookup(i, j, "context") + ");"); }, pushStringParam: function (i) { this.pushStack("depth" + this.lastContext); this.pushString(i); }, pushString: function (i) { this.pushStack(this.quotedString(i)); }, push: function (i) { this.pushStack(i); }, invokeMustache: function (k, j, i) { this.populateParams(k, this.quotedString(j), "{}", null, i, function (l, n, m) { if (!this.usingKnownHelper) { this.context.aliases.helperMissing = "helpers.helperMissing"; this.context.aliases.undef = "void 0"; this.source.push("else if(" + m + "=== undef) { " + l + " = helperMissing.call(" + n + "); }"); if (l !== m) { this.source.push("else { " + l + " = " + m + "; }"); } } }); }, invokeProgram: function (k, l, j) { var i = this.programExpression(this.inverse); var m = this.programExpression(k); this.populateParams(l, null, m, i, j, function (n, p, o) { if (!this.usingKnownHelper) { this.context.aliases.blockHelperMissing = "helpers.blockHelperMissing"; this.source.push("else { " + n + " = blockHelperMissing.call(" + p + "); }"); } }); }, populateParams: function (p, k, t, q, x, w) { var l = x || this.options.stringParams || q || this.options.data; var j = this.popStack(), v; var n = [], m, o, u; if (l) { this.register("tmp1", t); u = "tmp1"; } else { u = "{ hash: {} }"; } if (l) { var s = (x ? this.popStack() : "{}"); this.source.push("tmp1.hash = " + s + ";"); } if (this.options.stringParams) { this.source.push("tmp1.contexts = [];"); } for (var r = 0; r < p; r++) { m = this.popStack(); n.push(m); if (this.options.stringParams) { this.source.push("tmp1.contexts.push(" + this.popStack() + ");"); } } if (q) { this.source.push("tmp1.fn = tmp1;"); this.source.push("tmp1.inverse = " + q + ";"); } if (this.options.data) { this.source.push("tmp1.data = data;"); } n.push(u); this.populateCall(n, j, k || j, w, t !== "{}"); }, populateCall: function (n, j, k, q, o) { var m = ["depth0"].concat(n).join(", "); var i = ["depth0"].concat(k).concat(n).join(", "); var p = this.nextStack(); if (this.usingKnownHelper) { this.source.push(p + " = " + j + ".call(" + m + ");"); } else { this.context.aliases.functionType = '"function"'; var l = o ? "foundHelper && " : ""; this.source.push("if(" + l + "typeof " + j + " === functionType) { " + p + " = " + j + ".call(" + m + "); }"); } q.call(this, p, i, j); this.usingKnownHelper = false; }, invokePartial: function (i) { params = [this.nameLookup("partials", i, "partial"), "'" + i + "'", this.popStack(), "helpers", "partials"]; if (this.options.data) { params.push("data"); } this.pushStack("self.invokePartial(" + params.join(", ") + ");"); }, assignToHash: function (i) { var j = this.popStack(); var k = this.topStack(); this.source.push(k + "['" + i + "'] = " + j + ";"); }, compiler: e, compileChildren: function (j, n) { var p = j.children, r, q; for (var o = 0, k = p.length; o < k; o++) { r = p[o]; q = new this.compiler(); this.context.programs.push(""); var m = this.context.programs.length; r.index = m; r.name = "program" + m; this.context.programs[m] = q.compile(r, n, this.context); } }, programExpression: function (k) { if (k == null) { return "self.noop"; } var p = this.environment.children[k], o = p.depths.list; var n = [p.index, p.name, "data"]; for (var m = 0, j = o.length; m < j; m++) { depth = o[m]; if (depth === 1) { n.push("depth0"); } else { n.push("depth" + (depth - 1)); } } if (o.length === 0) { return "self.program(" + n.join(", ") + ")"; } else { n.shift(); return "self.programWithDepth(" + n.join(", ") + ")"; } }, register: function (i, j) { this.useRegister(i); this.source.push(i + " = " + j + ";"); }, useRegister: function (i) { if (!this.context.registers[i]) { this.context.registers[i] = true; this.context.registers.list.push(i); } }, pushStack: function (i) { this.source.push(this.nextStack() + " = " + i + ";"); return "stack" + this.stackSlot; }, nextStack: function () { this.stackSlot++; if (this.stackSlot > this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } return "stack" + this.stackSlot; }, popStack: function () { return "stack" + this.stackSlot--; }, topStack: function () { return "stack" + this.stackSlot; }, quotedString: function (i) { return '"' + i.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r") + '"'; } }; var a = ("break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield").split(" "); var d = e.RESERVED_WORDS = {}; for (var c = 0, b = a.length; c < b; c++) { d[a[c]] = true; } e.isValidJavaScriptVariableName = function (i) { if (!e.RESERVED_WORDS[i] && /^[a-zA-Z_$][0-9a-zA-Z_$]+$/.test(i)) { return true; } return false; }; })(Handlebars.Compiler, Handlebars.JavaScriptCompiler); Handlebars.precompile = function (d, c) { c = c || {}; var b = Handlebars.parse(d); var a = new Handlebars.Compiler().compile(b, c); return new Handlebars.JavaScriptCompiler().compile(a, c); }; Handlebars.compile = function (b, a) { a = a || {}; var d; function c() { var g = Handlebars.parse(b); var f = new Handlebars.Compiler().compile(g, a); var e = new Handlebars.JavaScriptCompiler().compile(f, a, undefined, true); return Handlebars.template(e); } return function (f, e) { if (!d) { d = c(); } return d.call(this, f, e); }; }; Handlebars.VM = { template: function (a) { var b = { escapeExpression: Handlebars.Utils.escapeExpression, invokePartial: Handlebars.VM.invokePartial, programs: [], program: function (d, e, f) { var c = this.programs[d]; if (f) { return Handlebars.VM.program(e, f); } else { if (c) { return c; } else { c = this.programs[d] = Handlebars.VM.program(e); return c; } } }, programWithDepth: Handlebars.VM.programWithDepth, noop: Handlebars.VM.noop }; return function (d, c) { c = c || {}; return a.call(b, Handlebars, d, c.helpers, c.partials, c.data); }; }, programWithDepth: function (b, d, c) { var a = Array.prototype.slice.call(arguments, 2); return function (f, e) { e = e || {}; return b.apply(this, [f, e.data || d].concat(a)); }; }, program: function (a, b) { return function (d, c) { c = c || {}; return a(d, c.data || b); }; }, noop: function () { return ""; }, invokePartial: function (a, b, d, e, c, f) { options = { helpers: e, partials: c, data: f }; if (a === undefined) { throw new Handlebars.Exception("The partial " + b + " could not be found"); } else { if (a instanceof Function) { return a(d, options); } else { if (!Handlebars.compile) { throw new Handlebars.Exception("The partial " + b + " could not be compiled when running in runtime-only mode"); } else { c[b] = Handlebars.compile(a); return c[b](d, options); } } } } }; Handlebars.template = Handlebars.VM.template;

diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-1.7.1.min.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-1.7.1.min.js
new file mode 100644
index 0000000..8305ef3
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-1.7.1.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */

+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};

+f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.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 contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='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><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()

+{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-ui-1.8.15.custom.min.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-ui-1.8.15.custom.min.js
new file mode 100644
index 0000000..e3dad28
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/jquery-ui-1.8.15.custom.min.js
@@ -0,0 +1,100 @@
+/*!

+ * jQuery UI 1.8.15

+ *

+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

+ * Dual licensed under the MIT or GPL Version 2 licenses.

+ * http://jquery.org/license

+ *

+ * http://docs.jquery.com/UI

+ */

+(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.15",

+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=

+this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,

+"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":

+"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,

+outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,

+"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&

+a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&

+c.ui.isOverAxis(b,e,i)}})}})(jQuery);

+;/*!

+ * jQuery UI Widget 1.8.15

+ *

+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

+ * Dual licensed under the MIT or GPL Version 2 licenses.

+ * http://jquery.org/license

+ *

+ * http://docs.jquery.com/UI/Widget

+ */

+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,

+a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;

+e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,

+this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},

+widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},

+enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);

+;/*!

+ * jQuery UI Mouse 1.8.15

+ *

+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

+ * Dual licensed under the MIT or GPL Version 2 licenses.

+ * http://jquery.org/license

+ *

+ * http://docs.jquery.com/UI/Mouse

+ *

+ * Depends:

+ *	jquery.ui.widget.js

+ */

+(function(b){b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=

+a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,e=a.which==1,f=typeof this.options.cancel=="string"?b(a.target).closest(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==

+false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(d){return c._mouseMove(d)};this._mouseUpDelegate=function(d){return c._mouseUp(d)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(b.browser.msie&&

+!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=

+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);

+;/*

+ * jQuery UI Position 1.8.15

+ *

+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

+ * Dual licensed under the MIT or GPL Version 2 licenses.

+ * http://jquery.org/license

+ *

+ * http://docs.jquery.com/UI/Position

+ */

+(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,

+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=

+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=

+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=

+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=

+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),

+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);

+;/*

+ * jQuery UI Slider 1.8.15

+ *

+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)

+ * Dual licensed under the MIT or GPL Version 2 licenses.

+ * http://jquery.org/license

+ *

+ * http://docs.jquery.com/UI/Slider

+ *

+ * Depends:

+ *	jquery.ui.core.js

+ *	jquery.ui.mouse.js

+ *	jquery.ui.widget.js

+ */

+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+

+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");

+this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",

+g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?

+(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-

+m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();

+return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;

+this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=

+this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=

+this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);

+c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});

+a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=

+this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):

+this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();

+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];

+return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=

+this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-

+g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},

+b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.15"})})(jQuery);

+;
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/modernizr.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/modernizr.js
new file mode 100644
index 0000000..9bbf747
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/modernizr.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.0.6 (Custom Build) | MIT & BSD

+ * Build: http://www.modernizr.com/download/#-touch-iepp-cssclasses-teststyles-prefixes-load

+ */

+;window.Modernizr=function(a,b,c){function z(a,b){return!!~(""+a).indexOf(b)}function y(a,b){return typeof a===b}function x(a,b){return w(n.join(a+";")+(b||""))}function w(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),o={},p={},q={},r=[],s=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},t,u={}.hasOwnProperty,v;!y(u,c)&&!y(u.call,c)?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],c)};var A=function(c,d){var f=c.join(""),g=d.length;s(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9},g,d)}([,["@media (",n.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join("")],[,"touch"]);o.touch=function(){return e.touch};for(var B in o)v(o,B)&&(t=B.toLowerCase(),e[t]=o[B](),r.push((e[t]?"":"no-")+t));w(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=n,e.testStyles=s,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+r.join(" "):"");return e}(this,this.document),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/player-min.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/player-min.js
new file mode 100644
index 0000000..14ea2a1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/player-min.js
@@ -0,0 +1 @@
+var TSC=TSC||{};TSC.textSanitizer=(function(){return{htmlEncode:function(b,a){if(b){if(a){return b.replace(/&/g,"&amp;").replace(/(<|&amp;lt;)/g,"&lt;").replace(/(>|&amp;gt;)/g,"&gt;").replace(/&amp;amp;/g,"&amp;")}else{return b.replace(/&/g,"&amp;").replace(/("|&amp;quot;)/g,"&quot;").replace(/(<|&amp;lt;)/g,"&lt;").replace(/(>|&amp;gt;)/g,"&gt;").replace(/&amp;amp;/g,"&amp;")}}else{return b}}}}());var TSC=TSC||{};TSC.videoAnalytics=(function(){var f;var h;var j=0;var a=[{duration:300000,segmentLength:2000},{duration:1800000,segmentLength:5000}];var i=30000;var g;var b;var c=0;var e;var d=false;return{setVideoLoadStartTime:function(k){f=k},setVideoLoadEndTime:function(k){h=k},getVideoLoadTime:function(){var k=0;if(f&&h){k=h-f}return k},getNumberSegments:function(){return g},getNumberWatchedSegments:function(){return c},isPercentWatchedInitialized:function(){return j>0},clearPercentWatched:function(){j=0},initPercentWatched:function(l){if(l<=0){return}j=l;for(var k=0;k<a.length;k++){if(l<=a[k].duration){i=a[k].segmentLength;break}}b=[];g=Math.ceil(l/i);for(k=0;k<g;k++){b.push(false)}c=0},markTimeWatched:function(k){if(k>j){return}e=Math.floor(k/i);if(e<0||e>=g){return}if(!b[e]){c++;b[e]=true}},getPercentageWatched:function(){if(g&&g>0){return c/g}else{return 0}},getPercentageWatchedForVideoSegment:function(q,p){var r=0;if(j>0&&(q<=p)){var o=Math.floor(q/i);var m=Math.floor(p/i);var l=0;var k=m-o+1;for(var n=o;n<=m;n++){if(b[n]){l++}}r=l/k}return r},setEnabled:function(k){d=k},isEnabled:function(){return d}}}());var TSC=TSC||{};TSC.mediaType=(function(){return{WEBM:"webm",H264:"h264",OGG:"ogg",UNKNOWN:"unknown",NOT_AVAILABLE:"not available",MULTIPLE_TYPES:"multiple types"}}());var TSC=TSC||{};TSC.rtfParser=(function(){var g="\\";var a="0";var l=" ";var o=" ";function c(q){var p="par ";return q.toLowerCase()==p}function d(v,s){if(s===undefined){s=0}var q="a";var w="z";var u=q.charCodeAt();var t=w.charCodeAt();var p=-1;if(v){p=v.indexOf(g,s);while(p!=-1){if(p+1<v.length){var r=v.toLowerCase().charCodeAt(p+1);if(u<=r&&r<=t){break}}p=v.indexOf(g,p+1)}}return p}function j(s,q){if(q===undefined){q=0}var p=d(s,q);while(p!=-1){var r=i(s,p);if(r&&!c(r)){break}p=d(s,p+1)}return p}function i(p,r){var q;if(r!=-1){var t=p.indexOf(l,r+1);if(t!=-1){var s=(t+1)-(r+1);q=p.substr(r+1,s)}else{q=p.substr(r+1)}}return q}function n(t,s){var q="";var u=[];var r=s.pop();while(r&&r!=t&&s.length){q+=(g+r);u.push(e(r));if(s.length){r=s.pop()}}q+=(g+t);while(u.length){var p=u.pop();if(p){q+=(g+p);s.push(e(p))}}return q}function b(p){return p.indexOf(a)!=-1}function e(q){var p;if(q!=""){if(b(q)){p=q.substr(0,q.indexOf(a))}else{if(q.indexOf(o)!=-1){p=q.substr(0,q.indexOf(o))}p+=a}p+=o}return p}function m(s,q){var r=s;if(q!=-1&&r&&q<r.length){var p=r.indexOf(l,q);if(p!=-1){r=r.substr(0,q)+r.substr(p+1)}else{r=r.substr(0,q)}}return r}function k(r){var p=" ";var q=r;while(q.length>1&&q.charAt(0)==p){q=q.substr(1)}while(q.length>1&&q.charAt(q.length-1)==p){q=q.substr(0,q.length-1)}if(q==p){q=""}return q}function f(w){var v=w;if(v){var r=[];var q=j(v);var u=0;while(q!==-1){var t=i(v,q);if(t&&b(t)){var p=n(t,r);var s=v.indexOf(l,q);if(s!==-1){v=v.substr(0,q)+p+v.substr(s+1)}else{v=v.substr(0,q)+p}q+=p.length}else{if(t&&!c(t)){r.push(e(t))}q=Number(q)+1}q=d(v,q)}}return v}function h(r){var q=r;if(q){var p=1;while(p>0){p=0;var v=j(q);while(v!=-1){var x=j(q,v+1);var u=i(q,v);if(u){if(x!=-1){var t=e(u);var s=i(q,x);if(s&&s==t){var y=v+1+u.length;var w=q.substr(y,x-y);if(!k(w).length){q=m(q,x);q=m(q,v);x-=(u.length+1);p++}}}}v=x}}}return q}return{NestAndCleanUpTags:function(q){var p=q;if(p){p=f(p);p=h(p)}return p}}}());var TSC=TSC||{};TSC.textFormatter=(function(){return{rtfToText:function(b){var a=false;if(b.indexOf("{\\rtf1")!=-1){b=b.split("{\\rtf1 ").join("");a=true}b=b.split("\\i ").join("");b=b.split("\\i0 ").join("");b=b.split("\\b ").join("");b=b.split("\\b0 ").join("");b=b.split("\\ul ").join("");b=b.split("\\ul0 ").join("");b=b.split("\\par ").join("");b=b.split("\\{").join("{");b=b.split("\\}").join("}");b=b.split("\\\\").join("\\");if(a&&(b.charAt(b.length-1)=="}")){b=b.substr(0,b.length-1)}return b},rtfToHTML:function(b){b=TSC.rtfParser.NestAndCleanUpTags(b);b=b.split("<").join("&lt;");b=b.split(">").join("&gt;");var a=false;if(b.indexOf("{\\rtf1")!=-1){b=b.split("{\\rtf1 ").join("");a=true}b=b.split("\\i0 ").join("</i>");b=b.split("\\b0 ").join("</b>");b=b.split("\\ul0 ").join("</u>");b=b.split("\\i ").join("<i>");b=b.split("\\b ").join("<b>");b=b.split("\\ul ").join("<u>");b=b.split("\\par ").join("<br/>");b=b.split("\\{").join("{");b=b.split("\\}").join("}");b=b.split("\\\\").join("\\");if(a&&(b.charAt(b.length-1)=="}")){b=b.substr(0,b.length-1)}b=b.split("&lt;br&gt;").join("<br/>");b=b.split("&lt;BR&gt;").join("<br/>");return b}}}());var TSC=TSC||{};TSC.deviceInfo=(function(){var f=false;var m=false;var a=false;var e=false;var n=false;var g=false;var c=false;var h=false;var i=false;var k=false;var l=false;var d=false;function j(){switch(window.location.protocol){case"http:":case"https:":return false;break;case"file:":return true;break}}function b(){n=navigator.userAgent.match(/iPad/i)!==null;g=navigator.userAgent.match(/iPhone/i)!==null;c=navigator.userAgent.match(/iPod/i)!==null;h=navigator.userAgent.toLowerCase().indexOf("android")!==-1;e=navigator.userAgent.toLowerCase().indexOf("chrome")!==-1;m=navigator.appName=="Microsoft Internet Explorer";a=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;i=navigator.userAgent.match(/Nuevo/i)!==null;k=navigator.userAgent.match(/Safari/i)!==null;d=((screen.availWidth<640)&&(screen.availHeight<480)||(screen.availWidth<480)&&(screen.availHeight<640));l=(g||c||n)&&(window.devicePixelRatio>=2);if((g||c)&&i&&l){n=true;g=c=false}}return{isSmallScreen:function(){return d},isRetinaDisplay:function(){return l},isNuevoApp:function(){return i},isIPad:function(){return n},isIPhoneOrIPod:function(){return(g||c)},isIE:function(){return m},isFirefox:function(){return a},isChrome:function(){return e},isAndroid:function(){return h},isTouchInterface:function(){return Modernizr.touch},supportsFullScreenKeyboardInput:function(){var o=false;if(e&&Element.ALLOW_KEYBOARD_INPUT!==undefined){o=true}return o},mediaLocation:function(){var q=(document.location.href);var o=q.lastIndexOf("/");var p=q.substring(0,o+1);if(TSC.deviceInfo.isIE()==true){p=encodeURI(p)}p=p.split("%25").join("%");return p},isLocal:function(){return j()},lookAtDevice:function(){b()}}}());var TSC=TSC||{};TSC.playerConfiguration=(function(){var p="10.2.0";var r=[];var D;var l;var s;var d="<b>Your browser cannot play this video.</b>";var A="'playerProductInstall.swf";var E="tsc_player.swf";var b="100%";var k="100%";var u="stop";var q=true;var e=true;var f=false;var m=-1;var z=false;var g=false;var a="left";var C="#000";var i=false;var j=false;var w=true;var F=false;var y=true;var G=false;var o=false;var I=false;var B=false;var n;var v=true;var h=true;var H=true;var c=".";function t(){var K=false;var J=(document.location.href);if(J.indexOf("http")==0){K=true}return K}function x(K){var J=K.replace("&#8217;","'");return J}return{getUnicodeSafeString:function(J){if(J===undefined){return J}if(TSC.playerConfiguration.getProcessUnicodeNames()){if(TSC.deviceInfo.isIE()==true){if(t()){return encodeURI(J)}else{return decodeURIComponent(J)}}else{return encodeURIComponent(J)}}else{return J}},getMediaSrc:function(){return r.length>0?r[0]:""},setMediaSrc:function(J){r.push(x(J))},addMediaSrc:function(J){r.push(x(J))},getMediaSources:function(){return r},getMediaFileName:function(){var J=r.length>0?r[0]:undefined;var L;if(J){var K=J.split("/");L=K[K.length-1];L=L.split("?")[0];if(L===undefined||L===""){L="Unnamed Media"}}else{L="No Media"}return L},getXMPSrc:function(){return TSC.playerConfiguration.getUnicodeSafeString(D)},setXMPSrc:function(J){D=x(J)},setSwfBase:function(J){c=x(J)},getSwfBase:function(){return c},getConfigurationSrc:function(){return TSC.playerConfiguration.getUnicodeSafeString(l)},setConfigurationSrc:function(J){l=J},getPosterImageSrc:function(){return TSC.playerConfiguration.getUnicodeSafeString(s)},setPosterImageSrc:function(J){s=J},getUnableToDisplayContentString:function(){return d},setUnableToDisplayContentString:function(J){d=J},getFlashUpdateBootstrapSwf:function(){return A},setFlashUpdateBootstrapSwf:function(J){A=J},getFlashPlayerSwf:function(){return E},setFlashPlayerSwf:function(J){E=x(J)},getPlayerWidth:function(){return b},setPlayerWidth:function(J){b=J},getPlayerHeight:function(){return k},setPlayerHeight:function(J){k=J},getEndActionType:function(){return u},setEndActionType:function(J){u=J},getEndActionParam:function(){return q},setEndActionParam:function(J){q=J},getIsSearchable:function(){return e},setIsSearchable:function(J){e=J},getAutoPlayMedia:function(){return f},setAutoPlayMedia:function(J){f=J},getAllowRewind:function(){return m},setAllowRewind:function(J){m=J},getCaptionsEnabled:function(){return z},setCaptionsEnabled:function(J){z=J},getSidebarEnabled:function(){return g},setSidebarEnabled:function(J){g=J},getSidebarLocation:function(){return a},setSidebarLocation:function(J){a=J},getBackgroundColor:function(){return C},setBackgroundColor:function(J){C=J},getMinFlashPlayerVersion:function(){return p},setDebugHotspot:function(J){i=J},getDebugHotspot:function(){return i},setAutoHideControls:function(J){w=J},getAutoHideControls:function(){return w},setProcessUnicodeNames:function(J){j=J},getProcessUnicodeNames:function(){return j},setReportScormComplete:function(J){F=J},getReportScormComplete:function(){return F},setEnforceLinearAssessment:function(J){y=J},getEnforceLinearAssessment:function(){return y},setDisableFullframeMode:function(J){G=J},getDisableFullframeMode:function(){return G},getDisableControls:function(){return o},setDisableControls:function(J){o=J},getMobileWebViewCanAutoPlay:function(){return I},setMobileWebViewCanAutoPlay:function(J){I=J},setGoogleAnalyticsID:function(J){n=J},getGoogleAnalyticsID:function(){return n},setGAPageViewTracking:function(J){v=J},getGAPageViewTracking:function(){return v},setGAEventTracking:function(J){h=J},getGAEventTracking:function(){return h},setAdvancedSeeking:function(J){B=J},getAdvancedSeeking:function(){return B},setIframeCommunicationsEnabled:function(J){H=J},getIframeCommunicationsEnabled:function(){return H},getFrameElement:function(){try{if(window!=window.top&&H){return $(window.frameElement)}else{return""}}catch(J){TSC.playerConfiguration.setDisableFullframeMode(true)}}}}());var TSC=TSC||{};TSC.mediaList=(function(){var b=".m3u";var i="Videos in a Playlist cannot be viewed from a local drive. The videos will play correctly from a Playlist hosted on a Website or Server.";var n;var j=[];var k=0;var a;var m;var d=false;function e(){k=0;if(n[0].toLowerCase().indexOf(b)!=-1){d=true;f(TSC.playerConfiguration.getUnicodeSafeString(n[0]))}else{d=false;j.push(n);a.call()}}function f(o){$.ajax({type:"GET",url:o,isLocal:true,dataType:"text",success:h,error:g})}function h(q){j=q.split(/\r?\n/g);var p=j.length-1;for(var o=p;o>=0;o--){if(j[o]===""){j.splice(o,1)}else{j[o]=TSC.playerConfiguration.getUnicodeSafeString(j[o])}}if(a){a.call()}}function g(o){if(m){m.call()}}function c(q){var p="";var o=l(q);switch(o){case TSC.mediaType.WEBM:p="video/webm";break;case TSC.mediaType.H264:p="video/mp4";break;case TSC.mediaType.OGG:p="video/ogg";default:break}return p}function l(q){var o=TSC.mediaType.UNKNOWN;var r=q.split(".");if(r.length>0){var p=r.pop().toLowerCase();switch(p){case"webm":o=TSC.mediaType.WEBM;break;case"mp4":case"m4v":case"mov":o=TSC.mediaType.H264;break;case"ogv":o=TSC.mediaType.OGG;break;default:break}}return o}return{init:function(o){n=o;e()},currentVideoSrc:function(){if(j.length>0){return j[k]}else{return undefined}},currentVideoIndex:function(){return k},setCurrentVideo:function(o){if(o==="next"){if(k<j.length-1){k++}}else{if(o==="previous"){if(k>0){k--}}else{if(Number(o)>=0&&Number(o)<j.length){k=Number(o)}}}},getMediaList:function(){return j},getVideoIndexBySrc:function(p){var r=k;for(var q=0;q<j.length;q++){if(d){if(j[q]===p){r=q;break}}else{for(var o=0;o<j[q].length;o++){if(j[q][o]===p){r=q;break}}}}return r},getMediaType:function(){var o=TSC.mediaType.NOT_AVAILABLE;if(j.length>0){o=TSC.mediaType.UNKNOWN;if(d){o=l(j[k])}else{var p=j[k].length;if(p===1){o=l(j[k][0])}else{o=TSC.mediaType.MULTIPLE_TYPES}}}return o},getMediaMimeType:function(o){return c(o)},isMediaTypeAvailable:function(p){var o=false;if(j.length>0){if(d){o=(p===l(j[k]))}else{var r=j[k].length;for(var q=0;q<r;q++){o=(p===l(j[k][q]));if(o){break}}}}return o},isPlaylist:function(){return d},onFirstVideo:function(){return(k===0)},onLastVideo:function(){return((k+1)===j.length)},getErrorMessage:function(){return i},addEventListener:function(o,p){if(o==="READY"){a=p}else{if(o==="ERROR"){m=p}}},removeEventListener:function(o,p){if(o==="READY"){a=undefined}else{if(o==="ERROR"){m=undefined}}}}}());var TSC=TSC||{};TSC.ioOverlayView=(function(){var d="#tsc_io_container";var a="#tsc_io_overlay";var c='<div id="tsc_io_container"><div id="tsc_io_message"><span>{{ioMessage}}</span><img src="{{loaderImg}}" /></div></div><div id="tsc_io_overlay"></div>';var b="data:image/gif;base64,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 Cwg1RAAAOwAAAAAAAAAAAA==";var e=false;return{getViewMarkup:function(h){var g=Handlebars.compile(c);var f={ioMessage:h,loaderImg:b};return g(f)},setViewMessage:function(f){$(d+" span").html(f)},hideLoadingGraphic:function(){$(d+" img").hide()},showLoadingGraphic:function(){$(d+" img").show()},viewOpen:function(){return e},showView:function(){$(d).css("opacity",0);$(d).animate({opacity:1},300);e=true},removeView:function(f){e=false;$(a).animate({opacity:0},200,function(){$(a).remove()});$(d).animate({opacity:0},200,function(){if(f!==undefined){f.call()}$(d).remove()})}}}());var TSC=TSC||{};TSC.playerView=function(){var bm;var b4;var b;var E=false;var aT="#tscplayer";var am="embeddedObject";var aQ,t,g,be,A,bo,bk,ar,O,bA,aj,i,M,o,a1,bX,aV,R,ay,bU,k,C,bY,ae,a4,L,v,bP;var p=300,bJ=100,ai,ag,r=-1,al=-1,aG=false,bd=false,ab=false,bg=false,bS=5,bq=false,c=false,aE=0,bL=0,aA=0,az=0,b2=0,bp=1,bV=false,aY=false,aN=-1,bZ=0,bu=false,bt=false,bv=250,aP,N="",H=1,P=false,aI=false,ah=-1,x=5000,by=false,bh="click",bE=false,aK=false,aw=1,aW=-1,bW=0,Q=0,ba=false,a5=-1,bD=false,bN=false,bf=false,W=true,aB=0,b1=10;var bs=32;var h=TSC.ioOverlayView;var ao;var bB='<a id="videoClickToPlayLink"><table id="videoClickToPlay" class="videoDimensions centeredImage"><tr><td><div id="ctoplay" class="spritesheet play_button_overlay_normal" /></td></tr></table></a><a id="videoClickToReplayLink"><table id="videoClickToReplay" class="videoDimensions centeredImage"><tr><td><div id="ctoplay" class="spritesheet replay_button_overlay_normal" /></td></tr></table></a><div id="videoWrapper" class="videoDimensions"><canvas id="hotspotContainerDebug" width="1" height="1" ></canvas><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUZFRTQ3RTgzQjlFMTFFMUE1QzU4ODA1ODE4NzA1RTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUZFRTQ3RTkzQjlFMTFFMUE1QzU4ODA1ODE4NzA1RTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRkVFNDdFNjNCOUUxMUUxQTVDNTg4MDU4MTg3MDVFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRkVFNDdFNzNCOUUxMUUxQTVDNTg4MDU4MTg3MDVFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuQAJiQAAAAXSURBVHjaYvz//z8DOmBiwAIoFAQIMAA2UAMHLJ+dVwAAAABJRU5ErkJggg%3D%3D" id="hotspotContainer" usemap="#hotspotMap" width="1" height="1" /><div id="videoSidebar"><div id="videoSidebarHead"><div id="searchArea"><input id="searchBox" value="Search..." /><span id="clearSearchButton" ></span></div></div><div id="videoSidebarContentWrapper"> <div id="videoSidebarContent"> <ol id="tableOfContentsList"> </ol> </div> </div> </div> <div id="videoDiv"></div><div id="volume_slider_container" class="spritesheet volumebar_backdrop"><div id="volume_slider_vertical"></div></div><div id="controls" class="spritesheet sprite_repeat control_backdrop"> <div id="rewind" class="spritesheet rewind_button_normal bitmap_control"><span></span> </div><div id="play" class="spritesheet play_button_normal bitmap_control"><span></span> </div><div id="previous" class="spritesheet previous_button_disabled bitmap_control"><span></span> </div><div id="next" class="spritesheet next_button_normal bitmap_control"><span></span> </div><div id="progress" class="bitmap_control"><div id="progress_box"><span id="progress_scrubbar_track_left" class="spritesheet scrubbar_track_left"></span><span id="progress_scrubbar_track" class="spritesheet sprite_repeat scrubbar_track"><span id="load_progress" class="spritesheet sprite_repeat scrubbar_loaded_track"><span id="play_progress" class="spritesheet sprite_repeat scrubbar_played_track"></span></span></span> <span id="progress_scrubbar_track_right" class="spritesheet scrubbar_track_right"></span><canvas id="markers"></canvas><span id="scrubbar_scrubber" class="spritesheet scrubbar_scrubber_normal"></span> </div><div class="spritesheet seperator bitmap_control"></div><div id="play_time"> <span id="current_time_display">00:00</span> / <span id="duration_display">00:00</span> </div> </div><div id="volume" class="spritesheet volume_button_normal bitmap_control"></div><div id="closedCaptionButton" class="spritesheet closed_caption_button_normal bitmap_control"></div><div id="tocButton" class="spritesheet toc_button_normal bitmap_control"></div><div id="fullscreen_enter_button" class="bitmap_control spritesheet fullscreen_enter_button_normal"></div></div><div id="currentCaption" class="hide"></div><div id="alertDialog"></div></div><div id="captions"></div><div id="screenText"></div><div id="speechText"></div><map name="hotspotMap" id="hotspotMap"></map>';function a0(b6){if(aQ&&ab&&b6.keyCode===bs){b6.originalEvent.preventDefault();if(aQ[0].paused){aQ[0].play()}else{aQ[0].pause()}}}function z(){$(document).bind("keydown",a0)}function q(){$(document).unbind("keydown",a0)}function f(b6){b6=b6.replace(/\)/gi,"\\)");b6=b6.replace(/\(/gi,"\\(");$("#videoClickToPlay, #videoClickToReplay").css("background-image","url("+b6+")")}function a2(){$("#videoClickToPlay, #videoClickToReplay").css("background-image","none")}function ac(b6){if(H!=-1){$("#tableOfContentsList li:nth-child("+H+") ").removeClass("selectedTocItem")}H=b6;$("#tableOfContentsList li:nth-child("+H+") ").addClass("selectedTocItem")}function d(b6){for(var b7=0;b7<b6.length;b7++){var b8;if(b6[b7].start!==undefined){b8=b6[b7].start}else{b8=b6[b7].time}a3(b6[b7].text,b8,b6[b7].file,b6[b7].imageRef,b6[b7].imageRect)}}function bI(b6){var b9=[];var b8;for(b8=0;b8<b6.length;b8++){var cb=b6[b8].text;if(cb.toLowerCase().indexOf(C.val().toLowerCase())!=-1){b9.push(b6[b8])}}var ca=b9.length;var b7;for(b7=0;b7<ca;b7++){bn(b9[b7])}}function bn(cj){var ci=cj.items.length;var cf=(C.val().toLowerCase()).split(" ");for(var cd=0;cd<ci;cd++){var cb="";var b8=cj.items[cd];var ca=cf[0];if(b8.toLowerCase().indexOf(ca)<0){continue}for(var cc=0;cc<cf.length;cc++){if(cd+cc>=ci){cb+=""}else{if(cd==0){cb+=cj.items[cd+cc]}else{cb+=" "+cj.items[cd+cc]}}}if(cb.toLowerCase().indexOf(C.val().toLowerCase())!=-1){var b9;if(cf.length<4){b9=Math.floor(5-(cf.length)/2)}else{b9=2}var b7;var cg="";var b6="";for(var ce=1;ce<=b9;ce++){if((cd-ce)>=0){cg=cj.items[cd-ce]+" "}if(cd+cc+ce<ci){b6+=" "+cj.items[cd+cc+(ce-1)]}}cb=bT(cb,C.val());b7="..."+cg+cb+b6+"...";var ck=cj.file;var ch="";if(ck!==undefined){ch="data-file='"+ck+"'"}aO("#searchList",b7,cj.start,ck,undefined,undefined,C.val())}}}function a3(ca,b6,b7,b8,b9){if(ca.toLowerCase().indexOf(C.val().toLowerCase())!=-1){aO("#searchList",ca,b6,b7,b8,b9,C.val())}}function u(){var b6=$("#hotspotContainerDebug");var b7=b6[0].getContext("2d");b7.clearRect(0,0,$("#hotspotContainerDebug").width(),$("#hotspotContainerDebug").height());b7.fillStyle="rgba(255, 0, 0, 0.5)";var b8;var b9;$.each(TSC.xmp.getHotspotItemArray(),function(){b9=$(this)[0];if(b9.isActive){b8=b9.scaledPoints.length;b7.beginPath();for(var ca=0;ca<b8;ca+=2){if(ca===0){b7.moveTo(b9.scaledPoints[ca],b9.scaledPoints[ca+1])}else{b7.lineTo(b9.scaledPoints[ca],b9.scaledPoints[ca+1])}}b7.lineTo(b9.scaledPoints[0],b9.scaledPoints[1]);b7.closePath();b7.fill()}})}function aL(b8,b7,cc,b6){var cb="";var ca=b7.points.length;for(var b9=0;b9<ca;b9++){b7.scaledPoints[b9]=Math.round(b7.points[b9]*cc);if(b7.scaledPoints[b9]<0){b7.scaledPoints[b9]=0}if(b9===0){cb+=b7.scaledPoints[b9]}else{cb+=","+b7.scaledPoints[b9]}}if(TSC.playerConfiguration.getDebugHotspot()){u()}if(b6){$(b6).attr("coords",cb)}else{$("#hotspotMap").append('<area shape="poly" coords="'+cb+'" hotspot_index="'+b8+'" href="#" alt="Hotspot" />');$("#hotspotMap area").bind("click",G)}}function l(ch,cb){if(r<0){return}var ca=(Number(ch)-(Number(r)*aw))/2;var cd=(Number(cb)-(Number(al)*aw))/2;if(ca<0){ca=0}if(cd<0){cd=0}var b7=(r*aw);var cg=(al*aw);$("#hotspotContainer").attr("width",b7);$("#hotspotContainer").attr("height",cg);$("#hotspotContainer").css("left",ca);$("#hotspotContainer").css("top",cd);if(TSC.playerConfiguration.getDebugHotspot()){$("#hotspotContainerDebug").attr("width",b7);$("#hotspotContainerDebug").attr("height",cg);$("#hotspotContainerDebug").css("left",ca);$("#hotspotContainerDebug").css("top",cd)}var b6=$("#hotspotMap area");var b8=b6.length;var b9;var ce;if(b8>0){for(var cc=0;cc<b8;cc++){b9=b6[cc];ce=$(b9).attr("hotspot_index");if(ce){var cf=TSC.xmp.getHotspotItemArray();var ci=cf[Number(ce)];if(ci){aL(Number(ce),ci,aw,b9)}}}}}function ad(){$("#searchList").remove();bk.show();b0()}function bK(){if(aQ===undefined){return}var b7=aQ[0].offsetWidth;var b6=b7-20;if(b6!==R.width()){R.css("width",b6+"px");R.css("left",10+"px")}R.css("height",$("#currentCaption span").innerHeight())}function ak(){var b7=$("#markers");var b6=b7[0].getContext("2d");TSC.quizController.drawMarkers((aQ[0].duration*1000),b6,bW,Q)}function U(){aE=$("#videoSidebarHead")[0].offsetHeight+bL;var b6=(ai-i.height()-aE);$("#videoSidebarContent").height(b6)}function bM(){$("#tscVideoContent").css("width",TSC.playerConfiguration.getPlayerWidth());$("#tscVideoContent").css("height",TSC.playerConfiguration.getPlayerHeight());ai=$("#tscVideoContent").innerHeight();ag=$("#tscVideoContent").innerWidth();i.width(ag);if(TSC.playerConfiguration.getSidebarLocation()==="right"){bX.css("left",ag-bX.outerWidth());bX.css("top",$("#tscVideoContent").offset().top)}else{bX.css("left",$("#tscVideoContent").offset().left);bX.css("top",$("#tscVideoContent").offset().top)}var b6;b6=o.outerWidth(true)+bS;var b9=$("#play_time").outerWidth(true)+$(".seperator").outerWidth(true)+bS;if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){$("#volume").remove();if(bu){b6=b6+O.outerWidth(true)}if(bq){b6=b6+ar.outerWidth(true)}b6=b6+bS}else{if(bu){b6=b6+aV.outerWidth(true)+O.outerWidth(true)+bS;if(c||bq){b6=b6+ar.outerWidth(true)}}else{b6=b6+aV.outerWidth(true)+bS;if(c||bq){b6=b6+ar.outerWidth(true)}}}if(TSC.xmp.hasCaptionItems()){b6=b6+ay.outerWidth(true)}if(TSC.playerConfiguration.getAllowRewind()!=-1){b6=b6+t.outerWidth(true)}if(be.is(":visible")){b6=b6+be.outerWidth(true)+A.outerWidth(true)}if(bq){$("#fullscreen_enter_button").removeClass("fullscreen_enter_button_normal");$("#fullscreen_enter_button").addClass("fullframe_enter_button_normal")}bA.width(ag-b6);aj.width(ag-b6-b9);$(".videoDimensions").width(ag);$(".videoDimensions").height(ai);if(bu){U()}var b8=aQ&&aQ.length>0;if(b8){aQ.attr("height",ai+"px");aQ.attr("width",ag+"px")}bz();if(TSC.xmp.hasHotspotItems()){l(ag,ai)}if(TSC.xmp.hasCaptionItems()){D();bK()}if(ae.length>0){a4.css("left",(aV.outerWidth(true)+(bS*2))+"px")}else{var b7=aV.offset().left+(aV.width()/2-a4.width()/2);if((b7+a4.width())>$("#tscVideoContent").offset().left+$("#tscVideoContent").width()){b7=($("#tscVideoContent").offset().left+$("#tscVideoContent").width())-(a4.width()+5)}a4.css("left",b7+"px")}if(aQ&&aQ[0].duration){F();if(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()){bW=ag-b6-b9;Q=i.height();$("#markers").attr("width",bW+"px");$("#markers").attr("height",Q+"px");ak();if(TSC.quizController.viewOpen()){TSC.quizController.pointViewAt(br(aQ[0].currentTime))}}}}function bz(){if(r>0&&ag>0){var b7=ag/r;var b6=ai/al;var b8=Math.min(b7,b6);aw=b8}}function au(){if(bu&&!TSC.deviceInfo.supportsFullScreenKeyboardInput()){$("#searchArea").show();$("#fsSearchAlert").remove();U()}}function B(){ba=true;if(!TSC.xmp.hasQuiz()||(TSC.xmp.hasQuiz()&&(!TSC.quizController.quizEnabled()||TSC.quizController.getQuizReady()))){if(!TSC.playerConfiguration.getDisableControls()){i.show()}T()}else{aQ[0].pause();bQ(TSC.quizController.getLastStatusMessage())}if(TSC.videoAnalytics.isEnabled()&&!TSC.videoAnalytics.isPercentWatchedInitialized()){TSC.videoAnalytics.initPercentWatched(aQ[0].duration*1000)}if((aQ[0].webkitSupportsFullscreen&&!TSC.deviceInfo.isIPad()&&!TSC.deviceInfo.isAndroid())){document.addEventListener("webkitfullscreenchange",function(){aG=!aG;if(aG){$("#fullscreen_enter_button").removeClass("fullscreen_enter_button_normal");$("#fullscreen_enter_button").addClass("fullscreen_leave_button_normal")}else{au();$("#fullscreen_enter_button").removeClass("fullscreen_leave_button_normal");$("#fullscreen_enter_button").addClass("fullscreen_enter_button_normal");$("body").css("margin-left","1px");bg=true;bM();$("body").css("margin-left","0");bg=true;bM()}});c=true}else{if(window!=window.top&&!TSC.playerConfiguration.getDisableFullframeMode()){ar.show();bq=true}else{$("#fullscreen_enter_button").remove()}}bg=true;bM();aQ[0].removeEventListener("loadedmetadata",B,false)}function m(){var b6;if(R.hasClass("captionVAlignTop")){b6=20;R.css("bottom","");R.css("top",b6+"px")}else{b6=i.height()+10;R.css("top","");R.css("bottom",b6+"px")}}function br(b7){var b8=aj.position().left;if(aQ&&aQ[0].duration&&aQ[0].duration>0){if(b7>=0&&b7<=aQ[0].duration){var b6=b7/aQ[0].duration;b8+=b6*aj[0].offsetWidth}}return b8}function X(){if(!ab||(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()&&!TSC.quizController.getQuizReady())){return}var b9=false;if(r===-1||r===0){r=aQ[0].videoWidth;al=aQ[0].videoHeight;bz();if(TSC.xmp.hasCaptionItems()){D()}if(TSC.xmp.hasHotspotItems()){l(ag,ai)}b9=true}bf=Number(aQ[0].currentTime.toFixed(2))>=Number(aQ[0].duration.toFixed(2));aA=((aA+(aQ[0].currentTime-az))/2)+0.33;if(b9){az=0}else{az=aQ[0].currentTime>aQ[0].duration?aQ[0].duration:aQ[0].currentTime}b2=az*1000;if(TSC.videoAnalytics.isEnabled()){TSC.videoAnalytics.markTimeWatched(b2);if(TSC.playerConfiguration.getGoogleAnalyticsID()){var b8=Math.round(TSC.videoAnalytics.getPercentageWatched()*100);if(b8>=(aB+b1)){aB+=b1;if(aB<b8){aB=(b1*Math.floor(b8/b1))+b1}if(aB>100){aB=100}_gaq.push(["_trackEvent","HTML5-Video","Video_Percent_Viewed","Viewed: "+aB+" Percent"])}}}var cc="";if(!by&&TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()){var b6=TSC.quizController.findQuestionSet(b2);if(b6.id>=0){if(aW!==b6.id){if(!TSC.deviceInfo.isTouchInterface()){q()}aF();bO(false);if(bX){aq(false)}aW=b6.id;if(!TSC.deviceInfo.isIE()&&aQ[0].currentTime){aQ[0].currentTime=b6.markerTime/1000;aQ[0].pause()}else{setTimeout(function(){aQ[0].pause();aQ[0].currentTime=b6.markerTime/1000},300)}if(aG&&!TSC.deviceInfo.supportsFullScreenKeyboardInput()){I("#videoWrapper",TSC.quizUiStrings.getQuizFullscreenMode(),true)}TSC.quizController.displayConfirm(b6.id);TSC.quizController.pointViewAt(br(b6.markerTime/1000));if(TSC.videoAnalytics.isEnabled()){var b8=TSC.videoAnalytics.getPercentageWatchedForVideoSegment((TSC.quizController.findPrevMarkerTimeForMarker(b6.id)),(b6.markerTime));TSC.quizController.updatePercentWatchedForQuestionSet(aW,b8)}w(false)}else{}}else{aW=-1}}var b7=0;$.each(TSC.xmp.getHotspotItemArray(),function(){var cf=$(this)[0];var cd;if(TSC.mediaList.isPlaylist()){cd=TSC.mediaList.currentVideoSrc()}var cg=true;if(cf.file!==undefined&&cf.file!==cd){cg=false}if(cf.start<az&&az<=cf.end&&cg){if(cf.isActive===false){cf.isActive=true;aL(b7,cf,aw)}if(cf.pause!==undefined&&cf.pause===true&&az+aA>cf.end&&!aQ[0].paused&&!cf.hasPaused){if(cf.hasPaused===false){aQ[0].pause()}cf.hasPaused=true;av(cf.end)}}else{if(cf.isActive){cf.isActive=false;var ce=0;$("#hotspotMap area").each(function(){var ch=$(this)[0];ce++;if(Number($(ch).attr("hotspot_index"))===b7){return false}});if(ce>0){$("#hotspotMap area:nth-child("+ce+")").remove()}if(TSC.playerConfiguration.getDebugHotspot()){u()}}if(!aQ[0].paused){cf.hasPaused=false}}b7++});var cb=false;var ca=false;$.each(TSC.xmp.getCaptionItemArray(),function(){var ce=$(this)[0];var cd;if(TSC.mediaList.isPlaylist()){cd=TSC.mediaList.currentVideoSrc()}var cf=true;if(ce.file!==undefined&&ce.file!==cd){cf=false}if(ce.start<az&&az<=ce.end&&cf){ca=true;if(ce.text!==R.text()){R.removeClass("captionHAlignLeft");R.removeClass("captionHAlignCenter");R.removeClass("captionHAlignRight");R.addClass(ce.hAlignClass);R.removeClass("captionVAlignTop");R.removeClass("captionVAlignBottom");R.addClass(ce.vAlignClass);m();cc=ce.htmlText;cb=true}}});if(ca){if(cb){if(cc!==""){cc="<span>"+cc+"</span>"}R.html(cc);if(cc!==""){$("#currentCaption span").css("background",TSC.xmp.getCaptionBg())}bK();if(b){b.call(cc)}}}else{R.html("")}if(aY){ay.removeClass("closed_caption_off_button_normal");ay.addClass("closed_caption_button_normal");R.removeClass("hide");bK()}else{ay.removeClass("closed_caption_button_normal");ay.addClass("closed_caption_off_button_normal");R.addClass("hide")}if(TSC.playerConfiguration.getReportScormComplete()&&TSC.videoAnalytics.getPercentageWatched()===1){TSC.playerConfiguration.setReportScormComplete(false);if(typeof userSubmitVideoCompletedToLMS=="function"){userSubmitVideoCompletedToLMS()}}if(!by&&aW===-1&&bf&&!bN){bN=true;aQ[0].pause();at()}}function bF(b6){if(b6>1){b6=1}else{if(b6<0){b6=0}}aQ[0].volume=b6}function av(b6){$.each(TSC.xmp.getHotspotItemArray(),function(){var b7=$(this)[0];if(b7.end===b6){b7.hasPaused=true}})}function bc(){$.each(TSC.xmp.getHotspotItemArray(),function(){var b6=$(this)[0];b6.hasPaused=false;b6.isActive=false});$("#hotspotMap area").remove();if(TSC.playerConfiguration.getDebugHotspot()){u()}}function bT(b8,b6){var b7=new RegExp(b6,"ig");return b8.replace(b7,"<span class='foundSearchText'>"+b6+"</span>")}function aO(cl,cB,cw,cg,cn,cf,cb){var ca="";var b8="";var ci;var cp="";var cr="";var cs=1;var cj;var b6;var ch=0;var cq=0;var cy=20;var ct=65;var cd=false;if(cg!==undefined){cr="data-file='"+cg+"'"}if(cf){var cA=cf.split(",");var co=-Number(cA[0]);var cu=-Number(cA[1]);var cm=Number(cA[2]);var cz=Number(cA[3]);var cx="";ci="hasThumbImage";cp="style='height:"+cz+"px'";if(cz<ct){cd=true;cp="style='height:"+ct+"px'"}if(TSC.xmp.getTocCellLayoutType()&&TSC.xmp.getTocCellLayoutType()==="imageOnly"&&cb===undefined){ch=(bv-cm-cy)/2}else{if(cm>(bv/2-cy)){cs=(bv/2-cy)/cm;cm=bv/2-cy;cq=Math.floor((cA[3]-(cA[3]*cs))/2)}else{cq=Math.floor((ct-(cA[3]*cs))/2)}}b6={};b6.width=Number(bv-cm-40)+"px";b6.left=Number(cm+5)+"px";b6.overflow="hidden";b6["line-height"]="1.2em";b6["max-height"]="4.8em";if(cb!==undefined){cj='<div class="tocItemLabel">'+bT(cB,cb)+"</div>"}else{if(TSC.xmp.getTocCellLayoutType()&&TSC.xmp.getTocCellLayoutType()==="imageOnly"){cj=""}else{cj='<div class="tocItemLabel">'+cB+"</div>"}}b8="<div>"+cj+"</div>"}else{cp="";ci="noThumbImage";if(cb!==undefined){b8=bT(cB,cb)}else{b8=cB}}var ce="<li "+cp+" class='"+ci+"' data-time='"+cw+"' "+cr+" ></li>";$(cl).append(ce);if(cn){var cv=cn.getContext("2d");cn.width=Number(cA[2])*cs;cn.height=Number(cA[3])*cs;cv.scale(cs,cs);if(v){cv.drawImage(v,cA[0],cA[1],cA[2],cA[3],0,0,cA[2],cA[3])}else{cv.fillStyle="#000000";cv.fillRect(0,0,cA[2],cA[3])}$(cn).css("margin-left",ch);$(cn).css("margin-top",cq);$(cl+" li:last-child").append(cn)}$(cl+" li:last-child").append(b8);if(cn){$(cl+" li:last-child .tocItemLabel").css(b6);var b9=0;var b7=ct;if(!$(bX).is(":visible")){aq(true);b9=$(cl+" li:last-child .tocItemLabel").height();if(!cd){b7=$(cl+" li:last-child").height()}aq(false)}else{b9=$(cl+" li:last-child .tocItemLabel").height();if(!cd){b7=$(cl+" li:last-child").height()}}var cc=-8;if(!cd&&cs===1){cc=4}var ck=-Number(b7+cc);ck+=(b7-b9)/2;cq=Math.floor((b7-(cA[3]*cs))/2);$(cn).css("margin-top",cq);$(cl+" li:last-child .tocItemLabel").css("top",ck+"px")}if(TSC.mediaList.isPlaylist()){ac(H)}}function bx(b6){v=new Image();v.onload=function(){b0()};v.src=b6}function b0(){var b8=TSC.xmp.getTocItemArray();var b6=b8.length;var b9;$("#tableOfContentsList li").remove();for(var b7=0;b7<b6;b7++){if(b8[b7].imageRect){b8[b7].imageRef=document.createElement("canvas")}aO("#tableOfContentsList",b8[b7].text,b8[b7].time,b8[b7].file,b8[b7].imageRef,b8[b7].imageRect)}}function bl(){var ca=bP.width;var b8=bP.height;var cc;var b9;var b6;var cb=0.6;if(b8<=ca){if(ca>(bv-20)){cc=(bv-20)/ca;b9=(bv-20);b6=b8*cc}else{cc=1;b9=ca;b6=b8}}else{if(b8>(bv-20)){cc=((ca*cb)-20)/b8;b6=((bv*cb)-20);b9=ca*cc}else{cc=1;b6=b8;b9=ca}}var b7='<div id="pipimage" style="background-image: url('+TSC.xmp.getTocImageSrc()+");background-repeat:no-repeat;background-size:contain;width: "+b9+"px;height: "+b6+"px;border: 1px solid #FFFFFF;margin-left: "+((bv-b9)/2)+"px;margin-right:"+((bv-b9)/2)+'px;margin-top: 10px;margin-bottom:  10px;"></div>';$(b7).prependTo($("#videoSidebarHead"));$("#videoSidebarHead").prepend(TSC.xmp.getTocTitle());U()}function aq(b6){if(b6){bX.show();w(false)}else{bX.hide();if(!aI){w(true)}}}function S(b9){bE=false;if(TSC.deviceInfo.isTouchInterface()&&aK){return}b9.stopImmediatePropagation();b9.preventDefault();var b6=$(this).attr("data-time");var b7=$(this).attr("data-file");if(b7!==undefined){bc();var b8=TSC.mediaList.getVideoIndexBySrc(b7);if(b8===TSC.mediaList.currentVideoIndex()){aQ[0].currentTime=b6}else{TSC.mediaList.setCurrentVideo(b8);K()}ac(b8+1)}else{bc();aQ[0].currentTime=b6}}function a7(){if(bt){aq(true)}else{aq(false)}if(TSC.playerConfiguration.getIsSearchable()){C.keyup(function(){if(C.val()!=""){bk.hide();$("#searchList").remove();$("#videoSidebarContent").append("<ol id='searchList' ></ol>");d(TSC.xmp.getTocItemArray());d(TSC.xmp.getCaptionItemArray());bI(TSC.xmp.getScreenTextItemArray());if(TSC.xmp.getCaptionItemArray().length<1&&TSC.xmp.getScreenTextItemArray().length>0){bI(TSC.xmp.getScreenTextItemArray())}$("#searchList").show()}else{ad()}});bo.click(function(){C.val("");ad()})}else{$("#searchArea").remove()}if(TSC.xmp.getTocImageSrc()){bP=new Image();bP.onload=bl;bP.src=TSC.xmp.getTocImageSrc()}else{$("#videoSidebarHead").prepend(TSC.xmp.getTocTitle())}if(TSC.xmp.tocContainsThumbs()){bx(TSC.xmp.getTocThumbImageSrc())}b0();if(TSC.deviceInfo.isTouchInterface()){bh="touchend";aK=false}else{$("#videoSidebarContent ol li").live(bh,S)}}function aX(b8){var b7;by=true;if(!TSC.deviceInfo.isTouchInterface()){window.clearTimeout(ah)}if(aQ[0].paused){b7=false}else{b7=true;aQ[0].pause()}bC();if(TSC.deviceInfo.isTouchInterface()){Y(b8.originalEvent.touches[0].clientX);document.ontouchmove=function(b9){b9.preventDefault();Y(b9.pageX)};document.ontouchend=b6}else{document.onmousemove=function(b9){Y(b9.pageX)};document.onmouseup=b6}function b6(b9){if(by&&!TSC.deviceInfo.isTouchInterface()&&TSC.playerConfiguration.getAutoHideControls()){bi()}by=false;n();if(TSC.deviceInfo.isTouchInterface()){document.ontouchmove=null;document.ontouchend=null}else{document.onmousemove=null;document.onmouseup=null}if(b7&&!bf){aQ[0].play()}X()}}function bG(){aQ.bind("timeupdate",function(){F()});aQ.bind("progress",function(){J()});aQ.bind("durationchange",function(){J();if(aP){window.clearInterval(aP)}aP=window.setInterval(J,1000)});if(!TSC.deviceInfo.isTouchInterface()){aj.bind("mousedown",aX);aj.bind("mouseup",function(b6){Y(b6.originalEvent.pageX)})}}function J(){if(aQ&&aQ.length>0){var b6=0;if(aQ[0].buffered&&aQ[0].buffered.length){b6=Math.ceil(((aQ[0].buffered.end(0)/aQ[0].duration)*100))}$("#load_progress").css("width",b6+"%");if(b6===100){if(aP){window.clearInterval(aP)}}}}function bC(){document.body.focus();document.onselectstart=function(){return false}}function n(){document.onselectstart=function(){return true}}function Y(cc){bc();var b6=Math.max(0,Math.min(1,(cc-aj.position().left)/aj[0].offsetWidth));var b9=b6*(aj[0].offsetWidth-2);if(L.length>0){var cb=M.offset().left;var b8=L.width();var b7=b9-Math.floor(b8/2);L.css("left",b7+1)}M.width(b9);bE=false;try{aQ[0].currentTime=Number(b6*aQ[0].duration)}catch(ca){if(ca.code==DOMException.INDEX_SIZE_ERR){}}Z()}function F(){M.width((aQ[0].currentTime/aQ[0].duration)*(aj[0].offsetWidth-2));var b8=M.offset().left;var b7=(aQ[0].currentTime/aQ[0].duration)*(aj[0].offsetWidth-2);if(L.length>0){var b6=L.width();L.css("left",b7-Math.floor(b6/2))}Z()}function Z(){o[0].innerHTML=j(aQ[0].currentTime);if(aQ[0].duration){a1[0].innerHTML=j(aQ[0].duration)}}function j(b7){b7=Math.round(b7);var b6=Math.floor(b7/60);b6=(b6>=10)?b6:"0"+b6;b7=Math.floor(b7%60);b7=(b7>=10)?b7:"0"+b7;return b6+":"+b7}function ax(b7,b9){var b6=100;try{b6=localStorage.getItem("volume")==undefined?100:localStorage.getItem("volume")}catch(b8){}b7.slider({orientation:b9,range:"min",min:0,max:100,value:b6,slide:function(ca,cb){aV.removeClass("volume_button_high_normal");aV.removeClass("volume_button_med_normal");aV.removeClass("volume_button_low_normal");aV.removeClass("volume_button_normal");aV.removeClass("unmute_button_normal");if(cb.value>70){aV.addClass("volume_button_high_normal")}else{if(cb.value>30){aV.addClass("volume_button_med_normal")}else{if(cb.value>0){aV.addClass("volume_button_low_normal")}else{aV.addClass("unmute_button_normal")}}}bF(cb.value/100);try{localStorage.setItem("volume",cb.value)}catch(cc){}}});try{bF(localStorage.getItem("volume")==undefined?100:localStorage.getItem("volume")/100)}catch(b8){}}function aD(){a4.show(bJ)}function b3(){if(aN!==-1){clearTimeout(aN);aN=-1}a4.unbind("mouseenter");a4.unbind("mouseleave");a4.hide(bJ)}function aZ(){if(bu&&bt){$(this).removeClass("toc_off_button_normal");$(this).addClass("toc_button_normal");aq(false)}$("#hotspotContainer").hide();if(TSC.playerConfiguration.getDebugHotspot()){$("#hotspotContainerDebug").hide()}k.show()}function b5(b6,b7){bN=false;bE=false;k.hide();bU.css("visibility","visible");bc();if(!TSC.deviceInfo.isTouchInterface()){z()}if(!TSC.mediaList.isPlaylist()){aQ[0].currentTime=b6}if(b7){if(TSC.mediaList.isPlaylist()){TSC.mediaList.setCurrentVideo(0);ac(TSC.mediaList.currentVideoIndex()+1);K()}else{aQ[0].play()}}$("#hotspotContainer").show();if(TSC.playerConfiguration.getDebugHotspot()){$("#hotspotContainerDebug").show()}}function at(){if(Math.floor(aQ[0].currentTime)<Math.floor(aQ[0].duration)){if(aP){window.clearInterval(aP)}var b8=":( This video failed to load completely.";if(!TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){b8+="  You may need to try another browser or use the Flash plugin."}I(undefined,b8,false);return}if(TSC.mediaList.isPlaylist()&&!TSC.mediaList.onLastVideo()){bg=true;TSC.mediaList.setCurrentVideo("next");ac(TSC.mediaList.currentVideoIndex()+1);K()}else{if(!TSC.deviceInfo.isTouchInterface()){q()}aQ[0].pause();g.removeClass("pause_normal");g.addClass("play_normal");setTimeout(a6,1000);var b6=false;var b7=true;var b9=false;var cb=true;if(TSC.playerConfiguration.getEndActionType()!=undefined){var ca=TSC.playerConfiguration.getEndActionParam();switch(TSC.playerConfiguration.getEndActionType().toLowerCase()){case"loop":b6=(ca==="true"||ca==="1")?true:false;break;case"stop":b7=(ca==="false"||ca==="0")?false:true;break;case"jumptotime":b9=true;break;case"jumptotimeandstop":cb=false;b9=true;break;case"jumptourl":if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Video_Finished_Action",ca])}if(TSC.deviceInfo.isNuevoApp()){setTimeout(function(){window.open(""+ca,"_parent")},500)}else{window.open(""+ca,"_parent")}break;case"jumptourlnew":if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Video_Finished_Action",ca])}window.open(""+ca,"_blank");break}}if(b6){b5(0,true)}else{if(b9){b5((ca/1000),cb)}else{if(b7){if(aG){document.webkitCancelFullScreen()}if(!TSC.deviceInfo.isTouchInterface()){aF()}bj();aZ()}else{bE=true}}}}}function aS(){bd=!bd;if(ao.hasClass("tscplayer_inline")){$("#fullscreen_enter_button").removeClass("fullframe_enter_button_normal");$("#fullscreen_enter_button").addClass("fullframe_leave_button_normal");bZ=window.parent.scrollY||window.top.pageYOffset;window.parent.scrollTo(0,0);$("html",window.parent.document).css("overflow","hidden");if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){if(P){$("#searchBox").blur();setTimeout(aR,100)}else{aR()}}else{ao.removeClass("tscplayer_inline");ao.attr("width","100%");ao.attr("height","100%");ao.addClass("tscplayer_fullframe")}}else{$("#fullscreen_enter_button").removeClass("fullframe_leave_button_normal");$("#fullscreen_enter_button").addClass("fullframe_enter_button_normal");$("html",window.parent.document).css("overflow","auto");ao.removeClass("tscplayer_fullframe");ao.removeAttr("width");ao.removeAttr("height");ao.addClass("tscplayer_inline");if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){clearTimeout(a5);aC();bM()}window.top.scrollTo(0,bZ)}}function ap(){$("#hotspotContainer").unbind("touchstart");$("#hotspotContainer").unbind("touchmove");$("#hotspotContainer").unbind("touchend");$("#videoDiv").unbind("touchstart");$("#videoDiv").unbind("touchmove");$("#videoDiv").unbind("touchend");aj.unbind("touchstart");$("#videoSidebarContent ol li").die("touchstart");$("#videoSidebarContent ol li").die("touchmove");$("#videoSidebarContent ol li").die(bh,S)}function e(){var b6=false;$("#hotspotContainer").bind("touchstart",function(b7){b6=false});$("#hotspotContainer").bind("touchmove",function(){b6=true});$("#hotspotContainer").bind("touchend",function(b7){if(!b6){if(aI){bO()}else{bj()}}b6=false});$("#videoDiv").bind("touchstart",function(b7){b6=false});$("#videoDiv").bind("touchmove",function(){b6=true});$("#videoDiv").bind("touchend",function(){if(!b6){if(aI){bO()}else{bj()}}b6=false});aj.bind("touchstart",aX);$("#videoSidebarContent ol li").live("touchstart",function(b7){aK=false});$("#videoSidebarContent ol li").live("touchmove",function(b7){aK=true});$("#videoSidebarContent ol li").live(bh,S)}function aJ(){if(TSC.playerConfiguration.getAllowRewind()!==-1){t.click(function(){bE=false;var b6=Number(aQ[0].currentTime)-TSC.playerConfiguration.getAllowRewind();aQ[0].currentTime=Number(b6)})}else{t.hide()}g.click(function(){if(aQ[0].paused){if(bE){aa()}else{aQ[0].play()}}else{aQ[0].pause()}});be.click(function(){if(!TSC.mediaList.onFirstVideo()){TSC.mediaList.setCurrentVideo("previous");ac(TSC.mediaList.currentVideoIndex()+1);K()}});A.click(function(){if(!TSC.mediaList.onLastVideo()){TSC.mediaList.setCurrentVideo("next");ac(TSC.mediaList.currentVideoIndex()+1);K()}});aQ.bind("play",function(){g.removeClass("play_button_normal");g.addClass("pause_button_normal")});aQ.bind("pause",function(){g.removeClass("pause_button_normal");g.addClass("play_button_normal")});aQ.bind("ended",function(){if(by){return}X();if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Video_Finished",TSC.mediaList.currentVideoSrc().toString()])}});k.click(function(){aa()});bG();aV.mouseover(function(){if(aN!=-1){clearTimeout(aN);aN=-1}aD()});aV.mouseout(function(){if(bY.length>0){a4.bind("mouseenter",function(){if(aN!=-1){clearTimeout(aN);aN=-1}});a4.bind("mouseleave",function(){aN=setTimeout(function(){b3();aN=-1},1000)});if(aN!=-1){clearTimeout(aN);aN=-1}aN=setTimeout(function(){b3();aN=-1},1000)}});aV.click(function(){var b6;bV=!bV;if(bV){bp=aQ[0].volume;b6=0;bY.slider("value",[0])}else{b6=bp;bY.slider("value",[bp*100])}aV.removeClass("volume_button_high_normal");aV.removeClass("volume_button_med_normal");aV.removeClass("volume_button_low_normal");aV.removeClass("volume_button_normal");aV.removeClass("unmute_button_normal");if(b6>0.7){aV.addClass("volume_button_high_normal")}else{if(b6>0.3){aV.addClass("volume_button_med_normal")}else{if(b6>0){aV.addClass("volume_button_low_normal")}else{aV.addClass("unmute_button_normal")}}}bF(b6)});if(ae.length>0){ax(ae,"horizontal");a4.show()}else{ax(bY,"vertical")}if(TSC.xmp.hasCaptionItems()){ay.click(function(){aY=!aY;if(aY){$(this).removeClass("closed_caption_off_button_normal");$(this).addClass("closed_caption_button_normal");R.removeClass("hide");bK()}else{$(this).removeClass("closed_caption_button_normal");$(this).addClass("closed_caption_off_button_normal");R.addClass("hide")}})}ar.click(function(){if(bq){aS()}else{if(!aG){var b6=document.getElementById("videoWrapper");if(TSC.deviceInfo.supportsFullScreenKeyboardInput()){b6.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}else{if(bu&&TSC.playerConfiguration.getIsSearchable()){$("#searchArea").hide();$("#videoSidebarHead").append("<div id='fsSearchAlert'>Search is disabled in fullscreen mode.</div>")}b6.webkitRequestFullScreen()}}else{if(TSC.playerConfiguration.getIsSearchable()){au()}document.webkitCancelFullScreen()}}});if(bu){O.click(function(){bt=!bt;if(bt){$(this).removeClass("toc_off_button_normal");$(this).addClass("toc_button_normal")}else{$(this).removeClass("toc_button_normal");$(this).addClass("toc_off_button_normal")}if(bX.css("display")==="none"){aq(true);U()}else{aq(false)}});if(TSC.playerConfiguration.getSidebarEnabled()){bt=true;O.removeClass("toc_off_button_normal");O.addClass("toc_button_normal");aq(true)}else{O.removeClass("toc_button_normal");O.addClass("toc_off_button_normal")}}if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){$("textarea").live("blur",function(){bD=false;e();if(bd){bb()}});$("textarea").live("focus",function(){bD=true;ap();if(bd){aC()}});$("input:text").live("blur",function(){bD=false;e();if(bd){bb()}});$("input:text").live("focus",function(){bD=true;ap();if(bd){aC()}});window.parent.onorientationchange=function(){if(bd){if(P){$("#searchBox").blur();setTimeout(an,500)}else{an()}}}}else{z()}if(TSC.playerConfiguration.getDisableControls()){bj()}}function aa(){if(!TSC.deviceInfo.isTouchInterface()&&TSC.playerConfiguration.getAutoHideControls()){af()}else{bO()}b5(0,true);if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Video_Replay",TSC.mediaList.currentVideoSrc().toString()])}}function y(){if(window.parent.scrollX>0||window.parent.scrollY>0){if(bD){window.parent.scrollTo(0,window.parent.scrollY)}else{var b6=window.parent.scrollY-50;b6<0?0:b6;window.parent.scrollTo(0,b6)}}a5=setTimeout(y,10)}function aC(){$(document).unbind("touchmove");$(document).unbind("gesturestart");$(window.parent).unbind("gesturestart");$(document).unbind("gestureend");$(window.parent).unbind("gestureend")}function bb(){$(document).bind("touchmove",function(b6){if(!(($.contains(bk[0],b6.target))||(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()&&TSC.quizController.viewOpen()))){b6.preventDefault()}});$(document).bind("gesturestart",function(b6){b6.preventDefault()});$(window.parent).bind("gesturestart",function(b6){b6.preventDefault()});$(document).bind("gestureend",function(b6){aS()});$(window.parent).bind("gestureend",function(b6){aS()})}function aR(){y();bb();ao.removeClass("tscplayer_inline");ao.attr("width",window.parent.innerWidth);ao.attr("height",window.parent.innerHeight);ao.addClass("tscplayer_fullframe");bM()}function an(){if(window!=window.top){window.parent.scrollTo(0,0)}else{window.scrollTo(0,0)}ao.attr("width",window.parent.innerWidth);ao.attr("height",window.parent.innerHeight);bM()}function af(){if(TSC.deviceInfo.isTouchInterface()){return}$(bm).hover(bO,bj);var b6=null;$(bm).bind("mousemove",function(b7){if(b6==null||(b6.pageX!=b7.pageX&&b6.pageY!=b7.pageY)){b6=b7;bO(true)}});bi()}function aF(){window.clearTimeout(ah);$(bm).unbind("mousemove");$(bm).unbind("mouseenter mouseleave")}function bj(){w(false);if(P||by){return}aI=true;i.stop(true,true);i.fadeOut(p);if(bt){bX.stop(true,true);bX.fadeOut(p)}if(aN!==-1){b3()}}function bO(b6){if(TSC.playerConfiguration.getDisableControls()){return}if(aI){aI=false;i.stop(true,true);i.fadeIn(p);if(bt){bX.stop(true,true);bX.fadeIn(p)}else{w(true)}if(b6){F()}if(bg){bg=false;bM()}}if(b6){bi()}}function w(b6){if(TSC.deviceInfo.isNuevoApp()){if(b6){document.location="nuevo://shownavbar"}else{document.location="nuevo://hidenavbar"}}}function a6(){if(TSC.deviceInfo.isNuevoApp()){var b6=document.location;document.location="nuevo://hasPlayedToEnd?url="+b6}}function bi(){window.clearTimeout(ah);ah=window.setTimeout(bj,x)}function G(b8){var ca=TSC.xmp.getHotspotItemArray();var b6=Number($(b8.target).attr("hotspot_index"));if(ca[b6].jumpFile!==undefined){var b9=TSC.mediaList.getVideoIndexBySrc(ca[b6].jumpFile);TSC.mediaList.setCurrentVideo(b9);ac(TSC.mediaList.currentVideoIndex()+1);K()}else{if(ca[b6].jumpTime!==""){bE=false;bc();aQ[0].currentTime=Number(ca[b6].jumpTime);aQ[0].play()}else{if(ca[b6].targetURL!==""){if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Hotspot_Action",ca[b6].targetURL])}var b7="_parent";if(ca[b6].newWindow!==undefined&&ca[b6].newWindow===true){b7="_blank"}window.open(ca[b6].targetURL,b7)}else{aQ[0].play()}}}}function D(){var b6=Math.round(Number(TSC.xmp.getCaptionFontSize())*aw);b6=b6<TSC.xmp.getMinCaptionFontSize()?TSC.xmp.getMinCaptionFontSize():b6;b6=b6>TSC.xmp.getMaxCaptionFontSize()?TSC.xmp.getMaxCaptionFontSize():b6;$("#currentCaption").css("font-size",b6)}function bR(){if(TSC.videoAnalytics.isEnabled()){TSC.videoAnalytics.setVideoLoadEndTime(new Date().getTime());if(TSC.playerConfiguration.getGoogleAnalyticsID()){_gaq.push(["_trackEvent","HTML5-Video","Video_Loading_Time",TSC.mediaList.currentVideoSrc().toString(),TSC.videoAnalytics.getVideoLoadTime()])}}ab=true}function s(){if(TSC.xmp.hasHotspotItems()){if(TSC.playerConfiguration.getDebugHotspot()){$("#hotspotContainerDebug").css("display","block")}}if(TSC.xmp.hasCaptionItems()){$("#currentCaption").css("font-family",TSC.xmp.getCaptionFontFamily());$("#currentCaption").css("color",TSC.xmp.getCaptionTextColor());D();aY=TSC.playerConfiguration.getCaptionsEnabled()}if(TSC.playerConfiguration.getGoogleAnalyticsID()||TSC.xmp.hasCaptionItems()||TSC.xmp.hasHotspotItems()||(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled())||TSC.playerConfiguration.getReportScormComplete()){aQ.bind("timeupdate",X)}aQ.bind("canplay",bR)}function bw(b6,cb,ca,cd,b9){if(!ca){ca=TSC.playerConfiguration.getPlayerWidth()}if(!cd){cd=TSC.playerConfiguration.getPlayerHeight()}if(!b9){b9=false}var b8='<video width="'+ca+'" height="'+cd+'"';if(b9&&TSC.playerConfiguration.getPosterImageSrc()){b8+=' poster="'+TSC.playerConfiguration.getPosterImageSrc()+'"'}if(cb){b8+=" controls"}if(TSC.deviceInfo.isNuevoApp()){b8+=" webkit-playsinline"}b8+=">";var cc=b6.length;for(var b7=0;b7<cc;b7++){b8+='<source src="'+b6[b7]+'" type="'+TSC.mediaList.getMediaMimeType(b6[b7])+'" />'}b8+=TSC.playerConfiguration.getUnableToDisplayContentString()+"</video>";return b8}function bQ(b7){if(h.viewOpen()){h.setViewMessage(b7)}else{var b6=h.getViewMarkup(b7);$(bm).append(b6);h.showView()}}function T(){if(h.viewOpen()){h.removeView()}}function aU(){$("#videoClickToPlay").hide();TSC.quizController.init(TSC.playerConfiguration.getEnforceLinearAssessment())}function a9(){var b7=bw(TSC.mediaList.currentVideoSrc(),false);$("#videoDiv").html(b7);aQ=$("video");aQ[0].addEventListener("loadedmetadata",B,false);if(TSC.playerConfiguration.getPosterImageSrc()){a2()}$("#videoClickToPlay").hide();$("#videoWrapper").show();s();aJ();if(bu){a7()}if(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()){var b6=$("<div/>");b6.addClass("quizMarker");$(bm).append(b6);TSC.quizMarker.setSize($(".quizMarker").css("width").replace(/px/g,""));TSC.quizMarker.setColor($(".quizMarker").css("color"));$("#markers").show()}bg=true;bM();if(b4){b4.call()}if(TSC.deviceInfo.isTouchInterface()){e()}else{if(TSC.playerConfiguration.getAutoHideControls()){af()}}i.hide();bQ("Please wait... the video is loading.");K()}function K(){bN=false;bE=false;if(TSC.mediaList.isPlaylist()){if(TSC.mediaList.onFirstVideo()){be.removeClass("previous_button_normal");be.addClass("previous_button_disabled")}else{be.addClass("previous_button_normal");be.removeClass("previous_button_disabled")}if(TSC.mediaList.onLastVideo()){A.removeClass("next_button_normal");A.addClass("next_button_disabled")}else{A.addClass("next_button_normal");A.removeClass("next_button_disabled")}if(TSC.videoAnalytics.isEnabled()){TSC.videoAnalytics.clearPercentWatched();aB=0}aQ[0].src=TSC.mediaList.currentVideoSrc()}if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){aQ[0].play()}else{aQ[0].load();aQ[0].play()}if(TSC.videoAnalytics.isEnabled()){TSC.videoAnalytics.setVideoLoadStartTime(new Date().getTime())}if(TSC.playerConfiguration.getGoogleAnalyticsID()&&W){W=false;_gaq.push(["_trackEvent","HTML5-Video","Video_Started",TSC.mediaList.currentVideoSrc().toString()]);_gaq.push(["_trackEvent","HTML5-Video","Video_Percent_Viewed","Viewed: 0 Percent"])}}function bH(b7){switch(b7.type){case"COMPLETE":case"REVIEW":if(bX&&bt){aq(true)}else{w(true)}if(!TSC.deviceInfo.isTouchInterface()){z();if(TSC.playerConfiguration.getAutoHideControls()){af()}}ak();if(b7.type==="REVIEW"&&TSC.playerConfiguration.getEnforceLinearAssessment()){var b6=TSC.quizController.findPrevMarkerTimeForMarker(aW);aW=-1;aQ[0].currentTime=b6/1000;aQ[0].play()}else{aQ[0].play()}break;case"BEGIN":case"SKIP":TSC.quizController.setViewContainer("#videoWrapper");$("#videoClickToPlayLink").unbind("click",aU);if(!aQ){a9()}else{if(ba&&TSC.quizController.getQuizReady()){T();aQ[0].play();if(!TSC.playerConfiguration.getDisableControls()){i.show()}bg=true;bM()}}break;case"ERROR":if(!aQ){a9()}I("#videoWrapper",TSC.quizUiStrings.getErrorMessage(),true);break;case"STATUS":bQ(b7.message);break}}function V(b8,b6){bm=b8;bu=b6;$(bm).html(bB);$(bm).css("background-color",TSC.playerConfiguration.getBackgroundColor());if(TSC.playerConfiguration.getPosterImageSrc()){f(TSC.playerConfiguration.getPosterImageSrc())}$(bm).fadeIn(p);$("#videoClickToPlay").fadeIn(p);t=$("#rewind");g=$("#play");be=$("#previous");A=$("#next");bA=$("#progress");aj=$("#progress_box");i=$("#controls");M=$("#play_progress");o=$("#current_time_display");a1=$("#duration_display");bX=$("#videoSidebar");aV=$("#volume");R=$("#currentCaption");ay=$("#closedCaptionButton");bU=$("#videoWrapper");k=$("#videoClickToReplay");C=$("#searchBox");bo=$("#clearSearchButton");bk=$("#tableOfContentsList");ar=$("#fullscreen_enter_button");O=$("#tocButton");bY=$("#volume_slider_vertical");ae=$("#volume_slider_horizontal");a4=$("#volume_slider_container");L=$("#scrubbar_scrubber");if(TSC.deviceInfo.isIPad()||TSC.deviceInfo.isAndroid()){aV.hide();ar.hide()}if(bu){O.show()}if(TSC.xmp.hasCaptionItems()){ay.show()}if(!TSC.mediaList.isPlaylist()){be.hide();A.hide()}bM();$(window).resize(function(){bg=true;bM()});C.focus(function(){P=true;if(C.val()=="Search..."){C.val("")}if(!TSC.deviceInfo.isTouchInterface()){q();window.clearTimeout(ah)}});C.blur(function(){P=false;if(C.val().replace(/ /g,"")===""){C.val("Search...")}if(!TSC.deviceInfo.isTouchInterface()){z();if(TSC.playerConfiguration.getAutoHideControls()){bi()}}});var b7=TSC.deviceInfo.isIPad()&&!TSC.deviceInfo.isNuevoApp();if((b7||TSC.deviceInfo.isAndroid()||(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()))&&!TSC.playerConfiguration.getMobileWebViewCanAutoPlay()){TSC.playerConfiguration.setAutoPlayMedia(false)}if(TSC.playerConfiguration.getAutoPlayMedia()===true){setTimeout(a9,80)}else{if(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()){$("#videoClickToPlayLink").bind("click",aU)}else{$("#videoClickToPlayLink").bind("click",a9)}}if(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled()){TSC.quizController.setViewContainer(bm);TSC.quizController.setQuestionData(TSC.quizModel);TSC.quizController.setViewControlBarOffset(i.height());TSC.quizController.addEventListener("COMPLETE",bH);TSC.quizController.addEventListener("REVIEW",bH);TSC.quizController.addEventListener("BEGIN",bH);TSC.quizController.addEventListener("SKIP",bH);TSC.quizController.addEventListener("ERROR",bH);TSC.quizController.addEventListener("STATUS",bH)}if(TSC.playerConfiguration.getGoogleAnalyticsID()||TSC.playerConfiguration.getReportScormComplete()||(TSC.xmp.hasQuiz()&&TSC.quizController.quizEnabled())){TSC.videoAnalytics.setEnabled(true);if(TSC.xmp.xmpAvailable()){TSC.videoAnalytics.initPercentWatched(TSC.xmp.getMediaDuration())}}E=true}function aM(ca){var b6={};b6.src=TSC.playerConfiguration.getUnicodeSafeString(TSC.playerConfiguration.getMediaSrc());if(TSC.playerConfiguration.getXMPSrc()){b6.xmp=TSC.playerConfiguration.getXMPSrc()}if(TSC.playerConfiguration.getAutoPlayMedia()){b6.autoPlayJS=TSC.playerConfiguration.getAutoPlayMedia()}if(TSC.playerConfiguration.getAllowRewind()!==-1){b6.allowRewind=TSC.playerConfiguration.getAllowRewind()}if(TSC.playerConfiguration.getConfigurationSrc()){b6.configuration=TSC.playerConfiguration.getConfigurationSrc()}b6.debugHotspots=TSC.playerConfiguration.getDebugHotspot();if(TSC.playerConfiguration.getPosterImageSrc()){b6.poster=TSC.playerConfiguration.getPosterImageSrc()}if(TSC.playerConfiguration.getGoogleAnalyticsID()&&TSC.playerConfiguration.getGoogleAnalyticsID()!=""){b6.analytics=TSC.playerConfiguration.getGoogleAnalyticsID();if(!TSC.playerConfiguration.getGAEventTracking()){b6.trackEvents=false}if(!TSC.playerConfiguration.getGAPageViewTracking()){b6.trackPageViews=false}}b6.advancedSeeking=TSC.playerConfiguration.getAdvancedSeeking();b6.enforceLinearAssessments=TSC.playerConfiguration.getEnforceLinearAssessment();b6.scormComplete=TSC.playerConfiguration.getReportScormComplete();b6.hostingPage=document.location;var b8=TSC.playerConfiguration.getMinFlashPlayerVersion();var b9={};b9.quality="high";b9.bgcolor="#000000";b9.allowscriptaccess="always";b9.allowfullscreen="true";b9.wmode="direct";b9.allowNetworking="all";if(TSC.playerConfiguration.getSwfBase()!=="."){b9.base=TSC.playerConfiguration.getSwfBase()}var b7={};b7.id="tscplayer";b7.name="tscplayer";b7.align="middle";swfobject.embedSWF(TSC.playerConfiguration.getFlashPlayerSwf(),ca.replace(/#/,""),TSC.playerConfiguration.getPlayerWidth(),TSC.playerConfiguration.getPlayerHeight(),b8,TSC.playerConfiguration.getFlashUpdateBootstrapSwf(),b6,b9,b7);swfobject.createCSS(ca,"display:block;text-align:left;");$(ca).show()}function I(b8,b7,b6){b7="<span>"+b7+"</span>";if(b6){b7+="<h4>Click to Close</h4>"}if(E){$("#alertDialog").html(b7);$("#alertDialog").fadeIn(p)}else{$(b8).css("background-color",TSC.playerConfiguration.getBackgroundColor());$(b8).css("height","100%");$(b8).html('<div id="alertDialog">'+b7+"</div>");$(b8).fadeIn(p);$("#alertDialog").show()}if(b6){$("#alertDialog").bind("click",function(){$("#alertDialog").hide();$("#alertDialog").unbind("click")})}}function a8(){var b6="#000";if(TSC.playerConfiguration.getPosterImageSrc()){b6+=" url("+TSC.playerConfiguration.getPosterImageSrc()+") center no-repeat"}$(".appplayer").css({background:b6,position:"relative","border-radius":"5px","background-size":"cover",height:"100%","z-index":"1"})}function aH(){var b6='<div class="appplayer">                <div class="posterFade">                    <div class="topBrdr"><div class="topBrdrInner"></div></div>                    <div class="content">                        <h2>Play with TechSmith Smart Player</h2>                        <a class="appNuevoPlayBtn"></a>                        <a href="" class="appstoreBtn"></a>                    </div>                    <a class="appNativePlayBtn">                       <div class="appNativePlayBtnText">Play Video Only</div>                    </a>                    <div class="btmBrdr"><div class="btmBrdrInner"></div></div>                </div>            </div>';return b6}function a(b6){if(TSC.mediaPlayer.isNuevoAppCapableAndAvailable()){$(b6).after(aH());a8();$(".appplayer").show();$(b6).hide();$(".appNuevoPlayBtn").click(function(){$(".appplayer").hide();$(b6).show();TSC.mediaPlayer.redirectToiPhoneApp()});$(".appNativePlayBtn").click(function(){$(".appplayer").hide();$(b6).show();aQ=$("video");aQ[0].play()});$(".appstoreBtn").click(function(){TSC.mediaPlayer.redirectToiPhoneAppDownload()});if(ao&&ao!==""){ao.removeClass(am);ao.css("width","500px");ao.css("height","334px")}}else{$(b6).fadeIn(p)}}return{initHtml5View:function(b7,b6){ao=TSC.playerConfiguration.getFrameElement();V(b7,b6)},initSimpleHtml5View:function(cd){ao=TSC.playerConfiguration.getFrameElement();if(TSC.mediaList.isPlaylist()){var cc=$(window).innerWidth()-20;if(ao&&ao!==""){ao.addClass("tscplayer_fullframe");ao.css("width",$(window.parent).innerWidth());ao.css("height","100%");cc=$(window.parent).innerWidth()-20}var b7=TSC.mediaList.getMediaList();var cb=b7.length;var ca="<ol>";for(var b8=0;b8<cb;b8++){ca+="<li>"+bw([b7[b8]],true,cc,75,true)+"</li>"}ca+="</ol>";$(cd).html(ca);$(cd).css("background-color","#ffffff");$("body").css("overflow","auto");$(cd).css("overflow","auto");$(cd+" ol").css("list-style","none");$(cd+" ol").css("margin","10px");$(cd+" ol").css("padding","0")}else{$(cd).html(bw(TSC.mediaList.currentVideoSrc(),true,undefined,undefined,true));if(window!=window.top&&TSC.playerConfiguration.getIframeCommunicationsEnabled()){var b6=$(window.parent).innerWidth()-40;var b9=b6*1.33333333333333;ao.css("width",b6);ao.css("height",b9)}}a(cd)},initFlashView:function(b6){ao=TSC.playerConfiguration.getFrameElement();aM(b6)},getFlashId:function(){return aT},displayMessagePanel:function(b7,b6){I(b7,b6,true)},addEventListener:function(b6,b7){if(b6==="VIDEO_START"){b4=b7}else{if(b6==="CAPTION_CHANGE"){b=b7}}},removeEventListener:function(b6){if(b6==="VIDEO_START"){b4=undefined}else{if(b6==="CAPTION_CHANGE"){b=undefined}}}}}();var TSC=TSC||{};TSC.xmp=(function(){$.fn.filterNode=function(Z){return this.find("*").filter(function(){return this.nodeName===Z})};var D;var a;var E="There seems to be a problem accessing certain features of this video. Please contact the video Author.";var z="Certain features in your video are currently disabled due to Local Network Security. These features work correctly when the video is played from a Website or Server.";var Q=false;var V=false;var A=false;var k=false;var U=false;var j=false;var e=false;var r;var g;var Y;var v;var h;var d;var W;var m;var x;var q=null;var w;var B;var M=false;var p="";var S=0;var y="#ffffff";var G="#000000";var n=0.9;var O="Arial, Helvetica, sans-serif;";var l=18;var T={r:255,g:255,b:255};var t=2;var J=144;var K=[];var C=[];var c=[];var b=[];var f=[];function F(aa,Z,ab){if(a){a.call()}}function N(ae,ad,Z){var ac=(ae<<16|ad<<8|Z).toString(16);var aa=6-ac.length;for(var ab=0;ab<aa;ab++){ac="0"+ac}return"#"+ac}function s(Z){$(Z).find("*").filterNode("rdf:Description").each(function(){var ac=Number($(this).attr("xmpDM:startTime"))/1000;var aa=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscDM:file"));var ad=$(this).attr("xmpDM:name");var ab=$(this).attr("tscDM:image");var af=$(this).attr("tscDM:imagerect");if(af&&!M){M=true;if(TSC.playerConfiguration.getSwfBase()!=="."){p=TSC.playerConfiguration.getSwfBase()+TSC.playerConfiguration.getUnicodeSafeString(ab)}else{p=TSC.playerConfiguration.getUnicodeSafeString(ab)}}var ae={time:ac,text:ad,file:aa,image:ab,imageRect:af};K.push(ae)})}function i(ab){var aa=$(ab).find("*").length;var ac=ab.find("*").eq(aa-2);if(ac&&ac.length>0&&ac[0].nodeName==="tsc:fgColor"){var ae=ac.attr("xmpG:red");var ad=ac.attr("xmpG:green");var Z=ac.attr("xmpG:blue");y=N(ae,ad,Z)}var af=ab.find("*").eq(aa-1);if(af&&af.length>0&&af[0].nodeName==="tsc:bgColor"){T.r=af.attr("xmpG:red");T.g=af.attr("xmpG:green");T.b=af.attr("xmpG:blue");G=N(T.r,T.g,T.b)}$(ab).find("*").filterNode("rdf:Description").each(function(){var ai=Number($(this).attr("xmpDM:startTime"))/1000;var am=Number($(this).attr("xmpDM:duration"))/1000;var ap=ai+am;var ag=$(this).find("*").filterNode("rdf:li").text();var aj=TSC.textFormatter.rtfToText(ag);var an=$(this).attr("tscDM:valign");var ak=$(this).attr("tscDM:halign");var al;var ah;switch(an){case"top":al="captionVAlignTop";break;default:al="captionVAlignBottom";break}switch(ak){case"left":ah="captionHAlignLeft";break;case"right":ah="captionHAlignRight";break;default:ah="captionHAlignCenter";break}ag=TSC.textFormatter.rtfToHTML(ag);var aq=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscDM:file"));if(aj.replace(/ /g,"")!==""){var ao={start:ai,end:ap,text:aj,htmlText:ag,file:aq,vAlign:an,vAlignClass:al,hAlignClass:ah};C.push(ao)}})}function I(ad,ab){var ag=[];var aa=Number(ad[4])-Number(ad[0]);var ai=Number(ad[5])-Number(ad[1]);var ae=(aa/2)+Number(ad[0]);var ac=(ai/2)+Number(ad[1]);var ah=ad.length;for(var af=0;af<ah;af+=2){var Z=H(Number(ad[af]),Number(ad[af+1]),aa,ai,ae,ac,ab);ag.push(Number(Z[0]));ag.push(Number(Z[1]))}return ag}function H(Z,am,af,ah,ae,ad,ac){ac=ac*Math.PI/180;var an=Z-ae;var al=am-ad;var aj=Math.atan2(al,an);var ai=Math.sqrt(an*an+al*al);var aa=aj+ac;var ak=Math.cos(aa)*ai;var ag=Math.sin(aa)*ai;var ab=[];ab[0]=(ak+ae);ab[1]=(ag+ad);return ab}function P(Z){$(Z).find("*").filterNode("rdf:Description").each(function(){var ab=$(this).attr("xmp:label");var aj=Number($(this).attr("xmpDM:startTime"))/1000;var ag=Number($(this).attr("xmpDM:duration"))/1000;var af=aj+ag;var ac=$(this).attr("tscDM:boundingPoly");var ah=$(this).attr("tscDM:rotate");var ae=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscHS:jumpFile"));var ak=ac.replace(/\;/ig,",");if(ak.lastIndexOf(",")==ak.length-1){ak=ak.substr(0,ak.length-1)}var am=ak.split(",");if(ah!==0){am=I(am,ah)}var al=false;var ad="";var ai="";var aa="";if($(this).attr("tscHS:pause")==="1"){al=true}if($(this).attr("tscHS:jumpTime")!==undefined){ad=Number($(this).attr("tscHS:jumpTime"))/1000}if($(this).attr("tscHS:newWindow")!==undefined){ai=$(this).attr("tscHS:newWindow");ai=(ai==="0"||ai.toLowerCase()==="false")?false:true}if($(this).attr("xmpDM:location")!==undefined){aa=$(this).attr("xmpDM:location")}var ao=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscDM:file"));var an={id:ab,start:aj,end:af,pause:al,hasPaused:false,points:am,scaledPoints:am.concat([]),rotation:ah,file:ao,jumpTime:ad,jumpFile:ae,newWindow:ai,targetURL:aa,isActive:false};c.push(an)})}function L(al){var ad=-1;var ab=false;var aj;var ac;var aa;var ae;var ak;var ag=[];var Z;var af;var ai;TSC.quizModel.clearAllQuestions();$(al).find("*").filterNode("rdf:Description").each(function(){var an=$(this).attr("tscIQ:questionSetName");if(an){an=TSC.textSanitizer.htmlEncode(an);if(ab){TSC.quizModel.addQuestion(ad,aj,aa,ae,ag,Z);ab=false;ae=undefined;aa=undefined;ag=[];Z=undefined}var ao=($(this).attr("tscIQ:feedback")==="1");var am=Number($(this).attr("xmpDM:startTime"));ad=TSC.quizModel.addQuestionSet(an,am,ao)}else{ac=$(this).attr("tscIQ:type");if(ac){if(ab){TSC.quizModel.addQuestion(ad,aj,aa,ae,ag,Z);ab=false;ab=false;ae=undefined;aa=undefined;ag=[];Z=undefined}aa=$(this).attr("tscIQ:id");aj=ac;af=$(this).children();ae=TSC.textSanitizer.htmlEncode($(af[0]).text(),true);Z=TSC.textSanitizer.htmlEncode($(af[1]).text(),true);ab=true}else{ak=$(this).attr("tscIQ:orderId");if(ak){af=$(this).children();ai=$(af[0]).text();if(ai){ag.push(TSC.textSanitizer.htmlEncode(ai,true))}}}}});if(ab){TSC.quizModel.addQuestion(ad,aj,aa,ae,ag,Z)}var ah;$(al).find("*").filterNode("rdf:li").each(function(){ah=$(this).attr("xmpDM:name");if(ah){TSC.quizUiStrings.setUiString(ah,$(this).attr("xmpDM:value"))}})}function o(ae){var ad=[];$(ae).find("*").filterNode("rdf:Description").each(function(){var al=Number($(this).attr("xmpDM:startTime"))/1000;var ai=Number($(this).attr("xmpDM:duration"))/1000;var ak=$(this).attr("xmpDM:name");var ah=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscDM:file"));var aj={start:al,end:String(Number(al)+Number(ai)),text:ak,file:ah};ad.push(aj)});var aa=ad.length;if(aa<1){return}var ab=ad[0].start;var ag="";var Z=[];var af;for(var ac=0;ac<aa;ac++){if(ad[ac].start!==ab){af={start:ad[ac-1].start,end:ad[ac-1].end,text:ag,items:Z,file:ad[ac-1].file};b.push(af);ag="";Z=[]}ag+=ad[ac].text+" ";Z.push(ad[ac].text);ab=ad[ac].start}af={start:ad[ac-1].start,end:ad[ac-1].end,text:ag,items:Z,file:ad[ac-1].file};b.push(af)}function u(ae){var Z=[];$(ae).find("*").filterNode("rdf:Description").each(function(){var an=Number($(this).attr("xmpDM:startTime"))/1000;var ak=Number($(this).attr("xmpDM:duration"))/1000;var am=$(this).attr("xmpDM:name");var aj=TSC.playerConfiguration.getUnicodeSafeString($(this).attr("tscDM:file"));var al={start:an,end:String(Number(an)+Number(ak)),text:am,file:aj};Z.push(al)});var af=Z.length;if(af<1){return}var ad=Z[0].start;var ah=ad;var ag="";var ac=[];for(var ab=0;ab<af;ab++){if(Z[ab].start-ad>2.5){var ai={start:ah,end:Z[ab-1].end,text:ag,items:ac,file:Z[ab-1].file};ah=Z[ab].start;Z.push(ai);ag="";ac=[]}ag+=Z[ab].text+" ";ac.push(Z[ab].text);ad=Z[ab].start}var aa={start:ah,end:Z[af-1].end,text:ag,items:ac,file:Z[af-1].file};f.push(aa)}function R(){if(Q){s(d)}if(V){i(W)}if(k){L(x)}if(A){P(m)}if(U){o(h)}if(j){u(v)}e=true;if(D){D.call()}}function X(ab){var au=$(ab).find("*").eq(2);r=au.attr("dc:title");Y=au.attr("tscDM:originId");g=au.attr("tscDM:project");S=Number($(ab).find("*").eq(3).attr("xmpDM:value"));q=r;var ac;var ak=$(ab).find("*").length;var an;var av=0;for(ac=4;ac<ak;ac++){if($(ab).find("*").eq(ac)[0].nodeName==="xmpDM:Tracks"){an=$(ab).find("*").eq(ac).children();break}}var ag;var Z=$(an).find("*").length;for(var am=0;am<Z;am++){var aj=$(an).find("*").eq(am);ag=aj.attr("xmpDM:trackType");if(ag!==undefined){switch(ag.toLowerCase()){case"tableofcontents":w=($(aj)).attr("tscDM:tocCellLayout");if(TSC.playerConfiguration.getSwfBase()!=="."){B=TSC.playerConfiguration.getSwfBase()+TSC.playerConfiguration.getUnicodeSafeString(($(aj)).attr("tscDM:image"))}else{B=TSC.playerConfiguration.getUnicodeSafeString(($(aj)).attr("tscDM:image"))}Q=true;d=$(aj);am+=d.find("*").length;break;case"quiz":if(TSC.quizModel){k=true;var ae=($(aj)).attr("tscIQ:quizGuid");var al=($(aj)).attr("tscIQ:reportMethod");var aa=($(aj)).attr("tscIQ:requireUserId")==="1";var at=($(aj)).attr("tscIQ:authoredEmail");var aq=($(aj)).attr("tscIQ:clientId");var ap=($(aj)).attr("tscIQ:quizHash");TSC.quizModel.setProductionMetadata(g,r,Y);TSC.quizModel.setQuizTitle(r);TSC.quizModel.setQuizID(ae);TSC.quizModel.setReportMethod(al);TSC.quizModel.setRequireUserId(aa);TSC.quizModel.setAuthoredEmail(at);TSC.quizModel.setClientId(aq);TSC.quizModel.setQuizHash(ap);TSC.quizModel.setMediaDuration(S)}x=$(aj);am+=x.find("*").length;break;case"caption":var ai=($(aj)).attr("stFnt:fontFamily");if(ai){O=ai}var ar=($(aj)).attr("tscDM:fontSize");if(ar){l=Number(ar)}var ao=($(aj)).attr("tscDM:bgOpacity");if(ao){n=Number(ao)}V=true;W=$(aj);am+=W.find("*").length;break;case"hotspot":A=true;m=$(aj);am+=m.find("*").length;break;case"speechtext":j=true;v=$(aj);am+=v.find("*").length;break;case"screentext":U=true;h=$(aj);am+=h.find("*").length;break}}}ac+=av;var ad;var af;var ah=0;for(ac=ac;ac<ak;ac++){if($(ab).find("*").eq(ac)[0].nodeName==="tscDM:controller"){ad=$(ab).find("*").eq(ac).children();ah=$(ad).find("*").length;break}}$(ad).find("*").filterNode("rdf:li").each(function(){if($(this).attr("xmpDM:name")!=undefined){af=$(this).attr("xmpDM:value").toLowerCase();switch(($(this).attr("xmpDM:name")).toLowerCase()){case"autohide":var ax=af==="true"?true:false;TSC.playerConfiguration.setAutoHideControls(ax);break;case"autoplay":var az=af==="true"?true:false;if(!TSC.playerConfiguration.getAutoPlayMedia()){TSC.playerConfiguration.setAutoPlayMedia(az)}break;case"searchable":var ay=af==="true"?true:false;TSC.playerConfiguration.setIsSearchable(ay);break;case"captionsenabled":var aC=af==="true"?true:false;TSC.playerConfiguration.setCaptionsEnabled(aC);break;case"sidebarenabled":var aB=af==="true"?true:false;TSC.playerConfiguration.setSidebarEnabled(aB);break;case"unicodeenabled":var aw=af==="true"?true:false;TSC.playerConfiguration.setProcessUnicodeNames(aw);break;case"backgroundcolor":var aA=af;if(aA.indexOf("#")===-1){aA="#"+aA}TSC.playerConfiguration.setBackgroundColor(aA);break;case"sidebarlocation":var aD=(af==="right"||af==="r")?"right":"left";TSC.playerConfiguration.setSidebarLocation(aD);break;case"endaction":TSC.playerConfiguration.setEndActionType(af);break;case"endactionparam":TSC.playerConfiguration.setEndActionParam(af);break}}});setTimeout(R,500)}return{loadXMP:function(Z){if(Z){try{$.ajax({type:"GET",url:Z,isLocal:true,dataType:"xml",success:X,error:F})}catch(aa){}}},parseXMP:function(Z){X($.parseXML(Z))},xmpAvailable:function(){return e},getMediaDuration:function(){return S},getTocTitle:function(){return q},getTocImageSrc:function(){return B},getTocCellLayoutType:function(){return w},tocContainsThumbs:function(){return M},getTocThumbImageSrc:function(){return p},getTocItemArray:function(){return K},getHotspotItemArray:function(){return c},getCaptionItemArray:function(){return C},getCaptionFontFamily:function(){return O},getCaptionFontSize:function(){return l},getMinCaptionFontSize:function(){return t},getMaxCaptionFontSize:function(){return J},getCaptionBgOpacity:function(){return n},getCaptionTextColor:function(){return y},getCaptionBgColor:function(){return G},getCaptionBg:function(){return"rgba("+T.r+", "+T.g+", "+T.b+", "+n+")"},getSpeechTextItemArray:function(){return f},getScreenTextItemArray:function(){return b},hasTocItems:function(){return Q},hasCaptionItems:function(){return V},hasHotspotItems:function(){return A},hasQuiz:function(){return k},hasScreenTextItems:function(){return U},hasSpeechTextItems:function(){return j},getLocalErrorMessage:function(){return z},get404ErrorMessage:function(){return E},addEventListener:function(Z,aa){if(Z==="READY"){D=aa}else{if(Z==="ERROR"){a=aa}}},removeEventListener:function(Z,aa){if(Z==="READY"){D=undefined}else{if(Z==="ERROR"){a=undefined}}}}}());var TSC=TSC||{};var _gaq=_gaq||[];TSC.mediaPlayer=(function(){var w="1.0.25";var r="http://www.techsmith.com/redirect.asp?";var i="target=nuevoappdata&product=camtasia&lang=enu&ver=1.0.0&os=mac";var l="false";var d="";var m;var t=TSC.playerConfiguration;var q=TSC.mediaList;var g=TSC.playerView;var h=TSC.xmp;var a=false;function o(){if(TSC.mediaList.getMediaType()!==TSC.mediaType.WEBM&&swfobject.hasFlashPlayerVersion(t.getMinFlashPlayerVersion())){g.initFlashView(m)}else{g.displayMessagePanel(m,TSC.mediaList.getErrorMessage())}}function b(){A();if(TSC.deviceInfo.isLocal()){g.displayMessagePanel(m,TSC.xmp.getLocalErrorMessage())}else{g.displayMessagePanel(m,TSC.xmp.get404ErrorMessage())}}function e(){_gaq.push(["_setAccount",t.getGoogleAnalyticsID()]);if(t.getGAPageViewTracking()){_gaq.push(["_trackPageview",t.getMediaFileName()])}(function(){var C=document.createElement("script");C.type="text/javascript";C.async=true;C.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var B=document.getElementsByTagName("script")[0];B.parentNode.insertBefore(C,B)})()}function v(){if(TSC.deviceInfo.isNuevoApp()){var B=document.querySelector("meta[name=viewport]");if(B){B.setAttribute("content","width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;")}}}function n(){TSC.deviceInfo.lookAtDevice();v();if(!x()){s()}if(t.getGoogleAnalyticsID()&&!swfobject.hasFlashPlayerVersion(t.getMinFlashPlayerVersion())){e()}}function s(){q.addEventListener("READY",j);q.addEventListener("ERROR",o);q.init(t.getMediaSources())}function f(){if(TSC.deviceInfo.isNuevoApp()&&h.xmpAvailable()){var B=document.location;var D=h.getTocTitle();var C=h.getMediaDuration();document.location="nuevo://info?url="+B+"?title="+D+"?duration="+C}}function p(){if(!a){g.removeEventListener("VIDEO_START");$(document).trigger("techsmith.cloud.videofirstclickplay");a=true}}function j(){q.removeEventListener("READY",j);q.removeEventListener("ERROR",o);if(TSC.mediaList.getMediaType()===TSC.mediaType.WEBM){if(TSC.deviceInfo.isFirefox()||TSC.deviceInfo.isChrome()){k()}else{g.displayMessagePanel(m,"This browser does not support WebM video.")}}else{if(TSC.deviceInfo.isIPhoneOrIPod()){g.initSimpleHtml5View(m)}else{if(swfobject.hasFlashPlayerVersion(t.getMinFlashPlayerVersion())){g.initFlashView(m)}else{if(!TSC.deviceInfo.isFirefox()||(TSC.deviceInfo.isFirefox()&&(TSC.mediaList.isMediaTypeAvailable(TSC.mediaType.WEBM)||TSC.mediaList.isMediaTypeAvailable(TSC.mediaType.OGG)))){k()}else{g.displayMessagePanel(m,"This browser does not support the video format needed for playback.  Please install the Flash Player or use a different browser.")}}}}}function k(){if(t.getXMPSrc()){h.addEventListener("READY",A);h.addEventListener("ERROR",b);h.loadXMP(t.getXMPSrc())}else{A()}}function z(B){if(t.getIframeCommunicationsEnabled()){$(parent.document).trigger("techsmith.screencast.captionchanged",B)}}function A(){var B=false;var C=false;if(h.xmpAvailable()){h.removeEventListener("READY",A);h.removeEventListener("ERROR",b);if(h.hasTocItems()||((h.hasCaptionItems()||h.hasScreenTextItems()||h.hasSpeechTextItems())&&t.getIsSearchable())){B=true}if(h.hasCaptionItems()){if(t.getIframeCommunicationsEnabled()){$(parent.document).trigger("techsmith.screencast.hascaptions")}}if(h.hasQuiz()){if(TSC.deviceInfo.isLocal()&&TSC.quizModel.getReportMethod()!==TSC.reportType.NONE){C=true;TSC.quizModel.setReportMethod(TSC.reportType.NONE)}else{if(TSC.quizModel.getReportMethod()===TSC.reportType.SCORM&&TSC.quizModel.getTotalNumberOfGradedQuestionSets()===0){t.setReportScormComplete(true)}}}f()}g.addEventListener("VIDEO_START",p);g.addEventListener("CAPTION_CHANGE",z);g.initHtml5View(m,B);if(C){g.displayMessagePanel(m,TSC.quizUiStrings.getDisabledLocalQuizReporting())}}function c(B){var C=document.createElement("script");C.setAttribute("type","text/javascript");C.setAttribute("src",B);C.async=true;C.onload=function(){s()};if(typeof C!="undefined"){document.getElementsByTagName("head")[0].appendChild(C)}}function x(){if(y()){c(r+i);return true}return false}function u(){return(l==="true")}function y(){if(TSC.deviceInfo.isIPhoneOrIPod()&&TSC.deviceInfo.isRetinaDisplay()&&!TSC.deviceInfo.isNuevoApp()){return true}return false}return{init:function(B){m=B;n()},getVersion:function(){return w},keyValueDataCallback:function(B){l=B.isAppReady;d=B.appDownloadURL},isNuevoAppCapableAndAvailable:function(){return(y()&&u())},redirectToiPhoneAppDownload:function(){if(y()){window.open(d,"_parent")}},jsSeekTime:function(C){var B=$(TSC.playerView.getFlashId());if(B){B[0].jsSeekTime(C)}else{return}},redirectToiPhoneApp:function(){if(y()&&u()){var D=String(document.location);var B=t.getPosterImageSrc();var E=(new Date()).getTime();setTimeout(function(){var F=(new Date()).getTime();if((F-E)<1000){window.open(d,"_parent")}},300);var C="nuevo://import?url=";if(D.indexOf("?")!==-1){C+=D+"&posterImage="+B}else{C+=D+"?posterImage="+B}window.open(C,"_parent")}}}}());
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/swfobject.js b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/swfobject.js
new file mode 100644
index 0000000..b17981f
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/scripts/swfobject.js
@@ -0,0 +1,4 @@
+/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 

+	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 

+*/

+var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/player-min.css b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/player-min.css
new file mode 100644
index 0000000..ad5791b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/player-min.css
@@ -0,0 +1 @@
+@charset "utf-8";html{color:#000}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small}table{font-size:inherit;font:100%}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}h1{font-size:138.5%}h2{font-size:123.1%}h3{font-size:108%}h1,h2,h3{margin:1em 0}h1,h2,h3,h4,h5,h6,strong{font-weight:bold}abbr,acronym{border-bottom:1px dotted #000;cursor:help}em{font-style:italic}blockquote,ul,ol,dl{margin:1em}ol,ul,dl{margin-left:2em}ol li{list-style:decimal outside}ul li{list-style:disc outside}dl dd{margin-left:1em}th,td{border:0;padding:.5em}th{font-weight:bold;text-align:center}caption{margin-bottom:.5em;text-align:center}p,fieldset,table,pre{margin:0}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em}html,body{height:100%}html,body,form,fieldset,p,div,h1,h2,h3,h4,h5,h6{-webkit-text-size-adjust:none}body{margin:0;padding:0;overflow:hidden;background-color:#fff}object:focus{outline:0}#tscVideoContent{display:none;background-color:#000;overflow:hidden}#videoWrapper{float:left;overflow:hidden;display:none}#videoWrapper:-webkit-full-screen{width:100%;height:100%}#videoWrapper:-webkit-full-screen video{width:100%}#progress{cursor:pointer}#fsSearchAlert{margin:5px 0 5px 0;padding:10px 10px 10px 10px;color:#fff;font-size:12px;background-color:#ba8a29;background-image:-ms-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-moz-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-o-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ba8a29),color-stop(1,#a8502f));background-image:-webkit-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:linear-gradient(top,#ba8a29 0,#a8502f 100%);border:1px solid #800000;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5);text-shadow:1px 1px 0 rgba(0,0,0,.5)}#alertDialog{display:none;position:absolute;z-index:9999;padding:15px;color:#fff;font-size:20px;top:30px;left:25%;right:25%;background-color:#ba8a29;background-image:-ms-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-moz-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-o-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ba8a29),color-stop(1,#a8502f));background-image:-webkit-linear-gradient(top,#ba8a29 0,#a8502f 100%);background-image:linear-gradient(top,#ba8a29 0,#a8502f 100%);border-radius:14px;-moz-border-radius:14px;-webkit-border-radius:14px;border:1px solid #800000;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5);text-shadow:1px 1px 0 rgba(0,0,0,.5);cursor:pointer}#alertDialog span{display:block;max-height:200px;overflow-y:auto}#alertDialog h4{margin-top:14px;text-align:center;margin-left:auto;margin-right:auto;max-width:200px;background-color:#733817;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;-moz-box-shadow:0 0 5px rgba(0,0,0,.5);-webkit-box-shadow:0 0 5px rgba(0,0,0,.5)}#tsc_io_overlay{position:absolute;z-index:9950;top:0;left:0;background-color:#000;width:100%;height:100%;padding:0;margin:0;opacity:.7}#tsc_io_container{position:absolute;z-index:9951;text-align:center;width:100%;height:100%;padding:0;margin:0;margin-top:40%;color:#fff}#tsc_io_message{margin-left:auto;margin-right:auto;padding:8px;background-color:rgba(0,0,0,0.80);border-top-right-radius:12px;border-top-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;max-width:300px}#tsc_io_message span{display:block}#tsc_io_container img{border:0;margin:10px 10px 0 10px}.centeredImage{vertical-align:middle;text-align:center}#videoSidebarContent{color:White}#markers{display:none;position:absolute;top:0}#videoSidebar{left:-252px;top:0;z-index:9802;border-right:solid 1px #4c4c4c;border-left:solid 1px #4c4c4c;position:absolute;width:252px;opacity:1;background-color:Black;display:none}#videoSidebarHead{padding:6px 5px 4px 2px;width:245px;color:white;background:#4e4e4e;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRlNGU0ZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzRjNGM0YyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ODY4NjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#4e4e4e 0,#4c4c4c 50%,#686868 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#4e4e4e),color-stop(50%,#4c4c4c),color-stop(100%,#686868));background:-webkit-linear-gradient(top,#4e4e4e 0,#4c4c4c 50%,#686868 100%);background:-o-linear-gradient(top,#4e4e4e 0,#4c4c4c 50%,#686868 100%);background:-ms-linear-gradient(top,#4e4e4e 0,#4c4c4c 50%,#686868 100%);background:linear-gradient(top,#4e4e4e 0,#4c4c4c 50%,#686868 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4e4e4e',endColorstr='#686868',GradientType=0)}#tableOfContentsImage{max-width:190px;margin:0 auto;display:block}#videoSidebarContent ol{padding:0;list-style:none;margin:0}#videoSidebarContent li{list-style:none}#videoSidebarContent li:hover{background-color:#333;color:#fff;cursor:pointer}#videoSidebarContent li.noThumbImage{padding:10px 6px 10px 8px}#videoSidebarContent li.hasThumbImage{padding:4px 10px 4px 10px}.tocItemLabel{display:block;position:relative;margin-left:5px}.selectedTocItem{background-color:#5186a4}#videoSidebarPushpin{position:absolute;right:0;top:3px}#videoSidebarPushpin.disabled{opacity:.3}#play{cursor:pointer}#play span{display:block;font-size:0;line-height:0;cursor:pointer}#rewind{cursor:pointer}#previous{cursor:pointer}#next{cursor:pointer}#tocButton{display:none;cursor:pointer}#fullscreen_enter_button{cursor:pointer}#volume{cursor:pointer}#closedCaptionButton{display:none;cursor:pointer}#volume{cursor:pointer}#captions{display:none}#screenText{display:none}#speechText{display:none}#hotspotContainer{position:absolute;display:block;outline:0;z-index:9801}#hotspotContainerDebug{position:absolute;display:none;z-index:9800;top:0;left:0}.hotspot{height:40px;width:50px;margin-right:5px;text-align:center;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;background-color:#f00;position:absolute;opacity:.4;cursor:pointer}.hotspot.hide{display:none}#currentCaption{position:absolute;font-family:Arial,Helvetica,sans-serif;left:0;padding:5px 0;color:#fff;height:91px;line-height:1.4em}.captionHAlignLeft{text-align:left}.captionHAlignCenter{text-align:center}.captionHAlignRight{text-align:right}#currentCaption span{background-color:#000;opacity:.8;padding:2px}#currentCaption.hide{display:none;visibility:hidden}#videoSidebarContentWrapper{overflow:auto}#sidebarToggle{position:absolute;left:202px;top:0;width:30px;height:40px;background-color:#777;-webkit-border-radius:15px;-webkit-border-top-left-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius:0 15px 15px 0;border-radius:0 15px 15px 0;padding:40px 0 0 5px;opacity:.8;cursor:pointer}#sidebarToggle span{font-size:0;line-height:0;width:0;border-top:10px solid #777;border-bottom:10px solid #777}#sidebarToggle.hide span{border-right:20px solid #FFF}#sidebarToggle.show span{border-left:20px solid #FFF}#videoClickToPlay,#videoClickToReplay{cursor:pointer;background-position:center center;background-repeat:no-repeat;background-size:100%;display:none}#searchArea{width:222px;background:#fff;border:1px solid #ccc;-webkit-border-radius:12px;-moz-border-radius:12px;padding:2px 2px 2px 22px;margin-top:4px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAARJJREFUeNqkkr1KA1EQhb8YSZsXsE8lCIKV4DZWe57AShB8AMFCXJDAijYJpLKyzRMMWFlYWQmCrY1CMFXQNhCuzQjL5e6SxYFhuIe5Z37OdEII/Mc2Y0DSAXAG7Dr0AozN7ClF0Kl2IOkSKGuKXZjZbQxuRJWHwBIogC33wrFS0n7TCCXQBYqo0rWkFXDjOVmyA2Db432i/T9sp3aENa3bRPDm8STx8djja9MOCuARGEpaAlPHj3z2leekO3Cdr4AeMAK+3EeOfQOfjXdQkfM8OqQZcAq8A5mZzWoJUiapD3wAfd9VZmaLtVUwsx/griL3g6ReWxknfpEAe8BhKwIzmzsJvotnAEIIrTzP80H1/TsA4zaAG1MIKQMAAAAASUVORK5CYII=);background-repeat:no-repeat;background-position:3px center}#searchBox{font-size:18px;width:188px;border:0;background:0}#clearSearchButton{display:block;float:right;height:20px;width:28px;margin-right:2px;margin-top:0;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:center;cursor:pointer}.foundSearchText{color:#40c6e2}#volume_slider_container{display:none;position:absolute;z-index:9804}.appplayer{position:relative;border-radius:5px;background-size:cover;z-index:1}.posterFade{background:rgba(0,0,0,0.6);border-radius:5px;height:100%}.appplayer .content{text-align:center;z-index:2}.appplayer h2{color:#fff;font-weight:bold;margin:50px 0 10px 0;text-shadow:0 0 2px #000;filter:dropshadow(color=#000000,offx=0,offy=0);z-index:2}.appNuevoPlayBtn{display:block;width:73px;height:73px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAAACSCAYAAACue5OOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMjY1RDhDQThGQjkxMUUxOUQzNURCRDFCMTI2OUE4RCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMjY1RDhDOThGQjkxMUUxOUQzNURCRDFCMTI2OUE4RCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIi8+IDwvcmRmOkRlc2NyaXB0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) no-repeat;background-size:contain;cursor:pointer;margin:10px auto;z-index:2}.appstoreBtn{display:block;width:91px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALYAAAA8CAYAAADL20C6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMjY1RDhDRThGQjkxMUUxOUQzNURCRDFCMTI2OUE4RCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMjY1RDhDRDhGQjkxMUUxOUQzNURCRDFCMTI2OUE4RCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIi8+IDwvcmRmOkRlc2NyaXB0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) no-repeat;background-size:contain;margin:auto;z-index:2}.appNativePlayBtn{position:absolute;left:25%;bottom:8px;display:block;width:50%;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAABMCAYAAACGarn4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOUU0OEZENkUxNjA2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0RDNUY2OThGQkMxMUUxOTcxRkZGOENCM0IyRkJDNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0RDNUY2ODhGQkMxMUUxOTcxRkZGOENCM0IyRkJDNyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE5MTA5RTQ4RkQ2RTE2MDYwIi8+IDwvcmRmOkRlc2NyaXB0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) center no-repeat;background-size:129px 38px;color:#fff;cursor:pointer;text-shadow:0 -1px 0 #000;filter:dropshadow(color=#000000,offx=0,offy=-1);font-size:.8em;font-weight:bold;text-align:center;margin:0 auto;padding-top:8px;z-index:4}.appNativePlayBtnText{font-size:.9em;font-weight:bold;text-align:center;padding-top:2px}.topBrdr,.btmBrdr{height:8px;width:100%}.topBrdr{border-radius:5px 5px 0 0;border-top:1px solid #ccc}.btmBrdr{position:absolute;bottom:0;left:0;z-index:3;border-radius:0 0 5px 5px;border-top:1px solid #888;border-bottom:1px solid #000}.topBrdrInner,.btmBrdrInner{width:100%;height:7px}.topBrdrInner{padding-bottom:1px;border-radius:4px 4px 0 0;background:-webkit-linear-gradient(top,rgba(116,115,115,1) 0,rgba(54,54,54,1) 100%);background:linear-gradient(top,rgba(116,115,115,1) 0,rgba(54,54,54,1) 100%)}.btmBrdrInner{position:absolute;bottom:0;left:0;z-index:3;padding-top:1px;border-radius:0 0 4px 4px;background:-webkit-linear-gradient(top,#474747 0,#333 100%);background:linear-gradient(top,#474747 0,#333 100%)}.spritesheet{display:inline-block;overflow:hidden;background-repeat:no-repeat;background-image:url(spritesheet.png)}.sprite_repeat{background-repeat:repeat-x!important}.rewind_button_normal{width:43px;height:43px;background-position:-192px -226px}.rewind_button_over{width:43px;height:43px;background-position:-240px -226px}.rewind_button_down{width:43px;height:43px;background-position:-144px -288px}.rewind_button_disabled{width:43px;height:43px;background-position:-192px -226px}.play_button_normal{width:43px;height:43px;background-position:-144px -0px}.play_button_over{width:43px;height:43px;background-position:-144px -48px}.play_button_down{width:43px;height:43px;background-position:-96px -288px}.play_button_disabled{width:43px;height:43px;background-position:-144px -0px}.pause_button_normal{width:43px;height:43px;background-position:-96px -192px}.pause_button_over{width:43px;height:43px;background-position:-96px -240px}.pause_button_down{width:43px;height:43px;background-position:-96px -144px}.pause_button_disabled{width:43px;height:43px;background-position:-96px -192px}.previous_button_normal{width:43px;height:43px;background-position:-144px -192px}.previous_button_over{width:43px;height:43px;background-position:-144px -240px}.previous_button_down{width:43px;height:43px;background-position:-144px -144px}.previous_button_disabled{width:43px;height:43px;background-position:-144px -96px}.next_button_normal{width:43px;height:43px;background-position:-96px -48px}.next_button_over{width:43px;height:43px;background-position:-96px -96px}.next_button_down{width:43px;height:43px;background-position:-96px -0px}.next_button_disabled{width:43px;height:43px;background-position:-48px -288px}.closed_caption_button_normal{width:43px;height:43px;background-position:-0px -48px}.closed_caption_button_over{width:43px;height:43px;background-position:-0px -96px}.closed_caption_button_down{width:43px;height:43px;background-position:-0px -0px}.closed_caption_button_disabled{width:43px;height:43px;background-position:-0px -48px}.closed_caption_off_button_normal{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_over{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_down{width:43px;height:43px;background-position:-0px -144px}.closed_caption_off_button_disabled{width:43px;height:43px;background-position:-0px -144px}.toc_button_normal{width:43px;height:43px;background-position:-353px -0px}.toc_button_over{width:43px;height:43px;background-position:-401px -0px}.toc_button_down{width:43px;height:43px;background-position:-305px -0px}.toc_button_disabled{width:43px;height:43px;background-position:-353px -0px}.toc_off_button_normal{width:43px;height:43px;background-position:-449px -0px}.toc_off_button_over{width:43px;height:43px;background-position:-449px -0px}.toc_off_button_down{width:43px;height:43px;background-position:-449px -0px}.toc_off_button_disabled{width:43px;height:43px;background-position:-449px -0px}.fullscreen_enter_button_normal{width:43px;height:43px;background-position:-48px -48px}.fullscreen_enter_button_over{width:43px;height:43px;background-position:-48px -96px}.fullscreen_enter_button_down{width:43px;height:43px;background-position:-48px -0px}.fullscreen_enter_button_disabled{width:43px;height:43px;background-position:-48px -48px}.fullscreen_leave_button_normal{width:43px;height:43px;background-position:-48px -192px}.fullscreen_leave_button_over{width:43px;height:43px;background-position:-48px -240px}.fullscreen_leave_button_down{width:43px;height:43px;background-position:-48px -144px}.fullscreen_leave_button_disabled{width:43px;height:43px;background-position:-48px -192px}.fullframe_enter_button_normal{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_over{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_down{width:43px;height:43px;background-position:-0px -240px}.fullframe_enter_button_disabled{width:43px;height:43px;background-position:-0px -240px}.fullframe_leave_button_normal{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_over{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_down{width:43px;height:43px;background-position:-0px -288px}.fullframe_leave_button_disabled{width:43px;height:43px;background-position:-0px -288px}.play_button_overlay_normal{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_over{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_down{width:108px;height:108px;background-position:-192px -0px}.play_button_overlay_disabled{width:108px;height:108px;background-position:-192px -0px}.replay_button_overlay_normal{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_over{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_down{width:108px;height:108px;background-position:-192px -113px}.replay_button_overlay_disabled{width:108px;height:108px;background-position:-192px -113px}.scrubbar_scrubber_normal{width:10px;height:43px;background-position:-21px -192px}.scrubbar_scrubber_over{width:10px;height:43px;background-position:-21px -192px}.scrubbar_scrubber_down{width:10px;height:43px;background-position:-21px -192px}.scrubbar_scrubber_disabled{width:10px;height:43px;background-position:-21px -192px}.unmute_button_normal{width:43px;height:43px;background-position:-545px -0px}.unmute_button_over{width:43px;height:43px;background-position:-305px -48px}.unmute_button_down{width:43px;height:43px;background-position:-497px -0px}.unmute_button_disabled{width:43px;height:43px;background-position:-545px -0px}.volume_button_normal{width:43px;height:43px;background-position:-389px -96px}.volume_button_over{width:43px;height:43px;background-position:-437px -96px}.volume_button_down{width:43px;height:43px;background-position:-353px -48px}.volume_button_disabled{width:43px;height:43px;background-position:-389px -96px}.volume_button_low_normal{width:43px;height:43px;background-position:-341px -96px}.volume_button_low_over{width:43px;height:43px;background-position:-341px -144px}.volume_button_low_down{width:43px;height:43px;background-position:-545px -48px}.volume_button_low_disabled{width:43px;height:43px;background-position:-341px -96px}.volume_button_med_normal{width:43px;height:43px;background-position:-341px -240px}.volume_button_med_over{width:43px;height:43px;background-position:-341px -288px}.volume_button_med_down{width:43px;height:43px;background-position:-341px -192px}.volume_button_med_disabled{width:43px;height:43px;background-position:-341px -240px}.volume_button_high_normal{width:43px;height:43px;background-position:-449px -48px}.volume_button_high_over{width:43px;height:43px;background-position:-497px -48px}.volume_button_high_down{width:43px;height:43px;background-position:-401px -48px}.volume_button_high_disabled{width:43px;height:43px;background-position:-449px -48px}.volumebar_slider_normal{width:13px;height:9px;background-position:-0px -336px}.volumebar_slider_over{width:13px;height:9px;background-position:-0px -336px}.volumebar_slider_down{width:13px;height:9px;background-position:-0px -336px}.volumebar_slider_disabled{width:13px;height:9px;background-position:-0px -336px}.scrubbar_loaded_track_end{width:2px;height:43px;background-position:-14px -192px}.scrubbar_track_left{width:1px;height:43px;background-position:-36px -192px}.scrubbar_track_right{width:1px;height:43px;background-position:-42px -192px}.scrubbar_track{width:2px;height:43px;background-position:-0px -479px}.scrubbar_loaded_track{width:2px;height:43px;background-position:-0px -393px}.scrubbar_played_track{width:2px;height:43px;background-position:-0px -436px}.seperator{width:1px;height:43px;background-position:-288px -226px}.volumebar_track{width:5px;height:2px;background-position:-18px -336px}.volumebar_track_end{width:5px;height:2px;background-position:-18px -343px}.volumebar_backdrop{width:31px;height:97px;background-position:-305px -96px}.control_backdrop_left{width:2px;height:43px;background-position:-0px -192px}.control_backdrop_right{width:2px;height:43px;background-position:-7px -192px}.toc_title_backdrop{width:8px;height:18px;background-position:-0px -522px}.control_backdrop{width:2px;height:43px;background-position:-0px -350px}#controls{position:absolute;margin:0;padding:0;z-index:9803;color:#fff;height:43px;bottom:0;opacity:1.0}.bitmap_control{float:left;margin-right:0}.bitmap_control:last-child{margin-right:0}.bitmap_control:first-child{margin-left:0}.quizMarker{width:3px;color:rgba(255,255,255,0.5);display:none}#play.play span{width:0;height:0;margin:8px 0 0 18px;border-top:15px solid #777;border-left:24px solid #fff;border-bottom:15px solid #777}#play.pause span{width:3px;height:30px;margin:8px auto 0;border-top:0;border-left:8px solid #fff;border-bottom:0;border-right:8px solid #fff}#progress{width:190px}#progress #progress_box{float:left;width:100px;height:43px}#progress #progress_scrubbar_track{display:block;width:auto;height:43px}#progress #progress_scrubbar_track_left{display:block;float:left;height:43px}#progress #progress_scrubbar_track_right{display:block;float:right;margin-top:-43px;height:43px}#progress #play_progress{display:block;width:0;height:43px}#progress #load_progress{display:block;width:0;height:43px}#progress #play_time{cursor:default;color:#fff;float:left;margin:14px 0 0 15px;font-size:15px;line-height:1;font-weight:normal;font-family:Helvetica,Arial,sans-serif;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}#volume_slider_container{bottom:39px}#volume_slider_vertical{display:block;margin-left:10px;margin-top:14px;height:65px;width:10px}#volume input{margin-top:20px;margin-left:5px;width:40px}#volume span{display:block;margin:12px 0 0 5px}#volume ul{display:block;margin:0;padding:0;list-style:none}#volume ul li{float:left;margin:0;padding:0;list-style:none;width:5px;margin-right:2px;height:0;border-bottom:18px solid #555;cursor:pointer}#volume ul li:nth-child(1){border-bottom-width:2px;height:16px}#volume ul li:nth-child(2){border-bottom-width:4px;height:14px}#volume ul li:nth-child(3){border-bottom-width:7px;height:11px}#volume ul li:nth-child(4){border-bottom-width:10px;height:8px}#volume ul li:nth-child(5){border-bottom-width:14px;height:4px}.ui-state-default{background-image:url(spritesheet.png);width:13px;height:9px;background-position:-0px -336px;outline:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:.8em}.ui-slider .ui-slider-range{position:absolute;z-index:1;display:block;background-position:0 0}.ui-slider-vertical{width:.6em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.2em;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/spritesheet.png b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/spritesheet.png
new file mode 100644
index 0000000..2bed3f3
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/cdo/cdo/skins/overlay/spritesheet.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/demos/smartea/Intent_AppliedOnEnterpriseArchitecture.mp4 b/pages/transcripts/2012_EclipseConEurope/demos/smartea/Intent_AppliedOnEnterpriseArchitecture.mp4
new file mode 100644
index 0000000..69f0d44
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/demos/smartea/Intent_AppliedOnEnterpriseArchitecture.mp4
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/Architecture_repository.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/Architecture_repository.png
new file mode 100644
index 0000000..916c8a0
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/Architecture_repository.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo.png
new file mode 100644
index 0000000..831939e
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo_cropped.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo_cropped.png
new file mode 100644
index 0000000..8710e84
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/Image-Intent_logo_cropped.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b01.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b01.png
new file mode 100644
index 0000000..679ec7b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b01.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b02.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b02.png
new file mode 100644
index 0000000..9ad76a1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b02.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b03.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b03.png
new file mode 100644
index 0000000..40af5e1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of-b03.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of.png
new file mode 100644
index 0000000..7f10da4
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of01.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of01.png
new file mode 100644
index 0000000..e1b81fb
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of01.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of02.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of02.png
new file mode 100644
index 0000000..f8acd66
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of02.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of03.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of03.png
new file mode 100644
index 0000000..ed40e00
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of03.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of_v2.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of_v2.png
new file mode 100644
index 0000000..db66be4
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/instead_of_v2.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/togaf.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/togaf.png
new file mode 100644
index 0000000..911913d
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/SmartEA/togaf.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne.png
new file mode 100644
index 0000000..078ee82
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_bg.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_bg.png
new file mode 100644
index 0000000..d125b4b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_bg.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_white.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_white.png
new file mode 100644
index 0000000..c546deb
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/ariadne_white.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/book.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/book.jpg
new file mode 100644
index 0000000..f9e7c9a
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/book.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo.jpg
new file mode 100644
index 0000000..43e93b1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo_screenshot.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo_screenshot.png
new file mode 100644
index 0000000..b3e4f76
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/cdo_screenshot.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/communiquer-formes.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/communiquer-formes.jpg
new file mode 100644
index 0000000..2b1020d
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/communiquer-formes.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.jpg
new file mode 100644
index 0000000..cd5eff1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.png
new file mode 100644
index 0000000..e68af3b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_monster.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_shredded.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_shredded.jpg
new file mode 100644
index 0000000..0ecf2d5
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_shredded.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_trotoir.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_trotoir.jpg
new file mode 100644
index 0000000..8ed380b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_trotoir.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted.jpg
new file mode 100644
index 0000000..c4eddb7
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted2.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted2.jpg
new file mode 100644
index 0000000..35ede42
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/doc_wasted2.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm.jpg
new file mode 100644
index 0000000..d28abae
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm_car.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm_car.jpg
new file mode 100644
index 0000000..49f06b1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/rtfm_car.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/wasted_paper.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/wasted_paper.jpg
new file mode 100644
index 0000000..729da3a
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/doc/wasted_paper.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/egg-incubation.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/egg-incubation.png
new file mode 100644
index 0000000..861c981
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/egg-incubation.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/europe2012_logo.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/europe2012_logo.jpg
new file mode 100644
index 0000000..5b96761
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/europe2012_logo.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/feedback.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/feedback.png
new file mode 100644
index 0000000..7ab4831
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/feedback.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/inAction.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/inAction.jpg
new file mode 100644
index 0000000..db35345
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/inAction.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc.png
new file mode 100644
index 0000000..d40054d
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc2.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc2.png
new file mode 100644
index 0000000..3de57b7
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc2.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2.png
new file mode 100644
index 0000000..75a00f1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2a.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2a.png
new file mode 100644
index 0000000..03f9d0f
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step2a.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step3.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step3.png
new file mode 100644
index 0000000..4cce0fe
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step3.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step4.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step4.png
new file mode 100644
index 0000000..1becc96
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step4.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5.png
new file mode 100644
index 0000000..3217071
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5b.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5b.png
new file mode 100644
index 0000000..8066613
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step5b.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step6.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step6.png
new file mode 100644
index 0000000..9d9bfad
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/linked_doc_step6.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/maintenance.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/maintenance.jpg
new file mode 100644
index 0000000..1753372
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/maintenance.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/maze.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/maze.png
new file mode 100644
index 0000000..4c3f9cb
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/maze.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/part2.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/part2.jpg
new file mode 100644
index 0000000..b76ad60
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/part2.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/perdu.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/perdu.jpg
new file mode 100644
index 0000000..6e68786
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/perdu.jpg
Binary files differ
diff --git "a/pages/transcripts/2012_EclipseConEurope/images/Intent/plus compliqu\303\251 que pr\303\251vu.jpg" "b/pages/transcripts/2012_EclipseConEurope/images/Intent/plus compliqu\303\251 que pr\303\251vu.jpg"
new file mode 100644
index 0000000..34528aa
--- /dev/null
+++ "b/pages/transcripts/2012_EclipseConEurope/images/Intent/plus compliqu\303\251 que pr\303\251vu.jpg"
Binary files differ
diff --git "a/pages/transcripts/2012_EclipseConEurope/images/Intent/productivit\303\251 - pichet.jpg" "b/pages/transcripts/2012_EclipseConEurope/images/Intent/productivit\303\251 - pichet.jpg"
new file mode 100644
index 0000000..af995cb
--- /dev/null
+++ "b/pages/transcripts/2012_EclipseConEurope/images/Intent/productivit\303\251 - pichet.jpg"
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/rtfm.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/rtfm.jpg
new file mode 100644
index 0000000..aac2c33
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/rtfm.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/share1.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/share1.jpg
new file mode 100644
index 0000000..42d3752
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/share1.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/share2.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/share2.jpg
new file mode 100644
index 0000000..69ae4dc
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/share2.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/short_sight.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/short_sight.jpg
new file mode 100644
index 0000000..9fb0ed8
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/short_sight.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/smartEA.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/smartEA.png
new file mode 100644
index 0000000..b3adfbb
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/smartEA.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/smartea_screenshot.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/smartea_screenshot.png
new file mode 100644
index 0000000..67840a4
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/smartea_screenshot.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge.jpg
new file mode 100644
index 0000000..1354263
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge2.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge2.png
new file mode 100644
index 0000000..f8af4a8
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/stonehedge2.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/sync01.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/sync01.png
new file mode 100644
index 0000000..5887205
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/sync01.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/sync02.png b/pages/transcripts/2012_EclipseConEurope/images/Intent/sync02.png
new file mode 100644
index 0000000..a6024cf
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/sync02.png
Binary files differ
diff --git "a/pages/transcripts/2012_EclipseConEurope/images/Intent/th\303\251.jpg" "b/pages/transcripts/2012_EclipseConEurope/images/Intent/th\303\251.jpg"
new file mode 100644
index 0000000..84dc665
--- /dev/null
+++ "b/pages/transcripts/2012_EclipseConEurope/images/Intent/th\303\251.jpg"
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/Intent/uncle-sam.jpg b/pages/transcripts/2012_EclipseConEurope/images/Intent/uncle-sam.jpg
new file mode 100644
index 0000000..067770e
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/Intent/uncle-sam.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/contact/twitter.jpg b/pages/transcripts/2012_EclipseConEurope/images/contact/twitter.jpg
new file mode 100644
index 0000000..2a0e188
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/contact/twitter.jpg
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/images/contact/website.png b/pages/transcripts/2012_EclipseConEurope/images/contact/website.png
new file mode 100644
index 0000000..10d2ed4
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/images/contact/website.png
Binary files differ
diff --git a/pages/transcripts/2012_EclipseConEurope/js/hammer.js b/pages/transcripts/2012_EclipseConEurope/js/hammer.js
new file mode 100644
index 0000000..2911034
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/hammer.js
@@ -0,0 +1,586 @@
+/*

+ * Hammer.JS

+ * version 0.4

+ * author: Eight Media

+ * https://github.com/EightMedia/hammer.js

+ */

+function Hammer(element, options, undefined)

+{

+    var self = this;

+

+    var defaults = {

+        // prevent the default event or not... might be buggy when false

+        prevent_default    : false,

+        css_hacks          : true,

+

+        drag               : true,

+        drag_vertical      : true,

+        drag_horizontal    : true,

+        // minimum distance before the drag event starts

+        drag_min_distance  : 20, // pixels

+

+        // pinch zoom and rotation

+        transform          : true,

+        scale_treshold     : 0.1,

+        rotation_treshold  : 15, // degrees

+

+        tap                : true,

+        tap_double         : true,

+        tap_max_interval   : 300,

+        tap_double_distance: 20,

+

+        hold               : true,

+        hold_timeout       : 500

+    };

+    options = mergeObject(defaults, options);

+

+    // some css hacks

+    (function() {

+        if(!options.css_hacks) {

+            return false;

+        }

+

+        var vendors = ['webkit','moz','ms','o',''];

+        var css_props = {

+            "userSelect": "none",

+            "touchCallout": "none",

+            "userDrag": "none",

+            "tapHighlightColor": "rgba(0,0,0,0)"

+        };

+

+        var prop = '';

+        for(var i = 0; i < vendors.length; i++) {

+            for(var p in css_props) {

+                prop = p;

+                if(vendors[i]) {

+                    prop = vendors[i] + prop.substring(0, 1).toUpperCase() + prop.substring(1);

+                }

+                element.style[ prop ] = css_props[p];

+            }

+        }

+    })();

+

+    // holds the distance that has been moved

+    var _distance = 0;

+

+    // holds the exact angle that has been moved

+    var _angle = 0;

+

+    // holds the diraction that has been moved

+    var _direction = 0;

+

+    // holds position movement for sliding

+    var _pos = { };

+

+    // how many fingers are on the screen

+    var _fingers = 0;

+

+    var _first = false;

+

+    var _gesture = null;

+    var _prev_gesture = null;

+

+    var _touch_start_time = null;

+    var _prev_tap_pos = {x: 0, y: 0};

+    var _prev_tap_end_time = null;

+

+    var _hold_timer = null;

+

+    var _offset = {};

+

+    // keep track of the mouse status

+    var _mousedown = false;

+

+    var _event_start;

+    var _event_move;

+    var _event_end;

+

+

+    /**

+     * angle to direction define

+     * @param  float    angle

+     * @return string   direction

+     */

+    this.getDirectionFromAngle = function( angle )

+    {

+        var directions = {

+            down: angle >= 45 && angle < 135, //90

+            left: angle >= 135 || angle <= -135, //180

+            up: angle < -45 && angle > -135, //270

+            right: angle >= -45 && angle <= 45 //0

+        };

+

+        var direction, key;

+        for(key in directions){

+            if(directions[key]){

+                direction = key;

+                break;

+            }

+        }

+        return direction;

+    };

+

+

+    /**

+     * count the number of fingers in the event

+     * when no fingers are detected, one finger is returned (mouse pointer)

+     * @param  event

+     * @return int  fingers

+     */

+    function countFingers( event )

+    {

+        // there is a bug on android (until v4?) that touches is always 1,

+        // so no multitouch is supported, e.g. no, zoom and rotation...

+        return event.touches ? event.touches.length : 1;

+    }

+

+

+    /**

+     * get the x and y positions from the event object

+     * @param  event

+     * @return array  [{ x: int, y: int }]

+     */

+    function getXYfromEvent( event )

+    {

+        event = event || window.event;

+

+        // no touches, use the event pageX and pageY

+        if(!event.touches) {

+            var doc = document,

+                body = doc.body;

+

+            return [{

+                x: event.pageX || event.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && doc.clientLeft || 0 ),

+                y: event.pageY || event.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && doc.clientTop || 0 )

+            }];

+        }

+        // multitouch, return array with positions

+        else {

+            var pos = [], src;

+            for(var t=0, len=event.touches.length; t<len; t++) {

+                src = event.touches[t];

+                pos.push({ x: src.pageX, y: src.pageY });

+            }

+            return pos;

+        }

+    }

+

+

+    /**

+     * calculate the angle between two points

+     * @param object pos1 { x: int, y: int }

+     * @param object pos2 { x: int, y: int }

+     */

+    function getAngle( pos1, pos2 )

+    {

+        return Math.atan2(pos2.y - pos1.y, pos2.x - pos1.x) * 180 / Math.PI;

+    }

+

+    /**

+     * trigger an event/callback by name with params

+     * @param string name

+     * @param array  params

+     */

+    function triggerEvent( eventName, params )

+    {

+        // return touches object

+        params.touches = getXYfromEvent(params.originalEvent);

+        params.type = eventName;

+

+        // trigger callback

+        if(isFunction(self["on"+ eventName])) {

+            self["on"+ eventName].call(self, params);

+        }

+    }

+

+

+    /**

+     * cancel event

+     * @param   object  event

+     * @return  void

+     */

+

+    function cancelEvent(event){

+        event = event || window.event;

+        if(event.preventDefault){

+            event.preventDefault();

+        }else{

+            event.returnValue = false;

+            event.cancelBubble = true;

+        }

+    }

+

+

+    /**

+     * reset the internal vars to the start values

+     */

+    function reset()

+    {

+        _pos = {};

+        _first = false;

+        _fingers = 0;

+        _distance = 0;

+        _angle = 0;

+        _gesture = null;

+    }

+

+

+    var gestures = {

+        // hold gesture

+        // fired on touchstart

+        hold : function(event)

+        {

+            // only when one finger is on the screen

+            if(options.hold) {

+                _gesture = 'hold';

+                clearTimeout(_hold_timer);

+

+                _hold_timer = setTimeout(function() {

+                    if(_gesture == 'hold') {

+                        triggerEvent("hold", {

+                            originalEvent   : event,

+                            position        : _pos.start

+                        });

+                    }

+                }, options.hold_timeout);

+            }

+        },

+

+

+        // drag gesture

+        // fired on mousemove

+        drag : function(event)

+        {

+            // get the distance we moved

+            var _distance_x = _pos.move[0].x - _pos.start[0].x;

+            var _distance_y = _pos.move[0].y - _pos.start[0].y;

+            _distance = Math.sqrt(_distance_x * _distance_x + _distance_y * _distance_y);

+

+            // drag

+            // minimal movement required

+            if(options.drag && (_distance > options.drag_min_distance) || _gesture == 'drag') {

+                // calculate the angle

+                _angle = getAngle(_pos.start[0], _pos.move[0]);

+                _direction = self.getDirectionFromAngle(_angle);

+

+                // check the movement and stop if we go in the wrong direction

+                var is_vertical = (_direction == 'up' || _direction == 'down');

+                if(((is_vertical && !options.drag_vertical) || (!is_vertical && !options.drag_horizontal))

+                    && (_distance > options.drag_min_distance)) {

+                    return;

+                }

+

+                _gesture = 'drag';

+

+                var position = { x: _pos.move[0].x - _offset.left,

+                    y: _pos.move[0].y - _offset.top };

+

+                var event_obj = {

+                    originalEvent   : event,

+                    position        : position,

+                    direction       : _direction,

+                    distance        : _distance,

+                    distanceX       : _distance_x,

+                    distanceY       : _distance_y,

+                    angle           : _angle

+                };

+

+                // on the first time trigger the start event

+                if(_first) {

+                    triggerEvent("dragstart", event_obj);

+

+                    _first = false;

+                }

+

+                // normal slide event

+                triggerEvent("drag", event_obj);

+

+                cancelEvent(event);

+            }

+        },

+

+

+        // transform gesture

+        // fired on touchmove

+        transform : function(event)

+        {

+            if(options.transform) {

+                var scale = event.scale || 1;

+                var rotation = event.rotation || 0;

+

+                if(countFingers(event) != 2) {

+                    return false;

+                }

+

+                if(_gesture != 'drag' &&

+                    (_gesture == 'transform' || Math.abs(1-scale) > options.scale_treshold

+                        || Math.abs(rotation) > options.rotation_treshold)) {

+                    _gesture = 'transform';

+

+                    _pos.center = {  x: ((_pos.move[0].x + _pos.move[1].x) / 2) - _offset.left,

+                        y: ((_pos.move[0].y + _pos.move[1].y) / 2) - _offset.top };

+

+                    var event_obj = {

+                        originalEvent   : event,

+                        position        : _pos.center,

+                        scale           : scale,

+                        rotation        : rotation

+                    };

+

+                    // on the first time trigger the start event

+                    if(_first) {

+                        triggerEvent("transformstart", event_obj);

+                        _first = false;

+                    }

+

+                    triggerEvent("transform", event_obj);

+

+                    cancelEvent(event);

+

+                    return true;

+                }

+            }

+

+            return false;

+        },

+

+

+        // tap and double tap gesture

+        // fired on touchend

+        tap : function(event)

+        {

+            // compare the kind of gesture by time

+            var now = new Date().getTime();

+            var touch_time = now - _touch_start_time;

+

+            // dont fire when hold is fired

+            if(options.hold && !(options.hold && options.hold_timeout > touch_time)) {

+                return;

+            }

+

+            // when previous event was tap and the tap was max_interval ms ago

+            var is_double_tap = (function(){

+                if (_prev_tap_pos && options.tap_double && _prev_gesture == 'tap' && (_touch_start_time - _prev_tap_end_time) < options.tap_max_interval) {

+                    var x_distance = Math.abs(_prev_tap_pos[0].x - _pos.start[0].x);

+                    var y_distance = Math.abs(_prev_tap_pos[0].y - _pos.start[0].y);

+                    return (_prev_tap_pos && _pos.start && Math.max(x_distance, y_distance) < options.tap_double_distance);

+

+                }

+                return false;

+            })();

+

+            if(is_double_tap) {

+                _gesture = 'double_tap';

+                _prev_tap_end_time = null;

+

+                triggerEvent("doubletap", {

+                    originalEvent   : event,

+                    position        : _pos.start

+                });

+                cancelEvent(event);

+            }

+

+            // single tap is single touch

+            else {

+                _gesture = 'tap';

+                _prev_tap_end_time = now;

+                _prev_tap_pos = _pos.start;

+

+                if(options.tap) {

+                    triggerEvent("tap", {

+                        originalEvent   : event,

+                        position        : _pos.start

+                    });

+                    cancelEvent(event);

+                }

+            }

+

+        }

+

+    };

+

+

+    function handleEvents(event)

+    {

+        switch(event.type)

+        {

+            case 'mousedown':

+            case 'touchstart':

+                _pos.start = getXYfromEvent(event);

+                _touch_start_time = new Date().getTime();

+                _fingers = countFingers(event);

+                _first = true;

+                _event_start = event;

+

+                // borrowed from jquery offset https://github.com/jquery/jquery/blob/master/src/offset.js

+                var box = element.getBoundingClientRect();

+                var clientTop  = element.clientTop  || document.body.clientTop  || 0;

+                var clientLeft = element.clientLeft || document.body.clientLeft || 0;

+                var scrollTop  = window.pageYOffset || element.scrollTop  || document.body.scrollTop;

+                var scrollLeft = window.pageXOffset || element.scrollLeft || document.body.scrollLeft;

+

+                _offset = {

+                    top: box.top + scrollTop - clientTop,

+                    left: box.left + scrollLeft - clientLeft

+                };

+

+                _mousedown = true;

+

+                // hold gesture

+                gestures.hold(event);

+

+                if(options.prevent_default) {

+                    cancelEvent(event);

+                }

+                break;

+

+            case 'mousemove':

+            case 'touchmove':

+                if(!_mousedown) {

+                    return false;

+                }

+                _event_move = event;

+                _pos.move = getXYfromEvent(event);

+

+                if(!gestures.transform(event)) {

+                    gestures.drag(event);

+                }

+                break;

+

+            case 'mouseup':

+            case 'mouseout':

+            case 'touchcancel':

+            case 'touchend':

+                if(!_mousedown || (_gesture != 'transform' && event.touches && event.touches.length > 0)) {

+                    return false;

+                }

+

+                _mousedown = false;

+                _event_end = event;

+

+                // drag gesture

+                // dragstart is triggered, so dragend is possible

+                if(_gesture == 'drag') {

+                    triggerEvent("dragend", {

+                        originalEvent   : event,

+                        direction       : _direction,

+                        distance        : _distance,

+                        angle           : _angle

+                    });

+                }

+

+                // transform

+                // transformstart is triggered, so transformed is possible

+                else if(_gesture == 'transform') {

+                    triggerEvent("transformend", {

+                        originalEvent   : event,

+                        position        : _pos.center,

+                        scale           : event.scale,

+                        rotation        : event.rotation

+                    });

+                }

+                else {

+                    gestures.tap(_event_start);

+                }

+

+                _prev_gesture = _gesture;

+

+                // reset vars

+                reset();

+                break;

+        }

+    }

+

+

+    // bind events for touch devices

+    // except for windows phone 7.5, it doesnt support touch events..!

+    if('ontouchstart' in window) {

+        element.addEventListener("touchstart", handleEvents, false);

+        element.addEventListener("touchmove", handleEvents, false);

+        element.addEventListener("touchend", handleEvents, false);

+        element.addEventListener("touchcancel", handleEvents, false);

+    }

+    // for non-touch

+    else {

+

+        if(element.addEventListener){ // prevent old IE errors

+            element.addEventListener("mouseout", function(event) {

+                if(!isInsideHammer(element, event.relatedTarget)) {

+                    handleEvents(event);

+                }

+            }, false);

+            element.addEventListener("mouseup", handleEvents, false);

+            element.addEventListener("mousedown", handleEvents, false);

+            element.addEventListener("mousemove", handleEvents, false);

+

+            // events for older IE

+        }else if(document.attachEvent){

+            element.attachEvent("onmouseout", function(event) {

+                if(!isInsideHammer(element, event.relatedTarget)) {

+                    handleEvents(event);

+                }

+            }, false);

+            element.attachEvent("onmouseup", handleEvents);

+            element.attachEvent("onmousedown", handleEvents);

+            element.attachEvent("onmousemove", handleEvents);

+        }

+    }

+

+

+    /**

+     * find if element is (inside) given parent element

+     * @param   object  element

+     * @param   object  parent

+     * @return  bool    inside

+     */

+    function isInsideHammer(parent, child) {

+        // get related target for IE

+        if(!child && window.event && window.event.toElement){

+            child = window.event.toElement;

+        }

+

+        if(parent === child){

+            return true;

+        }

+

+        // loop over parentNodes of child until we find hammer element

+        if(child){

+            var node = child.parentNode;

+            while(node !== null){

+                if(node === parent){

+                    return true;

+                };

+                node = node.parentNode;

+            }

+        }

+        return false;

+    }

+

+

+    /**

+     * merge 2 objects into a new object

+     * @param   object  obj1

+     * @param   object  obj2

+     * @return  object  merged object

+     */

+    function mergeObject(obj1, obj2) {

+        var output = {};

+

+        if(!obj2) {

+            return obj1;

+        }

+

+        for (var prop in obj1) {

+            if (prop in obj2) {

+                output[prop] = obj2[prop];

+            } else {

+                output[prop] = obj1[prop];

+            }

+        }

+        return output;

+    }

+

+    function isFunction( obj ){

+        return Object.prototype.toString.call( obj ) == "[object Function]";

+    }

+}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/modernizr.custom.45394.js b/pages/transcripts/2012_EclipseConEurope/js/modernizr.custom.45394.js
new file mode 100644
index 0000000..5eecc4c
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/modernizr.custom.45394.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.5.3 (Custom Build) | MIT & BSD

+ * Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexbox_legacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-mq-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load

+ */

+;window.Modernizr=function(a,b,c){function C(a){i.cssText=a}function D(a,b){return C(m.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a)if(i[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+o.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),H(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)t[c[d]]=c[d]in j;return t.list&&(t.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,g,h,i=a.length;d<i;d++)j.setAttribute("type",g=a[d]),e=j.type!=="text",e&&(j.value=k,j.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(g)&&j.style.WebkitAppearance!==c?(f.appendChild(j),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(j,null).WebkitAppearance!=="textfield"&&j.offsetHeight!==0,f.removeChild(j)):/^(search|tel)$/.test(g)||(/^(url|email)$/.test(g)?e=j.checkValidity&&j.checkValidity()===!1:/^color$/.test(g)?(f.appendChild(j),f.offsetWidth,e=j.value!=k,f.removeChild(j)):e=j.value!=k)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.5.3",e={},f=b.documentElement,g="modernizr",h=b.createElement(g),i=h.style,j=b.createElement("input"),k=":)",l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=u.slice,w,x=function(a,c,d,e){var h,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:g+(d+1),k.appendChild(j);return h=["&#173;","<style>",a,"</style>"].join(""),k.id=g,(l?k:m).innerHTML+=h,m.appendChild(k),l||(m.style.background="",f.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return x("@media "+b+" { #"+g+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=v.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e});var J=function(c,d){var f=c.join(""),g=d.length;x(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch||(j.touch&&j.touch.offsetTop)===9,e.csstransforms3d=(j.csstransforms3d&&j.csstransforms3d.offsetLeft)===9&&j.csstransforms3d.offsetHeight===3,e.generatedcontent=(j.generatedcontent&&j.generatedcontent.offsetHeight)>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",m.join("touch-enabled),("),g,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",m.join("transform-3d),("),g,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join(""),['#generatedcontent:after{content:"',k,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){return I("flexOrder")},r["flexbox-legacy"]=function(){return I("boxDirection")},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){try{var d=b.createElement("canvas"),e;e=!(!a.WebGLRenderingContext||!d.getContext("experimental-webgl")&&!d.getContext("webgl")),d=c}catch(f){e=!1}return e},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){return!!a.openDatabase},r.indexedDB=function(){return!!I("indexedDB",a)},r.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},r.websockets=function(){for(var b=-1,c=o.length;++b<c;)if(a[o[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(i.backgroundColor,"rgba")},r.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(i.backgroundColor,"rgba")||F(i.backgroundColor,"hsla")},r.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(i.background)},r.backgroundsize=function(){return I("backgroundSize")},r.borderimage=function(){return I("borderImage")},r.borderradius=function(){return I("borderRadius")},r.boxshadow=function(){return I("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){return D("opacity:.55"),/^0.55$/.test(i.opacity)},r.cssanimations=function(){return I("animationName")},r.csscolumns=function(){return I("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),F(i.backgroundImage,"gradient")},r.cssreflections=function(){return I("boxReflect")},r.csstransforms=function(){return!!I("transform")},r.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in f.style&&(a=e.csstransforms3d),a},r.csstransitions=function(){return I("transition")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},r.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(g,g),sessionStorage.removeItem(g),!0}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,"clipPath")))};for(var L in r)B(r,L)&&(w=L.toLowerCase(),e[w]=r[L](),u.push((e[w]?"":"no-")+w));return e.input||K(),C(""),h=j=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=x,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/order.js b/pages/transcripts/2012_EclipseConEurope/js/order.js
new file mode 100644
index 0000000..a06ed06
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/order.js
@@ -0,0 +1,8 @@
+/*

+ RequireJS order 1.0.5 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.

+ Available via the MIT or new BSD license.

+ see: http://github.com/jrburke/requirejs for details

+*/

+(function(){function k(a){var b=a.currentTarget||a.srcElement,c;if(a.type==="load"||l.test(b.readyState)){a=b.getAttribute("data-requiremodule");j[a]=!0;for(a=0;c=g[a];a++)if(j[c.name])c.req([c.name],c.onLoad);else break;a>0&&g.splice(0,a);setTimeout(function(){b.parentNode.removeChild(b)},15)}}function m(a){var b,c;a.setAttribute("data-orderloaded","loaded");for(a=0;c=h[a];a++)if((b=i[c])&&b.getAttribute("data-orderloaded")==="loaded")delete i[c],require.addScriptToDom(b);else break;a>0&&h.splice(0,

+a)}var f=typeof document!=="undefined"&&typeof window!=="undefined"&&document.createElement("script"),n=f&&(f.async||window.opera&&Object.prototype.toString.call(window.opera)==="[object Opera]"||"MozAppearance"in document.documentElement.style),o=f&&f.readyState==="uninitialized",l=/^(complete|loaded)$/,g=[],j={},i={},h=[],f=null;define({version:"1.0.5",load:function(a,b,c,e){var d;b.nameToUrl?(d=b.nameToUrl(a,null),require.s.skipAsync[d]=!0,n||e.isBuild?b([a],c):o?(e=require.s.contexts._,!e.urlFetched[d]&&

+!e.loaded[a]&&(e.urlFetched[d]=!0,require.resourcesReady(!1),e.scriptCount+=1,d=require.attach(d,e,a,null,null,m),i[a]=d,h.push(a)),b([a],c)):b.specified(a)?b([a],c):(g.push({name:a,req:b,onLoad:c}),require.attach(d,null,a,k,"script/cache"))):b([a],c)}})})();

diff --git a/pages/transcripts/2012_EclipseConEurope/js/polyfills/classList.min.js b/pages/transcripts/2012_EclipseConEurope/js/polyfills/classList.min.js
new file mode 100644
index 0000000..bca687c
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/polyfills/classList.min.js
@@ -0,0 +1,2 @@
+/* @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/

+"use strict";if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(a){var f="classList",d="prototype",e=(a.HTMLElement||a.Element)[d],g=Object;strTrim=String[d].trim||function(){return this.replace(/^\s+|\s+$/g,"")},arrIndexOf=Array[d].indexOf||function(k){for(var j=0,h=this.length;j<h;j++){if(j in this&&this[j]===k){return j}}return -1},DOMEx=function(h,i){this.name=h;this.code=DOMException[h];this.message=i},checkTokenAndGetIndex=function(i,h){if(h===""){throw new DOMEx("SYNTAX_ERR","An invalid or illegal string was specified")}if(/\s/.test(h)){throw new DOMEx("INVALID_CHARACTER_ERR","String contains an invalid character")}return arrIndexOf.call(i,h)},ClassList=function(m){var l=strTrim.call(m.className),k=l?l.split(/\s+/):[];for(var j=0,h=k.length;j<h;j++){this.push(k[j])}this._updateClassName=function(){m.className=this.toString()}},classListProto=ClassList[d]=[],classListGetter=function(){return new ClassList(this)};DOMEx[d]=Error[d];classListProto.item=function(h){return this[h]||null};classListProto.contains=function(h){h+="";return checkTokenAndGetIndex(this,h)!==-1};classListProto.add=function(h){h+="";if(checkTokenAndGetIndex(this,h)===-1){this.push(h);this._updateClassName()}};classListProto.remove=function(i){i+="";var h=checkTokenAndGetIndex(this,i);if(h!==-1){this.splice(h,1);this._updateClassName()}};classListProto.toggle=function(h){h+="";if(checkTokenAndGetIndex(this,h)===-1){this.add(h)}else{this.remove(h)}};classListProto.toString=function(){return this.join(" ")};if(g.defineProperty){var c={get:classListGetter,enumerable:true,configurable:true};try{g.defineProperty(e,f,c)}catch(b){if(b.number===-2146823252){c.enumerable=false;g.defineProperty(e,f,c)}}}else{if(g[d].__defineGetter__){e.__defineGetter__(f,classListGetter)}}}(self))};
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/polyfills/dataset.min.js b/pages/transcripts/2012_EclipseConEurope/js/polyfills/dataset.min.js
new file mode 100644
index 0000000..46033e9
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/polyfills/dataset.min.js
@@ -0,0 +1,2 @@
+(function(){function c(){d=!0;this.removeEventListener("DOMAttrModified",c,!1)}function g(b){return b.replace(h,function(b,a){return a.toUpperCase()})}function e(){var b={};i.call(this.attributes,function(a){if(f=a.name.match(j))b[g(f[1])]=a.value});return b}var i=[].forEach,j=/^data-(.+)/,h=/\-([a-z])/ig,a=document.createElement("div"),d=!1,f;a.dataset==void 0&&(a.addEventListener("DOMAttrModified",c,!1),a.setAttribute("foo","bar"),Element.prototype.__defineGetter__("dataset",d?function(){if(!this._datasetCache)this._datasetCache=

+e.call(this);return this._datasetCache}:e),document.addEventListener("DOMAttrModified",function(a){delete a.target._datasetCache},!1))})();
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/polyfills/history.min.js b/pages/transcripts/2012_EclipseConEurope/js/polyfills/history.min.js
new file mode 100644
index 0000000..2aee07e
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/polyfills/history.min.js
@@ -0,0 +1 @@
+(function(a,b){"use strict";var c=a.console||b,d=a.document,e=a.navigator,f=a.sessionStorage||!1,g=a.setTimeout,h=a.clearTimeout,i=a.setInterval,j=a.clearInterval,k=a.JSON,l=a.alert,m=a.History=a.History||{},n=a.history;k.stringify=k.stringify||k.encode,k.parse=k.parse||k.decode;if(typeof m.init!="undefined")throw new Error("History.js Core has already been loaded...");m.init=function(){return typeof m.Adapter=="undefined"?!1:(typeof m.initCore!="undefined"&&m.initCore(),typeof m.initHtml4!="undefined"&&m.initHtml4(),!0)},m.initCore=function(){if(typeof m.initCore.initialized!="undefined")return!1;m.initCore.initialized=!0,m.options=m.options||{},m.options.hashChangeInterval=m.options.hashChangeInterval||100,m.options.safariPollInterval=m.options.safariPollInterval||500,m.options.doubleCheckInterval=m.options.doubleCheckInterval||500,m.options.storeInterval=m.options.storeInterval||1e3,m.options.busyDelay=m.options.busyDelay||250,m.options.debug=m.options.debug||!1,m.options.initialTitle=m.options.initialTitle||d.title,m.intervalList=[],m.clearAllIntervals=function(){var a,b=m.intervalList;if(typeof b!="undefined"&&b!==null){for(a=0;a<b.length;a++)j(b[a]);m.intervalList=null}},m.debug=function(){(m.options.debug||!1)&&m.log.apply(m,arguments)},m.log=function(){var a=typeof c!="undefined"&&typeof c.log!="undefined"&&typeof c.log.apply!="undefined",b=d.getElementById("log"),e,f,g,h,i;a?(h=Array.prototype.slice.call(arguments),e=h.shift(),typeof c.debug!="undefined"?c.debug.apply(c,[e,h]):c.log.apply(c,[e,h])):e="\n"+arguments[0]+"\n";for(f=1,g=arguments.length;f<g;++f){i=arguments[f];if(typeof i=="object"&&typeof k!="undefined")try{i=k.stringify(i)}catch(j){}e+="\n"+i+"\n"}return b?(b.value+=e+"\n-----\n",b.scrollTop=b.scrollHeight-b.clientHeight):a||l(e),!0},m.getInternetExplorerMajorVersion=function(){var a=m.getInternetExplorerMajorVersion.cached=typeof m.getInternetExplorerMajorVersion.cached!="undefined"?m.getInternetExplorerMajorVersion.cached:function(){var a=3,b=d.createElement("div"),c=b.getElementsByTagName("i");while((b.innerHTML="<!--[if gt IE "+ ++a+"]><i></i><![endif]-->")&&c[0]);return a>4?a:!1}();return a},m.isInternetExplorer=function(){var a=m.isInternetExplorer.cached=typeof m.isInternetExplorer.cached!="undefined"?m.isInternetExplorer.cached:Boolean(m.getInternetExplorerMajorVersion());return a},m.emulated={pushState:!Boolean(a.history&&a.history.pushState&&a.history.replaceState&&!/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i.test(e.userAgent)&&!/AppleWebKit\/5([0-2]|3[0-2])/i.test(e.userAgent)),hashChange:Boolean(!("onhashchange"in a||"onhashchange"in d)||m.isInternetExplorer()&&m.getInternetExplorerMajorVersion()<8)},m.enabled=!m.emulated.pushState,m.bugs={setHash:Boolean(!m.emulated.pushState&&e.vendor==="Apple Computer, Inc."&&/AppleWebKit\/5([0-2]|3[0-3])/.test(e.userAgent)),safariPoll:Boolean(!m.emulated.pushState&&e.vendor==="Apple Computer, Inc."&&/AppleWebKit\/5([0-2]|3[0-3])/.test(e.userAgent)),ieDoubleCheck:Boolean(m.isInternetExplorer()&&m.getInternetExplorerMajorVersion()<8),hashEscape:Boolean(m.isInternetExplorer()&&m.getInternetExplorerMajorVersion()<7)},m.isEmptyObject=function(a){for(var b in a)return!1;return!0},m.cloneObject=function(a){var b,c;return a?(b=k.stringify(a),c=k.parse(b)):c={},c},m.getRootUrl=function(){var a=d.location.protocol+"//"+(d.location.hostname||d.location.host);if(d.location.port||!1)a+=":"+d.location.port;return a+="/",a},m.getBaseHref=function(){var a=d.getElementsByTagName("base"),b=null,c="";return a.length===1&&(b=a[0],c=b.href.replace(/[^\/]+$/,"")),c=c.replace(/\/+$/,""),c&&(c+="/"),c},m.getBaseUrl=function(){var a=m.getBaseHref()||m.getBasePageUrl()||m.getRootUrl();return a},m.getPageUrl=function(){var a=m.getState(!1,!1),b=(a||{}).url||d.location.href,c;return c=b.replace(/\/+$/,"").replace(/[^\/]+$/,function(a,b,c){return/\./.test(a)?a:a+"/"}),c},m.getBasePageUrl=function(){var a=d.location.href.replace(/[#\?].*/,"").replace(/[^\/]+$/,function(a,b,c){return/[^\/]$/.test(a)?"":a}).replace(/\/+$/,"")+"/";return a},m.getFullUrl=function(a,b){var c=a,d=a.substring(0,1);return b=typeof b=="undefined"?!0:b,/[a-z]+\:\/\//.test(a)||(d==="/"?c=m.getRootUrl()+a.replace(/^\/+/,""):d==="#"?c=m.getPageUrl().replace(/#.*/,"")+a:d==="?"?c=m.getPageUrl().replace(/[\?#].*/,"")+a:b?c=m.getBaseUrl()+a.replace(/^(\.\/)+/,""):c=m.getBasePageUrl()+a.replace(/^(\.\/)+/,"")),c.replace(/\#$/,"")},m.getShortUrl=function(a){var b=a,c=m.getBaseUrl(),d=m.getRootUrl();return m.emulated.pushState&&(b=b.replace(c,"")),b=b.replace(d,"/"),m.isTraditionalAnchor(b)&&(b="./"+b),b=b.replace(/^(\.\/)+/g,"./").replace(/\#$/,""),b},m.store={},m.idToState=m.idToState||{},m.stateToId=m.stateToId||{},m.urlToId=m.urlToId||{},m.storedStates=m.storedStates||[],m.savedStates=m.savedStates||[],m.normalizeStore=function(){m.store.idToState=m.store.idToState||{},m.store.urlToId=m.store.urlToId||{},m.store.stateToId=m.store.stateToId||{}},m.getState=function(a,b){typeof a=="undefined"&&(a=!0),typeof b=="undefined"&&(b=!0);var c=m.getLastSavedState();return!c&&b&&(c=m.createStateObject()),a&&(c=m.cloneObject(c),c.url=c.cleanUrl||c.url),c},m.getIdByState=function(a){var b=m.extractId(a.url),c;if(!b){c=m.getStateString(a);if(typeof m.stateToId[c]!="undefined")b=m.stateToId[c];else if(typeof m.store.stateToId[c]!="undefined")b=m.store.stateToId[c];else{for(;;){b=(new Date).getTime()+String(Math.random()).replace(/\D/g,"");if(typeof m.idToState[b]=="undefined"&&typeof m.store.idToState[b]=="undefined")break}m.stateToId[c]=b,m.idToState[b]=a}}return b},m.normalizeState=function(a){var b,c;if(!a||typeof a!="object")a={};if(typeof a.normalized!="undefined")return a;if(!a.data||typeof a.data!="object")a.data={};b={},b.normalized=!0,b.title=a.title||"",b.url=m.getFullUrl(m.unescapeString(a.url||d.location.href)),b.hash=m.getShortUrl(b.url),b.data=m.cloneObject(a.data),b.id=m.getIdByState(b),b.cleanUrl=b.url.replace(/\??\&_suid.*/,""),b.url=b.cleanUrl,c=!m.isEmptyObject(b.data);if(b.title||c)b.hash=m.getShortUrl(b.url).replace(/\??\&_suid.*/,""),/\?/.test(b.hash)||(b.hash+="?"),b.hash+="&_suid="+b.id;return b.hashedUrl=m.getFullUrl(b.hash),(m.emulated.pushState||m.bugs.safariPoll)&&m.hasUrlDuplicate(b)&&(b.url=b.hashedUrl),b},m.createStateObject=function(a,b,c){var d={data:a,title:b,url:c};return d=m.normalizeState(d),d},m.getStateById=function(a){a=String(a);var c=m.idToState[a]||m.store.idToState[a]||b;return c},m.getStateString=function(a){var b,c,d;return b=m.normalizeState(a),c={data:b.data,title:a.title,url:a.url},d=k.stringify(c),d},m.getStateId=function(a){var b,c;return b=m.normalizeState(a),c=b.id,c},m.getHashByState=function(a){var b,c;return b=m.normalizeState(a),c=b.hash,c},m.extractId=function(a){var b,c,d;return c=/(.*)\&_suid=([0-9]+)$/.exec(a),d=c?c[1]||a:a,b=c?String(c[2]||""):"",b||!1},m.isTraditionalAnchor=function(a){var b=!/[\/\?\.]/.test(a);return b},m.extractState=function(a,b){var c=null,d,e;return b=b||!1,d=m.extractId(a),d&&(c=m.getStateById(d)),c||(e=m.getFullUrl(a),d=m.getIdByUrl(e)||!1,d&&(c=m.getStateById(d)),!c&&b&&!m.isTraditionalAnchor(a)&&(c=m.createStateObject(null,null,e))),c},m.getIdByUrl=function(a){var c=m.urlToId[a]||m.store.urlToId[a]||b;return c},m.getLastSavedState=function(){return m.savedStates[m.savedStates.length-1]||b},m.getLastStoredState=function(){return m.storedStates[m.storedStates.length-1]||b},m.hasUrlDuplicate=function(a){var b=!1,c;return c=m.extractState(a.url),b=c&&c.id!==a.id,b},m.storeState=function(a){return m.urlToId[a.url]=a.id,m.storedStates.push(m.cloneObject(a)),a},m.isLastSavedState=function(a){var b=!1,c,d,e;return m.savedStates.length&&(c=a.id,d=m.getLastSavedState(),e=d.id,b=c===e),b},m.saveState=function(a){return m.isLastSavedState(a)?!1:(m.savedStates.push(m.cloneObject(a)),!0)},m.getStateByIndex=function(a){var b=null;return typeof a=="undefined"?b=m.savedStates[m.savedStates.length-1]:a<0?b=m.savedStates[m.savedStates.length+a]:b=m.savedStates[a],b},m.getHash=function(){var a=m.unescapeHash(d.location.hash);return a},m.unescapeString=function(b){var c=b,d;for(;;){d=a.unescape(c);if(d===c)break;c=d}return c},m.unescapeHash=function(a){var b=m.normalizeHash(a);return b=m.unescapeString(b),b},m.normalizeHash=function(a){var b=a.replace(/[^#]*#/,"").replace(/#.*/,"");return b},m.setHash=function(a,b){var c,e,f;return b!==!1&&m.busy()?(m.pushQueue({scope:m,callback:m.setHash,args:arguments,queue:b}),!1):(c=m.escapeHash(a),m.busy(!0),e=m.extractState(a,!0),e&&!m.emulated.pushState?m.pushState(e.data,e.title,e.url,!1):d.location.hash!==c&&(m.bugs.setHash?(f=m.getPageUrl(),m.pushState(null,null,f+"#"+c,!1)):d.location.hash=c),m)},m.escapeHash=function(b){var c=m.normalizeHash(b);return c=a.escape(c),m.bugs.hashEscape||(c=c.replace(/\%21/g,"!").replace(/\%26/g,"&").replace(/\%3D/g,"=").replace(/\%3F/g,"?")),c},m.getHashByUrl=function(a){var b=String(a).replace(/([^#]*)#?([^#]*)#?(.*)/,"$2");return b=m.unescapeHash(b),b},m.setTitle=function(a){var b=a.title,c;b||(c=m.getStateByIndex(0),c&&c.url===a.url&&(b=c.title||m.options.initialTitle));try{d.getElementsByTagName("title")[0].innerHTML=b.replace("<","&lt;").replace(">","&gt;").replace(" & "," &amp; ")}catch(e){}return d.title=b,m},m.queues=[],m.busy=function(a){typeof a!="undefined"?m.busy.flag=a:typeof m.busy.flag=="undefined"&&(m.busy.flag=!1);if(!m.busy.flag){h(m.busy.timeout);var b=function(){var a,c,d;if(m.busy.flag)return;for(a=m.queues.length-1;a>=0;--a){c=m.queues[a];if(c.length===0)continue;d=c.shift(),m.fireQueueItem(d),m.busy.timeout=g(b,m.options.busyDelay)}};m.busy.timeout=g(b,m.options.busyDelay)}return m.busy.flag},m.busy.flag=!1,m.fireQueueItem=function(a){return a.callback.apply(a.scope||m,a.args||[])},m.pushQueue=function(a){return m.queues[a.queue||0]=m.queues[a.queue||0]||[],m.queues[a.queue||0].push(a),m},m.queue=function(a,b){return typeof a=="function"&&(a={callback:a}),typeof b!="undefined"&&(a.queue=b),m.busy()?m.pushQueue(a):m.fireQueueItem(a),m},m.clearQueue=function(){return m.busy.flag=!1,m.queues=[],m},m.stateChanged=!1,m.doubleChecker=!1,m.doubleCheckComplete=function(){return m.stateChanged=!0,m.doubleCheckClear(),m},m.doubleCheckClear=function(){return m.doubleChecker&&(h(m.doubleChecker),m.doubleChecker=!1),m},m.doubleCheck=function(a){return m.stateChanged=!1,m.doubleCheckClear(),m.bugs.ieDoubleCheck&&(m.doubleChecker=g(function(){return m.doubleCheckClear(),m.stateChanged||a(),!0},m.options.doubleCheckInterval)),m},m.safariStatePoll=function(){var b=m.extractState(d.location.href),c;if(!m.isLastSavedState(b))c=b;else return;return c||(c=m.createStateObject()),m.Adapter.trigger(a,"popstate"),m},m.back=function(a){return a!==!1&&m.busy()?(m.pushQueue({scope:m,callback:m.back,args:arguments,queue:a}),!1):(m.busy(!0),m.doubleCheck(function(){m.back(!1)}),n.go(-1),!0)},m.forward=function(a){return a!==!1&&m.busy()?(m.pushQueue({scope:m,callback:m.forward,args:arguments,queue:a}),!1):(m.busy(!0),m.doubleCheck(function(){m.forward(!1)}),n.go(1),!0)},m.go=function(a,b){var c;if(a>0)for(c=1;c<=a;++c)m.forward(b);else{if(!(a<0))throw new Error("History.go: History.go requires a positive or negative integer passed.");for(c=-1;c>=a;--c)m.back(b)}return m};if(m.emulated.pushState){var o=function(){};m.pushState=m.pushState||o,m.replaceState=m.replaceState||o}else m.onPopState=function(b,c){var e=!1,f=!1,g,h;return m.doubleCheckComplete(),g=m.getHash(),g?(h=m.extractState(g||d.location.href,!0),h?m.replaceState(h.data,h.title,h.url,!1):(m.Adapter.trigger(a,"anchorchange"),m.busy(!1)),m.expectedStateId=!1,!1):(e=m.Adapter.extractEventData("state",b,c)||!1,e?f=m.getStateById(e):m.expectedStateId?f=m.getStateById(m.expectedStateId):f=m.extractState(d.location.href),f||(f=m.createStateObject(null,null,d.location.href)),m.expectedStateId=!1,m.isLastSavedState(f)?(m.busy(!1),!1):(m.storeState(f),m.saveState(f),m.setTitle(f),m.Adapter.trigger(a,"statechange"),m.busy(!1),!0))},m.Adapter.bind(a,"popstate",m.onPopState),m.pushState=function(b,c,d,e){if(m.getHashByUrl(d)&&m.emulated.pushState)throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(e!==!1&&m.busy())return m.pushQueue({scope:m,callback:m.pushState,args:arguments,queue:e}),!1;m.busy(!0);var f=m.createStateObject(b,c,d);return m.isLastSavedState(f)?m.busy(!1):(m.storeState(f),m.expectedStateId=f.id,n.pushState(f.id,f.title,f.url),m.Adapter.trigger(a,"popstate")),!0},m.replaceState=function(b,c,d,e){if(m.getHashByUrl(d)&&m.emulated.pushState)throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(e!==!1&&m.busy())return m.pushQueue({scope:m,callback:m.replaceState,args:arguments,queue:e}),!1;m.busy(!0);var f=m.createStateObject(b,c,d);return m.isLastSavedState(f)?m.busy(!1):(m.storeState(f),m.expectedStateId=f.id,n.replaceState(f.id,f.title,f.url),m.Adapter.trigger(a,"popstate")),!0};if(f){try{m.store=k.parse(f.getItem("History.store"))||{}}catch(p){m.store={}}m.normalizeStore()}else m.store={},m.normalizeStore();m.Adapter.bind(a,"beforeunload",m.clearAllIntervals),m.Adapter.bind(a,"unload",m.clearAllIntervals),m.saveState(m.storeState(m.extractState(d.location.href,!0))),f&&(m.onUnload=function(){var a,b;try{a=k.parse(f.getItem("History.store"))||{}}catch(c){a={}}a.idToState=a.idToState||{},a.urlToId=a.urlToId||{},a.stateToId=a.stateToId||{};for(b in m.idToState){if(!m.idToState.hasOwnProperty(b))continue;a.idToState[b]=m.idToState[b]}for(b in m.urlToId){if(!m.urlToId.hasOwnProperty(b))continue;a.urlToId[b]=m.urlToId[b]}for(b in m.stateToId){if(!m.stateToId.hasOwnProperty(b))continue;a.stateToId[b]=m.stateToId[b]}m.store=a,m.normalizeStore(),f.setItem("History.store",k.stringify(a))},m.intervalList.push(i(m.onUnload,m.options.storeInterval)),m.Adapter.bind(a,"beforeunload",m.onUnload),m.Adapter.bind(a,"unload",m.onUnload));if(!m.emulated.pushState){m.bugs.safariPoll&&m.intervalList.push(i(m.safariStatePoll,m.options.safariPollInterval));if(e.vendor==="Apple Computer, Inc."||(e.appCodeName||"")==="Mozilla")m.Adapter.bind(a,"hashchange",function(){m.Adapter.trigger(a,"popstate")}),m.getHash()&&m.Adapter.onDomLoad(function(){m.Adapter.trigger(a,"hashchange")})}},m.init()})(window)
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-apollo.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-apollo.js
new file mode 100644
index 0000000..d083bbc
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-apollo.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,

+null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-clj.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-clj.js
new file mode 100644
index 0000000..3c6f8ae
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-clj.js
@@ -0,0 +1,18 @@
+/*

+ Copyright (C) 2011 Google Inc.

+

+ Licensed under the Apache License, Version 2.0 (the "License");

+ you may not use this file except in compliance with the License.

+ You may obtain a copy of the License at

+

+ http://www.apache.org/licenses/LICENSE-2.0

+

+ Unless required by applicable law or agreed to in writing, software

+ distributed under the License is distributed on an "AS IS" BASIS,

+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ See the License for the specific language governing permissions and

+ limitations under the License.

+*/

+var a=null;

+PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],

+["typ",/^:[\dA-Za-z-]+/]]),["clj"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-css.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-css.js
new file mode 100644
index 0000000..bb6dbea
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-css.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",

+/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-go.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-go.js
new file mode 100644
index 0000000..d124612
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-go.js
@@ -0,0 +1 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-hs.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-hs.js
new file mode 100644
index 0000000..45bc8e5
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-hs.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,

+null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lisp.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lisp.js
new file mode 100644
index 0000000..36c7a48
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lisp.js
@@ -0,0 +1,3 @@
+var a=null;

+PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],

+["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","scm"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lua.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lua.js
new file mode 100644
index 0000000..88667f1
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-lua.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],

+["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-ml.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-ml.js
new file mode 100644
index 0000000..40d3f7c
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-ml.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],

+["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-n.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-n.js
new file mode 100644
index 0000000..8b058f7
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-n.js
@@ -0,0 +1,4 @@
+var a=null;

+PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\xa0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,

+a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,

+a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-proto.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-proto.js
new file mode 100644
index 0000000..dd1913b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-proto.js
@@ -0,0 +1 @@
+PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-scala.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-scala.js
new file mode 100644
index 0000000..eb74f52
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-scala.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/],

+["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-sql.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-sql.js
new file mode 100644
index 0000000..9ed4fae
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-sql.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|merge|national|nocheck|nonclustered|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|percent|plan|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rule|save|schema|select|session_user|set|setuser|shutdown|some|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|union|unique|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|writetext)(?=[^\w-]|$)/i,

+null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-tex.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-tex.js
new file mode 100644
index 0000000..d26f2ba
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-tex.js
@@ -0,0 +1 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vb.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vb.js
new file mode 100644
index 0000000..3931c66
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vb.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r Â\xa0

"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"“”'],["com",/^['\u2018\u2019].*/,null,"'‘’"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i,

+null],["com",/^rem.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vhdl.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vhdl.js
new file mode 100644
index 0000000..37e1dc8
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-vhdl.js
@@ -0,0 +1,3 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i,

+null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i],

+["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-wiki.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-wiki.js
new file mode 100644
index 0000000..0cdfaf5
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-wiki.js
@@ -0,0 +1,2 @@
+PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t Â\xa0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]);

+PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-xq.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-xq.js
new file mode 100644
index 0000000..c59b357
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-xq.js
@@ -0,0 +1,3 @@
+PR.registerLangHandler(PR.createSimpleLexer([["var pln",/^\$[\w-]+/,null,"$"]],[["pln",/^[\s=][<>][\s=]/],["lit",/^@[\w-]+/],["tag",/^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["com",/^\(:[\S\s]*?:\)/],["pln",/^[(),/;[\]{}]$/],["str",/^(?:"(?:[^"\\{]|\\[\S\s])*(?:"|$)|'(?:[^'\\{]|\\[\S\s])*(?:'|$))/,null,"\"'"],["kwd",/^(?:xquery|where|version|variable|union|typeswitch|treat|to|then|text|stable|sortby|some|self|schema|satisfies|returns|return|ref|processing-instruction|preceding-sibling|preceding|precedes|parent|only|of|node|namespace|module|let|item|intersect|instance|in|import|if|function|for|follows|following-sibling|following|external|except|every|else|element|descending|descendant-or-self|descendant|define|default|declare|comment|child|cast|case|before|attribute|assert|ascending|as|ancestor-or-self|ancestor|after|eq|order|by|or|and|schema-element|document-node|node|at)\b/],

+["typ",/^(?:xs:yearMonthDuration|xs:unsignedLong|xs:time|xs:string|xs:short|xs:QName|xs:Name|xs:long|xs:integer|xs:int|xs:gYearMonth|xs:gYear|xs:gMonthDay|xs:gDay|xs:float|xs:duration|xs:double|xs:decimal|xs:dayTimeDuration|xs:dateTime|xs:date|xs:byte|xs:boolean|xs:anyURI|xf:yearMonthDuration)\b/,null],["fun pln",/^(?:xp:dereference|xinc:node-expand|xinc:link-references|xinc:link-expand|xhtml:restructure|xhtml:clean|xhtml:add-lists|xdmp:zip-manifest|xdmp:zip-get|xdmp:zip-create|xdmp:xquery-version|xdmp:word-convert|xdmp:with-namespaces|xdmp:version|xdmp:value|xdmp:user-roles|xdmp:user-last-login|xdmp:user|xdmp:url-encode|xdmp:url-decode|xdmp:uri-is-file|xdmp:uri-format|xdmp:uri-content-type|xdmp:unquote|xdmp:unpath|xdmp:triggers-database|xdmp:trace|xdmp:to-json|xdmp:tidy|xdmp:subbinary|xdmp:strftime|xdmp:spawn-in|xdmp:spawn|xdmp:sleep|xdmp:shutdown|xdmp:set-session-field|xdmp:set-response-encoding|xdmp:set-response-content-type|xdmp:set-response-code|xdmp:set-request-time-limit|xdmp:set|xdmp:servers|xdmp:server-status|xdmp:server-name|xdmp:server|xdmp:security-database|xdmp:security-assert|xdmp:schema-database|xdmp:save|xdmp:role-roles|xdmp:role|xdmp:rethrow|xdmp:restart|xdmp:request-timestamp|xdmp:request-status|xdmp:request-cancel|xdmp:request|xdmp:redirect-response|xdmp:random|xdmp:quote|xdmp:query-trace|xdmp:query-meters|xdmp:product-edition|xdmp:privilege-roles|xdmp:privilege|xdmp:pretty-print|xdmp:powerpoint-convert|xdmp:platform|xdmp:permission|xdmp:pdf-convert|xdmp:path|xdmp:octal-to-integer|xdmp:node-uri|xdmp:node-replace|xdmp:node-kind|xdmp:node-insert-child|xdmp:node-insert-before|xdmp:node-insert-after|xdmp:node-delete|xdmp:node-database|xdmp:mul64|xdmp:modules-root|xdmp:modules-database|xdmp:merging|xdmp:merge-cancel|xdmp:merge|xdmp:md5|xdmp:logout|xdmp:login|xdmp:log-level|xdmp:log|xdmp:lock-release|xdmp:lock-acquire|xdmp:load|xdmp:invoke-in|xdmp:invoke|xdmp:integer-to-octal|xdmp:integer-to-hex|xdmp:http-put|xdmp:http-post|xdmp:http-options|xdmp:http-head|xdmp:http-get|xdmp:http-delete|xdmp:hosts|xdmp:host-status|xdmp:host-name|xdmp:host|xdmp:hex-to-integer|xdmp:hash64|xdmp:hash32|xdmp:has-privilege|xdmp:groups|xdmp:group-serves|xdmp:group-servers|xdmp:group-name|xdmp:group-hosts|xdmp:group|xdmp:get-session-field-names|xdmp:get-session-field|xdmp:get-response-encoding|xdmp:get-response-code|xdmp:get-request-username|xdmp:get-request-user|xdmp:get-request-url|xdmp:get-request-protocol|xdmp:get-request-path|xdmp:get-request-method|xdmp:get-request-header-names|xdmp:get-request-header|xdmp:get-request-field-names|xdmp:get-request-field-filename|xdmp:get-request-field-content-type|xdmp:get-request-field|xdmp:get-request-client-certificate|xdmp:get-request-client-address|xdmp:get-request-body|xdmp:get-current-user|xdmp:get-current-roles|xdmp:get|xdmp:function-name|xdmp:function-module|xdmp:function|xdmp:from-json|xdmp:forests|xdmp:forest-status|xdmp:forest-restore|xdmp:forest-restart|xdmp:forest-name|xdmp:forest-delete|xdmp:forest-databases|xdmp:forest-counts|xdmp:forest-clear|xdmp:forest-backup|xdmp:forest|xdmp:filesystem-file|xdmp:filesystem-directory|xdmp:exists|xdmp:excel-convert|xdmp:eval-in|xdmp:eval|xdmp:estimate|xdmp:email|xdmp:element-content-type|xdmp:elapsed-time|xdmp:document-set-quality|xdmp:document-set-property|xdmp:document-set-properties|xdmp:document-set-permissions|xdmp:document-set-collections|xdmp:document-remove-properties|xdmp:document-remove-permissions|xdmp:document-remove-collections|xdmp:document-properties|xdmp:document-locks|xdmp:document-load|xdmp:document-insert|xdmp:document-get-quality|xdmp:document-get-properties|xdmp:document-get-permissions|xdmp:document-get-collections|xdmp:document-get|xdmp:document-forest|xdmp:document-delete|xdmp:document-add-properties|xdmp:document-add-permissions|xdmp:document-add-collections|xdmp:directory-properties|xdmp:directory-locks|xdmp:directory-delete|xdmp:directory-create|xdmp:directory|xdmp:diacritic-less|xdmp:describe|xdmp:default-permissions|xdmp:default-collections|xdmp:databases|xdmp:database-restore-validate|xdmp:database-restore-status|xdmp:database-restore-cancel|xdmp:database-restore|xdmp:database-name|xdmp:database-forests|xdmp:database-backup-validate|xdmp:database-backup-status|xdmp:database-backup-purge|xdmp:database-backup-cancel|xdmp:database-backup|xdmp:database|xdmp:collection-properties|xdmp:collection-locks|xdmp:collection-delete|xdmp:collation-canonical-uri|xdmp:castable-as|xdmp:can-grant-roles|xdmp:base64-encode|xdmp:base64-decode|xdmp:architecture|xdmp:apply|xdmp:amp-roles|xdmp:amp|xdmp:add64|xdmp:add-response-header|xdmp:access|trgr:trigger-set-recursive|trgr:trigger-set-permissions|trgr:trigger-set-name|trgr:trigger-set-module|trgr:trigger-set-event|trgr:trigger-set-description|trgr:trigger-remove-permissions|trgr:trigger-module|trgr:trigger-get-permissions|trgr:trigger-enable|trgr:trigger-disable|trgr:trigger-database-online-event|trgr:trigger-data-event|trgr:trigger-add-permissions|trgr:remove-trigger|trgr:property-content|trgr:pre-commit|trgr:post-commit|trgr:get-trigger-by-id|trgr:get-trigger|trgr:document-scope|trgr:document-content|trgr:directory-scope|trgr:create-trigger|trgr:collection-scope|trgr:any-property-content|thsr:set-entry|thsr:remove-term|thsr:remove-synonym|thsr:remove-entry|thsr:query-lookup|thsr:lookup|thsr:load|thsr:insert|thsr:expand|thsr:add-synonym|spell:suggest-detailed|spell:suggest|spell:remove-word|spell:make-dictionary|spell:load|spell:levenshtein-distance|spell:is-correct|spell:insert|spell:double-metaphone|spell:add-word|sec:users-collection|sec:user-set-roles|sec:user-set-password|sec:user-set-name|sec:user-set-description|sec:user-set-default-permissions|sec:user-set-default-collections|sec:user-remove-roles|sec:user-privileges|sec:user-get-roles|sec:user-get-description|sec:user-get-default-permissions|sec:user-get-default-collections|sec:user-doc-permissions|sec:user-doc-collections|sec:user-add-roles|sec:unprotect-collection|sec:uid-for-name|sec:set-realm|sec:security-version|sec:security-namespace|sec:security-installed|sec:security-collection|sec:roles-collection|sec:role-set-roles|sec:role-set-name|sec:role-set-description|sec:role-set-default-permissions|sec:role-set-default-collections|sec:role-remove-roles|sec:role-privileges|sec:role-get-roles|sec:role-get-description|sec:role-get-default-permissions|sec:role-get-default-collections|sec:role-doc-permissions|sec:role-doc-collections|sec:role-add-roles|sec:remove-user|sec:remove-role-from-users|sec:remove-role-from-role|sec:remove-role-from-privileges|sec:remove-role-from-amps|sec:remove-role|sec:remove-privilege|sec:remove-amp|sec:protect-collection|sec:privileges-collection|sec:privilege-set-roles|sec:privilege-set-name|sec:privilege-remove-roles|sec:privilege-get-roles|sec:privilege-add-roles|sec:priv-doc-permissions|sec:priv-doc-collections|sec:get-user-names|sec:get-unique-elem-id|sec:get-role-names|sec:get-role-ids|sec:get-privilege|sec:get-distinct-permissions|sec:get-collection|sec:get-amp|sec:create-user-with-role|sec:create-user|sec:create-role|sec:create-privilege|sec:create-amp|sec:collections-collection|sec:collection-set-permissions|sec:collection-remove-permissions|sec:collection-get-permissions|sec:collection-add-permissions|sec:check-admin|sec:amps-collection|sec:amp-set-roles|sec:amp-remove-roles|sec:amp-get-roles|sec:amp-doc-permissions|sec:amp-doc-collections|sec:amp-add-roles|search:unparse|search:suggest|search:snippet|search:search|search:resolve-nodes|search:resolve|search:remove-constraint|search:parse|search:get-default-options|search:estimate|search:check-options|prof:value|prof:reset|prof:report|prof:invoke|prof:eval|prof:enable|prof:disable|prof:allowed|ppt:clean|pki:template-set-request|pki:template-set-name|pki:template-set-key-type|pki:template-set-key-options|pki:template-set-description|pki:template-in-use|pki:template-get-version|pki:template-get-request|pki:template-get-name|pki:template-get-key-type|pki:template-get-key-options|pki:template-get-id|pki:template-get-description|pki:need-certificate|pki:is-temporary|pki:insert-trusted-certificates|pki:insert-template|pki:insert-signed-certificates|pki:insert-certificate-revocation-list|pki:get-trusted-certificate-ids|pki:get-template-ids|pki:get-template-certificate-authority|pki:get-template-by-name|pki:get-template|pki:get-pending-certificate-requests-xml|pki:get-pending-certificate-requests-pem|pki:get-pending-certificate-request|pki:get-certificates-for-template-xml|pki:get-certificates-for-template|pki:get-certificates|pki:get-certificate-xml|pki:get-certificate-pem|pki:get-certificate|pki:generate-temporary-certificate-if-necessary|pki:generate-temporary-certificate|pki:generate-template-certificate-authority|pki:generate-certificate-request|pki:delete-template|pki:delete-certificate|pki:create-template|pdf:make-toc|pdf:insert-toc-headers|pdf:get-toc|pdf:clean|p:status-transition|p:state-transition|p:remove|p:pipelines|p:insert|p:get-by-id|p:get|p:execute|p:create|p:condition|p:collection|p:action|ooxml:runs-merge|ooxml:package-uris|ooxml:package-parts-insert|ooxml:package-parts|msword:clean|mcgm:polygon|mcgm:point|mcgm:geospatial-query-from-elements|mcgm:geospatial-query|mcgm:circle|math:tanh|math:tan|math:sqrt|math:sinh|math:sin|math:pow|math:modf|math:log10|math:log|math:ldexp|math:frexp|math:fmod|math:floor|math:fabs|math:exp|math:cosh|math:cos|math:ceil|math:atan2|math:atan|math:asin|math:acos|map:put|map:map|map:keys|map:get|map:delete|map:count|map:clear|lnk:to|lnk:remove|lnk:insert|lnk:get|lnk:from|lnk:create|kml:polygon|kml:point|kml:interior-polygon|kml:geospatial-query-from-elements|kml:geospatial-query|kml:circle|kml:box|gml:polygon|gml:point|gml:interior-polygon|gml:geospatial-query-from-elements|gml:geospatial-query|gml:circle|gml:box|georss:point|georss:geospatial-query|georss:circle|geo:polygon|geo:point|geo:interior-polygon|geo:geospatial-query-from-elements|geo:geospatial-query|geo:circle|geo:box|fn:zero-or-one|fn:years-from-duration|fn:year-from-dateTime|fn:year-from-date|fn:upper-case|fn:unordered|fn:true|fn:translate|fn:trace|fn:tokenize|fn:timezone-from-time|fn:timezone-from-dateTime|fn:timezone-from-date|fn:sum|fn:subtract-dateTimes-yielding-yearMonthDuration|fn:subtract-dateTimes-yielding-dayTimeDuration|fn:substring-before|fn:substring-after|fn:substring|fn:subsequence|fn:string-to-codepoints|fn:string-pad|fn:string-length|fn:string-join|fn:string|fn:static-base-uri|fn:starts-with|fn:seconds-from-time|fn:seconds-from-duration|fn:seconds-from-dateTime|fn:round-half-to-even|fn:round|fn:root|fn:reverse|fn:resolve-uri|fn:resolve-QName|fn:replace|fn:remove|fn:QName|fn:prefix-from-QName|fn:position|fn:one-or-more|fn:number|fn:not|fn:normalize-unicode|fn:normalize-space|fn:node-name|fn:node-kind|fn:nilled|fn:namespace-uri-from-QName|fn:namespace-uri-for-prefix|fn:namespace-uri|fn:name|fn:months-from-duration|fn:month-from-dateTime|fn:month-from-date|fn:minutes-from-time|fn:minutes-from-duration|fn:minutes-from-dateTime|fn:min|fn:max|fn:matches|fn:lower-case|fn:local-name-from-QName|fn:local-name|fn:last|fn:lang|fn:iri-to-uri|fn:insert-before|fn:index-of|fn:in-scope-prefixes|fn:implicit-timezone|fn:idref|fn:id|fn:hours-from-time|fn:hours-from-duration|fn:hours-from-dateTime|fn:floor|fn:false|fn:expanded-QName|fn:exists|fn:exactly-one|fn:escape-uri|fn:escape-html-uri|fn:error|fn:ends-with|fn:encode-for-uri|fn:empty|fn:document-uri|fn:doc-available|fn:doc|fn:distinct-values|fn:distinct-nodes|fn:default-collation|fn:deep-equal|fn:days-from-duration|fn:day-from-dateTime|fn:day-from-date|fn:data|fn:current-time|fn:current-dateTime|fn:current-date|fn:count|fn:contains|fn:concat|fn:compare|fn:collection|fn:codepoints-to-string|fn:codepoint-equal|fn:ceiling|fn:boolean|fn:base-uri|fn:avg|fn:adjust-time-to-timezone|fn:adjust-dateTime-to-timezone|fn:adjust-date-to-timezone|fn:abs|feed:unsubscribe|feed:subscription|feed:subscribe|feed:request|feed:item|feed:description|excel:clean|entity:enrich|dom:set-pipelines|dom:set-permissions|dom:set-name|dom:set-evaluation-context|dom:set-domain-scope|dom:set-description|dom:remove-pipeline|dom:remove-permissions|dom:remove|dom:get|dom:evaluation-context|dom:domains|dom:domain-scope|dom:create|dom:configuration-set-restart-user|dom:configuration-set-permissions|dom:configuration-set-evaluation-context|dom:configuration-set-default-domain|dom:configuration-get|dom:configuration-create|dom:collection|dom:add-pipeline|dom:add-permissions|dls:retention-rules|dls:retention-rule-remove|dls:retention-rule-insert|dls:retention-rule|dls:purge|dls:node-expand|dls:link-references|dls:link-expand|dls:documents-query|dls:document-versions-query|dls:document-version-uri|dls:document-version-query|dls:document-version-delete|dls:document-version-as-of|dls:document-version|dls:document-update|dls:document-unmanage|dls:document-set-quality|dls:document-set-property|dls:document-set-properties|dls:document-set-permissions|dls:document-set-collections|dls:document-retention-rules|dls:document-remove-properties|dls:document-remove-permissions|dls:document-remove-collections|dls:document-purge|dls:document-manage|dls:document-is-managed|dls:document-insert-and-manage|dls:document-include-query|dls:document-history|dls:document-get-permissions|dls:document-extract-part|dls:document-delete|dls:document-checkout-status|dls:document-checkout|dls:document-checkin|dls:document-add-properties|dls:document-add-permissions|dls:document-add-collections|dls:break-checkout|dls:author-query|dls:as-of-query|dbk:convert|dbg:wait|dbg:value|dbg:stopped|dbg:stop|dbg:step|dbg:status|dbg:stack|dbg:out|dbg:next|dbg:line|dbg:invoke|dbg:function|dbg:finish|dbg:expr|dbg:eval|dbg:disconnect|dbg:detach|dbg:continue|dbg:connect|dbg:clear|dbg:breakpoints|dbg:break|dbg:attached|dbg:attach|cvt:save-converted-documents|cvt:part-uri|cvt:destination-uri|cvt:basepath|cvt:basename|cts:words|cts:word-query-weight|cts:word-query-text|cts:word-query-options|cts:word-query|cts:word-match|cts:walk|cts:uris|cts:uri-match|cts:train|cts:tokenize|cts:thresholds|cts:stem|cts:similar-query-weight|cts:similar-query-nodes|cts:similar-query|cts:shortest-distance|cts:search|cts:score|cts:reverse-query-weight|cts:reverse-query-nodes|cts:reverse-query|cts:remainder|cts:registered-query-weight|cts:registered-query-options|cts:registered-query-ids|cts:registered-query|cts:register|cts:query|cts:quality|cts:properties-query-query|cts:properties-query|cts:polygon-vertices|cts:polygon|cts:point-longitude|cts:point-latitude|cts:point|cts:or-query-queries|cts:or-query|cts:not-query-weight|cts:not-query-query|cts:not-query|cts:near-query-weight|cts:near-query-queries|cts:near-query-options|cts:near-query-distance|cts:near-query|cts:highlight|cts:geospatial-co-occurrences|cts:frequency|cts:fitness|cts:field-words|cts:field-word-query-weight|cts:field-word-query-text|cts:field-word-query-options|cts:field-word-query-field-name|cts:field-word-query|cts:field-word-match|cts:entity-highlight|cts:element-words|cts:element-word-query-weight|cts:element-word-query-text|cts:element-word-query-options|cts:element-word-query-element-name|cts:element-word-query|cts:element-word-match|cts:element-values|cts:element-value-ranges|cts:element-value-query-weight|cts:element-value-query-text|cts:element-value-query-options|cts:element-value-query-element-name|cts:element-value-query|cts:element-value-match|cts:element-value-geospatial-co-occurrences|cts:element-value-co-occurrences|cts:element-range-query-weight|cts:element-range-query-value|cts:element-range-query-options|cts:element-range-query-operator|cts:element-range-query-element-name|cts:element-range-query|cts:element-query-query|cts:element-query-element-name|cts:element-query|cts:element-pair-geospatial-values|cts:element-pair-geospatial-value-match|cts:element-pair-geospatial-query-weight|cts:element-pair-geospatial-query-region|cts:element-pair-geospatial-query-options|cts:element-pair-geospatial-query-longitude-name|cts:element-pair-geospatial-query-latitude-name|cts:element-pair-geospatial-query-element-name|cts:element-pair-geospatial-query|cts:element-pair-geospatial-boxes|cts:element-geospatial-values|cts:element-geospatial-value-match|cts:element-geospatial-query-weight|cts:element-geospatial-query-region|cts:element-geospatial-query-options|cts:element-geospatial-query-element-name|cts:element-geospatial-query|cts:element-geospatial-boxes|cts:element-child-geospatial-values|cts:element-child-geospatial-value-match|cts:element-child-geospatial-query-weight|cts:element-child-geospatial-query-region|cts:element-child-geospatial-query-options|cts:element-child-geospatial-query-element-name|cts:element-child-geospatial-query-child-name|cts:element-child-geospatial-query|cts:element-child-geospatial-boxes|cts:element-attribute-words|cts:element-attribute-word-query-weight|cts:element-attribute-word-query-text|cts:element-attribute-word-query-options|cts:element-attribute-word-query-element-name|cts:element-attribute-word-query-attribute-name|cts:element-attribute-word-query|cts:element-attribute-word-match|cts:element-attribute-values|cts:element-attribute-value-ranges|cts:element-attribute-value-query-weight|cts:element-attribute-value-query-text|cts:element-attribute-value-query-options|cts:element-attribute-value-query-element-name|cts:element-attribute-value-query-attribute-name|cts:element-attribute-value-query|cts:element-attribute-value-match|cts:element-attribute-value-geospatial-co-occurrences|cts:element-attribute-value-co-occurrences|cts:element-attribute-range-query-weight|cts:element-attribute-range-query-value|cts:element-attribute-range-query-options|cts:element-attribute-range-query-operator|cts:element-attribute-range-query-element-name|cts:element-attribute-range-query-attribute-name|cts:element-attribute-range-query|cts:element-attribute-pair-geospatial-values|cts:element-attribute-pair-geospatial-value-match|cts:element-attribute-pair-geospatial-query-weight|cts:element-attribute-pair-geospatial-query-region|cts:element-attribute-pair-geospatial-query-options|cts:element-attribute-pair-geospatial-query-longitude-name|cts:element-attribute-pair-geospatial-query-latitude-name|cts:element-attribute-pair-geospatial-query-element-name|cts:element-attribute-pair-geospatial-query|cts:element-attribute-pair-geospatial-boxes|cts:document-query-uris|cts:document-query|cts:distance|cts:directory-query-uris|cts:directory-query-depth|cts:directory-query|cts:destination|cts:deregister|cts:contains|cts:confidence|cts:collections|cts:collection-query-uris|cts:collection-query|cts:collection-match|cts:classify|cts:circle-radius|cts:circle-center|cts:circle|cts:box-west|cts:box-south|cts:box-north|cts:box-east|cts:box|cts:bearing|cts:arc-intersection|cts:and-query-queries|cts:and-query-options|cts:and-query|cts:and-not-query-positive-query|cts:and-not-query-negative-query|cts:and-not-query|css:get|css:convert|cpf:success|cpf:failure|cpf:document-set-state|cpf:document-set-processing-status|cpf:document-set-last-updated|cpf:document-set-error|cpf:document-get-state|cpf:document-get-processing-status|cpf:document-get-last-updated|cpf:document-get-error|cpf:check-transition|alert:spawn-matching-actions|alert:rule-user-id-query|alert:rule-set-user-id|alert:rule-set-query|alert:rule-set-options|alert:rule-set-name|alert:rule-set-description|alert:rule-set-action|alert:rule-remove|alert:rule-name-query|alert:rule-insert|alert:rule-id-query|alert:rule-get-user-id|alert:rule-get-query|alert:rule-get-options|alert:rule-get-name|alert:rule-get-id|alert:rule-get-description|alert:rule-get-action|alert:rule-action-query|alert:remove-triggers|alert:make-rule|alert:make-log-action|alert:make-config|alert:make-action|alert:invoke-matching-actions|alert:get-my-rules|alert:get-all-rules|alert:get-actions|alert:find-matching-rules|alert:create-triggers|alert:config-set-uri|alert:config-set-trigger-ids|alert:config-set-options|alert:config-set-name|alert:config-set-description|alert:config-set-cpf-domain-names|alert:config-set-cpf-domain-ids|alert:config-insert|alert:config-get-uri|alert:config-get-trigger-ids|alert:config-get-options|alert:config-get-name|alert:config-get-id|alert:config-get-description|alert:config-get-cpf-domain-names|alert:config-get-cpf-domain-ids|alert:config-get|alert:config-delete|alert:action-set-options|alert:action-set-name|alert:action-set-module-root|alert:action-set-module-db|alert:action-set-module|alert:action-set-description|alert:action-remove|alert:action-insert|alert:action-get-options|alert:action-get-name|alert:action-get-module-root|alert:action-get-module-db|alert:action-get-module|alert:action-get-description|zero-or-one|years-from-duration|year-from-dateTime|year-from-date|upper-case|unordered|true|translate|trace|tokenize|timezone-from-time|timezone-from-dateTime|timezone-from-date|sum|subtract-dateTimes-yielding-yearMonthDuration|subtract-dateTimes-yielding-dayTimeDuration|substring-before|substring-after|substring|subsequence|string-to-codepoints|string-pad|string-length|string-join|string|static-base-uri|starts-with|seconds-from-time|seconds-from-duration|seconds-from-dateTime|round-half-to-even|round|root|reverse|resolve-uri|resolve-QName|replace|remove|QName|prefix-from-QName|position|one-or-more|number|not|normalize-unicode|normalize-space|node-name|node-kind|nilled|namespace-uri-from-QName|namespace-uri-for-prefix|namespace-uri|name|months-from-duration|month-from-dateTime|month-from-date|minutes-from-time|minutes-from-duration|minutes-from-dateTime|min|max|matches|lower-case|local-name-from-QName|local-name|last|lang|iri-to-uri|insert-before|index-of|in-scope-prefixes|implicit-timezone|idref|id|hours-from-time|hours-from-duration|hours-from-dateTime|floor|false|expanded-QName|exists|exactly-one|escape-uri|escape-html-uri|error|ends-with|encode-for-uri|empty|document-uri|doc-available|doc|distinct-values|distinct-nodes|default-collation|deep-equal|days-from-duration|day-from-dateTime|day-from-date|data|current-time|current-dateTime|current-date|count|contains|concat|compare|collection|codepoints-to-string|codepoint-equal|ceiling|boolean|base-uri|avg|adjust-time-to-timezone|adjust-dateTime-to-timezone|adjust-date-to-timezone|abs)\b/],

+["pln",/^[\w:-]+/],["pln",/^[\t\n\r \xa0]+/]]),["xq","xquery"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-yaml.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-yaml.js
new file mode 100644
index 0000000..e4f5714
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/lang-yaml.js
@@ -0,0 +1,2 @@
+var a=null;

+PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]);

diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.css b/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.css
new file mode 100644
index 0000000..d44b3a2
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.js b/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.js
new file mode 100644
index 0000000..ec2a488
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/prettify/prettify.js
@@ -0,0 +1,28 @@
+var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;

+(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=

+[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<

+f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&

+(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=

+{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,

+t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===

+"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),

+l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,

+q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,

+q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,

+"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),

+a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}

+for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",

+m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=

+a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=

+j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],

+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],

+H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],

+J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+

+I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),

+["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",

+/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),

+["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",

+hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=

+!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,

+250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",

+PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();

diff --git a/pages/transcripts/2012_EclipseConEurope/js/require-1.0.8.min.js b/pages/transcripts/2012_EclipseConEurope/js/require-1.0.8.min.js
new file mode 100644
index 0000000..fc7e1a2
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/require-1.0.8.min.js
@@ -0,0 +1,33 @@
+/*

+ RequireJS 1.0.8 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.

+ Available via the MIT or new BSD license.

+ see: http://github.com/jrburke/requirejs for details

+*/

+var requirejs,require,define;

+(function(r){function K(a){return O.call(a)==="[object Function]"}function G(a){return O.call(a)==="[object Array]"}function $(a,c,l){for(var j in c)if(!(j in L)&&(!(j in a)||l))a[j]=c[j];return d}function P(a,c,d){a=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+a);if(d)a.originalError=d;return a}function aa(a,c,d){var j,k,t;for(j=0;t=c[j];j++){t=typeof t==="string"?{name:t}:t;k=t.location;if(d&&(!k||k.indexOf("/")!==0&&k.indexOf(":")===-1))k=d+"/"+(k||t.name);a[t.name]={name:t.name,location:k||

+t.name,main:(t.main||"main").replace(fa,"").replace(ba,"")}}}function V(a,c){a.holdReady?a.holdReady(c):c?a.readyWait+=1:a.ready(!0)}function ga(a){function c(b,f){var g,m;if(b&&b.charAt(0)===".")if(f){q.pkgs[f]?f=[f]:(f=f.split("/"),f=f.slice(0,f.length-1));g=b=f.concat(b.split("/"));var a;for(m=0;a=g[m];m++)if(a===".")g.splice(m,1),m-=1;else if(a==="..")if(m===1&&(g[2]===".."||g[0]===".."))break;else m>0&&(g.splice(m-1,2),m-=2);m=q.pkgs[g=b[0]];b=b.join("/");m&&b===g+"/"+m.main&&(b=g)}else b.indexOf("./")===

+0&&(b=b.substring(2));return b}function l(b,f){var g=b?b.indexOf("!"):-1,m=null,a=f?f.name:null,h=b,e,d;g!==-1&&(m=b.substring(0,g),b=b.substring(g+1,b.length));m&&(m=c(m,a));b&&(m?e=(g=n[m])&&g.normalize?g.normalize(b,function(b){return c(b,a)}):c(b,a):(e=c(b,a),d=G[e],d||(d=i.nameToUrl(b,null,f),G[e]=d)));return{prefix:m,name:e,parentMap:f,url:d,originalName:h,fullName:m?m+"!"+(e||""):e}}function j(){var b=!0,f=q.priorityWait,g,a;if(f){for(a=0;g=f[a];a++)if(!s[g]){b=!1;break}b&&delete q.priorityWait}return b}

+function k(b,f,g){return function(){var a=ha.call(arguments,0),c;if(g&&K(c=a[a.length-1]))c.__requireJsBuild=!0;a.push(f);return b.apply(null,a)}}function t(b,f,g){f=k(g||i.require,b,f);$(f,{nameToUrl:k(i.nameToUrl,b),toUrl:k(i.toUrl,b),defined:k(i.requireDefined,b),specified:k(i.requireSpecified,b),isBrowser:d.isBrowser});return f}function p(b){var f,g,a,c=b.callback,h=b.map,e=h.fullName,ca=b.deps;a=b.listeners;var j=q.requireExecCb||d.execCb;if(c&&K(c)){if(q.catchError.define)try{g=j(e,b.callback,

+ca,n[e])}catch(k){f=k}else g=j(e,b.callback,ca,n[e]);if(e)(c=b.cjsModule)&&c.exports!==r&&c.exports!==n[e]?g=n[e]=b.cjsModule.exports:g===r&&b.usingExports?g=n[e]:(n[e]=g,H[e]&&(T[e]=!0))}else e&&(g=n[e]=c,H[e]&&(T[e]=!0));if(x[b.id])delete x[b.id],b.isDone=!0,i.waitCount-=1,i.waitCount===0&&(J=[]);delete M[e];if(d.onResourceLoad&&!b.placeholder)d.onResourceLoad(i,h,b.depArray);if(f)return g=(e?l(e).url:"")||f.fileName||f.sourceURL,a=f.moduleTree,f=P("defineerror",'Error evaluating module "'+e+'" at location "'+

+g+'":\n'+f+"\nfileName:"+g+"\nlineNumber: "+(f.lineNumber||f.line),f),f.moduleName=e,f.moduleTree=a,d.onError(f);for(f=0;c=a[f];f++)c(g);return r}function u(b,f){return function(g){b.depDone[f]||(b.depDone[f]=!0,b.deps[f]=g,b.depCount-=1,b.depCount||p(b))}}function o(b,f){var g=f.map,a=g.fullName,c=g.name,h=N[b]||(N[b]=n[b]),e;if(!f.loading)f.loading=!0,e=function(b){f.callback=function(){return b};p(f);s[f.id]=!0;A()},e.fromText=function(b,f){var g=Q;s[b]=!1;i.scriptCount+=1;i.fake[b]=!0;g&&(Q=!1);

+d.exec(f);g&&(Q=!0);i.completeLoad(b)},a in n?e(n[a]):h.load(c,t(g.parentMap,!0,function(b,a){var c=[],e,m;for(e=0;m=b[e];e++)m=l(m,g.parentMap),b[e]=m.fullName,m.prefix||c.push(b[e]);f.moduleDeps=(f.moduleDeps||[]).concat(c);return i.require(b,a)}),e,q)}function y(b){x[b.id]||(x[b.id]=b,J.push(b),i.waitCount+=1)}function D(b){this.listeners.push(b)}function v(b,f){var g=b.fullName,a=b.prefix,c=a?N[a]||(N[a]=n[a]):null,h,e;g&&(h=M[g]);if(!h&&(e=!0,h={id:(a&&!c?O++ +"__p@:":"")+(g||"__r@"+O++),map:b,

+depCount:0,depDone:[],depCallbacks:[],deps:[],listeners:[],add:D},B[h.id]=!0,g&&(!a||N[a])))M[g]=h;a&&!c?(g=l(a),a in n&&!n[a]&&(delete n[a],delete R[g.url]),a=v(g,!0),a.add(function(){var f=l(b.originalName,b.parentMap),f=v(f,!0);h.placeholder=!0;f.add(function(b){h.callback=function(){return b};p(h)})})):e&&f&&(s[h.id]=!1,i.paused.push(h),y(h));return h}function C(b,f,a,c){var b=l(b,c),d=b.name,h=b.fullName,e=v(b),j=e.id,k=e.deps,o;if(h){if(h in n||s[j]===!0||h==="jquery"&&q.jQuery&&q.jQuery!==

+a().fn.jquery)return;B[j]=!0;s[j]=!0;h==="jquery"&&a&&W(a())}e.depArray=f;e.callback=a;for(a=0;a<f.length;a++)if(j=f[a])j=l(j,d?b:c),o=j.fullName,f[a]=o,o==="require"?k[a]=t(b):o==="exports"?(k[a]=n[h]={},e.usingExports=!0):o==="module"?e.cjsModule=k[a]={id:d,uri:d?i.nameToUrl(d,null,c):r,exports:n[h]}:o in n&&!(o in x)&&(!(h in H)||h in H&&T[o])?k[a]=n[o]:(h in H&&(H[o]=!0,delete n[o],R[j.url]=!1),e.depCount+=1,e.depCallbacks[a]=u(e,a),v(j,!0).add(e.depCallbacks[a]));e.depCount?y(e):p(e)}function w(b){C.apply(null,

+b)}function F(b,f){var a=b.map.fullName,c=b.depArray,d=!0,h,e,i,l;if(b.isDone||!a||!s[a])return l;if(f[a])return b;f[a]=!0;if(c){for(h=0;h<c.length;h++){e=c[h];if(!s[e]&&!ia[e]){d=!1;break}if((i=x[e])&&!i.isDone&&s[e])if(l=F(i,f))break}d||(l=r,delete f[a])}return l}function z(b,a){var g=b.map.fullName,c=b.depArray,d,h,e,i;if(b.isDone||!g||!s[g])return r;if(g){if(a[g])return n[g];a[g]=!0}if(c)for(d=0;d<c.length;d++)if(h=c[d])if((e=l(h).prefix)&&(i=x[e])&&z(i,a),(e=x[h])&&!e.isDone&&s[h])h=z(e,a),b.depCallbacks[d](h);

+return n[g]}function E(){var b=q.waitSeconds*1E3,b=b&&i.startTime+b<(new Date).getTime(),a="",c=!1,l=!1,k=[],h,e;if(i.pausedCount>0)return r;if(q.priorityWait)if(j())A();else return r;for(h in s)if(!(h in L)&&(c=!0,!s[h]))if(b)a+=h+" ";else if(l=!0,h.indexOf("!")===-1){k=[];break}else(e=M[h]&&M[h].moduleDeps)&&k.push.apply(k,e);if(!c&&!i.waitCount)return r;if(b&&a)return b=P("timeout","Load timeout for modules: "+a),b.requireType="timeout",b.requireModules=a,b.contextName=i.contextName,d.onError(b);

+if(l&&k.length)for(a=0;h=x[k[a]];a++)if(h=F(h,{})){z(h,{});break}if(!b&&(l||i.scriptCount)){if((I||da)&&!X)X=setTimeout(function(){X=0;E()},50);return r}if(i.waitCount){for(a=0;h=J[a];a++)z(h,{});i.paused.length&&A();Y<5&&(Y+=1,E())}Y=0;d.checkReadyState();return r}var i,A,q={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},catchError:{}},S=[],B={require:!0,exports:!0,module:!0},G={},n={},s={},x={},J=[],R={},O=0,M={},N={},H={},T={},Z=0;W=function(b){if(!i.jQuery&&(b=b||(typeof jQuery!=="undefined"?jQuery:

+null))&&!(q.jQuery&&b.fn.jquery!==q.jQuery)&&("holdReady"in b||"readyWait"in b))if(i.jQuery=b,w(["jquery",[],function(){return jQuery}]),i.scriptCount)V(b,!0),i.jQueryIncremented=!0};A=function(){var b,a,c,l,k,h;i.takeGlobalQueue();Z+=1;if(i.scriptCount<=0)i.scriptCount=0;for(;S.length;)if(b=S.shift(),b[0]===null)return d.onError(P("mismatch","Mismatched anonymous define() module: "+b[b.length-1]));else w(b);if(!q.priorityWait||j())for(;i.paused.length;){k=i.paused;i.pausedCount+=k.length;i.paused=

+[];for(l=0;b=k[l];l++)a=b.map,c=a.url,h=a.fullName,a.prefix?o(a.prefix,b):!R[c]&&!s[h]&&((q.requireLoad||d.load)(i,h,c),c.indexOf("empty:")!==0&&(R[c]=!0));i.startTime=(new Date).getTime();i.pausedCount-=k.length}Z===1&&E();Z-=1;return r};i={contextName:a,config:q,defQueue:S,waiting:x,waitCount:0,specified:B,loaded:s,urlMap:G,urlFetched:R,scriptCount:0,defined:n,paused:[],pausedCount:0,plugins:N,needFullExec:H,fake:{},fullExec:T,managerCallbacks:M,makeModuleMap:l,normalize:c,configure:function(b){var a,

+c,d;b.baseUrl&&b.baseUrl.charAt(b.baseUrl.length-1)!=="/"&&(b.baseUrl+="/");a=q.paths;d=q.pkgs;$(q,b,!0);if(b.paths){for(c in b.paths)c in L||(a[c]=b.paths[c]);q.paths=a}if((a=b.packagePaths)||b.packages){if(a)for(c in a)c in L||aa(d,a[c],c);b.packages&&aa(d,b.packages);q.pkgs=d}if(b.priority)c=i.requireWait,i.requireWait=!1,A(),i.require(b.priority),A(),i.requireWait=c,q.priorityWait=b.priority;if(b.deps||b.callback)i.require(b.deps||[],b.callback)},requireDefined:function(b,a){return l(b,a).fullName in

+n},requireSpecified:function(b,a){return l(b,a).fullName in B},require:function(b,c,g){if(typeof b==="string"){if(K(c))return d.onError(P("requireargs","Invalid require call"));if(d.get)return d.get(i,b,c);c=l(b,c);b=c.fullName;return!(b in n)?d.onError(P("notloaded","Module name '"+c.fullName+"' has not been loaded yet for context: "+a)):n[b]}(b&&b.length||c)&&C(null,b,c,g);if(!i.requireWait)for(;!i.scriptCount&&i.paused.length;)A();return i.require},takeGlobalQueue:function(){U.length&&(ja.apply(i.defQueue,

+[i.defQueue.length-1,0].concat(U)),U=[])},completeLoad:function(b){var a;for(i.takeGlobalQueue();S.length;)if(a=S.shift(),a[0]===null){a[0]=b;break}else if(a[0]===b)break;else w(a),a=null;a?w(a):w([b,[],b==="jquery"&&typeof jQuery!=="undefined"?function(){return jQuery}:null]);d.isAsync&&(i.scriptCount-=1);A();d.isAsync||(i.scriptCount-=1)},toUrl:function(b,a){var c=b.lastIndexOf("."),d=null;c!==-1&&(d=b.substring(c,b.length),b=b.substring(0,c));return i.nameToUrl(b,d,a)},nameToUrl:function(b,a,g){var l,

+k,h,e,j=i.config,b=c(b,g&&g.fullName);if(d.jsExtRegExp.test(b))a=b+(a?a:"");else{l=j.paths;k=j.pkgs;g=b.split("/");for(e=g.length;e>0;e--)if(h=g.slice(0,e).join("/"),l[h]){g.splice(0,e,l[h]);break}else if(h=k[h]){b=b===h.name?h.location+"/"+h.main:h.location;g.splice(0,e,b);break}a=g.join("/")+(a||".js");a=(a.charAt(0)==="/"||a.match(/^[\w\+\.\-]+:/)?"":j.baseUrl)+a}return j.urlArgs?a+((a.indexOf("?")===-1?"?":"&")+j.urlArgs):a}};i.jQueryCheck=W;i.resume=A;return i}function ka(){var a,c,d;if(C&&C.readyState===

+"interactive")return C;a=document.getElementsByTagName("script");for(c=a.length-1;c>-1&&(d=a[c]);c--)if(d.readyState==="interactive")return C=d;return null}var la=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ma=/require\(\s*["']([^'"\s]+)["']\s*\)/g,fa=/^\.\//,ba=/\.js$/,O=Object.prototype.toString,u=Array.prototype,ha=u.slice,ja=u.splice,I=!!(typeof window!=="undefined"&&navigator&&document),da=!I&&typeof importScripts!=="undefined",na=I&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,

+ea=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",L={},D={},U=[],C=null,Y=0,Q=!1,ia={require:!0,module:!0,exports:!0},d,u={},J,y,v,E,o,w,F,B,z,W,X;if(typeof define==="undefined"){if(typeof requirejs!=="undefined")if(K(requirejs))return;else u=requirejs,requirejs=r;typeof require!=="undefined"&&!K(require)&&(u=require,require=r);d=requirejs=function(a,c,d){var j="_",k;!G(a)&&typeof a!=="string"&&(k=a,G(c)?(a=c,c=d):a=[]);if(k&&k.context)j=k.context;d=D[j]||(D[j]=ga(j));k&&d.configure(k);

+return d.require(a,c)};d.config=function(a){return d(a)};require||(require=d);d.toUrl=function(a){return D._.toUrl(a)};d.version="1.0.8";d.jsExtRegExp=/^\/|:|\?|\.js$/;y=d.s={contexts:D,skipAsync:{}};if(d.isAsync=d.isBrowser=I)if(v=y.head=document.getElementsByTagName("head")[0],E=document.getElementsByTagName("base")[0])v=y.head=E.parentNode;d.onError=function(a){throw a;};d.load=function(a,c,l){d.resourcesReady(!1);a.scriptCount+=1;d.attach(l,a,c);if(a.jQuery&&!a.jQueryIncremented)V(a.jQuery,!0),

+a.jQueryIncremented=!0};define=function(a,c,d){var j,k;typeof a!=="string"&&(d=c,c=a,a=null);G(c)||(d=c,c=[]);!c.length&&K(d)&&d.length&&(d.toString().replace(la,"").replace(ma,function(a,d){c.push(d)}),c=(d.length===1?["require"]:["require","exports","module"]).concat(c));if(Q&&(j=J||ka()))a||(a=j.getAttribute("data-requiremodule")),k=D[j.getAttribute("data-requirecontext")];(k?k.defQueue:U).push([a,c,d]);return r};define.amd={multiversion:!0,plugins:!0,jQuery:!0};d.exec=function(a){return eval(a)};

+d.execCb=function(a,c,d,j){return c.apply(j,d)};d.addScriptToDom=function(a){J=a;E?v.insertBefore(a,E):v.appendChild(a);J=null};d.onScriptLoad=function(a){var c=a.currentTarget||a.srcElement,l;if(a.type==="load"||c&&na.test(c.readyState))C=null,a=c.getAttribute("data-requirecontext"),l=c.getAttribute("data-requiremodule"),D[a].completeLoad(l),c.detachEvent&&!ea?c.detachEvent("onreadystatechange",d.onScriptLoad):c.removeEventListener("load",d.onScriptLoad,!1)};d.attach=function(a,c,l,j,k,o){var p;

+if(I)return j=j||d.onScriptLoad,p=c&&c.config&&c.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script"),p.type=k||c&&c.config.scriptType||"text/javascript",p.charset="utf-8",p.async=!y.skipAsync[a],c&&p.setAttribute("data-requirecontext",c.contextName),p.setAttribute("data-requiremodule",l),p.attachEvent&&!(p.attachEvent.toString&&p.attachEvent.toString().indexOf("[native code]")<0)&&!ea?(Q=!0,o?p.onreadystatechange=function(){if(p.readyState===

+"loaded")p.onreadystatechange=null,p.attachEvent("onreadystatechange",j),o(p)}:p.attachEvent("onreadystatechange",j)):p.addEventListener("load",j,!1),p.src=a,o||d.addScriptToDom(p),p;else da&&(importScripts(a),c.completeLoad(l));return null};if(I){o=document.getElementsByTagName("script");for(B=o.length-1;B>-1&&(w=o[B]);B--){if(!v)v=w.parentNode;if(F=w.getAttribute("data-main")){if(!u.baseUrl)o=F.split("/"),w=o.pop(),o=o.length?o.join("/")+"/":"./",u.baseUrl=o,F=w.replace(ba,"");u.deps=u.deps?u.deps.concat(F):

+[F];break}}}d.checkReadyState=function(){var a=y.contexts,c;for(c in a)if(!(c in L)&&a[c].waitCount)return;d.resourcesReady(!0)};d.resourcesReady=function(a){var c,l;d.resourcesDone=a;if(d.resourcesDone)for(l in a=y.contexts,a)if(!(l in L)&&(c=a[l],c.jQueryIncremented))V(c.jQuery,!1),c.jQueryIncremented=!1};d.pageLoaded=function(){if(document.readyState!=="complete")document.readyState="complete"};if(I&&document.addEventListener&&!document.readyState)document.readyState="loading",window.addEventListener("load",

+d.pageLoaded,!1);d(u);if(d.isAsync&&typeof setTimeout!=="undefined")z=y.contexts[u.context||"_"],z.requireWait=!0,setTimeout(function(){z.requireWait=!1;z.scriptCount||z.resume();d.checkReadyState()},0)}})();

diff --git a/pages/transcripts/2012_EclipseConEurope/js/slide-controller.js b/pages/transcripts/2012_EclipseConEurope/js/slide-controller.js
new file mode 100644
index 0000000..799ae22
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/slide-controller.js
@@ -0,0 +1,109 @@
+(function(window) {

+

+var ORIGIN_ = location.protocol + '//' + location.host;

+

+function SlideController() {

+  this.popup = null;

+  this.isPopup = window.opener;

+

+  if (this.setupDone()) {

+    window.addEventListener('message', this.onMessage_.bind(this), false);

+

+    // Close popups if we reload the main window.

+    window.addEventListener('beforeunload', function(e) {

+      if (this.popup) {

+        this.popup.close();

+      }

+    }.bind(this), false);

+  }

+}

+

+SlideController.PRESENTER_MODE_PARAM = 'presentme';

+

+SlideController.prototype.setupDone = function() {

+  var params = location.search.substring(1).split('&').map(function(el) {

+    return el.split('=');

+  });

+

+  var presentMe = null;

+  for (var i = 0, param; param = params[i]; ++i) {

+    if (param[0].toLowerCase() == SlideController.PRESENTER_MODE_PARAM) {

+      presentMe = param[1] == 'true';

+      break;

+    }

+  }

+

+  if (presentMe !== null) {

+    localStorage.ENABLE_PRESENTOR_MODE = presentMe;

+    // TODO: use window.history.pushState to update URL instead of the redirect.

+    if (window.history.replaceState) {

+      window.history.replaceState({}, '', location.pathname);

+    } else {

+      location.replace(location.pathname);

+      return false;

+    }

+  }

+

+  var enablePresenterMode = localStorage.getItem('ENABLE_PRESENTOR_MODE');

+  if (enablePresenterMode && JSON.parse(enablePresenterMode)) {

+    // Only open popup from main deck. Don't want recursive popup opening!

+    if (!this.isPopup) {

+      var opts = 'menubar=no,location=yes,resizable=yes,scrollbars=no,status=no';

+      this.popup = window.open(location.href, 'mywindow', opts);

+

+      // Loading in the popup? Trigger the hotkey for turning presenter mode on.

+      this.popup.addEventListener('load', function(e) {

+        var evt = this.popup.document.createEvent('Event');

+        evt.initEvent('keydown', true, true);

+        evt.keyCode = 'P'.charCodeAt(0);

+        this.popup.document.dispatchEvent(evt);

+        // this.popup.document.body.classList.add('with-notes');

+        // document.body.classList.add('popup');

+      }.bind(this), false);

+    }

+  }

+

+  return true;

+}

+

+SlideController.prototype.onMessage_ = function(e) {

+  var data = e.data;

+

+  // Restrict messages to being from this origin. Allow local developmet

+  // from file:// though.

+  // TODO: It would be dope if FF implemented location.origin!

+  if (e.origin != ORIGIN_ && ORIGIN_.indexOf('file://') != 0) {

+    alert('Someone tried to postMessage from an unknown origin');

+    return;

+  }

+

+  // if (e.source.location.hostname != 'localhost') {

+  //   alert('Someone tried to postMessage from an unknown origin');

+  //   return;

+  // }

+

+  if ('keyCode' in data) {

+    var evt = document.createEvent('Event');

+    evt.initEvent('keydown', true, true);

+    evt.keyCode = data.keyCode;

+    document.dispatchEvent(evt);

+  }

+};

+

+SlideController.prototype.sendMsg = function(msg) {

+  // // Send message to popup window.

+  // if (this.popup) {

+  //   this.popup.postMessage(msg, ORIGIN_);

+  // }

+

+  // Send message to main window.

+  if (this.isPopup) {

+    // TODO: It would be dope if FF implemented location.origin.

+    window.opener.postMessage(msg, '*');

+  }

+};

+

+window.SlideController = SlideController;

+

+})(window);

+

diff --git a/pages/transcripts/2012_EclipseConEurope/js/slide-deck.js b/pages/transcripts/2012_EclipseConEurope/js/slide-deck.js
new file mode 100644
index 0000000..d2a61b3
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/slide-deck.js
@@ -0,0 +1,768 @@
+/**

+ * @authors Luke Mahe

+ * @authors Eric Bidelman

+ * @fileoverview TODO

+ */

+document.cancelFullScreen = document.webkitCancelFullScreen ||

+                            document.mozCancelFullScreen;

+

+/**

+ * @constructor

+ */

+function SlideDeck(el) {

+  this.curSlide_ = 0;

+  this.prevSlide_ = 0;

+  this.config_ = null;

+  this.container = el || document.querySelector('slides');

+  this.slides = [];

+  this.controller = null;

+

+  this.getCurrentSlideFromHash_();

+

+  // Call this explicitly. Modernizr.load won't be done until after DOM load.

+  this.onDomLoaded_.bind(this)();

+}

+

+/**

+ * @const

+ * @private

+ */

+SlideDeck.prototype.SLIDE_CLASSES_ = [

+  'far-past', 'past', 'current', 'next', 'far-next'];

+

+/**

+ * @const

+ * @private

+ */

+SlideDeck.prototype.CSS_DIR_ = 'theme/css/';

+

+/**

+ * @private

+ */

+SlideDeck.prototype.getCurrentSlideFromHash_ = function() {

+  var slideNo = parseInt(document.location.hash.substr(1));

+

+  if (slideNo) {

+    this.curSlide_ = slideNo - 1;

+  } else {

+    this.curSlide_ = 0;

+  }

+};

+

+/**

+ * @param {number} slideNo

+ */

+SlideDeck.prototype.loadSlide = function(slideNo) {

+  if (slideNo) {

+    this.curSlide_ = slideNo - 1;

+    this.updateSlides_();

+  }

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.onDomLoaded_ = function(e) {

+  document.body.classList.add('loaded'); // Add loaded class for templates to use.

+

+  this.slides = this.container.querySelectorAll('slide:not([hidden]):not(.backdrop)');

+

+  // If we're on a smartphone, apply special sauce.

+  if (Modernizr.mq('only screen and (max-device-width: 480px)')) {

+    // var style = document.createElement('link');

+    // style.rel = 'stylesheet';

+    // style.type = 'text/css';

+    // style.href = this.CSS_DIR_ + 'phone.css';

+    // document.querySelector('head').appendChild(style);

+

+    // No need for widescreen layout on a phone.

+    this.container.classList.remove('layout-widescreen');

+  }

+

+  this.loadConfig_(SLIDE_CONFIG);

+  this.addEventListeners_();

+  this.updateSlides_();

+

+  // Add slide numbers and total slide count metadata to each slide.

+  var that = this;

+  for (var i = 0, slide; slide = this.slides[i]; ++i) {

+    slide.dataset.slideNum = i + 1;

+    slide.dataset.totalSlides = this.slides.length;

+

+    slide.addEventListener('click', function(e) {

+      if (document.body.classList.contains('overview')) {

+        that.loadSlide(this.dataset.slideNum);

+        e.preventDefault();

+        window.setTimeout(function() {

+          that.toggleOverview();

+        }, 500);

+      }

+    }, false);

+  }

+

+  // Note: this needs to come after addEventListeners_(), which adds a

+  // 'keydown' listener that this controller relies on.

+  // Also, no need to set this up if we're on mobile.

+  if (!Modernizr.touch) {

+    this.controller = new SlideController(this);

+    if (this.controller.isPopup) {

+      document.body.classList.add('popup');

+    }

+  }

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.addEventListeners_ = function() {

+  document.addEventListener('keydown', this.onBodyKeyDown_.bind(this), false);

+  window.addEventListener('popstate', this.onPopState_.bind(this), false);

+

+  // var transEndEventNames = {

+  //   'WebkitTransition': 'webkitTransitionEnd',

+  //   'MozTransition': 'transitionend',

+  //   'OTransition': 'oTransitionEnd',

+  //   'msTransition': 'MSTransitionEnd',

+  //   'transition': 'transitionend'

+  // };

+  // 

+  // // Find the correct transitionEnd vendor prefix.

+  // window.transEndEventName = transEndEventNames[

+  //     Modernizr.prefixed('transition')];

+  // 

+  // // When slides are done transitioning, kickoff loading iframes.

+  // // Note: we're only looking at a single transition (on the slide). This

+  // // doesn't include autobuilds the slides may have. Also, if the slide

+  // // transitions on multiple properties (e.g. not just 'all'), this doesn't

+  // // handle that case.

+  // this.container.addEventListener(transEndEventName, function(e) {

+  //     this.enableSlideFrames_(this.curSlide_);

+  // }.bind(this), false);

+

+  // document.addEventListener('slideenter', function(e) {

+  //   var slide = e.target;

+  //   window.setTimeout(function() {

+  //     this.enableSlideFrames_(e.slideNumber);

+  //     this.enableSlideFrames_(e.slideNumber + 1);

+  //   }.bind(this), 300);

+  // }.bind(this), false);

+};

+

+/**

+ * @private

+ * @param {Event} e The pop event.

+ */

+SlideDeck.prototype.onPopState_ = function(e) {

+  if (e.state != null) {

+    this.curSlide_ = e.state;

+    this.updateSlides_(true);

+  }

+};

+

+/**

+ * @param {Event} e

+ */

+SlideDeck.prototype.onBodyKeyDown_ = function(e) {

+  if (/^(input|textarea)$/i.test(e.target.nodeName) ||

+      e.target.isContentEditable) {

+    return;

+  }

+

+  // Forward keydowns to the main slides if we're the popup.

+  if (this.controller && this.controller.isPopup) {

+    this.controller.sendMsg({keyCode: e.keyCode});

+  }

+

+  switch (e.keyCode) {

+    case 13: // Enter

+      if (document.body.classList.contains('overview')) {

+        this.toggleOverview();

+      }

+      break;

+

+    case 39: // right arrow

+    case 32: // space

+    case 34: // PgDn

+      this.nextSlide();

+      e.preventDefault();

+      break;

+

+    case 37: // left arrow

+    case 8: // Backspace

+    case 33: // PgUp

+      this.prevSlide();

+      e.preventDefault();

+      break;

+

+    case 40: // down arrow

+      this.nextSlide();

+      e.preventDefault();

+      break;

+

+    case 38: // up arrow

+      this.prevSlide();

+      e.preventDefault();

+      break;

+

+    case 72: // H: Toggle code highlighting

+      document.body.classList.toggle('highlight-code');

+      break;

+

+    case 79: // O: Toggle overview

+      this.toggleOverview();

+      break;

+

+    case 80: // P

+      if (this.controller && this.controller.isPopup) {

+        document.body.classList.toggle('with-notes');

+      } else if (this.controller && !this.controller.popup) {

+        document.body.classList.toggle('with-notes');

+      }

+      break;

+

+    case 82: // R

+      // TODO: implement refresh on main slides when popup is refreshed.

+      break;

+

+    case 27: // ESC: Hide notes and highlighting

+      document.body.classList.remove('with-notes');

+      document.body.classList.remove('highlight-code');

+

+      if (document.body.classList.contains('overview')) {

+        this.toggleOverview();

+      }

+      break;

+

+    case 70: // F: Toggle fullscreen

+       // Only respect 'f' on body. Don't want to capture keys from an <input>.

+       // Also, ignore browser's fullscreen shortcut (cmd+shift+f) so we don't

+       // get trapped in fullscreen!

+      if (e.target == document.body && !(e.shiftKey && e.metaKey)) {

+        if (document.mozFullScreen !== undefined && !document.mozFullScreen) {

+          document.body.mozRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

+        } else if (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen) {

+          document.body.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

+        } else {

+          document.cancelFullScreen();

+        }

+      }

+      break;

+

+    case 87: // W: Toggle widescreen

+      // Only respect 'w' on body. Don't want to capture keys from an <input>.

+      if (e.target == document.body && !(e.shiftKey && e.metaKey)) {

+        this.container.classList.toggle('layout-widescreen');

+      }

+      break;

+  }

+};

+

+/**

+ *

+ */

+SlideDeck.prototype.focusOverview_ = function() {

+  var overview = document.body.classList.contains('overview');

+

+  for (var i = 0, slide; slide = this.slides[i]; i++) {

+    slide.style[Modernizr.prefixed('transform')] = overview ?

+        'translateZ(-2500px) translate(' + (( i - this.curSlide_ ) * 105) +

+                                       '%, 0%)' : '';

+  }

+};

+

+/**

+ */

+SlideDeck.prototype.toggleOverview = function() {

+  document.body.classList.toggle('overview');

+

+  this.focusOverview_();

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.loadConfig_ = function(config) {

+  if (!config) {

+    return;

+  }

+

+  this.config_ = config;

+

+  var settings = this.config_.settings;

+

+  this.loadTheme_(settings.theme || []);

+

+  if (settings.favIcon) {

+    this.addFavIcon_(settings.favIcon);

+  }

+

+  // Prettyprint. Default to on.

+  if (!!!('usePrettify' in settings) || settings.usePrettify) {

+    prettyPrint();

+  }

+

+  if (settings.analytics) {

+    this.loadAnalytics_();

+  }

+

+  if (settings.fonts) {

+    this.addFonts_(settings.fonts);

+  }

+

+  // Builds. Default to on.

+  if (!!!('useBuilds' in settings) || settings.useBuilds) {

+    this.makeBuildLists_();

+  }

+

+  if (settings.title) {

+    document.title = settings.title.replace(/<br\/?>/, ' ') + ' - Google IO 2012';

+    document.querySelector('[data-config-title]').innerHTML = settings.title;

+  }

+

+  if (settings.subtitle) {

+    document.querySelector('[data-config-subtitle]').innerHTML = settings.subtitle;

+  }

+

+  if (this.config_.presenters) {

+    var presenters = this.config_.presenters;

+    var dataConfigContact = document.querySelector('[data-config-contact]');

+

+    var html = [];

+    if (presenters.length == 1) {

+      var p = presenters[0];

+

+      html = [p.name, p.company].join('<br>');

+

+      var gplus = p.gplus ? '<span>g+</span><a href="' + p.gplus +

+          '">' + p.gplus.replace(/https?:\/\//, '') + '</a>' : '';

+

+      var twitter = p.twitter ? '<span>twitter</span>' +

+          '<a href="http://twitter.com/' + p.twitter + '">' +

+          p.twitter + '</a>' : '';

+

+      var www = p.www ? '<span>www</span><a href="' + p.www +

+                        '">' + p.www.replace(/https?:\/\//, '') + '</a>' : '';

+

+      var github = p.github ? '<span>github</span><a href="' + p.github +

+          '">' + p.github.replace(/https?:\/\//, '') + '</a>' : '';

+

+      var html2 = [gplus, twitter, www, github].join('<br>');

+

+      if (dataConfigContact) {

+        dataConfigContact.innerHTML = html2;

+      }

+    } else {

+      for (var i = 0, p; p = presenters[i]; ++i) {

+        html.push(p.name + ' - ' + p.company);

+      }

+      html = html.join('<br>');

+      if (dataConfigContact) {

+        dataConfigContact.innerHTML = html;

+      }

+    }

+

+    var dataConfigPresenter = document.querySelector('[data-config-presenter]');

+    if (dataConfigPresenter) {

+      document.querySelector('[data-config-presenter]').innerHTML = html;

+    }

+  }

+

+  /* Left/Right tap areas. Default to including. */

+  if (!!!('enableSlideAreas' in settings) || settings.enableSlideAreas) {

+    var el = document.createElement('div');

+    el.classList.add('slide-area');

+    el.id = 'prev-slide-area';

+    el.addEventListener('click', this.prevSlide.bind(this), false);

+    this.container.appendChild(el);

+

+    var el = document.createElement('div');

+    el.classList.add('slide-area');

+    el.id = 'next-slide-area';

+    el.addEventListener('click', this.nextSlide.bind(this), false);

+    this.container.appendChild(el);

+  }

+

+  if (Modernizr.touch && (!!!('enableTouch' in settings) ||

+      settings.enableTouch)) {

+    var self = this;

+

+    // Note: this prevents mobile zoom in/out but prevents iOS from doing

+    // it's crazy scroll over effect and disaligning the slides.

+    window.addEventListener('touchstart', function(e) {

+      e.preventDefault();

+    }, false);

+

+    var hammer = new Hammer(this.container);

+    hammer.ondragend = function(e) {

+      if (e.direction == 'right' || e.direction == 'down') {

+        self.prevSlide();

+      } else if (e.direction == 'left' || e.direction == 'up') {

+        self.nextSlide();

+      }

+    };

+  }

+};

+

+/**

+ * @private

+ * @param {Array.<string>} fonts

+ */

+SlideDeck.prototype.addFonts_ = function(fonts) {

+  var el = document.createElement('link');

+  el.rel = 'stylesheet';

+  el.href = ('https:' == document.location.protocol ? 'https' : 'http') +

+      '://fonts.googleapis.com/css?family=' + fonts.join('|') + '&v2';

+  document.querySelector('head').appendChild(el);

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.buildNextItem_ = function() {

+  var slide = this.slides[this.curSlide_];

+  var toBuild = slide.querySelector('.to-build');

+  var built = slide.querySelector('.build-current');

+

+  if (built) {

+    built.classList.remove('build-current');

+    if (built.classList.contains('fade')) {

+      built.classList.add('build-fade');

+    }

+  }

+

+  if (!toBuild) {

+    var items = slide.querySelectorAll('.build-fade');

+    for (var j = 0, item; item = items[j]; j++) {

+      item.classList.remove('build-fade');

+    }

+    return false;

+  }

+

+  toBuild.classList.remove('to-build');

+  toBuild.classList.add('build-current');

+

+  return true;

+};

+

+/**

+ * @param {boolean=} opt_dontPush

+ */

+SlideDeck.prototype.prevSlide = function(opt_dontPush) {

+  if (this.curSlide_ > 0) {

+    var bodyClassList = document.body.classList;

+    bodyClassList.remove('highlight-code');

+

+    // Toggle off speaker notes if they're showing when we move backwards on the

+    // main slides. If we're the speaker notes popup, leave them up.

+    if (this.controller && !this.controller.isPopup) {

+      bodyClassList.remove('with-notes');

+    } else if (!this.controller) {

+      bodyClassList.remove('with-notes');

+    }

+

+    this.prevSlide_ = this.curSlide_--;

+

+    this.updateSlides_(opt_dontPush);

+  }

+};

+

+/**

+ * @param {boolean=} opt_dontPush

+ */

+SlideDeck.prototype.nextSlide = function(opt_dontPush) {

+  if (!document.body.classList.contains('overview') && this.buildNextItem_()) {

+    return;

+  }

+

+  if (this.curSlide_ < this.slides.length - 1) {

+    var bodyClassList = document.body.classList;

+    bodyClassList.remove('highlight-code');

+

+    // Toggle off speaker notes if they're showing when we advanced on the main

+    // slides. If we're the speaker notes popup, leave them up.

+    if (this.controller && !this.controller.isPopup) {

+      bodyClassList.remove('with-notes');

+    } else if (!this.controller) {

+      bodyClassList.remove('with-notes');

+    }

+

+    this.prevSlide_ = this.curSlide_++;

+

+    this.updateSlides_(opt_dontPush);

+  }

+};

+

+/* Slide events */

+

+/**

+ * Triggered when a slide enter/leave event should be dispatched.

+ *

+ * @param {string} type The type of event to trigger

+ *     (e.g. 'slideenter', 'slideleave').

+ * @param {number} slideNo The index of the slide that is being left.

+ */

+SlideDeck.prototype.triggerSlideEvent = function(type, slideNo) {

+  var el = this.getSlideEl_(slideNo);

+  if (!el) {

+    return;

+  }

+

+  // Call onslideenter/onslideleave if the attribute is defined on this slide.

+  var func = el.getAttribute(type);

+  if (func) {

+    new Function(func).call(el); // TODO: Don't use new Function() :(

+  }

+

+  // Dispatch event to listeners setup using addEventListener.

+  var evt = document.createEvent('Event');

+  evt.initEvent(type, true, true);

+  evt.slideNumber = slideNo + 1; // Make it readable

+  evt.slide = el;

+

+  el.dispatchEvent(evt);

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.updateSlides_ = function(opt_dontPush) {

+  var dontPush = opt_dontPush || false;

+

+  var curSlide = this.curSlide_;

+  for (var i = 0; i < this.slides.length; ++i) {

+    switch (i) {

+      case curSlide - 2:

+        this.updateSlideClass_(i, 'far-past');

+        break;

+      case curSlide - 1:

+        this.updateSlideClass_(i, 'past');

+        break;

+      case curSlide:

+        this.updateSlideClass_(i, 'current');

+        break;

+      case curSlide + 1:

+        this.updateSlideClass_(i, 'next');

+        break;

+      case curSlide + 2:

+        this.updateSlideClass_(i, 'far-next');

+        break;

+      default:

+        this.updateSlideClass_(i);

+        break;

+    }

+  };

+

+  this.triggerSlideEvent('slideleave', this.prevSlide_);

+  this.triggerSlideEvent('slideenter', curSlide);

+

+// window.setTimeout(this.disableSlideFrames_.bind(this, curSlide - 2), 301);

+// 

+// this.enableSlideFrames_(curSlide - 1); // Previous slide.

+// this.enableSlideFrames_(curSlide + 1); // Current slide.

+// this.enableSlideFrames_(curSlide + 2); // Next slide.

+

+   // Enable current slide's iframes (needed for page loat at current slide).

+   this.enableSlideFrames_(curSlide + 1);

+

+   // No way to tell when all slide transitions + auto builds are done.

+   // Give ourselves a good buffer to preload the next slide's iframes.

+   window.setTimeout(this.enableSlideFrames_.bind(this, curSlide + 2), 1000);

+

+  this.updateHash_(dontPush);

+

+  if (document.body.classList.contains('overview')) {

+    this.focusOverview_();

+    return;

+  }

+

+};

+

+/**

+ * @private

+ * @param {number} slideNo

+ */

+SlideDeck.prototype.enableSlideFrames_ = function(slideNo) {

+  var el = this.slides[slideNo - 1];

+  if (!el) {

+    return;

+  }

+

+  var frames = el.querySelectorAll('iframe');

+  for (var i = 0, frame; frame = frames[i]; i++) {

+    this.enableFrame_(frame);

+  }

+};

+

+/**

+ * @private

+ * @param {number} slideNo

+ */

+SlideDeck.prototype.enableFrame_ = function(frame) {

+  var src = frame.dataset.src;

+  if (src && frame.src != src) {

+    frame.src = src;

+  }

+};

+

+/**

+ * @private

+ * @param {number} slideNo

+ */

+SlideDeck.prototype.disableSlideFrames_ = function(slideNo) {

+  var el = this.slides[slideNo - 1];

+  if (!el) {

+    return;

+  }

+

+  var frames = el.querySelectorAll('iframe');

+  for (var i = 0, frame; frame = frames[i]; i++) {

+    this.disableFrame_(frame);

+  }

+};

+

+/**

+ * @private

+ * @param {Node} frame

+ */

+SlideDeck.prototype.disableFrame_ = function(frame) {

+  frame.src = 'about:blank';

+};

+

+/**

+ * @private

+ * @param {number} slideNo

+ */

+SlideDeck.prototype.getSlideEl_ = function(no) {

+  if ((no < 0) || (no >= this.slides.length)) {

+    return null;

+  } else {

+    return this.slides[no];

+  }

+};

+

+/**

+ * @private

+ * @param {number} slideNo

+ * @param {string} className

+ */

+SlideDeck.prototype.updateSlideClass_ = function(slideNo, className) {

+  var el = this.getSlideEl_(slideNo);

+

+  if (!el) {

+    return;

+  }

+

+  if (className) {

+    el.classList.add(className);

+  }

+

+  for (var i = 0, slideClass; slideClass = this.SLIDE_CLASSES_[i]; ++i) {

+    if (className != slideClass) {

+      el.classList.remove(slideClass);

+    }

+  }

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.makeBuildLists_ = function () {

+  for (var i = this.curSlide_, slide; slide = this.slides[i]; ++i) {

+    var items = slide.querySelectorAll('.build > *');

+    for (var j = 0, item; item = items[j]; ++j) {

+      if (item.classList) {

+        item.classList.add('to-build');

+        if (item.parentNode.classList.contains('fade')) {

+          item.classList.add('fade');

+        }

+      }

+    }

+  }

+};

+

+/**

+ * @private

+ * @param {boolean} dontPush

+ */

+SlideDeck.prototype.updateHash_ = function(dontPush) {

+  if (!dontPush) {

+    var slideNo = this.curSlide_ + 1;

+    var hash = '#' + slideNo;

+    if (window.history.pushState) {

+      window.history.pushState(this.curSlide_, 'Slide ' + slideNo, hash);

+    } else {

+      window.location.replace(hash);

+    }

+

+    // Record GA hit on this slide.

+    window['_gaq'] && window['_gaq'].push(['_trackPageview',

+                                          document.location.href]);

+  }

+};

+

+

+/**

+ * @private

+ * @param {string} favIcon

+ */

+SlideDeck.prototype.addFavIcon_ = function(favIcon) {

+  var el = document.createElement('link');

+  el.rel = 'icon';

+  el.type = 'image/png';

+  el.href = favIcon;

+  document.querySelector('head').appendChild(el);

+};

+

+/**

+ * @private

+ * @param {string} theme

+ */

+SlideDeck.prototype.loadTheme_ = function(theme) {

+  var styles = [];

+  if (theme.constructor.name === 'String') {

+    styles.push(theme);

+  } else {

+    styles = theme;

+  }

+

+  for (var i = 0, style; themeUrl = styles[i]; i++) {

+    var style = document.createElement('link');

+    style.rel = 'stylesheet';

+    style.type = 'text/css';

+    if (themeUrl.indexOf('http') == -1) {

+      style.href = this.CSS_DIR_ + themeUrl + '.css';

+    } else {

+      style.href = themeUrl;

+    }

+    document.querySelector('head').appendChild(style);

+  }

+};

+

+/**

+ * @private

+ */

+SlideDeck.prototype.loadAnalytics_ = function() {

+  var _gaq = window['_gaq'] || [];

+  _gaq.push(['_setAccount', this.config_.settings.analytics]);

+  _gaq.push(['_trackPageview']);

+

+  (function() {

+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

+  })();

+};

+

+

+// Polyfill missing APIs (if we need to), then create the slide deck.

+// iOS < 5 needs classList, dataset, and window.matchMedia. Modernizr contains

+// the last one.

+(function() {

+  Modernizr.load({

+    test: !!document.body.classList && !!document.body.dataset,

+    nope: ['js/polyfills/classList.min.js', 'js/polyfills/dataset.min.js'],

+    complete: function() {

+      window.slidedeck = new SlideDeck();

+    }

+  });

+})();

diff --git a/pages/transcripts/2012_EclipseConEurope/js/slides.js b/pages/transcripts/2012_EclipseConEurope/js/slides.js
new file mode 100644
index 0000000..b2b21be
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/js/slides.js
@@ -0,0 +1,5 @@
+require(['order!../slide_config', 'order!modernizr.custom.45394',

+         'order!prettify/prettify', 'order!hammer', 'order!slide-controller',

+         'order!slide-deck'], function(someModule) {

+

+});

diff --git a/pages/transcripts/2012_EclipseConEurope/scripts/md/README.md b/pages/transcripts/2012_EclipseConEurope/scripts/md/README.md
new file mode 100644
index 0000000..88eb424
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/scripts/md/README.md
@@ -0,0 +1,5 @@
+Want to use markdown instead?

+

+`python render.py` can do that for you.

+

+Dependencies: jinja2, markdown.

diff --git a/pages/transcripts/2012_EclipseConEurope/scripts/md/base.html b/pages/transcripts/2012_EclipseConEurope/scripts/md/base.html
new file mode 100644
index 0000000..a469806
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/scripts/md/base.html
@@ -0,0 +1,66 @@
+<!--
+Google IO 2012 HTML5 Slide Template
+
+Authors: Eric Bidelman <ebidel@gmail.com>
+         Luke Mahe <lukem@google.com>
+
+URL: https://code.google.com/p/io-2012-slides
+-->
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Google IO 2012</title>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="chrome=1">
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
+  <!--This one seems to work all the time, but really small on ipad-->
+  <!--<meta name="viewport" content="initial-scale=0.4">-->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <link rel="stylesheet" media="all" href="theme/css/default.css">
+  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="theme/css/phone.css">
+  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
+  <script data-main="js/slides" src="js/require-1.0.8.min.js"></script>
+</head>
+<body style="opacity: 0">
+
+<slides class="layout-widescreen">
+
+<slide class="logoslide nobackground">
+  <article class="flexbox vcenter">
+    <span><img src="images/google_developers_logo.png"></span>
+  </article>
+</slide>
+
+<slide class="title-slide segue nobackground">
+  <aside class="gdbar"><img src="images/google_developers_icon_128.png"></aside>
+  <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
+  <hgroup class="auto-fadein">
+    <h1 data-config-title><!-- populated from slide_config.json --></h1>
+    <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
+    <p data-config-presenter><!-- populated from slide_config.json --></p>
+  </hgroup>
+</slide>
+
+{% for slide in slides %}
+<slide class="{{ slide.class }}">
+  <hgroup>
+    <h1>{{ slide.h1 }}</h1>
+    <h2>{{ slide.title }}</h2>
+  </hgroup>
+  <article>
+  {{ slide.content }}
+  </article>
+</slide>
+{% endfor %}
+
+<slide class="backdrop"></slide>
+
+</slides>
+
+<!--[if IE]>
+  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
+  <script>CFInstall.check({mode: 'overlay'});</script>
+<![endif]-->
+</body>
+</html>
diff --git a/pages/transcripts/2012_EclipseConEurope/scripts/md/render.py b/pages/transcripts/2012_EclipseConEurope/scripts/md/render.py
new file mode 100644
index 0000000..be9773c
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/scripts/md/render.py
@@ -0,0 +1,53 @@
+#!/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python

+import codecs

+import re

+import jinja2

+import markdown

+

+def process_slides():

+  with codecs.open('../presentation.html', 'w', encoding='utf8') as outfile:

+    md = codecs.open('slides.md', encoding='utf8').read()

+    md_slides = md.split('\n---\n')

+    print len(md_slides)

+

+    slides = []

+    # Process each slide separately.

+    for md_slide in md_slides:

+      slide = {}

+      sections = md_slide.split('\n\n')

+      # Extract metadata at the beginning of the slide (look for key: value)

+      # pairs.

+      metadata_section = sections[0]

+      metadata = parse_metadata(metadata_section)

+      slide.update(metadata)

+      remainder_index = metadata and 1 or 0

+      # Get the content from the rest of the slide.

+      content_section = '\n\n'.join(sections[remainder_index:])

+      html = markdown.markdown(content_section)

+      slide['content'] = postprocess_html(html, markdown)

+

+      slides.append(slide)

+

+    template = jinja2.Template(open('base.html').read())

+

+    outfile.write(template.render(locals()))

+

+def parse_metadata(section):

+  """Given the first part of a slide, returns metadata associated with it."""

+  metadata = {}

+  metadata_lines = section.split('\n')

+  for line in metadata_lines:

+    colon_index = line.find(':')

+    if colon_index != -1:

+      key = line[:colon_index].strip()

+      val = line[colon_index + 1:].strip()

+      metadata[key] = val

+

+  return metadata

+

+def postprocess_html(html, metadata):

+  """Returns processed HTML to fit into the slide template format."""

+  return html

+

+if __name__ == '__main__':

+  process_slides()

diff --git a/pages/transcripts/2012_EclipseConEurope/scripts/md/slides.md b/pages/transcripts/2012_EclipseConEurope/scripts/md/slides.md
new file mode 100644
index 0000000..d9d65a7
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/scripts/md/slides.md
@@ -0,0 +1,64 @@
+title: Slide Title

+class: image

+

+![Mobile vs desktop users](image.png)

+

+---

+

+title: Agenda

+class: big

+

+Things we'll cover:

+

+- Bullet1

+- Bullet2

+- Bullet3

+

+---

+

+title: Today

+class: nobackground fill

+

+![Many kinds of devices.](image.png)

+

+<footer class="source">source: place source info here</footer>

+

+---

+

+h1: Big Title Slide

+class: title-slide

+

+---

+

+title: Code Example

+

+Media Queries are sweet:

+

+<pre class="prettyprint" data-lang="css">

+@media screen and (max-width: 640px) {

+  #sidebar { display: none; }

+}

+</pre>

+

+---

+

+title: Once more, with JavaScript

+

+<pre class="prettyprint" data-lang="javascript">

+function isSmall() {

+  return window.matchMedia("(min-device-width: ???)").matches;

+}

+

+function hasTouch() {

+  return Modernizr.touch;

+}

+

+function detectFormFactor() {

+  var device = DESKTOP;

+  if (hasTouch()) {

+    device = isSmall() ? PHONE : TABLET;

+  }

+  return device;

+}

+</pre>

+

diff --git a/pages/transcripts/2012_EclipseConEurope/serve.sh b/pages/transcripts/2012_EclipseConEurope/serve.sh
new file mode 100644
index 0000000..1efa184
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/serve.sh
@@ -0,0 +1,22 @@
+#!/bin/bash

+#

+# Starts a basic web server on the port specified.

+# 

+# ./serve.sh 3000 -> http://localhost:3000

+#

+# Copyright 2012 Eric Bidelman <ebidel@gmail.com>

+

+port=$1

+if [ $#  -ne  1 ]

+then

+  port=8000

+fi

+

+if [ $(uname -s) == "Darwin" ]

+then

+  open=open

+else

+  open=xdg-open

+fi

+

+$open http://localhost:$port/template.html && python -m SimpleHTTPServer $port;

diff --git a/pages/transcripts/2012_EclipseConEurope/slide_config.js b/pages/transcripts/2012_EclipseConEurope/slide_config.js
new file mode 100644
index 0000000..f78d445
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/slide_config.js
@@ -0,0 +1,36 @@
+var SLIDE_CONFIG = {

+  // Slide settings

+  settings: {

+    title: 'It\'s 2012 and your documentation sucks',

+    subtitle: '....or what should you do to proudly say "RTFM"',

+    useBuilds: true, // Default: true. False will turn off slide animation builds.

+    usePrettify: true, // Default: true

+    enableSlideAreas: true, // Default: true. False turns off the click areas on either slide of the slides.

+    enableTouch: true, // Default: true. If touch support should enabled. Note: the device must support touch.

+    //analytics: 'UA-XXXXXXXX-1', // TODO: Using this breaks GA for some reason (probably requirejs). Update your tracking code in template.html instead.

+    favIcon: 'images/google_developers_logo_tiny.png',

+    fonts: [

+      'Open Sans:regular,semibold,italic,italicsemibold',

+      'Inconsolata'

+    ],

+    //theme: ['mytheme'], // Add your own custom themes or styles in /theme/css. Leave off the .css extension.

+  },

+

+  // Author information

+  presenters: [{

+    name: 'Alex Lagarde (Morel)',

+    company: 'Software Engineer, Obeo',

+    gplus: 'https://plus.google.com/117030173458875569066',

+    twitter: '@yourhandle',

+    www: 'http://www.you.com',

+    github: 'http://github.com/you'

+  }/*, {

+    name: 'Second Name',

+    company: 'Job Title, Google',

+    gplus: 'http://plus.google.com/1234567890',

+    twitter: '@yourhandle',

+    www: 'http://www.you.com',

+    github: 'http://github.com/you'

+  }*/]

+};

+

diff --git a/pages/transcripts/2012_EclipseConEurope/theme/css/custo.css b/pages/transcripts/2012_EclipseConEurope/theme/css/custo.css
new file mode 100644
index 0000000..7f06b06
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/css/custo.css
@@ -0,0 +1,193 @@
+b {

+	color:#800000;

+}

+article {

+	color:#515151;

+}

+

+.stroke {

+text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;

+}

+.rightaligned {

+	text-align:right;

+}

+

+.noBullets {

+list-style: none;

+}

+

+.partTitle aside{

+	filter:alpha(opacity=50);

+	-moz-opacity:0.5;

+	-khtml-opacity: 0.5;

+	opacity: 0.5;

+	z-index:1;

+}

+.partTitle h2 {

+text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;

+position: relative;

+color:white;

+top: 85px;

+left:-20px;

+z-index:54;

+}

+

+.paddinger {

+ margin-left:100px;

+ padding-left:20px;

+ padding-bottom:20px;

+ background-color:#F8F8F8 ;

+ -moz-border-radius: 15px;

+ border-radius: 15px; 

+ border: 1px solid grey;

+ padding-right:20px;

+}

+.paddinger p {

+font-size:24px;

+}

+  

+.intent_content {

+	margin-top:15px;

+	margin-left : 100px;

+	margin-right : 120px;

+	padding-left : 50px;

+	padding-top:15px;

+	padding-bottom:10px;

+	background-color:#F8F8F8 ;

+	font-size: 18px;

+	border: 1px solid grey;

+	color:black;

+}

+

+.focused {

+	font-style:bold;

+	font-size:24px;

+	color:white;

+	padding-right:15px;

+	padding-left:15px;

+	background-color:grey;

+	 -moz-border-radius: 5px;

+	border-radius: 5px; 

+	border:1px solid black;

+}

+

+.greyed {

+	color:grey;

+	font-size:14px;

+}

+

+.greyed b {

+	color:grey;

+}

+

+.greyed .kw {

+	color:grey;

+}

+

+.intent_content b {

+	color:black;

+}

+

+

+.intent_content i {

+	font-style:italic;

+}

+

+.intent_content .kw {

+	color:#800000;

+}

+

+.intent_subsectioncontainer {

+	padding-left : 50px;

+}

+

+.intent_modelingunit {

+	padding-left : 20px;

+	margin-right:100px;

+	padding-bottom:10px;

+	margin-top:5px;

+	padding-top:5px;

+	background-color:#D8D8D8;

+	border: 1px solid grey;

+	-moz-border-radius: 15px;

+	border-radius: 15px;

+	font-size: 18px;

+	color:black;

+}

+.du {

+font-size: 16px;

+}

+

+slides > slide.nutshell:before {

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "Intent in a nutshell";

+}

+

+slides > slide.part1:before {

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "1. Documentation Sucks";

+}

+

+slides > slide.part2:before {

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "2. Synchronize your doc with Intent";

+}

+

+slides > slide.part3:before {

+  background: url(../../images/Intent/smartEA.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "3. Intent applied to Enterprise Architecture";

+}

+slides > slide.part4:before {

+  background: url(../../images/Intent/cdo.jpg) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "4. Documentation sharing sucks";

+}

+slides > slide.part5:before {

+  background: url(../../images/Intent/ariadne.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "5. To code synchronization and beyond";

+}

+slides > slide.partNONE:before {

+ background-size: 0px 0px;

+ content: "";

+}

+

+slides > slide.three_things:before {

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "The 3 things to remember";

+}

+

+slides > slide.thanks:before {

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+    -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  content: "Thank You!";

+}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/theme/css/default.css b/pages/transcripts/2012_EclipseConEurope/theme/css/default.css
new file mode 100644
index 0000000..269035b
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/css/default.css
@@ -0,0 +1,1490 @@
+/* line 17, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+html, body, div, span, applet, object, iframe,

+h1, h2, h3, h4, h5, h6, p, blockquote, pre,

+a, abbr, acronym, address, big, cite, code,

+del, dfn, em, img, ins, kbd, q, s, samp,

+small, strike, strong, sub, sup, tt, var,

+b, u, i, center,

+dl, dt, dd, ol, ul, li,

+fieldset, form, label, legend,

+table, caption, tbody, tfoot, thead, tr, th, td,

+article, aside, canvas, details, embed,

+figure, figcaption, footer, header, hgroup,

+menu, nav, output, ruby, section, summary,

+time, mark, audio, video {

+  margin: 0;

+  padding: 0;

+  border: 0;

+  font-size: 100%;

+  font: inherit;

+  vertical-align: baseline;

+}

+

+/* line 20, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+body {

+  line-height: 1;

+}

+

+/* line 22, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+ol, ul {

+  list-style: none;

+}

+

+/* line 24, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+table {

+  border-collapse: collapse;

+  border-spacing: 0;

+}

+

+/* line 26, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+caption, th, td {

+  text-align: left;

+  font-weight: normal;

+  vertical-align: middle;

+}

+

+/* line 28, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+q, blockquote {

+  quotes: none;

+}

+/* line 101, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+q:before, q:after, blockquote:before, blockquote:after {

+  content: "";

+  content: none;

+}

+

+/* line 30, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+a img {

+  border: none;

+}

+

+/* line 114, ../../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */

+article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {

+  display: block;

+}

+

+/**

+ * Base SlideDeck Styles

+ */

+/* line 48, ../scss/_base.scss */

+html {

+  height: 100%;

+  overflow: hidden;

+}

+

+/* line 53, ../scss/_base.scss */

+body {

+  margin: 0;

+  padding: 0;

+  opacity: 0;

+  height: 100%;

+  min-height: 740px;

+  width: 100%;

+  overflow: hidden;

+  color: #fff;

+  -webkit-font-smoothing: antialiased;

+  -moz-font-smoothing: antialiased;

+  -ms-font-smoothing: antialiased;

+  -o-font-smoothing: antialiased;

+  -webkit-transition: opacity 800ms ease-in 100ms;

+  -moz-transition: opacity 800ms ease-in 100ms;

+  -ms-transition: opacity 800ms ease-in 100ms;

+  -o-transition: opacity 800ms ease-in 100ms;

+  transition: opacity 800ms ease-in 100ms;

+}

+/* line 69, ../scss/_base.scss */

+body.loaded {

+  opacity: 1 !important;

+}

+

+/* line 74, ../scss/_base.scss */

+input, button {

+  vertical-align: middle;

+}

+

+/* line 78, ../scss/_base.scss */

+slides > slide[hidden] {

+  display: none !important;

+}

+

+/* line 82, ../scss/_base.scss */

+slides {

+  width: 100%;

+  height: 100%;

+  position: absolute;

+  left: 0;

+  top: 0;

+  -webkit-transform: translate3d(0, 0, 0);

+  -moz-transform: translate3d(0, 0, 0);

+  -ms-transform: translate3d(0, 0, 0);

+  -o-transform: translate3d(0, 0, 0);

+  transform: translate3d(0, 0, 0);

+  -webkit-perspective: 1000;

+  perspective: 1000;

+  -webkit-transform-style: preserve-3d;

+  transform-style: preserve-3d;

+  -webkit-transition: opacity 800ms ease-in 100ms;

+  -moz-transition: opacity 800ms ease-in 100ms;

+  -ms-transition: opacity 800ms ease-in 100ms;

+  -o-transition: opacity 800ms ease-in 100ms;

+  transition: opacity 800ms ease-in 100ms;

+}

+

+/* line 94, ../scss/_base.scss */

+slides > slide {

+  display: block;

+  position: absolute;

+  overflow: hidden;

+  left: 50%;

+  top: 50%;

+  -webkit-box-sizing: border-box;

+  -moz-box-sizing: border-box;

+  box-sizing: border-box;

+}

+

+/* Slide styles */

+/*article.fill iframe {

+  position: absolute;

+  left: 0;

+  top: 0;

+  width: 100%;

+  height: 100%;

+

+  border: 0;

+  margin: 0;

+

+  @include border-radius(10px);

+

+  z-index: -1;

+}

+

+slide.fill {

+  background-repeat: no-repeat;

+  @include background-size(cover);

+}

+

+slide.fill img {

+  position: absolute;

+  left: 0;

+  top: 0;

+  min-width: 100%;

+  min-height: 100%;

+

+  z-index: -1;

+}

+*/

+/**

+ * Theme Styles

+ */

+/* line 58, ../scss/default.scss */

+::selection {

+  color: white;

+  background-color: #ffd14d;

+  text-shadow: none;

+}

+

+/* line 64, ../scss/default.scss */

+::-webkit-scrollbar {

+  height: 16px;

+  overflow: visible;

+  width: 16px;

+}

+

+/* line 69, ../scss/default.scss */

+::-webkit-scrollbar-thumb {

+  background-color: rgba(0, 0, 0, 0.1);

+  background-clip: padding-box;

+  border: solid transparent;

+  min-height: 28px;

+  padding: 100px 0 0;

+  -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);

+  -moz-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);

+  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);

+  border-width: 1px 1px 1px 6px;

+}

+

+/* line 78, ../scss/default.scss */

+::-webkit-scrollbar-thumb:hover {

+  background-color: rgba(0, 0, 0, 0.5);

+}

+

+/* line 81, ../scss/default.scss */

+::-webkit-scrollbar-button {

+  height: 0;

+  width: 0;

+}

+

+/* line 85, ../scss/default.scss */

+::-webkit-scrollbar-track {

+  background-clip: padding-box;

+  border: solid transparent;

+  border-width: 0 0 0 4px;

+}

+

+/* line 90, ../scss/default.scss */

+::-webkit-scrollbar-corner {

+  background: transparent;

+}

+

+/* line 94, ../scss/default.scss */

+body {

+  background: black;

+}

+

+/* line 98, ../scss/default.scss */

+slides > slide {

+  display: none;

+  font-family: 'Ubuntu', Ubuntu Condensed;

+  font-size: 26px;

+  color: #797979;

+  width: 900px;

+  height: 700px;

+  margin-left: -450px;

+  margin-top: -350px;

+  padding: 40px 60px;

+  -webkit-border-radius: 5px;

+  -moz-border-radius: 5px;

+  -ms-border-radius: 5px;

+  -o-border-radius: 5px;

+  border-radius: 5px;

+  -webkit-transition: all 0.6s ease-in-out;

+  -moz-transition: all 0.6s ease-in-out;

+  -ms-transition: all 0.6s ease-in-out;

+  -o-transition: all 0.6s ease-in-out;

+  transition: all 0.6s ease-in-out;

+}

+/* line 119, ../scss/default.scss */

+slides > slide.far-past {

+  display: none;

+}

+/* line 126, ../scss/default.scss */

+slides > slide.past {

+  display: block;

+  opacity: 0;

+}

+/* line 133, ../scss/default.scss */

+slides > slide.current {

+  display: block;

+  opacity: 1;

+}

+/* line 139, ../scss/default.scss */

+slides > slide.current .auto-fadein {

+  opacity: 1;

+}

+/* line 143, ../scss/default.scss */

+slides > slide.current .gdbar {

+  -webkit-background-size: 100% 100%;

+  -moz-background-size: 100% 100%;

+  -o-background-size: 100% 100%;

+  background-size: 100% 100%;

+}

+/* line 148, ../scss/default.scss */

+slides > slide.next {

+  display: block;

+  opacity: 0;

+  pointer-events: none;

+}

+/* line 156, ../scss/default.scss */

+slides > slide.far-next {

+  display: none;

+}

+/* line 163, ../scss/default.scss */

+slides > slide.dark {

+  background: #515151 !important;

+}

+/* line 171, ../scss/default.scss */

+slides > slide:not(.nobackground):before {

+  font-size: 12pt;

+  content: "Intent";

+  position: absolute;

+  bottom: 20px;

+  left: 60px;

+  background: url(../../images/Intent/Image-Intent_logo_cropped.png) no-repeat 0 50%;

+  -webkit-background-size: 30px 30px;

+  -moz-background-size: 30px 30px;

+  -o-background-size: 30px 30px;

+  background-size: 30px 30px;

+  padding-left: 40px;

+  height: 30px;

+  line-height: 1.9;

+}

+/* line 183, ../scss/default.scss */

+slides > slide:not(.nobackground):after {

+  font-size: 12pt;

+  content: attr(data-slide-num) "/" attr(data-total-slides);

+  position: absolute;

+  bottom: 20px;

+  right: 60px;

+  line-height: 1.9;

+}

+/* line 194, ../scss/default.scss */

+slides > slide.title-slide:after {

+ 

+}

+/* line 206, ../scss/default.scss */

+slides > slide.backdrop {

+  z-index: -10;

+  display: block !important;

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(85%, #ffffff), color-stop(100%, #e6e6e6));

+  background: -webkit-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -moz-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -o-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -ms-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background-color: white;

+}

+/* line 211, ../scss/default.scss */

+slides > slide.backdrop:after, slides > slide.backdrop:before {

+  display: none;

+}

+/* line 216, ../scss/default.scss */

+slides > slide > hgroup + article {

+  margin-top: 45px;

+}

+/* line 220, ../scss/default.scss */

+slides > slide > hgroup + article.flexbox.vcenter, slides > slide > hgroup + article.flexbox.vleft, slides > slide > hgroup + article.flexbox.vright {

+  height: 80%;

+}

+/* line 225, ../scss/default.scss */

+slides > slide > hgroup + article p {

+  margin-bottom: 1em;

+}

+/* line 230, ../scss/default.scss */

+slides > slide > article:only-child {

+  height: 100%;

+}

+/* line 233, ../scss/default.scss */

+slides > slide > article:only-child > iframe {

+  height: 98%;

+}

+

+/* line 239, ../scss/default.scss */

+slides.layout-faux-widescreen > slide {

+  padding: 40px 160px;

+}

+

+/* line 248, ../scss/default.scss */

+slides.layout-widescreen > slide,

+slides.layout-faux-widescreen > slide {

+  margin-left: -550px;

+  width: 1100px;

+}

+/* line 253, ../scss/default.scss */

+slides.layout-widescreen > slide.far-past,

+slides.layout-faux-widescreen > slide.far-past {

+  display: block;

+  display: none;

+  -webkit-transform: translate(-2260px);

+  -moz-transform: translate(-2260px);

+  -ms-transform: translate(-2260px);

+  -o-transform: translate(-2260px);

+  transform: translate(-2260px);

+  -webkit-transform: translate3d(-2260px, 0, 0);

+  -moz-transform: translate3d(-2260px, 0, 0);

+  -ms-transform: translate3d(-2260px, 0, 0);

+  -o-transform: translate3d(-2260px, 0, 0);

+  transform: translate3d(-2260px, 0, 0);

+}

+/* line 260, ../scss/default.scss */

+slides.layout-widescreen > slide.past,

+slides.layout-faux-widescreen > slide.past {

+  display: block;

+  opacity: 0;

+}

+/* line 267, ../scss/default.scss */

+slides.layout-widescreen > slide.current,

+slides.layout-faux-widescreen > slide.current {

+  display: block;

+  opacity: 1;

+}

+/* line 274, ../scss/default.scss */

+slides.layout-widescreen > slide.next,

+slides.layout-faux-widescreen > slide.next {

+  display: block;

+  opacity: 0;

+  pointer-events: none;

+}

+/* line 282, ../scss/default.scss */

+slides.layout-widescreen > slide.far-next,

+slides.layout-faux-widescreen > slide.far-next {

+  display: block;

+  display: none;

+  -webkit-transform: translate(2260px);

+  -moz-transform: translate(2260px);

+  -ms-transform: translate(2260px);

+  -o-transform: translate(2260px);

+  transform: translate(2260px);

+  -webkit-transform: translate3d(2260px, 0, 0);

+  -moz-transform: translate3d(2260px, 0, 0);

+  -ms-transform: translate3d(2260px, 0, 0);

+  -o-transform: translate3d(2260px, 0, 0);

+  transform: translate3d(2260px, 0, 0);

+}

+/* line 289, ../scss/default.scss */

+slides.layout-widescreen #prev-slide-area,

+slides.layout-faux-widescreen #prev-slide-area {

+  margin-left: -650px;

+}

+/* line 293, ../scss/default.scss */

+slides.layout-widescreen #next-slide-area,

+slides.layout-faux-widescreen #next-slide-area {

+  margin-left: 550px;

+}

+

+/* line 298, ../scss/default.scss */

+b {

+  font-weight: 600;

+}

+

+/* line 302, ../scss/default.scss */

+a {

+  color: #2a7cdf;

+  text-decoration: none;

+  border-bottom: 1px solid rgba(42, 124, 223, 0.5);

+}

+/* line 307, ../scss/default.scss */

+a:hover {

+  color: black !important;

+}

+

+/* line 312, ../scss/default.scss */

+h1, h2, h3 {

+  font-weight: 600;

+}

+

+h1 {

+}

+/* line 316, ../scss/default.scss */

+h2 {

+  font-size: 45px;

+  line-height: 45px;

+  letter-spacing: -2px;

+  color: #515151;

+}

+

+/* line 323, ../scss/default.scss */

+h3 {

+  font-size: 30px;

+  letter-spacing: -1px;

+  line-height: 2;

+  font-weight: inherit;

+  color: #797979;

+}

+

+/* line 331, ../scss/default.scss */

+ul {

+  margin-left: 1.2em;

+  margin-bottom: 1em;

+  position: relative;

+}

+/* line 336, ../scss/default.scss */

+ul li {

+  margin-bottom: 0.5em;

+}

+/* line 339, ../scss/default.scss */

+ul li ul {

+  margin-left: 2em;

+  margin-bottom: 0;

+}

+/* line 343, ../scss/default.scss */

+ul li ul li:before {

+  content: '-';

+  font-weight: 600;

+}

+/* line 350, ../scss/default.scss */

+ul > li:before {

+  content: '·';

+  margin-left: -1em;

+  position: absolute;

+  font-weight: 600;

+}

+/* line 357, ../scss/default.scss */

+ul ul {

+  margin-top: .5em;

+}

+

+/* line 364, ../scss/default.scss */

+.highlight-code slide.current pre > * {

+  opacity: 0.25;

+  -webkit-transition: opacity 0.5s ease-in;

+  -moz-transition: opacity 0.5s ease-in;

+  -ms-transition: opacity 0.5s ease-in;

+  -o-transition: opacity 0.5s ease-in;

+  transition: opacity 0.5s ease-in;

+}

+/* line 368, ../scss/default.scss */

+.highlight-code slide.current b {

+  opacity: 1;

+}

+

+/* line 373, ../scss/default.scss */

+pre {

+  font-family: 'Inconsolata', 'Courier New', monospace;

+  font-size: 20px;

+  line-height: 28px;

+  padding: 10px 0 10px 60px;

+  letter-spacing: -1px;

+  margin-bottom: 20px;

+  width: 106%;

+  background-color: #e6e6e6;

+  left: -60px;

+  position: relative;

+  -webkit-box-sizing: border-box;

+  -moz-box-sizing: border-box;

+  box-sizing: border-box;

+  /*overflow: hidden;*/

+}

+/* line 387, ../scss/default.scss */

+pre[data-lang]:after {

+  content: attr(data-lang);

+  background-color: #a9a9a9;

+  right: 0;

+  top: 0;

+  position: absolute;

+  font-size: 16pt;

+  color: white;

+  padding: 2px 25px;

+  text-transform: uppercase;

+}

+

+/* line 400, ../scss/default.scss */

+pre[data-lang="go"] {

+  color: #333;

+}

+

+/* line 404, ../scss/default.scss */

+code {

+  font-size: 95%;

+  font-family: 'Inconsolata', 'Courier New', monospace;

+  color: black;

+}

+

+/* line 410, ../scss/default.scss */

+iframe {

+  width: 100%;

+  height: 530px;

+  background: white;

+  border: 1px solid #e6e6e6;

+  -webkit-box-sizing: border-box;

+  -moz-box-sizing: border-box;

+  box-sizing: border-box;

+}

+

+/* line 418, ../scss/default.scss */

+dt {

+  font-weight: bold;

+}

+

+/* line 422, ../scss/default.scss */

+button {

+  display: inline-block;

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(40%, #f9f9f9), color-stop(70%, #e3e3e3));

+  background: -webkit-linear-gradient(#f9f9f9 40%, #e3e3e3 70%);

+  background: -moz-linear-gradient(#f9f9f9 40%, #e3e3e3 70%);

+  background: -o-linear-gradient(#f9f9f9 40%, #e3e3e3 70%);

+  background: -ms-linear-gradient(#f9f9f9 40%, #e3e3e3 70%);

+  background: linear-gradient(#f9f9f9 40%, #e3e3e3 70%);

+  border: 1px solid #a9a9a9;

+  -webkit-border-radius: 3px;

+  -moz-border-radius: 3px;

+  -ms-border-radius: 3px;

+  -o-border-radius: 3px;

+  border-radius: 3px;

+  padding: 5px 8px;

+  outline: none;

+  white-space: nowrap;

+  -webkit-user-select: none;

+  -moz-user-select: none;

+  user-select: none;

+  cursor: pointer;

+  text-shadow: 1px 1px white;

+  font-size: 10pt;

+}

+

+/* line 436, ../scss/default.scss */

+button:not(:disabled):hover {

+  border-color: #515151;

+}

+

+/* line 440, ../scss/default.scss */

+button:not(:disabled):active {

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(40%, #e3e3e3), color-stop(70%, #f9f9f9));

+  background: -webkit-linear-gradient(#e3e3e3 40%, #f9f9f9 70%);

+  background: -moz-linear-gradient(#e3e3e3 40%, #f9f9f9 70%);

+  background: -o-linear-gradient(#e3e3e3 40%, #f9f9f9 70%);

+  background: -ms-linear-gradient(#e3e3e3 40%, #f9f9f9 70%);

+  background: linear-gradient(#e3e3e3 40%, #f9f9f9 70%);

+}

+

+/* line 444, ../scss/default.scss */

+:disabled {

+  color: #a9a9a9;

+}

+

+/* line 448, ../scss/default.scss */

+.blue {

+  color: #4387fd;

+}

+

+/* line 451, ../scss/default.scss */

+.blue2 {

+  color: #3c8ef3;

+}

+

+/* line 454, ../scss/default.scss */

+.blue3 {

+  color: #2a7cdf;

+}

+

+/* line 457, ../scss/default.scss */

+.yellow {

+  color: #ffd14d;

+}

+

+/* line 460, ../scss/default.scss */

+.yellow2 {

+  color: #f9cc46;

+}

+

+/* line 463, ../scss/default.scss */

+.yellow3 {

+  color: #f6c000;

+}

+

+/* line 466, ../scss/default.scss */

+.green {

+  color: #0da861;

+}

+

+/* line 469, ../scss/default.scss */

+.green2 {

+  color: #00a86d;

+}

+

+/* line 472, ../scss/default.scss */

+.green3 {

+  color: #009f5d;

+}

+

+/* line 475, ../scss/default.scss */

+.red {

+  color: #f44a3f;

+}

+

+/* line 478, ../scss/default.scss */

+.red2 {

+  color: #e0543e;

+}

+

+/* line 481, ../scss/default.scss */

+.red3 {

+  color: #d94d3a;

+}

+

+/* line 484, ../scss/default.scss */

+.gray {

+  color: #e6e6e6;

+}

+

+/* line 487, ../scss/default.scss */

+.gray2 {

+  color: #a9a9a9;

+}

+

+/* line 490, ../scss/default.scss */

+.gray3 {

+  color: #797979;

+}

+

+/* line 493, ../scss/default.scss */

+.gray4 {

+  color: #515151;

+}

+

+/* line 497, ../scss/default.scss */

+.white {

+  color: white !important;

+}

+

+/* line 500, ../scss/default.scss */

+.black {

+  color: black !important;

+}

+

+/* line 504, ../scss/default.scss */

+.columns-2 {

+  -webkit-column-count: 2;

+  -moz-column-count: 2;

+  -o-column-count: 2;

+  column-count: 2;

+}

+

+/* line 508, ../scss/default.scss */

+table {

+  width: 100%;

+  border-collapse: -moz-initial;

+  border-collapse: initial;

+  border-spacing: 2px;

+  border-bottom: 1px solid #797979;

+}

+/* line 515, ../scss/default.scss */

+table tr > td:first-child, table th {

+  font-weight: 600;

+  color: #515151;

+}

+/* line 520, ../scss/default.scss */

+table tr:nth-child(odd) {

+  background-color: #e6e6e6;

+}

+/* line 524, ../scss/default.scss */

+table th {

+  color: white;

+  font-size: 18px;

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(40%, #4387fd), color-stop(80%, #2a7cdf)) no-repeat;

+  background: -webkit-linear-gradient(top, #4387fd 40%, #2a7cdf 80%) no-repeat;

+  background: -moz-linear-gradient(top, #4387fd 40%, #2a7cdf 80%) no-repeat;

+  background: -o-linear-gradient(top, #4387fd 40%, #2a7cdf 80%) no-repeat;

+  background: -ms-linear-gradient(top, #4387fd 40%, #2a7cdf 80%) no-repeat;

+  background: linear-gradient(top, #4387fd 40%, #2a7cdf 80%) no-repeat;

+}

+/* line 530, ../scss/default.scss */

+table td, table th {

+  font-size: 18px;

+  padding: 1em 0.5em;

+}

+/* line 535, ../scss/default.scss */

+table td.highlight {

+  color: #515151;

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(40%, #ffd14d), color-stop(80%, #f6c000)) no-repeat;

+  background: -webkit-linear-gradient(top, #ffd14d 40%, #f6c000 80%) no-repeat;

+  background: -moz-linear-gradient(top, #ffd14d 40%, #f6c000 80%) no-repeat;

+  background: -o-linear-gradient(top, #ffd14d 40%, #f6c000 80%) no-repeat;

+  background: -ms-linear-gradient(top, #ffd14d 40%, #f6c000 80%) no-repeat;

+  background: linear-gradient(top, #ffd14d 40%, #f6c000 80%) no-repeat;

+}

+/* line 540, ../scss/default.scss */

+table.rows {

+  border-bottom: none;

+  border-right: 1px solid #797979;

+}

+

+/* line 546, ../scss/default.scss */

+q {

+  font-size: 45px;

+  line-height: 72px;

+}

+/* line 550, ../scss/default.scss */

+q:before {

+  content: '“';

+  position: absolute;

+  margin-left: -0.5em;

+}

+/* line 555, ../scss/default.scss */

+q:after {

+  content: '”';

+  position: absolute;

+  margin-left: 0.1em;

+}

+

+/* line 562, ../scss/default.scss */

+slide.fill {

+  background-repeat: no-repeat;

+  -webkit-border-radius: 5px;

+  -moz-border-radius: 5px;

+  -ms-border-radius: 5px;

+  -o-border-radius: 5px;

+  border-radius: 5px;

+  -webkit-background-size: cover;

+  -moz-background-size: cover;

+  -o-background-size: cover;

+  background-size: cover;

+}

+

+/* Size variants */

+/* line 571, ../scss/default.scss */

+article.smaller p, article.smaller ul {

+  font-size: 20px;

+  line-height: 24px;

+  letter-spacing: 0;

+}

+/* line 577, ../scss/default.scss */

+article.smaller table td, article.smaller table th {

+  font-size: 14px;

+}

+/* line 581, ../scss/default.scss */

+article.smaller pre {

+  font-size: 15px;

+  line-height: 20px;

+  letter-spacing: 0;

+}

+/* line 586, ../scss/default.scss */

+article.smaller q {

+  font-size: 40px;

+  line-height: 48px;

+}

+/* line 590, ../scss/default.scss */

+article.smaller q:before, article.smaller q:after {

+  font-size: 60px;

+}

+

+/* Builds */

+/* line 599, ../scss/default.scss */

+.build > * {

+  -webkit-transition: opacity 0.5s ease-in-out 0.2s;

+  -moz-transition: opacity 0.5s ease-in-out 0.2s;

+  -ms-transition: opacity 0.5s ease-in-out 0.2s;

+  -o-transition: opacity 0.5s ease-in-out 0.2s;

+  transition: opacity 0.5s ease-in-out 0.2s;

+}

+/* line 603, ../scss/default.scss */

+.build .to-build {

+  opacity: 0;

+}

+/* line 607, ../scss/default.scss */

+.build .build-fade {

+  opacity: 0.3;

+}

+/* line 610, ../scss/default.scss */

+.build .build-fade:hover {

+  opacity: 1.0;

+}

+

+/* line 617, ../scss/default.scss */

+.popup .next .build .to-build {

+  opacity: 1;

+}

+/* line 621, ../scss/default.scss */

+.popup .next .build .build-fade {

+  opacity: 1;

+}

+

+/* Pretty print */

+/* line 629, ../scss/default.scss */

+.prettyprint .str,

+.prettyprint .atv {

+  /* a markup attribute value */

+  color: #009f5d;

+}

+

+/* line 633, ../scss/default.scss */

+.prettyprint .kwd,

+.prettyprint .tag {

+  /* a markup tag name */

+  color: #0066cc;

+}

+

+/* line 636, ../scss/default.scss */

+.prettyprint .com {

+  /* a comment */

+  color: #797979;

+  font-style: italic;

+}

+

+/* line 640, ../scss/default.scss */

+.prettyprint .lit {

+  /* a literal value */

+  color: #7f0000;

+}

+

+/* line 645, ../scss/default.scss */

+.prettyprint .pun,

+.prettyprint .opn,

+.prettyprint .clo {

+  color: #515151;

+}

+

+/* line 651, ../scss/default.scss */

+.prettyprint .typ,

+.prettyprint .atn,

+.prettyprint .dec,

+.prettyprint .var {

+  /* a declaration; a variable name */

+  color: #d94d3a;

+}

+

+/* line 654, ../scss/default.scss */

+.prettyprint .pln {

+  color: #515151;

+}

+

+/* line 658, ../scss/default.scss */

+.note {

+  position: absolute;

+  z-index: 100;

+  width: 100%;

+  height: 100%;

+  top: 0;

+  left: 0;

+  padding: 1em;

+  background: rgba(0, 0, 0, 0.3);

+  opacity: 0;

+  pointer-events: none;

+  display: -webkit-box !important;

+  display: -moz-box !important;

+  display: -ms-box !important;

+  display: -o-box !important;

+  display: box !important;

+  -webkit-box-orient: vertical;

+  -moz-box-orient: vertical;

+  -ms-box-orient: vertical;

+  box-orient: vertical;

+  -webkit-box-align: center;

+  -moz-box-align: center;

+  -ms-box-align: center;

+  box-align: center;

+  -webkit-box-pack: center;

+  -moz-box-pack: center;

+  -ms-box-pack: center;

+  box-pack: center;

+  -webkit-border-radius: 5px;

+  -moz-border-radius: 5px;

+  -ms-border-radius: 5px;

+  -o-border-radius: 5px;

+  border-radius: 5px;

+  -webkit-box-sizing: border-box;

+  -moz-box-sizing: border-box;

+  box-sizing: border-box;

+  -webkit-transform: translateY(350px);

+  -moz-transform: translateY(350px);

+  -ms-transform: translateY(350px);

+  -o-transform: translateY(350px);

+  transform: translateY(350px);

+  -webkit-transition: all 0.4s ease-in-out;

+  -moz-transition: all 0.4s ease-in-out;

+  -ms-transition: all 0.4s ease-in-out;

+  -o-transition: all 0.4s ease-in-out;

+  transition: all 0.4s ease-in-out;

+}

+/* line 676, ../scss/default.scss */

+.note > section {

+  background: #fff;

+  -webkit-border-radius: 5px;

+  -moz-border-radius: 5px;

+  -ms-border-radius: 5px;

+  -o-border-radius: 5px;

+  border-radius: 5px;

+  -webkit-box-shadow: 0 0 10px #797979;

+  -moz-box-shadow: 0 0 10px #797979;

+  box-shadow: 0 0 10px #797979;

+  width: 60%;

+  padding: 2em;

+}

+

+/* line 693, ../scss/default.scss */

+.with-notes.popup slides.layout-widescreen slide.next,

+.with-notes.popup slides.layout-faux-widescreen slide.next {

+  -webkit-transform: translate3d(690px, 80px, 0) scale(0.35);

+  -moz-transform: translate3d(690px, 80px, 0) scale(0.35);

+  -ms-transform: translate3d(690px, 80px, 0) scale(0.35);

+  -o-transform: translate3d(690px, 80px, 0) scale(0.35);

+  transform: translate3d(690px, 80px, 0) scale(0.35);

+}

+/* line 696, ../scss/default.scss */

+.with-notes.popup slides.layout-widescreen slide .note,

+.with-notes.popup slides.layout-faux-widescreen slide .note {

+  -webkit-transform: translate3d(300px, 800px, 0) scale(1.5);

+  -moz-transform: translate3d(300px, 800px, 0) scale(1.5);

+  -ms-transform: translate3d(300px, 800px, 0) scale(1.5);

+  -o-transform: translate3d(300px, 800px, 0) scale(1.5);

+  transform: translate3d(300px, 800px, 0) scale(1.5);

+}

+/* line 702, ../scss/default.scss */

+.with-notes.popup slide {

+  overflow: visible;

+  background: white;

+  -webkit-transition: none;

+  -moz-transition: none;

+  -ms-transition: none;

+  -o-transition: none;

+  transition: none;

+  pointer-events: none;

+  -webkit-transform-origin: 0 0;

+  -moz-transform-origin: 0 0;

+  -ms-transform-origin: 0 0;

+  -o-transform-origin: 0 0;

+  transform-origin: 0 0;

+}

+/* line 709, ../scss/default.scss */

+.with-notes.popup slide:not(.backdrop) {

+  -webkit-transform: scale(0.6) translate3d(0.5em, 0.5em, 0);

+  -moz-transform: scale(0.6) translate3d(0.5em, 0.5em, 0);

+  -ms-transform: scale(0.6) translate3d(0.5em, 0.5em, 0);

+  -o-transform: scale(0.6) translate3d(0.5em, 0.5em, 0);

+  transform: scale(0.6) translate3d(0.5em, 0.5em, 0);

+  -webkit-box-shadow: 0 0 10px #797979;

+  -moz-box-shadow: 0 0 10px #797979;

+  box-shadow: 0 0 10px #797979;

+}

+/* line 714, ../scss/default.scss */

+.with-notes.popup slide.backdrop {

+  background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 600, color-stop(0%, #b1dfff), color-stop(100%, #4387fd));

+  background-image: -webkit-radial-gradient(50% 50%, #b1dfff 0%, #4387fd 600px);

+  background-image: -moz-radial-gradient(50% 50%, #b1dfff 0%, #4387fd 600px);

+  background-image: -o-radial-gradient(50% 50%, #b1dfff 0%, #4387fd 600px);

+  background-image: -ms-radial-gradient(50% 50%, #b1dfff 0%, #4387fd 600px);

+  background-image: radial-gradient(50% 50%, #b1dfff 0%, #4387fd 600px);

+}

+/* line 720, ../scss/default.scss */

+.with-notes.popup slide.next {

+  -webkit-transform: translate3d(570px, 80px, 0) scale(0.35);

+  -moz-transform: translate3d(570px, 80px, 0) scale(0.35);

+  -ms-transform: translate3d(570px, 80px, 0) scale(0.35);

+  -o-transform: translate3d(570px, 80px, 0) scale(0.35);

+  transform: translate3d(570px, 80px, 0) scale(0.35);

+  opacity: 1 !important;

+}

+/* line 724, ../scss/default.scss */

+.with-notes.popup slide.next .note {

+  display: none !important;

+}

+/* line 730, ../scss/default.scss */

+.with-notes.popup .note {

+  width: 109%;

+  height: 260px;

+  background: #e6e6e6;

+  padding: 0;

+  -webkit-box-shadow: 0 0 10px #797979;

+  -moz-box-shadow: 0 0 10px #797979;

+  box-shadow: 0 0 10px #797979;

+  -webkit-transform: translate3d(250px, 800px, 0) scale(1.5);

+  -moz-transform: translate3d(250px, 800px, 0) scale(1.5);

+  -ms-transform: translate3d(250px, 800px, 0) scale(1.5);

+  -o-transform: translate3d(250px, 800px, 0) scale(1.5);

+  transform: translate3d(250px, 800px, 0) scale(1.5);

+  -webkit-transition: opacity 400ms ease-in-out;

+  -moz-transition: opacity 400ms ease-in-out;

+  -ms-transition: opacity 400ms ease-in-out;

+  -o-transition: opacity 400ms ease-in-out;

+  transition: opacity 400ms ease-in-out;

+}

+/* line 741, ../scss/default.scss */

+.with-notes.popup .note > section {

+  background: #fff;

+  -webkit-border-radius: 5px;

+  -moz-border-radius: 5px;

+  -ms-border-radius: 5px;

+  -o-border-radius: 5px;

+  border-radius: 5px;

+  height: 100%;

+  width: 100%;

+  -webkit-box-sizing: border-box;

+  -moz-box-sizing: border-box;

+  box-sizing: border-box;

+  -webkit-box-shadow: none;

+  -moz-box-shadow: none;

+  box-shadow: none;

+  overflow: auto;

+  padding: 1em;

+}

+/* line 754, ../scss/default.scss */

+.with-notes .note {

+  opacity: 1;

+  -webkit-transform: translateY(0);

+  -moz-transform: translateY(0);

+  -ms-transform: translateY(0);

+  -o-transform: translateY(0);

+  transform: translateY(0);

+  pointer-events: auto;

+}

+

+/* line 761, ../scss/default.scss */

+.source {

+  font-size: 14px;

+  color: #a9a9a9;

+  position: absolute;

+  bottom: 70px;

+  left: 60px;

+}

+

+/* line 769, ../scss/default.scss */

+.centered {

+  text-align: center;

+}

+

+/* line 773, ../scss/default.scss */

+.reflect {

+  -webkit-box-reflect: below 3px -webkit-linear-gradient(rgba(255, 255, 255, 0) 85%, white 150%);

+  -moz-box-reflect: below 3px -moz-linear-gradient(rgba(255, 255, 255, 0) 85%, white 150%);

+  -o-box-reflect: below 3px -o-linear-gradient(rgba(255, 255, 255, 0) 85%, white 150%);

+  -ms-box-reflect: below 3px -ms-linear-gradient(rgba(255, 255, 255, 0) 85%, white 150%);

+  box-reflect: below 3px linear-gradient(rgba(255, 255, 255, 0) 85%, #ffffff 150%);

+}

+

+/* line 781, ../scss/default.scss */

+.flexbox {

+  display: -webkit-box !important;

+  display: -moz-box !important;

+  display: -ms-box !important;

+  display: -o-box !important;

+  display: box !important;

+}

+

+/* line 785, ../scss/default.scss */

+.flexbox.vcenter {

+  -webkit-box-orient: vertical;

+  -moz-box-orient: vertical;

+  -ms-box-orient: vertical;

+  box-orient: vertical;

+  -webkit-box-align: center;

+  -moz-box-align: center;

+  -ms-box-align: center;

+  box-align: center;

+  -webkit-box-pack: center;

+  -moz-box-pack: center;

+  -ms-box-pack: center;

+  box-pack: center;

+  height: 100%;

+  width: 100%;

+}

+

+/* line 791, ../scss/default.scss */

+.flexbox.vleft {

+  -webkit-box-orient: vertical;

+  -moz-box-orient: vertical;

+  -ms-box-orient: vertical;

+  box-orient: vertical;

+  -webkit-box-align: left;

+  -moz-box-align: left;

+  -ms-box-align: left;

+  box-align: left;

+  -webkit-box-pack: center;

+  -moz-box-pack: center;

+  -ms-box-pack: center;

+  box-pack: center;

+  height: 100%;

+  width: 100%;

+}

+

+/* line 797, ../scss/default.scss */

+.flexbox.vright {

+  -webkit-box-orient: vertical;

+  -moz-box-orient: vertical;

+  -ms-box-orient: vertical;

+  box-orient: vertical;

+  -webkit-box-align: end;

+  -moz-box-align: end;

+  -ms-box-align: end;

+  box-align: end;

+  -webkit-box-pack: center;

+  -moz-box-pack: center;

+  -ms-box-pack: center;

+  box-pack: center;

+  height: 100%;

+  width: 100%;

+}

+

+/* line 803, ../scss/default.scss */

+.auto-fadein {

+  -webkit-transition: opacity 0.6s ease-in 1s;

+  -moz-transition: opacity 0.6s ease-in 1s;

+  -ms-transition: opacity 0.6s ease-in 1s;

+  -o-transition: opacity 0.6s ease-in 1s;

+  transition: opacity 0.6s ease-in 1s;

+  opacity: 0;

+}

+

+/* Clickable/tappable areas */

+/* line 809, ../scss/default.scss */

+.slide-area {

+  z-index: 1000;

+  position: absolute;

+  left: 0;

+  top: 0;

+  width: 100px;

+  height: 700px;

+  left: 50%;

+  top: 50%;

+  cursor: pointer;

+  margin-top: -350px;

+}

+

+/* line 826, ../scss/default.scss */

+#prev-slide-area {

+  margin-left: -550px;

+}

+

+/* line 831, ../scss/default.scss */

+#next-slide-area {

+  margin-left: 450px;

+}

+

+/* ===== SLIDE CONTENT ===== */

+/* line 839, ../scss/default.scss */

+.logoslide img {

+  width: 383px;

+  height: 92px;

+}

+

+/* line 845, ../scss/default.scss */

+.segue {

+  padding: 60px 120px;

+}

+/* line 848, ../scss/default.scss */

+.segue h2 {

+  color: #e6e6e6;

+  font-size: 60px;

+}

+/* line 852, ../scss/default.scss */

+.segue h3 {

+  color: #e6e6e6;

+  line-height: 2.8;

+}

+/* line 856, ../scss/default.scss */

+.segue hgroup {

+  position: absolute;

+  bottom: 225px;

+}

+

+/* line 862, ../scss/default.scss */

+.thank-you-slide {

+  background: #4387fd !important;

+  color: white;

+}

+/* line 866, ../scss/default.scss */

+.thank-you-slide h2 {

+  font-size: 60px;

+  color: inherit;

+}

+/* line 871, ../scss/default.scss */

+.thank-you-slide article > p {

+  margin-top: 2em;

+  font-size: 20pt;

+}

+/* line 876, ../scss/default.scss */

+.thank-you-slide > p {

+  position: absolute;

+  bottom: 80px;

+  font-size: 24pt;

+  line-height: 1.3;

+}

+

+/* line 884, ../scss/default.scss */

+aside.gdbar {

+  height: 97px;

+  width: 215px;

+  position: absolute;

+  left: -1px;

+  top: 125px;

+  -webkit-border-radius: 0 10px 10px 0;

+  -moz-border-radius: 0 10px 10px 0;

+  -ms-border-radius: 0 10px 10px 0;

+  -o-border-radius: 0 10px 10px 0;

+  border-radius: 0 10px 10px 0;

+  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e6e6e6), color-stop(100%, #e6e6e6)) no-repeat;

+  background: -webkit-linear-gradient(left, #e6e6e6, #e6e6e6) no-repeat;

+  background: -moz-linear-gradient(left, #e6e6e6, #e6e6e6) no-repeat;

+  background: -o-linear-gradient(left, #e6e6e6, #e6e6e6) no-repeat;

+  background: -ms-linear-gradient(left, #e6e6e6, #e6e6e6) no-repeat;

+  background: linear-gradient(left, #e6e6e6, #e6e6e6) no-repeat;

+  -webkit-background-size: 0% 100%;

+  -moz-background-size: 0% 100%;

+  -o-background-size: 0% 100%;

+  background-size: 0% 100%;

+  -webkit-transition: all 0.5s ease-out 0.5s;

+  -moz-transition: all 0.5s ease-out 0.5s;

+  -ms-transition: all 0.5s ease-out 0.5s;

+  -o-transition: all 0.5s ease-out 0.5s;

+  transition: all 0.5s ease-out 0.5s;

+  /* Better to transition only on background-size, but not sure how to do that with the mixin. */

+}

+/* line 895, ../scss/default.scss */

+aside.gdbar.right {

+  right: 0;

+  left: -moz-initial;

+  left: initial;

+  top: 254px;

+  /* 96 is height of gray icon bar */

+  -webkit-transform: rotateZ(180deg);

+  -moz-transform: rotateZ(180deg);

+  -ms-transform: rotateZ(180deg);

+  -o-transform: rotateZ(180deg);

+  transform: rotateZ(180deg);

+}

+/* line 902, ../scss/default.scss */

+aside.gdbar.right img {

+  -webkit-transform: rotateZ(180deg);

+  -moz-transform: rotateZ(180deg);

+  -ms-transform: rotateZ(180deg);

+  -o-transform: rotateZ(180deg);

+  transform: rotateZ(180deg);

+}

+/* line 907, ../scss/default.scss */

+aside.gdbar.bottom {

+  top: -moz-initial;

+  top: initial;

+  bottom: 60px;

+}

+/* line 913, ../scss/default.scss */

+aside.gdbar img {

+  width: 85px;

+  height: 85px;

+  position: absolute;

+  right: 0;

+  margin: 8px 15px;

+}

+

+/* line 924, ../scss/default.scss */

+.title-slide hgroup {

+  bottom: 100px;

+}

+/* line 927, ../scss/default.scss */

+.title-slide hgroup h1 {

+  font-size: 55px;

+  line-height: 1.4;

+  letter-spacing: -3px;

+  color: #515151;

+}

+/* line 934, ../scss/default.scss */

+.title-slide hgroup h2 {

+  font-size: 34px;

+  color: #a9a9a9;

+  font-weight: inherit;

+}

+/* line 940, ../scss/default.scss */

+.title-slide hgroup p {

+  font-size: 20px;

+  color: #797979;

+  line-height: 1.3;

+  margin-top: 2em;

+}

+

+/* line 949, ../scss/default.scss */

+.quote {

+  color: #e6e6e6;

+}

+/* line 952, ../scss/default.scss */

+.quote .author {

+  font-size: 24px;

+  position: absolute;

+  bottom: 80px;

+  line-height: 1.4;

+}

+

+/* line 961, ../scss/default.scss */

+[data-config-contact] a {

+  color: white;

+  border-bottom: none;

+}

+/* line 965, ../scss/default.scss */

+[data-config-contact] span {

+  width: 115px;

+  display: inline-block;

+}

+

+/* line 974, ../scss/default.scss */

+.overview.popup .note {

+  display: none !important;

+}

+/* line 980, ../scss/default.scss */

+.overview slides slide {

+  display: block;

+  cursor: pointer;

+  opacity: 0.5;

+  pointer-events: auto !important;

+  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(85%, #ffffff), color-stop(100%, #e6e6e6));

+  background: -webkit-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -moz-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -o-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: -ms-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background: linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+  background-color: white;

+}

+/* line 981, ../scss/default.scss */

+.overview slides slide.backdrop {

+  display: none !important;

+}

+/* line 996, ../scss/default.scss */

+.overview slides slide.far-past, .overview slides slide.past, .overview slides slide.next, .overview slides slide.far-next, .overview slides slide.far-past {

+  opacity: 0.5;

+  display: block;

+}

+/* line 1001, ../scss/default.scss */

+.overview slides slide.current {

+  opacity: 1;

+}

+/* line 1007, ../scss/default.scss */

+.overview .slide-area {

+  display: none;

+}

+

+@media print {

+  /* line 1014, ../scss/default.scss */

+  slides slide {

+    display: block !important;

+    position: relative;

+    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(85%, #ffffff), color-stop(100%, #e6e6e6));

+    background: -webkit-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+    background: -moz-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+    background: -o-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+    background: -ms-linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+    background: linear-gradient(#ffffff, #ffffff 85%, #e6e6e6);

+    background-color: white;

+    -webkit-transform: none !important;

+    -moz-transform: none !important;

+    -ms-transform: none !important;

+    -o-transform: none !important;

+    transform: none !important;

+    width: 100%;

+    height: 100%;

+    page-break-after: always;

+    top: auto !important;

+    left: auto !important;

+    margin-top: 0 !important;

+    margin-left: 0 !important;

+    opacity: 1 !important;

+    color: #555;

+  }

+  /* line 1034, ../scss/default.scss */

+  slides slide.far-past, slides slide.past, slides slide.next, slides slide.far-next, slides slide.far-past, slides slide.current {

+    opacity: 1 !important;

+    display: block !important;

+  }

+  /* line 1040, ../scss/default.scss */

+  slides slide .build > * {

+    -webkit-transition: none;

+    -moz-transition: none;

+    -ms-transition: none;

+    -o-transition: none;

+    transition: none;

+  }

+  /* line 1045, ../scss/default.scss */

+  slides slide .build .to-build,

+  slides slide .build .build-fade {

+    opacity: 1;

+  }

+  /* line 1050, ../scss/default.scss */

+  slides slide .auto-fadein {

+    opacity: 1 !important;

+  }

+  /* line 1054, ../scss/default.scss */

+  slides slide.backdrop {

+    display: none !important;

+  }

+  /* line 1058, ../scss/default.scss */

+  slides slide table.rows {

+    border-right: 0;

+  }

+  /* line 1063, ../scss/default.scss */

+  slides slide[hidden] {

+    display: none !important;

+  }

+

+  /* line 1068, ../scss/default.scss */

+  .slide-area {

+    display: none;

+  }

+

+  /* line 1072, ../scss/default.scss */

+  .reflect {

+    -webkit-box-reflect: none;

+    -moz-box-reflect: none;

+    -o-box-reflect: none;

+    -ms-box-reflect: none;

+    box-reflect: none;

+  }

+

+  /* line 1080, ../scss/default.scss */

+  pre, code {

+    font-family: monospace !important;

+  }

+}

diff --git a/pages/transcripts/2012_EclipseConEurope/theme/css/phone.css b/pages/transcripts/2012_EclipseConEurope/theme/css/phone.css
new file mode 100644
index 0000000..2781b84
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/css/phone.css
@@ -0,0 +1,27 @@
+/*Smartphones (portrait and landscape) ----------- */

+/*@media only screen

+and (min-width : 320px)

+and (max-width : 480px) {

+

+}*/

+/* Smartphones (portrait) ----------- */

+/* Styles */

+/* line 17, ../scss/phone.scss */

+slides > slide {

+  /*  width: $slide-width !important;

+    height: $slide-height !important;

+    margin-left: -$slide-width / 2 !important;

+    margin-top: -$slide-height / 2 !important;

+  */

+  -webkit-transition: none !important;

+  -webkit-transition: none !important;

+  -moz-transition: none !important;

+  -ms-transition: none !important;

+  -o-transition: none !important;

+  transition: none !important;

+}

+

+/* iPhone 4 ----------- */

+@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {

+  /* Styles */

+}

diff --git a/pages/transcripts/2012_EclipseConEurope/theme/scss/_base.scss b/pages/transcripts/2012_EclipseConEurope/theme/scss/_base.scss
new file mode 100644
index 0000000..e53ae1e
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/scss/_base.scss
@@ -0,0 +1,135 @@
+@import "compass/reset";

+@import "compass/css3/border-radius";

+@import "compass/css3/box";

+@import "compass/css3/box-shadow";

+@import "compass/css3/box-sizing";

+@import "compass/css3/images";

+@import "compass/css3/text-shadow";

+@import "compass/css3/background-size";

+@import "compass/css3/transform";

+@import "compass/css3/transition";

+

+@mixin font-smoothing($val: antialiased) {

+  -webkit-font-smoothing: $val;

+  -moz-font-smoothing: $val;

+  -ms-font-smoothing: $val;

+  -o-font-smoothing: $val;

+}

+

+@mixin flexbox {

+  display: -webkit-box !important;

+  display: -moz-box !important;

+  display: -ms-box !important;

+  display: -o-box !important;

+  display: box !important;

+}

+

+@mixin flex-center-center {

+  @include box-orient(vertical);

+  @include box-align(center);

+  @include box-pack(center);

+}

+

+@mixin flex-left-center {

+  @include box-orient(vertical);

+  @include box-align(left);

+  @include box-pack(center);

+}

+

+@mixin flex-right-center {

+  @include box-orient(vertical);

+  @include box-align(end);

+  @include box-pack(center);

+}

+

+/**

+ * Base SlideDeck Styles

+ */

+html {

+  height: 100%;

+  overflow: hidden;

+}

+

+body {

+  margin: 0;

+  padding: 0;

+

+  opacity: 0;

+

+  height: 100%;

+  min-height: 740px;

+  width: 100%;

+

+  overflow: hidden;

+

+  color: #fff;

+  @include font-smoothing(antialiased);

+  @include transition(opacity 800ms ease-in 100ms); // Add small delay to prevent jank.

+

+  &.loaded {

+    opacity: 1 !important;

+  }

+}

+

+input, button {

+  vertical-align: middle;

+}

+

+slides > slide[hidden] {

+  display: none !important;

+}

+

+slides {

+  width: 100%;

+  height: 100%;

+  position: absolute;

+  left: 0;

+  top: 0;

+  @include transform(translate3d(0, 0, 0));

+  @include perspective(1000);

+  @include transform-style(preserve-3d);

+  @include transition(opacity 800ms ease-in 100ms); // Add small delay to prevent jank.

+}

+

+slides > slide {

+  display: block;

+  position: absolute;

+  overflow: hidden;

+  left: 50%;

+  top: 50%;

+  @include box-sizing(border-box);

+}

+

+/* Slide styles */

+

+

+/*article.fill iframe {

+  position: absolute;

+  left: 0;

+  top: 0;

+  width: 100%;

+  height: 100%;

+

+  border: 0;

+  margin: 0;

+

+  @include border-radius(10px);

+

+  z-index: -1;

+}

+

+slide.fill {

+  background-repeat: no-repeat;

+  @include background-size(cover);

+}

+

+slide.fill img {

+  position: absolute;

+  left: 0;

+  top: 0;

+  min-width: 100%;

+  min-height: 100%;

+

+  z-index: -1;

+}

+*/

diff --git a/pages/transcripts/2012_EclipseConEurope/theme/scss/default.scss b/pages/transcripts/2012_EclipseConEurope/theme/scss/default.scss
new file mode 100644
index 0000000..4588268
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/scss/default.scss
@@ -0,0 +1,1083 @@
+@import "base";

+@import "compass/css3/columns";

+@import "compass/css3/user-interface";

+

+$social-tags: '#io12';

+$brand-small-icon-size: 30px;

+

+$gray-1: #e6e6e6;

+$gray-2: #a9a9a9;

+$gray-3: #797979;

+$gray-4: #515151;

+

+$brand-blue: rgb(67, 135, 253);

+$brand-blue-secondary: #3c8ef3;

+$brand-blue-secondary2: #2a7cdf;

+

+$brand-red: rgb(244, 74, 63);

+$brand-red-secondary: #e0543e;

+$brand-red-secondary2: #d94d3a;

+

+$brand-yellow: rgb(255, 209, 77);

+$brand-yellow-secondary: #f9cc46;

+$brand-yellow-secondary2: #f6c000;

+

+$brand-green: rgb(13, 168, 97);

+$brand-green-secondary: #00a86d;

+$brand-green-secondary2: #009f5d;

+

+$slide-width: 900px;

+$slide-height: 700px;

+$slide-width-widescreen: 1100px;

+$slide-top-bottom-padding: 40px;

+$slide-left-right-padding: 60px;

+$slide-border-radius: 5px;

+

+$slide-tap-area-width: 100px;

+

+$article-content-top-padding: 45px;

+

+@mixin highlight-color($color: $brand-yellow) {

+  -webkit-tap-highlight-color: $color;

+  -moz-tap-highlight-color: $color;

+  -ms-tap-highlight-color: $color;

+  -o-tap-highlight-color: $color;

+  tap-highlight-color: $color;

+}

+

+@mixin backdrop {

+  @include background(linear-gradient(white, white 85%, $gray-1));

+  background-color: white;

+}

+

+

+

+/**

+ * Theme Styles

+ */

+::selection {

+  color: white;

+  background-color: $brand-yellow;

+  @include text-shadow(none);

+}

+

+::-webkit-scrollbar {

+  height: 16px;

+  overflow: visible;

+  width: 16px;

+}

+::-webkit-scrollbar-thumb {

+  background-color: rgba(0, 0, 0, .1);

+  background-clip: padding-box;

+  border: solid transparent;

+  min-height: 28px;

+  padding: 100px 0 0;

+  @include box-shadow(inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07));

+  border-width: 1px 1px 1px 6px;

+}

+::-webkit-scrollbar-thumb:hover {

+  background-color: rgba(0, 0, 0, 0.5);

+}

+::-webkit-scrollbar-button {

+  height: 0;

+  width: 0;

+}

+::-webkit-scrollbar-track {

+  background-clip: padding-box;

+  border: solid transparent;

+  border-width: 0 0 0 4px;

+}

+::-webkit-scrollbar-corner {

+  background: transparent;

+}

+

+body {

+  background: black;

+}

+

+slides > slide {

+  display: none;

+  font-family: 'Open Sans', Arial, sans-serif;

+  font-size: 26px;

+  color: $gray-3;

+  //@include background(linear-gradient(white, white 85%, $gray-1));

+  //background-color: white;

+  width: $slide-width;

+  height: $slide-height;

+  margin-left: -$slide-width / 2;

+  margin-top: -$slide-height / 2;

+  padding: $slide-top-bottom-padding $slide-left-right-padding;

+

+  @include border-radius($slide-border-radius);

+  //@include box-shadow(5px 5px 20px $gray-4);

+  @include transition(all 0.6s ease-in-out);

+

+  //$translateX: 1020px;

+  //$rotateY: 30deg;

+  //$rotateX: 45deg;

+

+  &.far-past {

+    //display: block;

+    display: none;

+    //@include transform(translate(-$translateX * 2));

+    //@include transform(translate3d(-$translateX * 2, 0, 0));

+  }

+

+  &.past {

+    display: block;

+    //@include transform(translate(-$translateX) rotateY($rotateY) rotateX($rotateX));

+    //@include transform(translate3d(-$translateX, 0, 0) rotateY($rotateY) rotateX($rotateX));

+    opacity: 0;

+  }

+

+  &.current {

+    display: block;

+    //@include transform(translate(0));

+    //@include transform(translate3d(0, 0, 0));

+    opacity: 1;

+

+    .auto-fadein {

+      opacity: 1;

+    }

+

+    .gdbar {

+      @include background-size(100% 100%);

+    }

+  }

+

+  &.next {

+    display: block;

+    //@include transform(translate($translateX) rotateY(-$rotateY) rotateX($rotateX));

+    //@include transform(translate3d($translateX, 0, 0) rotateY(-$rotateY) rotateX($rotateX));

+    opacity: 0;

+    pointer-events: none;

+  }

+

+  &.far-next {

+    //display: block;

+    display: none;

+    //@include transform(translate($translateX * 2));

+    //@include transform(translate3d($translateX * 2, 0, 0));

+  }

+

+  &.dark {

+    background: $gray-4 !important;

+  }

+

+  &:not(.nobackground) {

+    //background: white url(../../images/google_developers_icon_128.png) ($brand-small-icon-size * 2) 98% no-repeat;

+    //@include background-size($brand-small-icon-size $brand-small-icon-size);

+

+    &:before {

+      font-size: 12pt;

+      content: $social-tags;

+      position: absolute;

+      bottom: $slide-top-bottom-padding / 2;

+      left: $slide-left-right-padding;

+      background: url(../../images/google_developers_icon_128.png) no-repeat 0 50%;

+      @include background-size($brand-small-icon-size $brand-small-icon-size);

+      padding-left: $brand-small-icon-size + 10;

+      height: $brand-small-icon-size;

+      line-height: 1.9;

+    }

+    &:after {

+      font-size: 12pt;

+      content: attr(data-slide-num) '/' attr(data-total-slides);

+      position: absolute;

+      bottom: $slide-top-bottom-padding / 2;

+      right: $slide-left-right-padding;

+      line-height: 1.9;

+    }

+  }

+

+  &.title-slide {

+    &:after {

+      content: '';

+      background: url(../../images/io2012_logo.png) no-repeat 100% 50%;

+      @include background-size(contain);

+      position: absolute;

+      bottom: $slide-top-bottom-padding;

+      right: $slide-top-bottom-padding;

+      width: 100%;

+      height: 60px;

+    }

+  }

+

+  &.backdrop {

+    z-index: -10;

+    display: block !important;

+    @include backdrop;

+

+    &:after, &:before {

+      display: none; // Prevent double set of slide nums and footer icons.

+    }

+  }

+

+  > hgroup + article {

+    margin-top: $article-content-top-padding;

+

+    &.flexbox {

+      &.vcenter, &.vleft, &.vright {

+        height: 80%;

+      }

+    }

+

+    p {

+      margin-bottom: 1em;

+    }

+  }

+

+  > article:only-child {

+    height: 100%;

+

+    > iframe {

+      height: 98%;

+    }

+  }

+}

+

+slides.layout-faux-widescreen > slide {

+  padding: $slide-top-bottom-padding 160px;

+}

+

+slides.layout-widescreen,

+slides.layout-faux-widescreen {

+

+  $translateX: 1130px;

+

+  > slide {

+    margin-left: -$slide-width-widescreen / 2;

+    width: $slide-width-widescreen;

+  }

+

+  > slide.far-past {

+    display: block;

+    display: none;

+    @include transform(translate(-$translateX * 2));

+    @include transform(translate3d(-$translateX * 2, 0, 0));

+  }

+

+  > slide.past {

+    display: block;

+    //@include transform(translate(-$translateX));

+    //@include transform(translate3d(-$translateX, 0, 0));

+    opacity: 0;

+  }

+

+  > slide.current {

+    display: block;

+    //@include transform(translate(0));

+    //@include transform(translate3d(0, 0, 0));

+    opacity: 1;

+  }

+

+  > slide.next {

+    display: block;

+    //@include transform(translate($translateX));

+    //@include transform(translate3d($translateX, 0, 0));

+    opacity: 0;

+    pointer-events: none;

+  }

+

+  > slide.far-next {

+    display: block;

+    display: none;

+    @include transform(translate($translateX * 2));

+    @include transform(translate3d($translateX * 2, 0, 0));

+  }

+

+  #prev-slide-area {

+    margin-left: -$slide-width-widescreen / 2 - $slide-tap-area-width;

+  }

+

+  #next-slide-area {

+    margin-left: $slide-width-widescreen / 2;

+  }

+}

+

+b {

+  font-weight: 600;

+}

+

+a {

+  color: $brand-blue-secondary2;

+  text-decoration: none;

+  border-bottom: 1px solid rgba(42, 124, 223, 0.5);

+

+  &:hover {

+    color: black !important;

+  }

+}

+

+h1, h2, h3 {

+  font-weight: 600;

+}

+

+h2 {

+  font-size: 45px;

+  line-height: 45px;

+  letter-spacing: -2px;

+  color: $gray-4;

+}

+

+h3 {

+  font-size: 30px;

+  letter-spacing: -1px;

+  line-height: 2;

+  font-weight: inherit;

+  color: $gray-3;

+}

+

+ul {

+  margin-left: 1.2em;

+  margin-bottom: 1em;

+  position: relative;

+

+  li {

+    margin-bottom: 0.5em;

+

+    ul {

+      margin-left: 2em;

+      margin-bottom: 0;

+

+      li:before {

+        content: '-';

+        font-weight: 600;

+      }

+    }

+  }

+

+  > li:before {

+    content: '·';

+    margin-left: -1em;

+    position: absolute;

+    font-weight: 600;

+  }

+

+  ul {

+    margin-top: .5em;

+  }

+}

+

+// Code highlighting only effects the current slide.

+.highlight-code slide.current {

+  pre > * {

+    opacity: 0.25;

+    @include transition(opacity 0.5s ease-in);

+  }

+  b {

+    opacity: 1;

+  }

+}

+

+pre {

+  font-family: 'Inconsolata', 'Courier New', monospace;

+  font-size: 20px;

+  line-height: 28px;

+  padding: 10px 0 10px $slide-left-right-padding;

+  letter-spacing: -1px;

+  margin-bottom: 20px;

+  width: 106%;

+  background-color: $gray-1;

+  left: -$slide-left-right-padding;

+  position: relative;

+  @include box-sizing(border-box);

+  /*overflow: hidden;*/

+

+  &[data-lang]:after {

+    content: attr(data-lang);

+    background-color: $gray-2;

+    right: 0;

+    top: 0;

+    position: absolute;

+    font-size: 16pt;

+    color: white;

+    padding: 2px 25px;

+    text-transform: uppercase;

+  }

+}

+

+pre[data-lang="go"] {

+  color: #333;

+}

+

+code {

+  font-size: 95%;

+  font-family: 'Inconsolata', 'Courier New', monospace;

+  color: black;

+}

+

+iframe {

+  width: 100%;

+  height: $slide-height - ($slide-top-bottom-padding * 2) - ($article-content-top-padding * 2);

+  background: white;

+  border: 1px solid $gray-1;

+  @include box-sizing(border-box);

+}

+

+dt {

+  font-weight: bold;

+}

+

+button {

+  display: inline-block;

+  @include background(linear-gradient(#F9F9F9 40%, #E3E3E3 70%));

+  border: 1px solid $gray-2;

+  @include border-radius(3px);

+  padding: 5px 8px;

+  outline: none;

+  white-space: nowrap;

+  @include user-select(none);

+  cursor: pointer;

+  @include text-shadow(1px 1px #fff);

+  font-size: 10pt;

+}

+

+button:not(:disabled):hover {

+  border-color: $gray-4;

+}

+

+button:not(:disabled):active {

+  @include background(linear-gradient(#E3E3E3 40%, #F9F9F9 70%));

+}

+

+:disabled {

+  color: $gray-2;

+}

+

+.blue {

+  color: $brand-blue;

+}

+.blue2 {

+  color: $brand-blue-secondary;

+}

+.blue3 {

+  color: $brand-blue-secondary2;

+}

+.yellow {

+  color: $brand-yellow;

+}

+.yellow2 {

+  color: $brand-yellow-secondary;

+}

+.yellow3 {

+  color: $brand-yellow-secondary2;

+}

+.green {

+  color: $brand-green;

+}

+.green2 {

+  color: $brand-green-secondary;

+}

+.green3 {

+  color: $brand-green-secondary2;

+}

+.red {

+  color: $brand-red;

+}

+.red2 {

+  color: $brand-red-secondary;

+}

+.red3 {

+  color: $brand-red-secondary2;

+}

+.gray {

+  color: $gray-1;

+}

+.gray2 {

+  color: $gray-2;

+}

+.gray3 {

+  color: $gray-3;

+}

+.gray4 {

+  color: $gray-4;

+}

+

+.white {

+  color: white !important;

+}

+.black {

+  color: black !important;

+}

+

+.columns-2 {

+  @include column-count(2);

+}

+

+table {

+  width: 100%;

+  border-collapse: -moz-initial;

+  border-collapse: initial;

+  border-spacing: 2px;

+  border-bottom: 1px solid $gray-3;

+

+  tr > td:first-child, th {

+    font-weight: 600;

+    color: $gray-4;

+  }

+

+  tr:nth-child(odd) {

+    background-color: $gray-1;

+  }

+

+  th {

+    color: white;

+    font-size: 18px;

+    @include background(linear-gradient(top, $brand-blue 40%, $brand-blue-secondary2 80%) no-repeat);

+  }

+

+  td, th {

+    font-size: 18px;

+    padding: 1em 0.5em;

+  }

+

+  td.highlight {

+    color: $gray-4;

+    @include background(linear-gradient(top, $brand-yellow 40%, $brand-yellow-secondary2 80%) no-repeat);

+  }

+

+  &.rows {

+    border-bottom: none;

+    border-right: 1px solid $gray-3;

+  }

+}

+

+q {

+  font-size: 45px;

+  line-height: 72px;

+

+  &:before {

+    content: '“';

+    position: absolute;

+    margin-left: -0.5em;

+  }

+  &:after {

+    content: '”';

+    position: absolute;

+    margin-left: 0.1em;

+  }

+}

+

+slide.fill {

+  background-repeat: no-repeat;

+  @include border-radius($slide-border-radius);

+  @include background-size(cover);

+}

+

+/* Size variants */

+

+article.smaller {

+  p, ul {

+    font-size: 20px;

+    line-height: 24px;

+    letter-spacing: 0;

+  }

+  table {

+    td, th {

+      font-size: 14px;

+    }

+  }

+  pre {

+    font-size: 15px;

+    line-height: 20px;

+    letter-spacing: 0;

+  }

+  q {

+    font-size: 40px;

+    line-height: 48px;

+

+    &:before, &:after {

+      font-size: 60px;

+    }

+  }

+}

+

+/* Builds */

+

+.build {

+  > * {

+    @include transition(opacity 0.5s ease-in-out 0.2s);

+  }

+

+  .to-build {

+    opacity: 0;

+  }

+

+  .build-fade {

+    opacity: 0.3;

+

+    &:hover {

+      opacity: 1.0;

+    }

+  }

+}

+

+.popup .next .build {

+  .to-build {

+    opacity: 1;

+  }

+

+  .build-fade {

+    opacity: 1;

+  }

+}

+

+/* Pretty print */

+

+.prettyprint .str, /* string content */

+.prettyprint .atv { /* a markup attribute value */

+  color: $brand-green-secondary2; //rgb(0, 138, 53);

+}

+.prettyprint .kwd, /* a keyword */

+.prettyprint .tag { /* a markup tag name */

+  color: rgb(0, 102, 204);

+}

+.prettyprint .com { /* a comment */

+  color: $gray-3; //rgb(127, 127, 127);

+  font-style: italic;

+}

+.prettyprint .lit { /* a literal value */

+  color: rgb(127, 0, 0);

+}

+.prettyprint .pun, /* punctuation, lisp open bracket, lisp close bracket */

+.prettyprint .opn,

+.prettyprint .clo {

+  color: $gray-4; //rgb(127, 127, 127);

+}

+.prettyprint .typ, /* a type name */

+.prettyprint .atn, /* a markup attribute name */

+.prettyprint .dec,

+.prettyprint .var { /* a declaration; a variable name */

+  color: $brand-red-secondary2; //rgb(127, 0, 127);

+}

+.prettyprint .pln {

+  color: $gray-4;

+}

+

+.note {

+  position: absolute;

+  z-index: 100;

+  width: 100%;

+  height: 100%;

+  top: 0;

+  left: 0;

+  padding: 1em;

+  background: rgba(0, 0, 0, 0.3);

+  opacity: 0;

+  pointer-events: none;

+  @include flexbox;

+  @include flex-center-center;

+  @include border-radius($slide-border-radius);

+

+  @include box-sizing(border-box);

+  @include transform(translateY($slide-height / 2));@include transition(all 0.4s ease-in-out);

+

+  > section {

+    background: #fff;

+    @include border-radius($slide-border-radius);

+    @include box-shadow(0 0 10px $gray-3);

+    width: 60%;

+    padding: 2em;

+  }

+}

+

+// Speaker notes only show the current slide.

+.with-notes {

+

+  &.popup {

+

+    slides.layout-widescreen,

+    slides.layout-faux-widescreen {

+      slide {

+        &.next {

+          @include transform(translate3d($slide-width-widescreen / 2 + 140, 80px, 0) scale(0.35));

+        }

+        .note {

+          @include transform(translate3d(300px, $slide-height + 100, 0) scale(1.5));

+        }

+      }

+    }

+

+    slide {

+      overflow: visible;

+      background: white;

+      @include transition(none); // No slide transition goodies when in presenter mode.

+      pointer-events: none;

+      @include transform-origin(0, 0); // For speaker note transition.

+

+      &:not(.backdrop) {

+        @include transform(scale(0.6) translate3d(0.5em, 0.5em, 0));

+        @include box-shadow(0 0 10px $gray-3);

+      }

+

+      &.backdrop {

+        //@include background(linear-gradient($gray-1, white 30%, white 60%, $gray-1));

+        @include background-image(radial-gradient(50% 50%, #b1dfff 0%,

+                                                  $brand-blue 600px));

+      }

+

+      &.next {

+        @include transform(translate3d($slide-width / 2 + 120, 80px, 0) scale(0.35));

+        opacity: 1 !important;

+

+        .note {

+          display: none !important; // Prevents seeing notes if we go to previous slide.

+        }

+      }

+    }

+

+    .note {

+      width: 109%;

+      height: $slide-height / 2 - 90;

+      background: $gray-1;

+      padding: 0;

+

+      @include box-shadow(0 0 10px $gray-3);

+

+      @include transform(translate3d(250px, $slide-height + 100, 0) scale(1.5));

+      @include transition(opacity 400ms ease-in-out);

+

+      > section {

+        background: #fff;

+        @include border-radius($slide-border-radius);

+        height: 100%;

+        width: 100%;

+        @include box-sizing(border-box);

+        @include box-shadow(none);

+        overflow: auto;

+        padding: 1em;

+      }

+    }

+  }

+

+  .note {

+    opacity: 1;

+    @include transform(translateY(0));

+    pointer-events: auto; // Allow people to do things like open links embedded in the speaker notes.

+  }

+}

+

+.source {

+  font-size: 14px;

+  color: $gray-2;

+  position: absolute;

+  bottom: $slide-top-bottom-padding + 30px;

+  left: $slide-left-right-padding;

+}

+

+.centered {

+  text-align: center;

+}

+

+.reflect {

+  -webkit-box-reflect: below 3px -webkit-linear-gradient(rgba(255,255,255,0) 85%, white 150%);

+  -moz-box-reflect: below 3px -moz-linear-gradient(rgba(255,255,255,0) 85%, white 150%);

+  -o-box-reflect: below 3px -o-linear-gradient(rgba(255,255,255,0) 85%, white 150%);

+  -ms-box-reflect: below 3px -ms-linear-gradient(rgba(255,255,255,0) 85%, white 150%);

+  box-reflect: below 3px linear-gradient(rgba(255,255,255,0) 85%, white 150%);

+}

+

+.flexbox {

+  @include flexbox;

+}

+

+.flexbox.vcenter {

+  @include flex-center-center;

+  height: 100%;

+  width: 100%;

+}

+

+.flexbox.vleft {

+  @include flex-left-center;

+  height: 100%;

+  width: 100%;

+}

+

+.flexbox.vright {

+  @include flex-right-center;

+  height: 100%;

+  width: 100%;

+}

+

+.auto-fadein {

+  @include transition(opacity 0.6s ease-in 1s);

+  opacity: 0;

+}

+

+/* Clickable/tappable areas */

+.slide-area {

+  z-index: 1000;

+

+  position: absolute;

+  left: 0;

+  top: 0;

+  width: $slide-tap-area-width;

+  height: $slide-height;

+

+  left: 50%;

+  top: 50%;

+

+  cursor: pointer;

+  margin-top: -$slide-height / 2;

+

+  //@include highlight-color(rgba(51, 51, 51, 0.5));

+}

+#prev-slide-area {

+  margin-left: -$slide-width-widescreen / 2;

+  //@include border-radius(10px 0 0 10px);

+  //@include box-shadow(-5px 0 10px #222 inset);

+}

+#next-slide-area {

+  margin-left: $slide-width / 2;

+  //@include border-radius(0 10px 10px 0);

+  //@include box-shadow(5px 0 10px #222 inset);

+}

+

+/* ===== SLIDE CONTENT ===== */

+.logoslide {

+  img {

+    width: 383px;

+    height: 92px;

+  }

+}

+

+.segue {

+  padding: $slide-left-right-padding $slide-left-right-padding * 2;

+

+  h2 {

+    color: $gray-1;

+    font-size: 60px;

+  }

+  h3 {

+    color: $gray-1;

+    line-height: 2.8;

+  }

+  hgroup {

+    position: absolute;

+    bottom: 225px;

+  }

+}

+

+.thank-you-slide {

+  background: $brand-blue !important;

+  color: white;

+

+  h2 {

+    font-size: 60px;

+    color: inherit;

+  }

+

+  article > p {

+    margin-top: 2em;

+    font-size: 20pt;

+  }

+

+  > p {

+    position: absolute;

+    bottom: $slide-top-bottom-padding * 2;

+    font-size: 24pt;

+    line-height: 1.3;

+  }

+}

+

+aside.gdbar {

+  height: 97px;

+  width: 215px;

+  position: absolute;

+  left: -1px;

+  top: 125px;

+  @include border-radius(0 10px 10px 0);

+  @include background(linear-gradient(left, $gray-1, $gray-1) no-repeat);

+  @include background-size(0% 100%);

+  @include transition(all 0.5s ease-out 0.5s); /* Better to transition only on background-size, but not sure how to do that with the mixin. */

+

+  &.right {

+    right: 0;

+    left: -moz-initial;

+    left: initial;

+    top: ($slide-height / 2) - 96; /* 96 is height of gray icon bar */

+    @include transform(rotateZ(180deg));

+

+    img {

+      @include transform(rotateZ(180deg));

+    }

+  }

+

+  &.bottom {

+    top: -moz-initial;

+    top: initial;

+    bottom: $slide-left-right-padding;

+  }

+

+  img {

+    width: 85px;

+    height: 85px;

+    position: absolute;

+    right: 0;

+    margin: 8px 15px;

+  }

+}

+

+.title-slide {

+

+  hgroup {

+    bottom: 100px;

+

+    h1 {

+      font-size: 65px;

+      line-height: 1.4;

+      letter-spacing: -3px;

+      color: $gray-4;

+    }

+

+    h2 {

+      font-size: 34px;

+      color: $gray-2;

+      font-weight: inherit;

+    }

+

+    p {

+      font-size: 20px;

+      color: $gray-3;

+      line-height: 1.3;

+      margin-top: 2em;

+    }

+  }

+}

+

+.quote {

+  color: $gray-1;

+

+  .author {

+    font-size: 24px;

+    position: absolute;

+    bottom: 80px;

+    line-height: 1.4;

+  }

+}

+

+[data-config-contact] {

+  a {

+    color: rgb(255, 255, 255);

+    border-bottom: none;

+  }

+  span {

+    width: 115px;

+    display: inline-block;

+  }

+}

+

+.overview {

+

+  &.popup {

+    .note {

+      display: none !important;

+    }

+  }

+  

+  slides {

+    slide {

+      &.backdrop {

+        display: none !important;

+      }

+

+      display: block;

+      cursor: pointer;

+      opacity: 0.5;

+      pointer-events: auto !important;

+

+      @include backdrop();

+

+      &.far-past,

+      &.past,

+      &.next,

+      &.far-next,

+      &.far-past {

+        opacity: 0.5;

+        display: block;

+      }

+

+      &.current {

+        opacity: 1;

+      }

+    }

+  }

+

+  .slide-area {

+    display: none;

+  }

+}

+

+@media print {

+  slides {

+    slide {

+      display: block !important;

+      position: relative;

+      @include backdrop();

+      @include transform(none !important);

+      width: 100%;

+      height: 100%;

+      page-break-after:always;

+      top: auto !important;

+      left: auto !important;

+      margin-top: 0 !important;

+      margin-left: 0 !important;

+      opacity: 1 !important;

+      color: #555;

+

+      &.far-past,

+      &.past,

+      &.next,

+      &.far-next,

+      &.far-past,

+      &.current {

+        opacity: 1 !important;

+        display: block !important;

+      }

+

+      .build {

+        > * {

+          @include transition(none);

+        }

+

+        .to-build,

+        .build-fade {

+          opacity: 1;

+        }

+      }

+

+      .auto-fadein {

+        opacity: 1 !important;

+      }

+

+      &.backdrop {

+        display: none !important;

+      }

+

+      table.rows {

+        border-right: 0;

+      }

+    }

+

+    slide[hidden] {

+      display: none !important;

+    }

+  }

+

+  .slide-area {

+    display: none;

+  }

+

+  .reflect {

+    -webkit-box-reflect: none;

+    -moz-box-reflect: none;

+    -o-box-reflect: none;

+    -ms-box-reflect: none;

+    box-reflect: none;

+  }

+

+  pre, code {

+    font-family: monospace !important;

+  }

+}

diff --git a/pages/transcripts/2012_EclipseConEurope/theme/scss/phone.scss b/pages/transcripts/2012_EclipseConEurope/theme/scss/phone.scss
new file mode 100644
index 0000000..e821a61
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/scss/phone.scss
@@ -0,0 +1,35 @@
+@import "compass/css3/transition";

+

+

+/*Smartphones (portrait and landscape) ----------- */

+/*@media only screen

+and (min-width : 320px)

+and (max-width : 480px) {

+

+}*/

+

+/* Smartphones (portrait) ----------- */

+//@media only screen and (max-device-width: 480px) {

+/* Styles */

+//$slide-width: 350px;

+//$slide-height: 500px;

+

+slides > slide {

+/*  width: $slide-width !important;

+  height: $slide-height !important;

+  margin-left: -$slide-width / 2 !important;

+  margin-top: -$slide-height / 2 !important;

+*/

+  // Don't do full slide transitions on mobile.

+  -webkit-transition: none !important; // Bug in compass? Not sure why the below is not working

+  @include transition(none !important);

+}

+

+//}

+

+/* iPhone 4 ----------- */

+@media

+only screen and (-webkit-min-device-pixel-ratio : 1.5),

+only screen and (min-device-pixel-ratio : 1.5) {

+/* Styles */

+}
\ No newline at end of file
diff --git a/pages/transcripts/2012_EclipseConEurope/theme/template.html b/pages/transcripts/2012_EclipseConEurope/theme/template.html
new file mode 100644
index 0000000..3560397
--- /dev/null
+++ b/pages/transcripts/2012_EclipseConEurope/theme/template.html
@@ -0,0 +1,416 @@
+<!--
+Google IO 2012 HTML5 Slide Template
+
+Authors: Eric Bidelman <ebidel@gmail.com>
+         Luke Mahé <lukem@google.com>
+
+URL: https://code.google.com/p/io-2012-slides
+-->
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Google IO 2012</title>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="chrome=1">
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
+  <!--This one seems to work all the time, but really small on ipad-->
+  <!--<meta name="viewport" content="initial-scale=0.4">-->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <link rel="stylesheet" media="all" href="theme/css/default.css">
+  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="theme/css/phone.css">
+  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
+  <script data-main="js/slides" src="js/require-1.0.8.min.js"></script>
+</head>
+<body style="opacity: 0">
+
+<slides class="layout-widescreen">
+
+  <slide class="logoslide nobackground">
+    <article class="flexbox vcenter">
+      <span><img src="images/google_developers_logo.png"></span>
+    </article>
+  </slide>
+
+  <slide class="title-slide segue nobackground">
+    <aside class="gdbar"><img src="images/google_developers_icon_128.png"></aside>
+    <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
+    <hgroup class="auto-fadein">
+      <h1 data-config-title><!-- populated from slide_config.json --></h1>
+      <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
+      <p data-config-presenter><!-- populated from slide_config.json --></p>
+    </hgroup>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with Bullets</h2>
+    </hgroup>
+    <article>
+      <ul>
+        <li>Titles are formatted as Open Sans with bold applied and font size is set at 45</li>
+        <li>Title capitalization is title case
+          <ul>
+            <li>Subtitle capitalization is title case</li>
+          </ul>
+        </li>
+        <li>Subtitle capitalization is title case</li>
+        <li>Titles and subtitles should never have a period at the end</li>
+      </ul>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with Bullets that Build</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+    <article>
+      <p>A list where items build:</p>
+      <ul class="build">
+        <li>Pressing 'h' highlights code snippets</li>
+        <li>Pressing 'p' toggles speaker notes (if they're on the current slide)</li>
+        <li>Pressing 'f' toggles fullscreen viewing</li>
+        <li>Pressing 'w' toggles widescreen</li>
+        <li>Pressing 'o' toggles overview mode</li>
+        <li>Pressing 'ESC' toggles off these goodies</li>
+      </ul>
+      <p>Another list, but items fade as they build:</p>
+      <ul class="build fade">
+        <li>Hover over me!</li>
+        <li>Hover over me!</li>
+        <li>Hover over me!</li>
+      </ul>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with (Smaller Font)</h2>
+    </hgroup>
+    <article class="smaller">
+      <ul>
+        <li>All <a href="http://google.com">links</a> open in new tabs.</li>
+        <li>To change that this, add <code>target="_self"</code> to the link.</li>
+      </ul>
+    </article>
+  </slide>
+
+  <slide hidden>
+    Hidden slides are left out of the presentation.
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Code Slide (with Subtitle Placeholder)</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+    <article>
+      <p>Press 'h' to highlight important sections of code (wrapped in <code>&lt;b&gt;</code>).</p>
+      <pre class="prettyprint" data-lang="javascript">
+&lt;script type='text/javascript'&gt;
+  // Say hello world until the user starts questioning
+  // the meaningfulness of their existence.
+  function helloWorld(world) {
+    <b>for (var i = 42; --i &gt;= 0;) {
+      alert('Hello ' + String(world));
+    }</b>
+  }
+&lt;/script&gt;
+</pre>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Code Slide (Smaller Font)</h2>
+    </hgroup>
+    <article class="smaller">
+      <pre class="prettyprint" data-lang="javascript">
+// Say hello world until the user starts questioning
+// the meaningfulness of their existence.
+function helloWorld(world) {
+  for (var i = 42; --i &gt;= 0;) {
+    alert('Hello ' + String(world));
+  }
+}
+</pre>
+<pre class="prettyprint" data-lang="css">
+&lt;style&gt;
+  p { color: pink }
+  b { color: blue }
+&lt;/style&gt;
+</pre>
+<pre class="prettyprint" data-lang="html">
+&lt;!DOCTYPE html>
+&lt;html>
+&lt;head>
+  &lt;title>My Awesome Page&lt;/title>
+&lt;/head>
+&lt;body>
+  &lt;p&gt;Hello world&lt;/p&gt;
+&lt;body>
+&lt;/html>
+</pre>
+    </article>
+  </slide>
+
+  <slide>
+    <aside class="note">
+      <section>
+        <ul>
+          <li>Point I wanted to make #1</li>
+          <li>Point I wanted to make #2</li>
+          <li>Point I wanted to make #3</li>
+          <li>Example <a href="#">link</a> in notes.</li>
+        </ul>
+        <p><b>Remember to say this tag line!</b></p>
+      </section>
+    </aside>
+    <hgroup>
+      <h2>Slide with Speaker Notes</h2>
+    </hgroup>
+    <article>
+      <p>Press 'p' to toggle speaker notes.</p>
+    </article>
+  </slide>
+
+  <slide>
+    <aside class="note">
+      <section>
+        <ul>
+          <li>See this amazing link: <a href="http://www.google.com">link</a>.</li>
+        </ul>
+        <p><b>Remember to say this tag line!</b></p>
+      </section>
+    </aside>
+    <hgroup>
+      <h2>Presenter Mode</h2>
+    </hgroup>
+    <article>
+      <p>Add <code><a href="?presentme=true" target="_self">?presentme=true</a></code> to the URL to enabled presenter mode.
+      This setting is sticky, meaning refreshing the page will persist presenter
+      mode.</p>
+      <p>Hit <code><a href="?presentme=false" target="_self">?presentme=false</a></code> to disable presenter mode.</p>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with Image</h2>
+    </hgroup>
+    <article>
+      <img src="images/chart.png" class="reflect" alt="Description" title="Description">
+      <footer class="source">source: place source info here</footer>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with Image (Centered horz/vert)</h2>
+    </hgroup>
+    <article class="flexbox vcenter">
+      <img src="images/barchart.png" alt="Description" title="Description">
+      <footer class="source">source: place source info here</footer>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Table Option A</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+    <article>
+      <table>
+        <tr>
+          <th></th><th>Column 1</th><th>Column 2</th><th>Column 3</th><th>Column 4</th>
+        </tr>
+        <tr>
+          <td>Row 1</td><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 2</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 3</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 4</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 5</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+      </table>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Table Option A (Smaller Text)</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+    <article class="smaller">
+      <table>
+        <tr>
+          <th></th><th>Column 1</th><th>Column 2</th><th>Column 3</th><th>Column 4</th>
+        </tr>
+        <tr>
+          <td>Row 1</td><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 2</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 3</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 4</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <td>Row 5</td><td>placeholder</td><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+      </table>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Table Option B</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+    <article>
+      <table class="rows">
+        <tr>
+          <th>Header 1</th><td>placeholder</td><td class="highlight">placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <th>Header 2</th><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <th>Header 3</th><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <th>Header 4</th><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+        <tr>
+          <th>Header 5</th><td>placeholder</td><td>placeholder</td><td>placeholder</td>
+        </tr>
+      </table>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide Styles</h2>
+    </hgroup>
+    <article class="smaller">
+      <div class="columns-2">
+        <ul>
+          <li class="red">class="red"</li>
+          <li class="red2">class="red2"</li>
+          <li class="red3">class="red3"</li>
+          <li class="blue">class="blue"</li>
+          <li class="blue2">class="blue2"</li>
+          <li class="blue3">class="blue3"</li>
+          <li class="green">class="green"</li>
+          <li class="green2">class="green2"</li>
+        </ul>
+        <ul>
+          <li class="green3">class="green3"</li>
+          <li class="yellow">class="yellow"</li>
+          <li class="yellow2">class="yellow2"</li>
+          <li class="yellow3">class="yellow3"</li>
+          <li class="gray">class="gray"</li>
+          <li class="gray2">class="gray2"</li>
+          <li class="gray3">class="gray3"</li>
+          <li class="gray4">class="gray4"</li>
+        </ul>
+      </div>
+      <div class="centered" style="margin-top:2em">
+        I am centered text with a <button>Button</button> and <button disabled>Disabled</button> button.
+      </div>
+    </article>
+  </slide>
+
+  <slide class="segue dark nobackground">
+    <aside class="gdbar"><img src="images/google_developers_icon_128.png"></aside>
+    <hgroup class="auto-fadein">
+      <h2>Segue Slide</h2>
+      <h3>Subtitle Placeholder</h3>
+    </hgroup>
+  </slide>
+
+  <slide class="fill nobackground" style="background-image: url(images/sky.jpg)">
+    <hgroup>
+      <h2 class="white">Full Image (with Optional Header)</h2>
+    </hgroup>
+    <footer class="source white">www.flickr.com/photos/25797459@N06/5438799763/</footer>
+  </slide>
+
+  <slide class="segue dark quote nobackground">
+    <aside class="gdbar right bottom"><img src="images/google_developers_icon_128.png"></aside>
+    <article class="flexbox vleft auto-fadein">
+      <q>
+        This is an example of quote text.
+      </q>
+      <div class="author">
+        Name<br>
+        Company
+      </div>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Slide with Iframe</h2>
+    </hgroup>
+    <article>
+      <iframe data-src="http://www.google.com/doodle4google/history.html"></iframe>
+    </article>
+  </slide>
+
+  <slide>
+    <article>
+      <iframe data-src="http://www.google.com/doodle4google/history.html"></iframe>
+    </article>
+  </slide>
+
+  <slide class="thank-you-slide segue nobackground">
+    <aside class="gdbar right"><img src="images/google_developers_icon_128.png"></aside>
+    <article class="flexbox vleft auto-fadein">
+      <h2>&lt;Thank You!&gt;</h2>
+      <p>Important contact information goes here.</p>
+    </article>
+    <p class="auto-fadein" data-config-contact>
+      <!-- populated from slide_config.json -->
+    </p>
+  </slide>
+
+  <slide class="logoslide dark nobackground">
+    <article class="flexbox vcenter">
+      <span><img src="images/google_developers_logo_white.png"></span>
+    </article>
+  </slide>
+
+  <slide class="backdrop"></slide>
+
+</slides>
+
+<script>
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
+_gaq.push(['_trackPageview']);
+
+(function() {
+  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+<!--[if IE]>
+  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
+  <script>CFInstall.check({mode: 'overlay'});</script>
+<![endif]-->
+</body>
+</html>