Anda di halaman 1dari 75

Content-Type: multipart/related; start=<op.mhtml.1285854225735.

1e614e664019cb5b@
114.121.142.154>; boundary=----------R1J3QWGczlntoaDVhRttqV
Content-Location: http://www.uottawa.ca/academic/arts/writcent/hypergrammar/prep
osit.html
Subject: =?utf-8?Q?What=20is=20a=20Preposition=3F?=
MIME-Version: 1.0
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=preposit.html
Content-Type: text/html; charset=utf-8; name=preposit.html
Content-ID: <op.mhtml.1285854225735.1e614e664019cb5b@114.121.142.154>
Content-Location: http://www.uottawa.ca/academic/arts/writcent/hypergrammar/prep
osit.html
Content-Transfer-Encoding: Quoted-Printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w=
ww.w3.org/TR/html4/loose.dtd">
<html lang=3D"en"><!-- InstanceBegin template=3D"/Templates/en-sub-secti=
on-content-page.dwt" codeOutsideHTMLIsLocked=3D"false" -->
<head>
<meta http-equiv=3D"Content-Language" content=3D"en-CA">
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"=
>
<!-- InstanceBeginEditable name=3D"doctitle" -->
<title>What is a Preposition?</title>
<!-- InstanceEndEditable --><!-- InstanceBeginEditable name=3D"metaInfor=
mation" -->
<meta name=3D"keywords" content=3D"">
<meta name=3D"description" content=3D"">
<!-- InstanceEndEditable -->
<meta name=3D"author" content=3D"">
<meta name=3D"copyright" content=3D"&copy; University of Ottawa">
<!-- head include -->
<link rel=3D"SHORTCUT ICON" href=3D"http://web5.uottawa.ca/assets-templa=
tes/img/favicon.ico">
<style type=3D"text/css" media=3D"screen"> @import 'http://web5.uottawa.=
ca/assets-templates/css/default.css'; </style>
<style type=3D"text/css" media=3D"print"> @import 'http://web5.uottawa.c=
a/assets-templates/css/print.css'; </style>
<style type=3D"text/css" media=3D"all"> @import 'http://web5.uottawa.ca/=
assets-templates/css/print-options.css'; </style>
<script type=3D"text/javascript" charset=3D"utf-8" src=3D"http://web5.uo=
ttawa.ca/assets-templates/js/lib.js"></script>
<script type=3D"text/javascript" charset=3D"utf-8" src=3D"http://web5.uo=
ttawa.ca/assets-templates/js/config.js"></script>
<script type=3D"text/javascript" charset=3D"utf-8" src=3D"http://web5.uo=
ttawa.ca/assets-templates/js/onload.js"></script>
<!-- /head include --> =

<!-- theme -->


<link type=3D"text/css" rel=3D"stylesheet" media=3D"screen" href=3D"http=
://web5.uottawa.ca/assets-templates/themes/04/main.css">
<!-- site-specific style sheet -->
<link type=3D"text/css" rel=3D"stylesheet" media=3D"screen" href=3D"Temp=
lates/main.css">
<!-- include page tools -->
<script type=3D"text/javascript" src=3D"http://web5.uottawa.ca/assets-te=
mplates/js/print.js"></script>
<script type=3D"text/javascript" src=3D"http://web5.uottawa.ca/assets-te=
mplates/js/send-to-friend.js"></script>
<!-- InstanceBeginEditable name=3D"head" -->
<!-- page variables -->
<script type=3D"text/javascript">
<!--
var expandNavSection =3D "part-speech";
-->
</script>
<link type=3D"text/css" rel=3D"stylesheet" media=3D"screen" href=3D"http=
://www.arts.uottawa.ca/test/HypergramSite/assets/css/partsp.css"><!-- /p=
age variables -->
<!-- InstanceEndEditable -->
</head>
<body class=3D"en">
<div id=3D"main-container" class=3D"content-page sub-section has-sidebar=
">
<!-- InstanceBeginEditable name=3D"pageLinks" -->
<ul id=3D"page-links">
<li><a id=3D"skip-to-content" href=3D"#main-content">Skip to con
tent</=
a></li>
<li><a id=3D"skip-to-localnav" href=3D"#local-nav">Skip to links
</a></=
li>
<li><a id=3D"ch-lang-url" href=3D"preposit.html" rel=3D"alternat
e" lan=
g=3D"fr" hreflang=3D"fr">Fran=C3=A7ais</a></li>
<li><a id=3D"section-home" href=3D"index.html">Return to the hom
e page=
</a></li>
</ul>
<!-- InstanceEndEditable -->
<!-- header include -->
<div id=3D"main-banner">
<a id=3D"top" name=3D"top"></a><!-- for "back to top" links -->
<div id=3D"main-branding">
<div id=3D"main-branding-logo">
<a rel=3D"home" href=3D"http://www.uottawa.ca/welcome.html" title=3D"Ho=
me"><img src=3D"http://web5.uottawa.ca/assets-templates/img/uOttawa-logo=
.png" alt=3D"University of Ottawa, Canada's University" height=3D"53" wi=
dth=3D"130" /></a>
</div>
<div id=3D"main-branding-tagline"></div>
</div><!-- /#main-branding -->
<ul id=3D"main-secondarynav">
<li class=3D"first"><a id=3D"secondarynav-uozone" href=3D"http://uozone=
.uottawa.ca/en/" title=3D"uoZone: login to your secure information">uoZo=
ne</a></li>
<li><a id=3D"secondarynav-biblio" href=3D"http://www.biblio.uottawa.ca/=
index-e.php">Library</a></li>
<li><a id=3D"secondarynav-programs" href=3D"http://www.admission.uottaw=
a.ca/Default.aspx?tabid=3D2566">Programs</a></li>
<li><a id=3D"secondarynav-maps" href=3D"http://www.uottawa.ca/maps/">Ma=
ps</a></li>
<li class=3D"more" id=3D"secondarynav-more">
<h2>Quick Picks</h2>
<ul>
<li><a href=3D"http://www.uottawa.ca/search/">Employee D
irectory</a><=
/li>
=
<li class=3D"new-group"><a href=3D"https://web3.uottawa.
ca/infoweb/lo=
gon/en.html">InfoWeb</a></li>
<li><a href=3D"http://www.uottawa.ca/email">uOttawa Webm
ail</a></li>
<li><a href=3D"https://maestro.uottawa.ca/index.asp?LANG
=3DEN">Virtua=
l Campus</a></li>
<li><a href=3D"http://www.biblio.uottawa.ca/index-e.php"
>Library</a><=
/li>
=
<li class=3D"new-group"><a href=3D"http://www.admission.
uOttawa.ca/De=
fault.aspx?tabid=3D2547&amp;source=3Dqp">Campus Tours</a></li>
<li><a href=3D"http://www.registrar.uOttawa.ca/Default.a
spx?tabid=3D2=
681">Undergraduate Programs</a></li>
<li><a href=3D"http://www.grad.uottawa.ca/Default.aspx?t
abid=3D1727">=
Graduate Programs</a></li>
<li><a href=3D"http://www.uOttawa.ca/loansandawards/">Financial=
Aid</a></li>
<li><a href=3D"http://www.financialresources.uottawa.ca/
student/payme=
nt-university-fees-en.php">Payment of Fees</a></li> =
<li><a href=3D"http://www.admission.uottawa.ca/Default.aspx?tab=
id=3D2671">Sessional Dates</a></li>
=
<li class=3D"new-group"><a href=3D"http://www.academicca
reers.uottawa=
.ca/">Academic Careers</a></li>
<li><a href=3D"http://www.emergencypreparedness.uottawa.
ca/">Emergenc=
y Preparedness</a></li>
</ul>
</li>
=
</ul><!-- /#main-secondarynav -->
</div><!-- /#main-banner -->
<!-- Emergency Banner -->
<script type=3D"text/javascript" src=3D"http://web5.uottawa.ca/assets-te=
mplates/emergency/banner-en.js" charset=3D"utf-8"></script>
<!-- /header include -->

<div id=3D"section-container">
<!-- InstanceBeginEditable name=3D"sectionHeader" -->
<div id=3D"section-header">
<a href=3D"http://www.arts.uottawa.ca/writcent/" target=3D"_blank" =
id=3D"parent-org-title"><span>The Writing Centre</span></a>
=
<a href=3D"http://www.arts.uottawa.ca/writcent/hypergrammar/" =
id=3D"section-title"><span>HyperGrammar</span></a>
</div><!-- /#section-header -->
<div id=3D"sub-section-header">
<div id=3D"sub-section-title">The Parts of Speech</div>
</div>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name=3D"subSectionHeader" -->
<!-- InstanceEndEditable -->
<div id=3D"page-tools">
<div id=3D"quickpicks">
<ul>
=
=
</ul>
</div><!-- /#quickpicks -->
</div>
<!-- /#page-tools -->
<div id=3D"section-details">
<!-- InstanceBeginEditable name=3D"Navigation" -->
<!-- local-nav local include -->
<ul id=3D"local-nav">
<li id=3D"part-speech"><a href=3D"partsp.html">The Parts of Speech</a>
<ul>
<li><a href=3D"verbs.html">What is a Verb? </a></li>
<li><a href=3D"nouns.html">What is a Noun?</a></li>
<li><a href=3D"pronouns.html">What is a Pronoun? </a></li>
<li><a href=3D"adjectve.html">What is an Adjective? </a></li>
<li><a href=3D"adverbs.html">What is an Adverb? </a></li>
<li><a href=3D"preposit.html">What is a Preposition? </a></li>
<li><a href=3D"conjunct.html">What is a Conjunction? </a></li>
<li><a href=3D"interjct.html">What is an Interjection? </a></li>=

<li><a href=3D"rvpartsp.html">Review: Parts of Speech?</a></li>


</ul>
</li>
<li id=3D"part-sentence"><a href=3D"partse.html">The Parts of the Sente=
nce </a>
<ul>
<li><a href=3D"subjpred.html">Subject and Predicate</a></li>
<li><a href=3D"objcompl.html">Objects and Complements</a></li>
<li><a href=3D"rvsubj.html">Review: the Subject</a></li>
<li><a href=3D"rvpred.html">Review: the Predicate</a></li>
<li><a href=3D"rvsentpt.html">Review: Parts of the Sentence </a><=
/li>
</ul>
</li>
<li id=3D"punctuation"><a href=3D"punct.html">Punctuation</a>
<ul>
<li><a href=3D"comma.html">The Comma</a></li>
<li><a href=3D"rvcomma.html">Review: The Comma</a></li>
<li><a href=3D"semicoln.html">The Semicolon</a></li>
<li><a href=3D"colon.html">The Colon</a></li>
<li><a href=3D"endpunct.html">End Punctuation</a></li>
<li><a href=3D"qmarks.html">Quotation Marks</a></li>
<li><a href=3D"apostrph.html">The Apostrophe</a></li>
<li><a href=3D"dash.html">The Dash</a></li>
<li><a href=3D"rvpunct.html">Review: Indentifying Punctuation Error=
s</a></li>
<li><a href=3D"rvaddpct.html">Review: Adding Punctuation <=
/a></li>
</ul>
</li>
<li id=3D"pronouns"><a href=3D"usepronn.html">Using Pronouns</a>
<ul>
<li><a href=3D"pronref.html">Pronoun Reference </a></li>
<li><a href=3D"rvprnref.html">Review: Pronoun Reference </a></li>
<li><a href=3D"prntrcky.html">Tricky Points of Pronoun Usage</a></=
li>
</ul>
</li>
<li id=3D"verbs"><a href=3D"useverb.html">Using Verbs </a>
<ul>
<li><a href=3D"vbcmpd.html">Compound Verbs </a></li>
<li><a href=3D"auxvb.html">Auxiliary Verbs </a></li>
<li><a href=3D"trnsintr.html">Transitive and Intransitive Verbs </a=
></li>
<li><a href=3D"rvtrintr.html">Review: Transitive and Intransitive V=
erbs</a></li>
<li><a href=3D"link.html">Linking Verbs </a></li>
<li><a href=3D"rvlink.html">Review: Linking Verbs </a></li>
<li><a href=3D"verbals.html">Verbals</a></li>
<li><a href=3D"tenses.html">Forming and Using Verb Tenses </a></li>=

<li><a href=3D"rvtense.html">Review: Verb Tense </a></li>


<li><a href=3D"confverb.html">Frequently-Confused Verbs </a></li>
<li><a href=3D"rvconfvb.html">Review: Frequently-Confused Verbs<=
/a></li>
<li><a href=3D"usetense.html">Using Verb Tenses</a></li>
<li><a href=3D"vbseq.html">Using Verb Tenses in Sequence</a></li=
>
<li><a href=3D"moods.html">Using Verb Moods</a></li>
<li><a href=3D"rvmood.html">Review: Verb Mood</a> </li>
</ul>
</li>
<li id=3D"modifiers"><a href=3D"modifier.html">Modifiers </a>
<ul>
<li><a href=3D"useavaj.html">Using Adverbs and Adjectives </a></=
li>
<li><a href=3D"compsupl.html">Using the Comparative and Superlat=
ive </a></li>
<li><a href=3D"rvadvadj.html">Review: Adverbs and Adjectives </a=
></li>
<li><a href=3D"msplmod.html">Misplaced and Dangling Modifiers </=
a></li>
<li><a href=3D"rvmismod.html">Review: Identifying Misplaced or D=
angling Modifiers </a></li>
<li><a href=3D"rvmixmod.html">Review: Fixing Misplaced Modifiers=
</a></li>
</ul>
</li>
<li id=3D"phrases"><a href=3D"bldphr.html">Building Phrases </a>
<ul>
<li><a href=3D"phrfunc.html">The Function of Phrases </a></li>
<li><a href=3D"rvphrfun.html">Review: Phrase Functions </a></li>=

</ul>
</li>
<li id=3D"clauses"><a href=3D"bldcls.html">Building Clauses </a>
<ul>
<li><a href=3D"clausdef.html">Recognising Clauses </a></li>
<li><a href=3D"rvclause.html">Review: Identifying Clauses </a=
></li>
<li><a href=3D"claustyp.html">Using Clauses as Nouns, Adjectiv=
es, and Adverbs </a></li>
<li><a href=3D"rvnaacls.html">Review: Noun, Adjective, and Adv=
erb Clauses </a></li>
</ul>
</li>
<li id=3D"sentences"><a href=3D"bldsent.html">Building Sentences</a>=
<ul>
<li><a href=3D"sntmatr.html">Why Sentence Structure Matters </a>=
</li>
<li><a href=3D"sntstrct.html">The Structure of a Sentence </a><=
/li>
<li><a href=3D"rvsntstr.html">Review: Sentence Structure </a></l=
i>
<li><a href=3D"sntorder.html">The Order of a Sentence</a></li>
<li><a href=3D"sntpurps.html">The Purpose of a Sentence</a></li>=

<li><a href=3D"sntrev.html">Review: Sentence Usage </a></li>


</ul>
</li>
<li id=3D"paragraphs"><a href=3D"paragrph.html">Writing Paragraphs</=
a>
<ul>
<li><a href=3D"parout.html">Start with an Outline </a></li>
<li><a href=3D"partopic.html">Writing Topic Sentences </a></li=
>
<li><a href=3D"rvtopic.html">Review: Topic Sentences </a></li>
<li><a href=3D"pardiv.html">Dividing your Argument </a></li>
<li><a href=3D"rvdiv.html">Review: Dividing your Argument </a></=
li>
<li><a href=3D"parunif.html">Developing Unified and Coherent Par=
agraphs </a></li>
<li><a href=3D"rvpardev.html">Review: Paragraph Development</a> =
</li>
</ul>
</li>
<li id=3D"diction"><a href=3D"diction.html">Diction</a>
<ul>
<li><a href=3D"catchp.html">Catch Phrases </a></li>
<li><a href=3D"conndeno.html">Connotations and Denotations </a><=
/li>
<li><a href=3D"rvdict.html">Review: Diction </a></li>
</ul>
</li>
<li id=3D"spelling"><a href=3D"spelling.html">Spelling</a>
<ul>
<li><a href=3D"spleiie.html">Spelling words with &quot;ei&quot; =
and &quot;ie&quot; </a></li>
<li><a href=3D"rveiie.html">Review: &quot;ei&quot; and &quot;ie&=
quot; </a></li>
<li><a href=3D"spfiny.html">Spelling final &quot;y&quot; before =
a suffix </a></li>
<li><a href=3D"rvfiny.html">Review: final &quot;y&quot; before a=
suffix </a></li>
<li><a href=3D"spfine.html">Final Silent &quot;e&quot; </a></li=
>
<li><a href=3D"sprvfine.html">Review: Final Silent &quot;e&quot;=
</a></li>
<li><a href=3D"spdoubl.html">Spelling Words with Double Consonan=
ts</a></li>
<li><a href=3D"rvdoubl.html">Review: Double Consonants </a></li>=

</ul>
</li>
<li id=3D"misc"><a href=3D"misc.html">Miscellaneous Topics </a>
<ul>
<li><a href=3D"thstatmt.html">The Thesis Statement </a></li>
<li><a href=3D"wordform.html">Word Formation </a></li>
<li><a href=3D"apposit.html">Apposition</a></li>
<li><a href=3D"nounchar.html">Noun and Pronoun Characteristics <=
/a></li>
</ul>
</li>
<li id=3D"copyright" class=3D"new-group"><a href=3D"copyrght.html">Cop=
yright and Terms of Use</a></li>
=
</ul>
<!-- /#local-nav -->
<div id=3D"contact-info">
<div id=3D"contact-info-title">Contact Information</div>
<p><strong>The Writing Centre</strong><br />
<br /> =
Simard Hall
<br />
Room 0021<br />
60 University
<br />
P.O. Box 450 <br />
Station A, Ottawa, ON <br />
Canada
K1N 6N5
=
<br />
Tel.: 613 562-5800 ext. 2267
=
<br />
</p>
<p><strong>No online writing help available</strong><br />
E-mail: <br />
<a href=3D"mailto:writcent@uOttawa.ca">writcent@uOttawa.ca</a></p>
<address>
</address>
</div>
<!-- InstanceEndEditable -->
</div>
<div id=3D"main-content">
<!-- InstanceBeginEditable name=3D"mainContent" -->
<div class=3D"feature">
<h1>What is a Preposition?</h1>
</div>
<p>A <a name=3D"preposition"><strong>preposition</strong></a> li=
nks <a href=3D"http://www.uottawa.ca/academic/arts/writcent/hypergrammar=
/nouns.html#noun">nouns</a>, <a href=3D"http://www.uottawa.ca/academic/a=
rts/writcent/hypergrammar/pronouns.html#pronoun">pronouns</a> and <a hre=
f=3D"http://www.uottawa.ca/academic/arts/writcent/hypergrammar/bldphr.ht=
ml#phrase">phrases</a> to other words in a <a href=3D"http://www.uottawa=
.ca/academic/arts/writcent/hypergrammar/subjpred.html#sentence">sentence=
</a>. The word or phrase that the preposition introduces is called the=
<a href=3D"http://www.uottawa.ca/academic/arts/writcent/hypergrammar/ob=
jcompl.html#object">object</a> of the preposition.</p>
<p>A preposition usually indicates the temporal, spatial or log=
ical relationship of its object to the rest of the sentence as in the f=
ollowing examples:</p>
<dl>
<dd>The book is <strong>on</strong> the table.</dd>
<dd>The book is <strong>beneath</strong> the table.</dd>
<dd>The book is leaning <strong>against</strong> the table.</d=
d>
<dd>The book is <strong>beside</strong> the table.</dd>
<dd>She held the book <strong>over</strong> the table.</dd>
<dd>She read the book <strong>during</strong> class.</dd>
</dl>
<p>In each of the preceding sentences, a preposition locates th=
e noun "book" in space or in time.</p>
<p>A <a href=3D"http://www.uottawa.ca/academic/arts/writcent/hyp=
ergrammar/phrfunc.html#prepositional%20phrase">prepositional phrase</a> =
is made up of the preposition, its object and any associated <a href=3D=
"http://www.uottawa.ca/academic/arts/writcent/hypergrammar/adjectve.html=
#adjective">adjectives</a> or <a href=3D"http://www.uottawa.ca/academic/=
arts/writcent/hypergrammar/adverbs.html#adverb">adverbs</a>. A preposi=
tional phrase can function as a noun, an adjective, or an adverb. The =
most common prepositions are "about," "above," "across," "after," "aga=
inst," "along," "among," "around," "at," "before," "behind," "below," =
"beneath," "beside," "between," "beyond," "but," "by," "despite," "down=
," "during," "except," "for," "from," "in," "inside," "into," "like," =
"near," "of," "off," "on," "onto," "out," "outside," "over," "past," "=
since," "through," "throughout," "till," "to," "toward," "under," "und=
erneath," "until," "up," "upon," "with," "within," and "without."</p>
<p>Each of the <strong>highlighted</strong> words in the followi=
ng sentences is a preposition:</p>
<dl>
<dd>The children climbed the mountain <strong>without</strong>=
fear.</dd>
</dl>
<p>In this sentence, the preposition "without" introduces the n=
oun "fear." The prepositional phrase "without fear" functions as an ad=
verb describing how the children climbed.</p>
<dl>
<dd>There was rejoicing <strong>throughout</strong> the land w=
hen the government was defeated.</dd>
</dl>
<p>Here, the preposition "throughout" introduces the <a href=3D"=
http://www.uottawa.ca/academic/arts/writcent/hypergrammar/phrfunc.html#n=
oun%20phrase">noun phrase</a> "the land." The prepositional phrase acts =
as an adverb describing the location of the rejoicing.</p>
<dl>
<dd>The spider crawled slowly <strong>along</strong> the banis=
ter.</dd>
</dl>
<p>The preposition "along" introduces the noun phrase "the banis=
ter" and the prepositional phrase "along the banister" acts as an adver=
b, describing where the spider crawled.</p>
<dl>
<dd>The dog is hiding <strong>under</strong> the porch because=
it knows it will be punished <strong>for</strong> chewing up a new pai=
r <strong>of</strong> shoes.</dd>
</dl>
<p>Here the preposition "under" introduces the prepositional ph=
rase "under the porch," which acts as an adverb modifying the <a href=3D=
"http://www.uottawa.ca/academic/arts/writcent/hypergrammar/vbcmpd.html#c=
ompound%20verb">compound verb</a> "is hiding."</p>
<dl>
<dd>The screenwriter searched <strong>for</strong> the manuscr=
ipt he was certain was somewhere <strong>in</strong> his office.</dd>
</dl>
<p>Similarly in this sentence, the preposition "in" introduces =
a prepositional phrase "in his office," which acts as an adverb describ=
ing the location of the missing papers.</p>
<p></p>
<p>&nbsp;</p>
<p><em>Written by Heather MacFadyen</em></p>
<div class=3D"welcome">
<div class=3D"welcome"><div class=3D"welcome"></div>
</div>
</div>
<p>
<!-- /.welcome --></p>
<!-- InstanceEndEditable --></div>
<!-- /#main-content -->
</div>
<!-- /#section-container -->
<!-- footer include -->
<div id=3D"main-siteinfo">
<ul id=3D"main-siteinfonav">
<li><a id=3D"siteinfonav-requirements" href=3D"http://www.uottawa.ca/re=
quire.html">System Requirements</a></li>
<li><a id=3D"siteinfonav-feedback" target=3D"_blank" href=3D"https://we=
b9.uottawa.ca/services/ccs/feedback/">Feedback<span class=3D"hidden"> on=
this Web site</span></a></li>
<li><a id=3D"siteinfonav-privacy" href=3D"http://web5.uottawa.ca/adming=
ov/privacy.html">Privacy Policy</a></li>
<li class=3D"last"><a id=3D"siteinfonav-accessibility" href=3D"http://w=
ww.uottawa.ca/accessibility/">Accessibility</a></li>
<li class=3D"right last"><a id=3D"siteinfonav-giving" href=3D"http://ww=
w.giving.uottawa.ca/home.html?utm_source=3Duottawa&amp;utm_medium=3Dtemp=
lates-footer&amp;utm_term=3DGive%2Bto%2Bthe%2BUniversity&amp;utm_campaig=
n=3Dtemplates-footer">Give to the university</a></li>
</ul><!-- /#main-siteinfonav -->
<div id=3D"main-statements">
<span id=3D"copyright">&copy; University of Ottawa</span>
</div><!-- /#main-statements -->
</div><!-- /#main-siteinfo -->
<!-- /footer include -->
<div id=3D"main-statements-contact">
<div id=3D"feedback-general">For additional information, <a id=3D"feedba=
ck-general-link" href=3D"http://www.uottawa.ca/contactus.html">consult o=
ur list of contacts</a></div>
<div id=3D"feedback-technical">Technical questions? <a id=3D"feedback-te=
chnical-link" href=3D"mailto:webmaster@uottawa.ca">webmaster@uottawa.ca<=
/a></div>
</div><!-- /#main-statements-contact -->
<div id=3D"last-updated">
Last updated: =
2007.08.16
</div><!-- /#last-updated -->
</div><!-- /#main-container -->
<!-- web beacons include -->
<!-- /web beacons include -->
</body>
<!-- InstanceEnd --></html>
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; charset=iso-8859-1; name=favicon.ico
Content-Location: http://web5.uottawa.ca/assets-templates/img/favicon.ico
Content-Transfer-Encoding: Base64
AAABAAQAEBAAAAAAAABoBQAARgAAABAQAAAAAAAAaAUAAK4FAAAgIAAAAAAAAKgI
AAAWCwAAICAAAAAAAACoCAAAvhMAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AFV/qgCqv9QA/7/UAKp/qgCAgIAAVV9/AFWf
fwCqv6oAwNzAAKSgoAD/3/8A/9/UAFV/fwCqn9QAqt/UAPD7/wCqn6oAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEB
CwYGBgYGBgYGAgYGDwEBEQUQDRAMChANEA0KEQYBAQEGEQMNCgwQCg0QBBEGAQEB
BhELCwsJBhILEgsBBgEBAQYBBhEGAQcBBgEGAQYBAQEGAQYBBgEGAQYBBgEGAQEB
BgELEQYBBgEGAQYBBgEBAQYRCwMGCgcDBgMGAQYBAQEGERIRAw0KDAoNCQwIAQEB
BgEDBgYRARALBgkRBgEBAQYBAQEREgYSEQERAQYBAQEGDwoBAQEBAQERBAMGAQEB
DQMGCxEBAQERCw4JDBEBAQEBAQoGEQERBQoBAQEBAQEBAQEBERIGCREBAQEBAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP///wB3focAtrq/AN/h4wBXYGsAlpyjAMvO0QCrr7UAi5GZAPT1
9gBsdH4A6uvsAGFpdADV2NoAgYeQAKGmrACusrgA4OLkALW5vgCgpasAys3RAIyS
mQDV19oAgYiQAKuwtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBARAYGBgYGBgY
GBgYGBABAQEYEg4ODg4ODg4ODhIYAQEBGAwXFxcXFxcXFxcMGAEBARgBFhQJCBgI
CQgWARgBAQEYARgEDwENAQ8BGAEYAQEBGAEYAQ8BDwEPARgBGAEBARgBBgEPAQsB
DwEYARgBAQEYARYHCwcFBwsHAgEYAQEBGBIRFxcXFxcXFxESGAEBARgKExgGEgES
BhgTChgBAQEYAQEBDAgPFAwBAQEYAQEBGBkXAQEBAQEBARcZGAEBAQQDCwYBAQEB
AQYLAwQBAQEBAQEVFgwBDAYVAQEBAQEBAQEBAQwIDwgMAQEBAQEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///8AdH+MALm/xgBKWGoA3N/iAJefqQBfa3sAy8/UAO3u8ACorrcAhpCcAGl1
hABUYXIAfYeUAPb3+ADCx80Asbe/AJ+nsADl5+kA09bbAI6XogBZZnYAZHB/AE9d
bgBueYgA+/v7APLz9AC+w8kAgYuYAKyyuwCSm6YAo6u0AOHj5gDY298AeYORAMbL
0AC1u8IAm6OtAOnr7QDP09gAi5SfAFxoeQBxfIoA7/HyAGFufQBMWmwAUV9wAOfp
6wBWY3QA1tndAGZygQBsd4YAzdHWAHaBjgC8wccAf4mWALe9xACEjpoAr7W9AKqw
uQCVnacAmaGrAPn5+gDe4OQA2t3hAMnN0wCIkp0As7nAAJGZpACdpa4AoqmyAPz8
/QBOW20A6+3vAF1qegDf4uUA1NjcAHqFkgDIzNEAxcnPAIOMmQDBxcwArbS8AKat
tgD+/v4AS1lrAPj4+QBQXm8A9fb3AFNgcQDx8vMAVWJzAFdkdQDq7O4AWmd3AGBs
fADi5OcAY29+AGdzggDZ3OAAaHSDANfa3gBrdoUA0tXaAHB7iQByfYsAztLXAHeC
jwB8hpMAw8jOAH6IlQC/xMoAuL7FALa8wwCMlaAAtLrBAI2WoQCPmKMAsLa+AJig
qgCaoqwA+/z8APr6+wBNW2wATlxuAFhldgDo6ewA5ujrAFtoeADk5ukAYm5+ANve
4QDQ1NgAc36MAHV/jQDKztMAgIqWAIGKlwCCjJgAvcLJALvAxwCJkp4AsrjAAJSc
pwCrsroAlp6pAKuxuQCgp7EA+fr6APf4+QD29vcAUF1vAFJfcADv8PIAU2FyAOzt
7wDq6+0AXGl5AF5qegDl5+oAX2x8AGFtfQBkcIAA3N7iAGl0gwDZ3N8Aa3eFAM/S
1wB3gY8Ays/UAMbK0AB/iJUAw8fNAMHGzACDjZkAvsPKALzByACHkJwAiJGdALm+
xQCLlKAAt7zDAJCYowCutLwAp663AKSrtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBG083HBwcHBwcHBwcHBwc
HBwcHBwcHByMrp0BAQEBAQEyLZtdXV1dXV1dXV1dXV1dXV1dXV1dXVwvjQEBAQEB
AWYYIH+AExMTExMTExMTExMTExMTE6BesAQ5AQEBAQEBIn22HJMekZGRkZGRkZGR
kZGRkZEek3QQSXIBAQEBAQFmSQNTamw2qak2qak2NqmpNjapqWyGkKt9cgEBAQEB
AWYurSw7O3c7d3c7O3d3Ozt3dzt3d7gFIQQ5AQEBAQEBZkm0AT4LimkOQ05qUbIC
bI4dK22zswFBBLYBAQEBAQFmfAMBRgSeujMEaj5aBHY4BF15GQSHVUEEtgEBAQEB
AWZ8tAGaBB8BdwRCAW9LASEEcwGNViQBZgS2AQEBAQEBZnxxAUoERQFyBAgBbUsB
f32yAbRWiAFmBLYBAQEBAQFmfHEBfwS3AXQEKAFtgQETLnUBNy5QAWYEtgEBAQEB
AWZ8cQFeVngBRARrAbMqAYJWtwFPmFABZgS2AQEBAQEBZnxxAVsxEgFEBDUBjjMB
gkl2AU+YqAFmBLYBAQEBAQFmfHEBD1xHAXAEIgG1NAEbFh8BaxghAWYEtgEBAQEB
AWZ8cQEIBKxKJgS4f6UNBaoEhicmBLoBZgS2AQEBAQEBZkk5AbmnF4uDgaM4FhZq
ahZfii0MbQFBBLYBAQEBAQFmLm5rr24npkEFFAhkhGuFpKRmnIW1j0wEtgEBAQEB
AWYuUIx+oYm0lgEBAQEBAQEBAU+zY5l5QAS2AQEBAQEBZnwDPzB0akkqIwMbAQEa
qrKhfWJUBVkiBLYBAQEBAQFmSXEBAQFXoDxlMV0pBqFdn3kil1UBAWYEtgEBAQEB
AWZ8sQEBAQEBAQEFeaIHFWt6AQEBAQEBhAS2AQEBAQEBZnyNe3tVAQEBAQEBGpcB
AQEBAQFVGhpNBLYBAQEBAQFNBKGvPQkBAQEBAQEBAQEBAQEBAQEmsmcEJQEBAQEB
AX+SrGcECigTAQEBAQEBAQEBAZooqwRgbylmAQEBAQEBAQEBMAQEBC0TAQEBAQEB
AQGVrAQEBCQBAQEBAQEBAQEBAQFIqxy4WqN/AQEBAQEBAbIElLBSWwEBAQEBAQEB
AQEBAQEBAQGFGJ66IRp6nXQMBBEBAQEBAQEBAQEBAQEBAQEBAQEBAQFhc1pfoqKe
WAJoAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEaZLk6iZSoPwEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP///wBVf6oAqr/UAFU/VQAAX38A/7/UAKSgoACAgIAAqt//AFVf
fwD/zP8AwNzAAKq/qgD/39QAVV9VAFU/fwBVf38Aqp/UAFWfqgCq39QA/9//APD7
/wD/zMwAqp+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWDAMMAwwD
DAMMAwwDDAMMAwwDDAMMAwwNFgEBAQEBAQ4KCgoKDwoKCgoKCgoPCgoKCgoKCgoK
CgoNAQEBAQEBDAoYFg4WDhYOFg4WDhYOFg4WDhYOFg4DDwMBAQEBAQEOCg0DDRIN
AxgNEg0DGAMYAw0SDQMYAwwQAwEBAQEBAQwQDBgCCAgICAIICAgCCAgICAgICBEH
AwoNAQEBAQEBDgoNFg0SAw0SDQMNEg0DDRINAw0DGBYOCgMBAQEBAQEJDwMBBwcI
EQcICBEHCAgCBwgCCAgHFg4KDQEBAQEBAQ4KAwEHDwoYEQoIBwoKBwgKCgcRCggW
DAoDAQEBAQEBDAoNARYKBwENCgwBCAoBDAoHAQwQFBYLDwMBAQEBAQEOCgMBFgQT
AQMPAwEIEQEWBBMBAw8GFgwKDQEBAQEBARQPAxYOCgcBDRAOAQgKARQKBwEDDwMB
CQ8DAQEBAQEBDgoNARYPGBYDDxQBBwoBDgoHFgMKDAEOEA0BAQEBAQEJDwMBFgoY
AQ0KAwEICBYWDwcBDAoMARQPAwEBAQEBAQ4KAwEWChgBAw8OFgcKFhYKBxYMChYW
DgoNAQEBAQEBFA8DAQwKCBYHCg0VEQ8VDAoIFgcKGAEUDwMBAQEBAQEOCg0BAwgK
CAgKEQgKCggRCgoICggIARUPAwEBAQEBAQkPFwMIDBYOFA4UBhQOAxUMFQwWAwcD
DAoNAQEBAQEBDgoDDAoKCAMBAQEBAQEBAQEBDAcRCgcVDwMBAQEBAQEJDwMWDgMI
CgoIDRYWAQEMBwoKERgOFg4PAwEBAQEBAQ4KDQEBARYOAxEKCgcHCgoKBxQBAQEB
FAoDAQEBAQEBFA8DAQEBAQEBFg4YCgoYDAEBAQEBARYOCg0BAQEBAQEOBQwBFgEB
AQEBAQEBFgEBAQEBAQEWAQwKAwEBAQEBAQwKEQgHFgEBAQEBAQEBAQEBAQEBAQcH
Ag8DAQEBAQEBFgcIAg8YDBUWAQEBAQEBAQEBFgwDDwoIBwwBAQEBAQEBARYOCg8Q
ERUBAQEBAQEBARYICg8QDAEBAQEBAQEBAQEBAQEMAw0KEQ4WAQEBAQEBBwQYAwwV
AQEBAQEBAQEBAQEBAQEBAQwKCgcOAQEOAwoPAwEBAQEBAQEBAQEBAQEBAQEBAQEB
AQ4HCgoKEQoKCAwBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARYWGAcIGAwBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/default.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Default screen style sheet
* - includes style sheets for default rendering of uOttawa pages
*
* University of Ottawa
* Computing and Communications Services
*/
@import 'typo.css';
@import 'header.css';
@import 'footer.css';
@import 'layout.css';
@import 'tools.css';
@import 'local-nav.css';
@import 'sidebar.css';
@import 'page-tools.css';
@import 'landing-page.css';
/* Default properties of elements styled in each theme */
img { border: none; }
#section-container { background: top left no-repeat; }
#main-siteinfo { background-repeat: no-repeat; }
a.back-to-top { margin: 0; margin-left: auto; width: 88px; height: 9px; text-ind
ent: -10000em; display: block; font-size: 0; padding: 0; }
.fr a.back-to-top { width: 97px; }
.wide-content-page #main-content div.return { display: block; margin: 1em 0 2em;
padding-left: 20px; background: 2px 0.2em no-repeat; margin-right: auto; backgr
ound-image: url(../img/chevrons-back.png); }
.wide-content-page #main-content div.corner { position: absolute; top: 0; left:
0; width: 16px; height: 17px; background-repeat: no-repeat; }
/* Clearfix hack to force right-alignment of back-to-top link, see tools.css
div.top:after { content: "."; display: block; height: 0; clear: both; visibility
: hidden; }
*/
/* Bullets */
#main-content ul, #main-content ul li
, #sidebar ul, #sidebar ul li { padding: 0; margin: 0; }
#main-content ul, #sidebar ul { margin-top: 1em; }
/* First-level bulleted lists */
#main-content ul li, #sidebar ul li { list-style: none; padding-left: 30px; marg
in-bottom: 0.7em; background: 13px 0.2em no-repeat; }
/* Second-level bulleted lists */
#main-content ul li ul li
, #main-content ol li ul li
, #main-content ul li ol li ul li
, #main-content ul li ul li ul li
, #main-content ol li ol li ul li
, #main-content ol li ul li ul li
, #sidebar ul li ul li
, #sidebar ol li ul li
, .sub-section #main-content ul li ul li
, .sub-section #main-content ol li ul li
, .sub-section #main-content ul li ol li ul li
, .sub-section #main-content ul li ul li ul li
, .sub-section #main-content ol li ol li ul li
, .sub-section #main-content ol li ul li ul li
{ padding-left: 20px; background: 6px 0.4em no-repeat; list-style-type:
none; }
/* Ordered lists */
#main-content ul li ol li
, #main-content ol li ol li
, #main-content ul li ol li ol li
, #main-content ul li ul li ol li
, #main-content ol li ol li ol li
, #main-content ol li ul li ol li
, .sub-section #main-content ul li ol li
, .sub-section #main-content ol li ol li
, .sub-section #main-content ul li ol li ol li
, .sub-section #main-content ul li ul li ol li
, .sub-section #main-content ol li ol li ol li
, .sub-section #main-content ol li ul li ol li
{ background-image: none; list-style-type: decimal; padding-left: 0; }
#sidebar ul li { padding-left: 14px; background-position: 0px 0.2em; }
#sidebar ul li ul li, #sidebar ol li ul li { padding-left: 10px; background-posi
tion: 0px 0.4em; }
.wide-content-page #main-content ul li, #sidebar ul li { height: 1%; /* to fix t
he disappearing bullets problem in IE6 */ }
/* Corection for standards-compliant browsers */
.wide-content-page #main-content * > ul li, #sidebar * > ul li { height: auto; }
/* Contact information */
#contact-info { border-top: 4px solid; margin-top: 1px; }
#contact-info-title { text-indent: -1000em; background-repeat: no-repeat; height
: 21px; }
/* Buttons */
input.submit, input.button {
background: #353535; /* default color */
border: 1px solid black; /* default color */
color: white;
padding: 0 0.3em;
}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/typo.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Typography style sheet
* - setting of the base font size through percentage value
* - all other elements are sized using ems, instead of px
*
* University of Ottawa
* Computing and Communications Services
*/
body { font-size: 62.5%; font-family: Verdana, Helvetica, sans-serif; color: #35
3535; }
input.submit, input.button { font-family: Verdana, Helvetica, sans-serif; font-s
ize: .90em; }
h1 { font-size: 1.8em; font-weight: bold; margin-bottom: 1.5em; margin-top: 1em;
}
h2 { font-size: 1.5em; font-weight: bold; margin-top: 1em; }
h3 { font-size: 1.2em; font-weight: bold; }
h4 { font-size: 1.2em; font-weight: bold; }
a { color: #903; }
a:visited { color: black; }
#contact-info-title { font-size: 1.2em; font-weight: bold; }
#contact-info address {
font-style:normal;
}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/header.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style sheet for the global header
*
* University of Ottawa
* Computing and Communications Services
*/
/* header background */
html { background: url(../img/gradient_png8.png) repeat-x; }
html body, html body.fr {
background: url(../img/gradient_box_png8.png) no-repeat;
background-position-x: center;
background-position-y: 64px;
}
html > body, html > body.fr {
background-position: 50% 64px;
}
#main-branding { margin-bottom: 5px; height: 53px; float: left; width: 130px; }
#main-branding-logo img { display: block; }
#page-tools li { list-style: none; }

/* Secondary Navigation (top right) */


#main-secondarynav { padding: 0; margin: 0; z-index: 100; }
#main-secondarynav a { font-size: 0; }
#main-secondarynav li { list-style: none; }
.en .old-banner #page-links #ch-lang-url
, .fr .old-banner #page-links #ch-lang-url { left: 625px; top: 0; position: abso
lute; }
#secondarynav-biblio { left: 653px; top: 0; position: absolute; }
#secondarynav-maps { left: 689px; top: 0; position: absolute; }
#secondarynav-search { left: 722px; top: 0; position: absolute; }
#secondarynav-courses { left: 753px; top: 0; position: absolute; }
/* Image Replacement for Secondary Navigation (top-right) */
.en .old-banner #page-links a#ch-lang-url { background-image: url(../img/h_util_
nav_f.gif); height: 26px; width: 28px; text-indent: -999em; font-size: 0px; disp
lay: block; padding: 0; margin: 0; border: none; }
.fr .old-banner #page-links a#ch-lang-url { background-image: url(../img/h_util_
nav_e.gif); height: 26px; width: 28px; text-indent: -999em; font-size: 0px; disp
lay: block; padding: 0; margin: 0; right: auto; border: none; }
.old-banner #page-links { z-index: auto; }
a#secondarynav-biblio { background-image: url(../img/h_util_nav_biblio.gif); hei
ght: 26px; width: 36px; text-indent: -999em; font-size: 0px; display: block; pad
ding: 0; margin: 0; }
a#secondarynav-maps { background-image: url(../img/h_util_nav_N.gif); height: 26
px; width: 33px; text-indent: -999em; font-size: 0px; display: block; padding: 0
; margin: 0; }
a#secondarynav-search { background-image: url(../img/h_util_nav_search.gif); hei
ght: 26px; width: 31px; text-indent: -999em; font-size: 0px; display: block; pad
ding: 0; margin: 0; }
a#secondarynav-courses { background-image: url(../img/h_util_nav_i.gif); height:
26px; width: 27px; text-indent: -999em; font-size: 0px; display: block; padding
: 0; margin: 0; }
a#section-home { background-image: url(../img/h_util_nav_sec_home.gif); height:
26px; width: 33px; text-indent: -999em; font-size: 0px; display: block; padding:
0; margin: 0; }
/* Activate hover effect */
.old-banner #page-links a#ch-lang-url:hover
, .old-banner #page-links a#ch-lang-url:active
, .old-banner #page-links a#ch-lang-url:focus
, #main-secondarynav a:hover
, #main-secondarynav a:active
, #main-secondarynav a:focus
, a#section-home:hover
, a#section-home:active
, a#section-home:focus { background-position: 0px -26px; }
/* Degrade 1.0 version */
body.old-banner {
background: white;
}
/* Version 2.0 */
#main-banner { position: relative; width: 780px; height: 1%; z-index:1000;}
#main-banner #main-branding { width: 570px; height: 76px; margin: 0; float: left
; }
#main-banner #main-branding #main-branding-logo a { position: absolute; display:
block; background: url(../img/uOlogo-sprite-png8.png) no-repeat; top:21px; left
: 9px; width: 153px; height: 41px; outline:none;}
#main-banner #main-branding #main-branding-logo a:hover, #main-banner #main-bran
ding #main-branding-logo a:active { background-position:0px -44px; }
#main-banner #main-branding #main-branding-logo img { display: none; }
#main-banner #main-branding #main-branding-tagline { position: absolute; top: 2
0px; left: 184px; height: 44px; background-image: url(../img/uOlogo-sprite-png8.
png); background-repeat:no-repeat;}
.fr #main-banner #main-branding #main-branding-tagline { background-position:-17
3px -88px; width: 140px;}
.en #main-banner #main-branding #main-branding-tagline { background-position:-17
3px 0px; width: 145px;}

/* Main global nav */


#main-globalnav { display:none; }
/* Secondary Navigation (top right) */
#main-banner #main-secondarynav { padding: 0; margin: 0; position: absolute; top
: 43px; right: 0; left: auto; width: auto; display: inline-block; }
#main-banner #main-secondarynav li { list-style: none; float: left; background:u
rl(../img/separator.png) no-repeat; background-position: 0px 6px; font-family: "
Helvetica Neue", Helvetica, Arial, sans-serif; font-size:10px;padding-left:1px;
}
#main-banner #main-secondarynav li.first { background:none; }
#main-banner #main-secondarynav a { font-size: 1.1em; display: block; }
#main-banner #main-secondarynav a#secondarynav-biblio
, #main-banner #main-secondarynav a#secondarynav-maps
, #main-banner #main-secondarynav a#secondarynav-search
{ left: auto; top: auto; position: static; background-image: none; background: n
one; height: auto; width: auto; text-indent: 0; padding: 0; margin: 0; }
/* Hide section-home, courses */
#page-links a#section-home, #main-banner #main-secondarynav a#secondarynav-cours
es { display: none; }
/* Position secondary nav to make space for ch-lang-url */
#main-banner #main-secondarynav {
margin-right:71px;
z-index:1000;
}
/* Position ch-lang-url */
#page-links { width: 780px; z-index: 1; }
#main-container > #page-links { z-index: 100; height: auto; } /* Correction for
standards-compliant browsers */
#page-links li { float: left; }
#page-links li { float: left; }
.en #page-links a#ch-lang-url, .fr #page-links a#ch-lang-url {
position: absolute;
top: 45px; right: 8px;
left: auto;
width: auto;
background-color:#fbfbfa;
border:1px solid #bcb6b0;
text-indent: 0;
height:auto;
font-size: 1.1em;
display: block;
padding: 2px 3px 2px 3px;
text-decoration: none;
color: #72634d;
font-weight:bold;
font-family:Arial,Helvetica,sans-serif;
}
#main-container #main-banner #main-secondarynav li {
padding: 5px 0;
}
#main-container #main-banner #main-secondarynav li a {
padding: 0 5px 0 7px;
text-decoration: none;
color: #72634d;
display: inline;
}
#page-links a#ch-lang-url {
padding-right: 10px;
}
#main-container #main-banner #main-secondarynav li a:hover
, #main-container #main-banner #main-secondarynav li a:focus
, #main-container #main-banner #main-secondarynav li a:active {
text-decoration: underline;
outline: none;
}
#main-banner #main-secondarynav li.more {
display: none;
position: relative;
}
.js-enabled #main-banner #main-secondarynav li.more {
display: inline;
}
#main-container #main-banner #main-secondarynav li.more h2:hover
, #main-container #main-banner #main-secondarynav li.more h2:focus
, #main-container #main-banner #main-secondarynav li.more h2:active {
text-decoration: underline;
cursor: pointer;
}
/* Quickpicks */
#main-container #main-banner #main-secondarynav li.more h2 {
font-size: 1.1em;
font-weight: normal;
padding: 0 8px 0 7px;
line-height: 1.20em;
text-decoration: none;
cursor: pointer;
color: #72634d;
display: inline;
background: url(../img/dropdown-arrow-down.png) no-repeat bottom right;
}
#main-container #main-banner #main-secondarynav li.more.expand h2 {
text-decoration: underline;
}
#main-container #main-banner #main-secondarynav li.more ul {
display: none;
position: absolute;
top: 25px;
width: 145px;
left: auto;
right: -5px;
background-color: #fff;
border: 1px solid #cac3bc;
-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 10px;
-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 10px;
box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 10px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-background-clip: padding-box; /* see http://tumble.sneak.co.nz/p
ost/928998513/fixing-the-background-bleed */
padding: 4px 0;
margin: 0;
}
#main-container #main-banner #main-secondarynav li.expand ul {
display: block;
}
#main-container #main-banner #main-secondarynav li.more ul li {
margin: 0;
padding: 0;
background: none;
}
#main-container #main-banner #main-secondarynav li.more ul li.new-group {
margin-top: 3px;
padding-top: 6px;
background: url(../img/quickpicks-new-group.png) no-repeat top left;
}
#main-container #main-banner #main-secondarynav li.more ul li a
, #main-container #main-banner #main-secondarynav li.more ul li a:link
, #main-container #main-banner #main-secondarynav li.more ul li a:visited {
display: block;
width: 125px;
padding: 3px 10px 3px 10px;
text-decoration: none;
}
#main-container #main-banner #main-secondarynav li.more ul li a:hover
, #main-container #main-banner #main-secondarynav li.more ul li a:focus
, #main-container #main-banner #main-secondarynav li.more ul li a:active {
background-color: #EEE;
}
#page-links a#ch-lang-url:hover
, #page-links a#ch-lang-url:focus
, #page-links a#ch-lang-url:active {
background-color: #741026;
color: white;
}
/* Degrade 1.0 banner */
.old-banner #main-container #main-secondarynav li.more {
display: none;
}
/* Hide deprecated elements */
#main-banner a#secondarynav-courses { position: absolute; left: -999em; }
/* Global Search */
#main-banner #global-site-search {
margin-top: 0px;
width: 195px;
display:block;
position: absolute;
top: 0px;
right: 0px;
float:right;
}
#main-banner #global-site-search #global-site-search-label {
position: absolute;
left: -999em;
}
#main-banner #global-site-search #global-site-search-words {
width: 156px;
height: 15px;
font-family: Helvetica, Arial, sans-serif;
font-size: 11px;
padding: 3px 3px 2px 5px;
margin: 10px 25px 0 0;
.margin: 9px 25px 0 0; /* affects both IE6 & IE7 */
_margin: 10px 25px 0 0; /* reapply first rule to IE6 */
border: 1px solid #b4aea9;
position: relative;
z-index: 1;
}
#main-banner #global-site-search #global-site-search-hint {
display: none;
font-family: Helvetica, Arial, sans-serif;
font-size: 11px;
overflow: hidden;
top: -17px;
.top: -18px; /* affects both IE6 & IE7 */
left: 7px;
width: 150px;
height:11px;
position: relative;
cursor: text;
z-index: 10;
color: #bbb;
font-weight: normal;
padding: 0;
}
#main-banner #global-site-search #global-site-search-hint.empty {
display: block;
}
#main-banner #global-site-search #global-site-search-submit {
border: 0;
margin: 11px 9px 0px 0px;
padding: 0;
width: 20px;
height: 22px;
position: absolute; top: 0; right: 0;
background-color: transparent;
background: url(../img/sprite.png) no-repeat top left;
display: block;
margin-bottom: -11px;
cursor: pointer;
}
/* Correction for standards-compliant browsers */
#main-banner #global-site-search > #global-site-search-submit {
margin-top: 10px;
}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/gradient_png8.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABQAAADoCAMAAADYBzRdAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIRQTFRF5+Xh9PPx+fj3+/r58e/t+Pj3
8fDu6efj9vXz6Obi5eLe7evp6+jl/Pv77u3q5+Tg+vn5/f396OXi8O7s8O7r6+nm
5uPg6efk9fTy7evo8vDu/Pz87+3r9PPy7uzp5uPf6ujk9vX08vHv9/b1+/v6+fn4
8/Lw+Pf2/f387Orn/v7+////qg/NbQAAACx0Uk5T////////////////////////
/////////////////////////////////wDH1gmMAAAAp0lEQVR42uTIRxLCQAwA
QYPJOecMtgn//x8fmItKJe0u9LGzHsiUeQZ+uQKcYyDIsGZAkF2gzTbQ5hpwXoBf
DoA2l4DzBdLOLeDsA22egF+OgCAPwC8XQJBzIMgGMMkWMMkd4LyBwFmCZLIG/PII
/HIDODtAm1cQOO8gxqxAMtkEJlkHJlmAGHMCBJkDk3yAGHMIBLkHfvkEaecUCPIN
/iU/4PfyK8AAev3L/HsME7wAAAAASUVORK5CYII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/gradient_box_png8.
png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAyEAAADPCAMAAADVli6uAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33
3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs
DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe
EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH
/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn
f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ
V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4
mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg
g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl
7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A
V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5
WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ
WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA
RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv
1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4
IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy
UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE
bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE
NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD
5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h
tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0
dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK
CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep
O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN
2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp
G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n
U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36
p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP
jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn
m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR
p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H
DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn
F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc
n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh
7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ
gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85
ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7
F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R
NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9
MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo
1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5
sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF
fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP
ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ
zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ
+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v
dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb
Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7
52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7
nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9
zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D
BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy
l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT
0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
YAAAOpgAABdvkl/FRgAAAwBQTFRF+/r6+vr67uzp6Obk7evo6unm2dfV+Pj3+/v7
4N7c4+Hf/Pz7397b5OLgysnH0tHOysjG09HPwcC+0dDOwL+9y8rH2tjWwsC+v768
+fj41NLQ+vr4w8G/+Pj2+fn39fTz9vX09/b1ycfF5ePh9/f28/Lx9PPy8vHw8fDv
8vHv7ezq8O/t1dPR7u3r7+7t+Pf27Ovp5+bkzMvJxMLA7evp8fDu6Ofl2NbU8O/u
8/Lw7ezr9fX09vb16+ro3tza7u3q7u3s7+7s7ezp6+rn6+nn3t3b6uno4N/d7uzq
4uHf7Oro6ejn397c29rY5uXj4eDe6unn7+3r5OPh6efl9fTy5eTj3dza8O7s8/Py
2NfV5eTi29nX7Ovo+Pf35uXi9PPx4+Lg6ejm4uDe2tnX4+Lh3NvZ5uXk6+rp19bU
9PTz0M7N29rX5uTizs3L2dfWz87M7Ovq1NPR6ujm6+no0M/NyMbF1tXT1dTS6+nm
6ujl7+7r7+3s7+3q5uTh4eDf5OLf1tXU6Obj2NbV19XT3dvZ5+bl0tHP397d8e/t
zczK5+XjxsXD3NvY2djW6Obl0dDP4+Hg09LQ5ePg4eDd7u7t4uHg8vLx0c/N8fHw
vr276OfmyMbEy8rIy8rJ7e3s1tTS5OPg0M/O5+Xk4d/e4d/d4N/e2djX2NfW1dXT
09HQx8XD4+Lfx8bE8PDvyMfF3NrY393b7OzrzcvKycjG0tDO19bV1dTT5OPi9/b2
1NPS3Nva7+/u5ePi1NLRzs3M09LR6+vq29nYz83LzszKxsTC3dzb3dva2tnY2tjX
xcPB/Pv6/Pv7/fz8+vn4+/r5/f39+fj3/f38+fn4/v7++vn5+vr5/Pz8+/v6////
2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo
6enp6urq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4
+fn5+vr6+/v7/Pz8/f39/v7+////an9H7wAAANl0Uk5T////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////APRBhrwAAA0sSURBVHja7NjpcxvnfcBxTCmDJQbAXgAW3MEMLt4E
bwo8JJGUSIqHJEokLcYiZcq6LNmSddmRJVeyosh3bcdX4jh2kzRnk7ZJ2hy973sy
ZFVVivDn9MXzPLsLkvBQntov4u9nTGCPZxfkD/gONA78DoCKSgFmAGyqkC0AJF8h
w8PDw8O7du06fPjw6Ojo6OhDwOfY6Ojo6Ojhw4d37do1PDw8PFwKyD5GRx+6dGl+
fr4K+Fybn5+/dOmh0VHZSCkwPCz6mK967ezZfD4fyefz+Ug+ks9HIvlIXjx5e+Jk
JBKJ+JaKnUg+H4nI3YgrH8lHQmIzFPGd8S3xCXkb+TWLQqFIJBISK0KVLhN7+ZBY
L1erSyOhSCgSCoUikZB4lBeGQt5N3ZXuneXakLyLEJE/4oy75S0UL6V25ZGQernK
IhvtRMoPRdatiKy58LdDRD5676P7E4p8WvL5s2fPvlY1LxoZHi4FZmcne6fHrly9
uXz9nRvH3n235rdNuKYm7N+pvB2uqQmH3d2wtya85oKw767hcE04HA7X1IjncDgc
DqvtmrDv1cWed1CuCLvP3vWb8MAXbGBogxsMhf8/DVU+MSTP19SEh7x5V3rbwuve
AN9uWJwPl7+dYsjuG6kGLyZf447fPaPO17wbuvHO8s2rV8ameydnZ0uB2cnJ6bEr
xeXrN47VDL1+5kxiKZgIJhLBhBD0PW5kSf4kgomgb1kwuPYGwWAwKFYEg0vBoLxC
rZYnggmxbnMeZO1nJfFZ3+gBX7BvE0fWn+uruKyvL9gnzvXJx741t+1Tm4lgXzCR
EG+9epCfAflxEX+O+Dh4H5eE+ljIz+W6CSTk1Qn1Ool1Y/FuveHAEt69ls68PlTz
buj6cvHK2PTk5GwpMDvZO32luHw9FH79TLDvW4WCIxiOUig4TsEpFJyC4zgFRz0Y
TsFxDKdQMOSW4ziFQqHgOPJBrhOb6n6GIe9uGEbBMQqOo2mO4TiOYRQcxzAcw3Ac
wzAco2AYmjigGZpmaJphaIahGZqhGYZhGIamaZphqB9xRBzV1ClN0wzNt0KesQxD
nLEMTTMMyzIsTRN3dq+0NPlgWJqhaZZlaYYlDhqG+J0sy7AsS7PEWkPTNMOyNMPQ
LPHrWpqlGYa8h2ZpZWst8btY6seyxOWWpWnipQzL0izNsAzN0CzLEifkWkuz1Fr1
K1iW+1t7t/Je2JJP4qUscUfLsixL3F3e17Lc15K/rXhwD1ma79K1t5I3En+epd4I
NVv54L4fmvdmaZqlle2KA4Z7gaEZhiXeZUN9TByxoxmO3HY5mrshr5W3cjRNc7wl
mqMZ8pMp7+sUCrf6ll4PH3tnuXhlulcUMj12dfn6saEzfd9yrPOvdnd3d8fj3fHu
7u7ueHd3vDsej8fFISkqD8Tj8Xg0Go/LU+5Dt3t2E9TKaDQaj/qO+7fFTlT8RD16
2bPuP7TxknWHo7ouLnMP5NwVul5+z9ya++hijS4u13N6VI9GdT2Xi+q6rotbi1vo
Yqk4pkf1qJ7TdXGxOJrTN6KORsufc7mcOCn+K7s4lyu/OOfu5DZ+hVwulxOX5XI5
eWtdHBG78j65D+XNcznfi7gvKld9qOt6NKfr7l8k/3w9qmbl/iHe4ahaFI9G42K+
8uPg24qLzXg0Go/Go7o67XuOqs9Gd1xsx3U9Lg+pK+XyuPchEB9gcSIejUejr3Y/
9YxT6FsaOvbOzatj05OzpcBs7/TVm8uhoaVbxvnu6Ic//q+elNDTk0r19PSkUqlU
T6rHe3QfUnYqlepJpXrsHvEkj/SkxEI71ZPqsW1b3TCVslN2yrZTcqF4UGfESXnU
tm0zZdu2OGzbdspMpVK2adumadu2bads2zbFU0ocM23Ttk07ZsZs24yZtmmapmmb
ZtIWm6ZpmmYsZpqV9uQhcSwmfmJmMimWxWLiXEwcNmNmTBxz15qmXCIOuJvijrFY
LBlLqkXi2qQZ8zHNpNhIxpIxM5aMJeVCdTQmFojTsVjMVAvNZFIsiMWSyVgyGYsl
BfUsN+WPuIc8GFMnP1CLP0hulv/2H4jXF7+jfBX3F48lY+t4Y6v0HphqtvK9FW+z
/ACsY2580DTVp0ZebZZdYaZMb8+07VTPv/5Yjz6l3UoMha4Xr073zpYCk71jxZs3
wmf6/heAdOtM+MZycax3shS4tmts/mxo6PjbTAVQ3j7+Qujs/Niua6XAtS1j8/nv
/fTyL5gKoLx/+affy1eNbblWClzbcqnq2z9buvjPTAVQ/uXi0s++/dqlLddKged6
x+ZD4wmnm6kAykdGcCFUNdb7XCnwXO9YVWhv8Bc/ZyqA8pP3+xamvEKmxm+9/xOm
AihffKZvYeq1sd7nSoEv9O7oOjZ0+pkvMhVA+f0nLw8d69rR+wVRSGjoEIUA/kJO
v+AW0tn1x0OHnqQQwCvk/OkXQhQCVPAn58u+Q+Ze4F9ZQPl3yJD8Dmlt6ayKLJx7
KcpUACX35JcXIlXTLa2ikPz4OYtCAO9fWdaXx8sL4TsE8H2HrClk77kfUQjg+vna
Qt546SOmAmzwHfLKZG9x8bvnLr7KVADlI+vQxFyxc/KVUuCVyd6ji9/9p7cpBHBF
rf+cWBSFbG1rOTCz//izTzEVQPmDt49PzBxtadsqCunav49CAF8hF49PzBwQhexs
2UEhwPpCdrTsdAs5efk8UwGUP7+4b2LmgL+Q0xQCVCxkauH0M0wFUJ56dp/vX1md
XVMLhyymAvgL6RKFNLe2dXZN7T30FaYCKH//q5NTXQfaWptFIcXHKATwefJLC1Nd
O/yFvPEjpgJ4hYyXFzLxxl8xFUD5w3WFHP87pgK4hfxyfKrYKQrZ2tZSnJvY9yum
AihfOTT+WJdbSOfRuf3Hv8RUAK+QvXPFzrat8jvkwOLUf1AI4HrpBy/PHW3xCpmZ
+vdfMhVA+YcfvLwoCxlobm17+jtvjf+QqQDKs/u+f3DPYGvzQCkw0LyTQoByf3Ty
+bJC3nxr/A2mAriF7PMV0tr29Jsn9u5jKoBy+WRZIacoBCgrZOH5g097hVx482+/
f5KpAMrphbcOPt22tXmgFKhv7G9vOTr3PIUArnPjj3Xt+L2mxnpVyOL+BaYCuIXs
nSsr5MDiY+NMBVCOT8wVO8sL2ctUAGXfxKJXSFN7y4EZCgF8heyfKytkx8wchQCu
k/vnjspCjgw0t7Z1Fhf3MxVA+eupmQNtO5sHjqhCjs5QCOD6t6muHbKQh48MbN05
uOfxE0wFUF7+6ounRloHjjxcCjx8ZKB55+BuCgF8hZz4xqmRrQMPe4W8SCGAa+LE
N06NtJYV8hdMBXALOeh+h6Qb6hv7R07teZypAMr+g3s625vq0+lSIN3Q0Ng/Mkgh
gOerj+8e9BfSPribQoCPK6SLqQDKia7dI+2NvkJGThWZCuAWUjw10u8V0tQ+0rmH
qQDKwWKnr5B6CgHWFtIuC8mk0w2NTe2Du5kK4BayZ7C9qb4hkykFMhkKAdZ4fPeF
9qb6tFdIP4UAnhfF/+xVhdQ39Y9cYCqAsufCSHsjhQCVC+n3CknXNza1DzIVQNl9
YaS/sYFCgAqFDI40lRfSP8JUAK+QdlVINpvJpOvrm95jKoDyj9/sb2xIZ7LZUiCb
zWbSDfVN7UwFUP7sPQoBPq6Qpvo1hfQzFUD5ZvuaQhoaKQQoKySdKSukiakAynv9
FAJU1t7fWJ/OZDuypUC2I5vNUAhQVkhTY0M6k+3oKAU6OrLZTDpd38hUAK+QelVI
dXVd3fZt2x55hKkAyt98/ZEntm2vq652C3mCQgDXn36NQoCPLWTbtjp/IdsoBHB9
/WtPbNtOIUClQh5xC7l9u6Mjm8lk0kwFUOT/ybp9WxTSkaUQ4OMKyVIIUFZItryQ
bIapAEpDOkMhwGYKuXOnurq6rq6ujqkAivw/WXfuyEKqKQTw2bZ9e11d9R0KASoW
Uq0KuUMhwNpC6soLqaYQwLOdQgAKAT5pIXV11RQCbKKQu3fv1tbW1tY+ylQA5S8f
fbS2tvbu3bteIbVMBVAepRBgc4Wsrq6urKysrKwwFUC5fXtlZWVldXWVQoCNClkp
L2R1lUKASoWsrlIIQCHAAxWyurq6WgrcF+7dYyqAcu/evXv37t+/f98t5D6FAP5C
RBcUAmyukPtMBaAQgEIACgE+3ULuUwiwmUJ+rTAVQAmoMCgEoBDgQQv5tVvIbxSm
Aii/q7KgEIBCgAf0GwoBKASgEODTLeR/FKYCKG4WFAJQCEAhAIUAFAJQCEAhAIUA
FAJ8vgv5b4WpAIqbBYUAFAJ88kIYBlAZhQAUAlAIQCEAhQAUAlAIQCEAhQAUAoBC
gE9SSAlAZRQCUAhAIQCFABQCUAhAIQCFABQCUAgACgEoBKAQgEIACgEoBKAQgEIA
CgFAIQCFABQCUAhAIQCFABQCUAhAIQAoBKAQgEIACgEoBKAQgEIACgEoBACFABQC
UAhAIQCFABQCUAhAIQCFABQCgEIACgEoBPhs/d8ADMuPK9IQUFkAAAAASUVORK5C
YII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/uOlogo-sprite-png8
.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAe0AAACwCAMAAAAVDcZUAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFzsjBvLWqyMO6z8rCfnFc5OLd
c2RO6ebie21ZzcjArKSX1NDJ0czEoJWGxsC34N3Y0s7HdGZQ5uLe1dHK4NzXv7iu
iXxq5ODd1M/I39zWmI190s3G3tvVnpSF3tvWopiJp52Q6ufjoJaH6OTh6ubjlot6
pZyO4uDbin5sx8G4nJGC087HraSXdmhSu7SpjYFvjoJx4d7Z3drUqqCTuLClwLmv
1tLLsKebemtX0MrDubGm1tHLubKno5qL0MvEzsnBmY5+lIl4m5CBycS7oZeIf3Je
iHtoeWpVt7Ck4t7Z4d7ah3pn0czFhnpnkod2g3Zjl4x8hnlmk4h3xr+2iHxpgnRh
nZODkYZ0g3VihHZjkYV0r6ear6aa3dnUvretgXRgqJ6RrqWYysS8rqWZtq+jr6aZ
kIVzqZ+Stq6jsamd19PMwruyrqaZvbas3NnTzcfAt6+k4+HcwbqxzMe/xb+2vbes
zce/5+Tgtq6ixb617OnmurOos6ufsaicwryyq6KVsqmd3NfS4t/akIRzy8a+2NTO
mo9/3NjTxL61ysW82dXP5eLey8W9ta2hsqqeurKo4t/b2tbQ1tLMta2ita6ihXhl
4+DbeGlUwbuws6qfq6OV2NPN29fS2dbQsKicw7yzqqKUwruxyMK56ujl5ePe5uPf
tKygvres29fRqqGU5uTg19PNtK2hqJ+RrKOWwbqwxb+1hHdkw720y8W829jSlYp5
wbuxw72z5+Xg4t7ain1rzMa+6eXie2xYkoZ1u7OpurKn3NjSvraswLmwt6+jy8a9
2NTN5uTfwLqw2dXOs6qe2tfQeWtW2tXQ2tbP3djTq6OW5+PgxL60kIRygXNfp56Q
19LL2dTOtq2itKugxL203tnUsKib19TNycS8w7yy5+Th2tbR2tfR29bR5OLetKyh
tK2g3dnTs6ygmo+As6ugin5rvreuy8W+ycO7l4x72dbPsamc1tPMi39scmNN7evp
6+nm6efk7evo6OXi6+jl6efj6Obi6ujk5+Xh7OrnbzgYewAAKdVJREFUeNrsnQlc
E9e++KWQhMAlNEZyIUGUtHpFIAgVSdES7aLewtPa2uUlk4QhYBESNIKiskgpWAqK
uIHeulQFtdrN1trW7rebvd3ua7Xv7vu9b+ct/v7Ty8B03jlnJhu77aV/Xjrn82HO
md85M3PmfOecmXw+fr5O+UpK3500JWjv18YZ9+/PX3HFniWNTKjTrrglEgDS1WgT
8XSmNDYhTbvoXoDFxuvi9aq9dwNkREuDE8K0wyPhfrN3J2UpnDsvjU5I0s6qrKzs
zYf7PP540sOwBEUrE6QhCiXafSjlAk4Xv98XkFojSPBon5RCJxHablg5V6dbF1zz
9l267RFylTREoUT75/v//oFImD18rQ4iHji3P0waplChfQX95kpf9vjAsGn6R+np
AO0DUgqNNOUJWLu7bEHS8LUVe8p2z4A/S8MUOrTtwZGEzOD9H8FJaZhCh3ZYwG7j
uzHn9s/+XltA6AmJdijRdvd7Ux6dT352wby6Ml/wcXiyX0qhkfy0F+zLkKMf3Tdp
wm/Zj77cVth3S7RDlHaWfckygDtmv9uDg41V90UCRN76bKZEO+RoK1piENxlcy80
+uMJxrvQiu6Y/Wj/tvHRlmlS42Ol8Zz0tOM8kaC+uybhy0Gp+V/nAcxRRMGTX46Z
nrvrDssLr6+cZ/R8KaXJm/Dc/pKq1Qxfm7rN+OXjY9M+pIMVyo4znlQDXNRLYzqJ
aT8Obo5rn37rdp1u+/bti/Fmu26xsJkbY+S4bbCTGz19mA+3iMVauEMvlApmJAmF
yls6OSlNjiTQnove0SWz0WbWfPwPV2ouou3m29GGHgft6tdhTrd3Rwf7M0lhNjQK
kbkmhTTMk4r2J0vhCW5gBiz9ARemjlRyC+6FEu79W0HXOA7adoBjvh29Gp7G+cDK
CCEgi9gvjfLkos3NAhXHuWEWx6XCuT6Oy4BH8bKMF+hA2sk91T0yDyr097zUI5OR
WN9SWOnxtei3QEQCmu9pcLm6urqf654Nq1AhmVR69Eo9nvmKaoVC0VftXx36FIoB
0ibRrIzvlqhMLO3+F+BFjtsJL3BcuHxZJqe4CikcdwvEDKJdXXIxMrIWFRJi9kdG
FpFYuBqmB5yQBjjAJfynGtJXWGZ9+F6GGrrutug+RDXXx1zePiOjKyaLu/7qxYyr
q2mEt/pANKrZp51zNX+bglMtWWWYsSrC+pLEZeJpFwq0IZFTZMBxjosZQjs59h2A
Gjw7P0Rv+eMkht70tQEnbJHDU1zPgpkQER2tqfbEx8BKTfSC9zkuu0uO1o/G7TAr
udt8DtQHslBrM+gQ89jeCMj9p/6b4LKG4z44ByclLhNEexv8mGVvXALrWRbRZtmb
5fJp7A0OOMqyiDbLsttgL+tPu03wW1JQQXo8KdwE8ExAgwI5zEJZLdzLitWrSf7D
y3AXzo/L01tZNgyWtQq1l2NxbjGw7BQ51OFyGqxKZr/dtEk3s/Nbvd7meLH00MPx
3+J1BdpTV+GBLsSc8jDtf3gNdmHahiG0H3sNjpHCFlj2MSlMB9gQ0OBTNcxDWR04
hP1CyCf5H9PhaZzfrJa/wrK/XAZvop1X89EKgfLYSDPLPgOgwi1yISJ2hN4+VILS
Q2i0UOb2hzsfGuMuxxhR9+Yt2k1Cw82bZ5Y89A3G86HN7hJdyaYxrqcDb4tOneMb
dZ19qPOaabfthwYMZl4yaya0IwXa00ej3fWPpHBfMO3YdMgYjrbiC30bzvVqOb7T
u2EumsA352fA7Wjvt/tR3Q361FdxC+PItNmHHA5yd5ugJCCqM40xYrAZD+zIJ/UO
fQw+6ybTTGGPHe2gYVNnTEwn3j481twG//Mwet83wxi4Tbpr6GUg7Qfh3/oQRbWf
9sPjoD0zmHaqGu4ejjZOyZ0fP58mV+M7fQciUBe33TQfHvCgJ8YgtlD8MPX43FFo
sw+LAxk0nvFbxrjLzeha7pKRaku8J9PFiA8Hxk3ax+uuCbZWOAGrHTftzhj36Kfc
PMaptsRfQy8RbTvDdK+CdoaZDXMGmC0g38P8LhJqGOYuyGAY5qewj/Gn5tegnBQQ
7VZS+GeA3IAGO+RwC8rWgkPYL4SlYo0+bcXqJTMWy9Xr0M71ariOYVebW+XqSqZt
9VHSouhKxkXd7PsRbWaktGaNmDPXmoAa65wb4RGhEIMLpP2aa7oOZfIIhegxGq6D
dWLpkUeYb57G3UuBdvLfYaTb4SrDXAegZ5hI2Mgwd8Pn46DdK4eZAQ32AX5QhtJW
/DRd/vTh3zEatRzfqeIiOso8509MBkQxeRHdKPQnNKndtmQ06Pd2j4d2qY6q0pqu
oLGltMzGNWtKmXW6NRuZqlJdjIepitFFO3RMFRWj9TClMaWeK7CG2hizRvcIc2VN
jDDEFHVFh/pCORzURryvc/hgUKT9OrFqY4xjI74CulapB19lHboKvvKgZNL5y57S
NdrogE56AyjfGKPFtKNLHTr8dERTV7QE/iMxDnRiYaOL1gGq9VC6deh6MagOXd1D
lWqrmOgrDs8ah0c4rOpKjHAD/gEYjfaPII7vr4+AWdnlWrj3VDlamOkLNV1gKM/O
hwd2bOWfhlLen1ojoZ4UqqBrNymcccAchb/BdvgIxxvAIew/BUtJPh/kO3BeoJYr
hXgG/8TtPF+L6q1zcWQ6XM7C+SLI50dMFouY87wStEreChrepgMeFWRoU8zbC1Gl
gbdptYXFhTKTjLcqeRVYeR7/yUyoVuaQkVNoUUADdv85TRbvVcAitCdVMq2dnL0Q
XYV3oPZWO28woMurBvVNQw4RyyYbb9EGdNIbkGk1POqQkrc7hO7wFhWvFA5UojDZ
2ByOYlQo5mVWtEeupNTxMosNlW0yAxSqdDLhMI3DIt4AGYDCYn60RGjfeQeMkLTM
INpobh8lBfQbSqDNHwEw++oTI2E7PwztrVoQxnKHXB2O8yLoirYU8Xy0Wq75/BQK
nF4GUaRFzjhpCzzwxoo4yNDY8BaZzIQG02pCRYc4fDKZ0Ii0LkRRu52cwQ42fB6T
/5wwPG1eJyMn0qBBV5kQMB2PHyE+gC0vwvJHbAahW75OegNWndgvVbF4etzCFkxb
qLBYxD0tOqZQKRyKbtNKei4eZvHSlpEHlx+bNq+vVCor0R/aVAZt0NAF054WAUZS
uAs++r0QylwJi331NHSV4Xwt3CsECgXanjvgX8h+LURW4LzjMhiuVvM8cxUWZ+CI
WQ1hpIVOXA2ujTZv0PI2K2JotVpV3vHitWDwjgxpjYkZhKltwAeRaec9p8Pko10Y
SBuNuQEPusOA5g6eWwSn1csWXVAo2cAQ2FW7JZC2N+CwerHysmI8MdEIWZT8qLTt
aNqiUzssVmux0ibcrvcwH21ep+U11nHQXjvzwRHS7Df4qCDa7GqYgXOVWt7V7H2m
TeITgGasWl1OCu0QIRNp79+Ksv58mIfzaQ40p0kF+uW2TRhv0JF3xDJ4EOdmOawa
ub8Gx0i0VaAptAnrmf+xkBUCnuw+2rzWYCsUG4i0lT7aBkReHHVVIG2V1k4GvdCE
QJsK7ahSY7HKRNo2BNsuPi4Of0etFmXQ3PYGwEtbZtDZhCsXm8A+Km20bqnswjMo
9Jn3H+anrQKb+CCPTnvvSLAffCpuEG10qdfC+a1xn98EELZVjDVdhrpqvFy/oe7a
IIRSQF3EyxLwip9ewHsa+YMAu3i+MmNxF1SJrwLhBV5AKlB6ASL0fL97zhJ47dCI
/S0ms4JXFg6hzTsKDfiW7QG0lfgFqgukXQyFNu+NYLbWgJXcNzcLtXwAbRtiTwZd
AzoNQl5IrjXMSo7moHhxqwZPxyDa3oBDK2JFa5Fweht6l5tGpY3a4p5pHQG0vYf5
afMmQyE/Ju0Lca/PGjG9npITTPsrgxpWX329uSBdHkGfEINJTznO3Tp7en7EfXvE
yMB0uXreVTfPd+sg/fOrz/Jnpqth6dV5FxTnIOKpNtQiqyuffNxVz+kiSzu/+3OA
i3OWRDenQ37OSP2VmbSIlk1rG0rbSj6bHCb0kVPo/XIpJp9spJFJWIB9L2cbCeBP
NS9tLy0NXg6E9joHPsSOHiKVOHeFRwIt6jIYOrYGciSv0ZKvgkKQBdIWAlb8fWHH
tNHJtFry+cVbHeLjZhVWm8G0leRadkBzt1gp3K73MNxI5xDXJuXYtLPPlo+SDtHB
tNF3VUu5meW/Ss1LfWurL9ixY8OlDSlZ/lZbC1qOLsD1J8I/e+4sjqRWle9AK8BZ
ZXgreUpSW4WWv9cwQiHZ3FJegCvM4adH7LDGARaLQ4O/g9DnLtnYHeTtbDOJ9WBB
H9AmE5rEGlOx3SJDjdCndCHo7MIXsPdMWqvSYOXFpsLksuhUSquwHpL2KkCPgwGV
TCa7+MVLTmAHbbFlGNx2rUGlLDRZ8bwzFIND5eukGECLAzgMVpPBpjE5CgtxV02F
KovG+y7RGvDqU4gvhzdKi/B2dmiELgGK49tFMeEw3Hmhl6j3Wn5s2uWjt3ANpv3/
O9mUthEeBDHTBH4n+99kGpn3he8/09CTKDVB7W02oYS/7IWNcHEcH74bGu8n1+AG
3oAMrcEk14gBjb8drpONfGuygNsJPIz00vtjY3Ta99WsHyXtWgHFfOgkVSjdzODf
K2O2mDITxkwHQ2dANCZZyMIe8xsN0Z6ydsyU+teQSa8t/muopvWwcMw2U/76nUqq
hSF7a23rx24z5f9J6buTpkhaqe+s5zRB3xJWut6dcn2HNDKhTruxam1UVBRFo03t
bR5pbEKa9gd/joq6VPDrrIr/MbujomokjXEo0z6/NirsD96ds8uj9kkW49Ck3XH4
8OHm9VH13f74D8Ki7Ch6uFMaolDznOal4ZQ7NVCbF1tLghpJIBhqnlN92s/K3357
d3BNfPbbz9SmnZWGKJRoTyn92d6GtBHktdlp7XtLS/XSMIUK7eNpaZT1V7cNb1N7
8YiVSktTSlq5ULHj9aYpMxMSOoevbUxIyKxKM0vDFDq0U4MjHlnw/m0S7VCirQ/Y
bfuv5zYXp1SckWiHJu3b6FSfPK3i3VyapLBNftFdEW2WtHKhYsfz0Y4Nr3HR9KLe
hArVcprOORWfKdEOUdqd8XF1NP1kyu6vcLC77MV2mm6vL2uTaIca7XjFghYEt+5F
Tbc/7tFnoxV9X8ru8dKuTkhMlEnjOclp/4aOP9NOU/+uH2IojTWH0XSN4j9o89hK
xT1vn3THuUuN+jOSXnIymy9/Q6d++Yo5YfjapCL9l0Vj0+64RNsPdfedSaqiF2VJ
YzqJaT9Kx3Oc+bP6+gMH6vHmWH39Mbypfwbtt1zPcY/S4WN4mRpz6RSxaKb/kiWU
slSCPI87nfK+pK6aLAYtQvtF9I6uPI42l76HNrX6N9E2rwoHx0F74BRd0+fdeYae
L7gMU+geIVLf0C8N86SijWbno1y/is59n0u1tp/nYjcjzgP19IGecdCOp+kFvp0s
K/0uMWAWi4q7l2qXS6M8uWhzl+j3MLZLHJdIv6PgOCO9Gy/LeIEOpJ3cN9D3UjUp
KPpeEgSVily62K8sTXbTJ9ESPtBE7xwYGEjm+o7TuaRAxJlZ57PwzO8fQN+HigH/
6qBA+6SN563zSX0SlYmlnZyNp2c4nc1xFa7/7ub6a+gPOE5FtwyiPVD5Zm27GZuJ
W+a3135CYhVW+rOAEzbRtIaTXbLSv7K7sxszjSV0XZz7ALZXJ7bsO6Yy1rV4uMSa
N401i5oQ3gFNAqrJW1RTk/toP/de3PxnVbl/qZQU198C7V6BNu3h+o2YdssQ2slt
eTSNdfP9jegt/wGJoTe9OeCEZS66l+uLPU6fTEiIHahOaqHfwQWOi65zofWj5xid
ndz31nLaqsHi47foZxDztk9O0gWe5F56ZyzHZS4f87NQSl+X9vPOeJZNjnPmsWyv
M5tlbSUlbaxis/MLlt3ixNa5Hc6bA/xqjQ24BqVmZ900UihyOhcGNMiinFh7anaW
smL1myTv2eskEr2PS3JeZtlUZ8PLQu3mqTj/8T0s+0iJcwouv+LMlTynE+Q5JbT7
cvFAE9q/xLRf/YlTj2nfM4T2D38isn3M2dAoyPiCaX8/xxmGz+sUJX69zlySd9Q5
d+DcllNymmU9DfgC7I25Tie22049+CnLLnQ6m4kX17lzquQ5nRjPqUB7vtOMwYQl
s5+WUIj2QYH2ltFo15HZyf4imPbUOqdxONrJsUk34Dwph8KjGec8iiawLddInqgv
5qM6RVLSjcSdOTJtyXP6DT2nQbTfuBFRzPHTdo+D9vFg2kmUM2442oR4deMfXynJ
wbTznD+vZtnniwqcpQj0L+7xtuhJaj06Cm3Jc/rNPKc7XNEMM5DrMjPMcdcbycxj
Lmsso6h1Xc8wG1xhDMM0ufIC3IkvH3TtIYXHXGs7SCHc5dIHNDhEuY6jzOwqFfZv
cy0Sa5JeiduVnVJO5WDvZNIR12GG3VXRQVnPM327viAt/tAbVnPhOrtrb7fkOZ0Y
zymhfSIXI613GRnmsMuVxDC1OJrtco+D9m7K1RvQIM+FH5ShtJOb6qxNHQomNseK
bzC5Bh1V8UYfE+Z6hcnaO4BCfc+5noz3nGCiXcUDkud0YjynTZSGZ8t2UhsWlNVQ
66PLeimqck9qA6UqW7iIWn9oK19JFQS4HDpqqTJBgUk1dJJCfzFlPOFvcJQ6iOPh
lCg4KaIEG5qeshILWuKRnAohHsbvSMENd/HK53DkWaq4jbiWqEWS53SCPKeYdvU+
aoRUM5h2Yy1FdFh8PNUu0ObNFOU3Z7XVUsSDOpj21hoqjuwfyjlCWp+mGmLjTvN8
bF1O7ClsR+xspyrF842PtuQ5vXbPKabNJ1SMkGL5QbR79lHxpHBBmMNYYrycqvff
MdVwp4BsfRDtvlLhKUCPQa2HWPaKKZWxHz0GRqo+DEdsR8Qzl4urgeQ5/dt7TjFt
c2/RCOl46iDaTA2VQqykR6wNjd7n+KDICc3YIzllItSdAyLtXOzIYxdRbpz3FKM5
zQsLN9UkPB8UMbZ1tFNFwjBSuZLndII8p5h2XtGIaeEg2ghObRa/deGpHRQV71Uh
vlVMmfvxcp16pEFUX7ZSOaf5gW6ej6bWJvF91Qg/lcrzFWH1DZRgw42mrOQFnkgq
ULpEnUzg2WhjNlXbKXlOJ8Zz2kTtWRi3YcQU12oOpp2sOkLVGOMak+qsO5WispLv
Liqe/1xv1aK9LZli5MSz1hy3Eb2PFeVU3amwZr7/2Tpql9G958R8al8RnvZtDYvI
x12/sYEs7XznKYp6w5gd27iWWmSWPKcT4jltohbcWTZK6lQG00bfVc1lNoZPnpaY
4PF7Tr86tGfBntaAhWRrYvPZTFzPZDWfJa/yac1lh9AKcKctq4M8JdM6hJadseJp
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
d+ctAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/separator.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAIAAAALCAMAAABiZ6zeAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF087H1M/I3y9LpAAAABJJREFU
eNpiYGBgYGTEgwACDAABTQAVBHvlnQAAAABJRU5ErkJggg==
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/dropdown-arrow-dow
n.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAKCAMAAABL52QCAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFcmNN////VN++agAAAAJ0Uk5T
/wDltzBKAAAAHUlEQVR42mJgYGRkZAACRjhmBCNc4owgACEBAgwAAzAAH6kiJZEA
AAAASUVORK5CYII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/sprite.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANtQTFRFqqGUnZOD39zX4d7Z3drUt6+k
19LM4t/aiXxqkoZ1mY5+087Hz8rChnpn3NjS29fSc2RO2NTN0MvEm5GBhnlmx8G4
dWdR1tLLvret4t/bs6uf2dXP3tvWeGpVw7yz3dnUmI19xb+24+Dbh3pou7SpubGm
urOompCAhHdkg3Zj4N3YeGlUgnVhhXhlxsC3zMe/eWtWzce/ta6iiX1qxL61uLCl
iHtof3FdkIRzgXRgvbasin5so5mLw720dGVPuLGm0s3GfG5ai39tfnBcrKOWqJ+R
1M/IcmNN////J2XgcQAAAEl0Uk5T////////////////////////////////////
////////////////////////////////////////////////////////////AAwI
n1UAAACXSURBVHjavMrVDsIwAIXhrl1bJsxwd3d3h3Xv/0RkIWRt0lv4r06+HMAk
GQaQse//hZ1qT/rGk4XIg9tm2B1dVFcXOKYAXJ4RFaogLfCzPfZcC9Jc8xFxIwFa
NY9U+ojW9yEHQcjxDlgtTWJBRFNrjvUXPpkZu4jmJRbxdJe8b7WsXTieGcef8lft
Ozl2lAOTMN9v+S3AAP5KdUfmgXIBAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/footer.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style sheet for the global footer
*
* University of Ottawa
* Computing and Communications Services
*/
/* Layout */
#main-footerglobalnav { display: none; }
#main-siteinfonav { margin: 0; padding: 0; padding-top: 15px; clear: both; margi
n-top: 35px; }
#main-siteinfonav li { list-style: none; float: left; padding-right: 0.6em; marg
in-right: 0.5em; border-right: 1px solid #ccc; }
#main-siteinfonav li.last { border-right: none; padding-right: 0; margin-right:
0; }
#main-siteinfonav li.right { float: right; }
#main-statements { padding-top: 1em; clear: left; }
#main-siteinfo { padding: 50px 15px 0; clear:both; }
#main-statements-contact { padding: 0 15px 2em; }
/* No longer display the last-updated date */
#last-updated { display: none; }
/* Fix large gaps in IE
see http://www.satzansatz.de/cssd/onhavinglayout.html#prop
and http://kickasswebdesign.com/wordpress/2006/04/ie-and-vertical-link-lists-
why-do-i-have-double-padding-top-and-bottom/ */
#main-footerglobalnav { margin-top: 50px; height: 1%; }
#main-siteinfo { padding: 0 0 0 15px; float: left; width: 765px; }
#main-statements-contact { clear: both; }
/* Color */
#main-siteinfo a, #main-statements-contact a { color: #903; }
#main-siteinfo a:visited, #main-statements-contact a:visited { color: #000; }
#feedback-general { font-weight: bold; }
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/layout.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Main Layout
* - padding and margins
* - 2 column and 3 column layouts
*
* University of Ottawa
* Computing and Communications Services
*/
body { margin: 0; padding: 0; }
#main-container { width: 780px; position:relative; margin:0 auto; }
/* Support for 2006 banner */
.old-banner #main-container { width: 780px; margin:0; }
#page-links, #main-secondarynav { margin: 0; padding: 0; position: absolute; top
: 0; left: 0; } /* Hide the effect of the ul */
#page-links li { list-style: none; margin: 0; padding: 0; height: 0; width: 0px;
}
#skip-to-content, #skip-to-localnav { position: absolute; text-indent: -999em; }
/* Section Header */
#section-container { margin: 0; padding:0; clear: both; position: relative; zoom
: 1; }
#section-header {
margin:0; padding:0;
width:518px; height:86px;
background-position: top left;
background-repeat: no-repeat;
position: relative; float: left;
}
#section-title, #parent-org-title { position: absolute; display: block; }
#section-title span, #parent-org-title span { position: absolute; display: block
; left: -999em; width: 100px; }
a#section-title, a#parent-org-title { overflow: hidden; }
#section-details {
width: 174px; float: left; clear: left;
}
/* Page Tools */
#page-tools { margin-left: 518px; position: relative; width: 255px; height: 86px
; }
/* Contact Information */
#contact-info {
padding: 1.5em 20px 1.5em 24px;
width: 130px;
}
/* Chop off long non-wrapping email addresses or words (not ideal) */
#contact-info { overflow: hidden; }
/* Correction for standards-compliant browsers */
#section-details > #contact-info { overflow: visible; }
/* Main Content */
#main-content {
float: left; margin-top: 15px; padding: 0 15px 26px 33px;
width: 553px;
}
/* Width of main-content with the side-bar */
.has-sidebar #main-content {
margin-left: 0;
float: left;
width: 394px;
}
/* Correction for standards-compliant browsers */
.has-sidebar #section-container > #main-content {
padding: 0 15px 26px 33px;
}
#sidebar {
margin-left: 618px; /* */
margin-top: 10px;
width: 159px; /* */
position: relative;
height: 1%;
}
/* Correction for standards-compliant browsers */
#section-container > #sidebar { margin-left: 621px; height: auto; }
/* Sub-section */
.sub-section #sub-section-header {
margin:0; padding:0;
width:586px; height:25px;
background-position: top left;
background-repeat: no-repeat;
position: absolute; float: left;
top: 87px; left: 194px;
}
.sub-section #sub-section-title { position: absolute; display: block; text-inden
t: -999em; }
.sub-section #main-content { margin-top: 30px; }
.sub-section #sidebar { margin-top: 40px; }
/* Wide content page */
.wide-content-page #section-container #main-content { width: 730px; margin-top:
0; padding: 15px 26px 26px 24px; background: no-repeat top left; position: relat
ive; }
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/tools.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* CSS Tools used for page rendering
*
* University of Ottawa
* Computing and Communications Services
*/
/* Accessibility */
.hidden { position: absolute; left: -9999em; }
/* Clearing a float
* See http://www.positioniseverything.net/easyclearing.html
*/
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/local-nav.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Local navigation style sheet
* - handles basic rendering, positioning and behaviour
*
* University of Ottawa
* Computing and Communications Services
*/
ul#local-nav { background-repeat: repeat-y; }
ul#local-nav, ul#local-nav * {
padding: 0; margin: 0; list-style: none;
}
ul#local-nav a {
display: block;
border-bottom: 1px solid #ccc;
padding: 0.6em 20px 0.6em 24px;
text-decoration: none;
font-weight: bold;
height: 1em; /* this fixes the gaps in IE */
width: 130px; /* this fixes the gaps in IE7 */
}
/* Correction for standards compliant browsers */
html>body ul#local-nav li > a { height: auto; min-height:1em; width: auto; }
ul#local-nav a, ul#local-nav a:visited {
color: #777;
}
ul#local-nav a:hover, ul#local-nav a:active, ul#local-nav a:focus {
text-decoration: underline;
}
ul#local-nav li ul a {
border-bottom: none;
}
ul#local-nav li ul {
padding: 0.5em 0;
}
ul#local-nav li.expand {
border-bottom: 1px solid #ccc;
}
ul#local-nav li ul a {
margin: 0;
font-weight: normal;
padding-top: 0.5em;
padding-bottom: 0.5em;
border: none;
}
ul#local-nav li.new-group {
padding-top: 1px;
}
ul#local-nav li.new-group a {
border-top: 4px solid #ccc;
}
ul#local-nav li.new-group ul li a {
border: none;
}
/* Default images and backgrounds */
#main-container ul#local-nav { background-image: url(../img/bg-local-nav.png); }
#main-container ul#local-nav li.first { background: none; }
ul#local-nav a { background: no-repeat bottom right; }
ul#local-nav li ul { background: white; }
ul#local-nav li ul a, ul#local-nav li.expand ul a { background: none; }
ul#local-nav a.current, ul#local-nav li.expand ul li a.current { font-weight: bo
ld; }
/* Section photo */
#section-photo { background-repeat: no-repeat; height: 109px; border-top: 1px so
lid white; }
/* Opt-in way to treat long words in IE6 */
#local-nav a span.long-word { display: block; width: 150px; margin-right: -20px;
word-wrap: break-word; }
/* Correction for standards-compliant browsers, which by default deal with long-
words correctly */
#local-nav a > span.long-word { display: inline; width: auto; margin-right: 0; w
ord-wrap: normal; }

------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/img/bg-local-nav.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAK4AAAABCAMAAABwmGXnAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAF1QTFRF8vLs/v7+/f378/Lu8vHs+/v5
8vLt/v799fXx9PTw+Pj29/fz+Pj1+fn39vby+Pj0////+/v6+vr49PXx9PPu9vfz
+/r69vXx+/r58/Hu8/Pt9fbz/fz7+vn4/v39vKRX5AAAAEdJREFUeNqcwUUCgDAM
BMDiLkkV/f8zybYcODOj1H9lUkd7kWzGdKB1C97P4rB2gEWMoodJ8MVcRSEQkXP5
62zgzj5W8QgwABBWBJkPsmQdAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/sidebar.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style rules for sidebar elements
*
* University of Ottawa
* Computing and Communications Services
*/
#sidebar h2, #sidebar form#site-search #site-search-label { font-size: 1.3em; fo
nt-weight: bold; }
#sidebar form#site-search #site-search-label { display: block; margin-bottom: 0.
3em; }
#sidebar h2 { margin: 0 0 1em; }
#sidebar .feature,
#sidebar .grouped-features,
#sidebar form#site-search {
display: block; margin-bottom: 15px;
}
#sidebar a.feature img {
display: block;
border: none;
margin: 0;
}
#sidebar div.feature,
#sidebar .grouped-features,
#sidebar form#site-search {
border: 1px solid #e3e0db; padding: 12px;
width: 133px;
background-color: #f9f9f8;
position: relative; /* Required to fix an IE rendering bug */
z-index: 0;
height: 1%; /* Holly Hack! */
}
/* Correction for standards-compliant browsers */
#sidebar > .feature,
#sidebar > .grouped-features,
#sidebar > form#site-search { height: auto; }
#sidebar .grouped-features h2 {
border-top: 1px solid #e3e0db;
padding-top: 12px;
margin-top: 14px;
}
#sidebar .grouped-features h2.first {
border-top: 14px solid;
margin: -12px -12px 0.8em -12px;
padding: 14px 12px 0 12px;
}
#sidebar div.feature img {
display: block;
margin: -12px;
margin-bottom: 12px;
}
#sidebar .grouped-features img {
display: block;
margin-left: -1px;
margin-right: -1px;
}
#sidebar div.feature p,
#sidebar .grouped-features p {
margin-bottom: 0;
margin-top: 1em;
}
/* Rounded corner (div.corner added via javascript) */
#sidebar div.corner {
position: relative;
margin:0;
padding-left: 145px;
height: 14px; width: 14px;
background: url(../img/feature-br-corner.png) bottom right no-repeat;
margin-top: -29px;
margin-bottom: 14px;
}
#sidebar div.corner img {
/* margin-left: -145px; */
background-color: black;
}
/* site-search form input */
#sidebar form#site-search #site-search-words {
width: 127px; display: block; margin-bottom: 5px;
}
/* Correction for standards-compliant browsers */
#sidebar form#site-search > #site-search-words {
width: 129px;
}
#sidebar form#site-search input.submit {
display: block; margin: 0; margin-left: auto;
}
/* Quickpoll */
#sidebar .feature .poll form { margin: 0; padding: 0; }
#sidebar .feature .poll img { margin: 0; }
#sidebar .feature .poll p.quest { font-weight: bold; }
#sidebar .feature .poll p.ans { margin-left: 17px; }
#sidebar .feature .poll input { margin-left: -22px; margin-top: 0.5em; margin-bo
ttom: -0.2em; }
/* Correction for standards-compliant browsers */
#sidebar .feature > .poll input { margin-left: -15px; }
#sidebar .feature .poll input.button { display: block; margin: 0; margin-left: a
uto; margin-top: 1em; }
/* Chop off long non-wrapping words (not ideal) */
#sidebar .feature, #sidebar .grouped-features, #sidebar form#site-search { overf
low: hidden; }
/* Correction for standards-compliant browsers */
#sidebar > .feature, #sidebar > .grouped-features, #sidebar > form#site-search {
overflow: visible; }
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/page-tools.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style rules for page tools
*
* University of Ottawa
* Computing and Communications Services
*/
.quickPickactive #page-tools {
z-index: 1000; /* required to ensure IE respects the quickpicks z-index,
see below */
}
.quickPickinactive #page-tools {
z-index: none; /
}
/* Font Resize Tool */
#tools-resize, #tools-resize * { margin: 0; padding: 0; border: 0; }
#tools-resize li { float: left; width: 17px; height: 17px; list-style: none; mar
gin: 0 3px 3px 0; }
#tools-resize label { position: absolute; left: -9999em; }
#tools-resize a { width: 17px; height: 17px; position:relative; margin: 0; paddi
ng: 0; display: block; cursor: pointer; /* hide overflow:hidden from IE5/Mac */
/* \*/ overflow: hidden; /* */ }
#tools-resize a span { width: 17px; height: 17px; display:block; position:absolu
te; top:0px; left:0px; z-index:1; /*for Opera 5 and 6*/ }
#tools-resize { position: absolute; top: 38px; left: 171px; padding-top: 9px; ba
ckground: no-repeat top left; width: 60px; height: 26px; }
#tools-resize.over { background-position: -65px 0px; }
.fr #tools-resize ul { margin-left: 9px; }
.fr #tools-resize { left: 162px; width: 75px; }
.fr #tools-resize.over { background-position: -74px 0px; }
#tools-resize a { background-repeat: no-repeat; }
#tools-resize a.over span, #tools-resize a.current span { background-position: 0
px -20px; }
#tools-print, #tools-email { display: block; position: absolute; width: 32px; he
ight: 26px; margin:0; padding: 0; /* hide overflow:hidden from IE5/Mac */ /* \*/
overflow: hidden; /* */ }
#tools-print span, #tools-email span { background: no-repeat top left; width: 32
px; height: 26px; display: block; position: absolute; top: 0; left: 0; z-index:1
; /*for Opera 5 and 6*/ }
#tools-print { top: 38px; left: 45px; }
#tools-email { top: 38px; left: 107px; }
#tools-print.over span
, #tools-print:active span
, #tools-print:focus span
, #tools-email.over span
, #tools-email:active span
, #tools-email:focus span { background-position: 0px -30px; }
#tools-print.over, #tools-email.over { cursor: pointer; }
#tools-print span
, #tools-email span { background-position: 0px 0px; }
.fr #tools-print, .fr #tools-print span { width: 46px; }
.fr #tools-print { left: 38px; }
.fr #tools-email, .fr #tools-email span { width: 46px; }
.fr #tools-email { left: 100px; }

/* Quick Picks Menu */


/* Hide by default */

li#local-quickpicks, li#global-quickpicks ul.collapsed, #quickpicks { display:no


ne; }
li#global-quickpicks ul.expand { display:block; position:absolute; left:235px; t
op:25px; width:125px; padding:10px 10px 10px 13px; height:auto; background-color
:#ffffff;z-index:1000;border:1px solid #cac3bc;}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/landing-page.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style sheet for section home page, gateway pages, and any other landing pages
* - default handling of headings and home page features
*
* University of Ottawa
* Computing and Communications Services
*/
/* landing-page content */
.landing-page #main-content h2 { font-size: 1.8em; font-weight: normal; }
.landing-page #main-content h3 { font-size: 1em; color: #353535; margin-bottom:
0; }
.landing-page #main-content .news p { margin-top: 0; }
.landing-page #main-content .news img, .landing-page #main-content .feature img
{ border: 1px solid #e3e0db; float: left; margin-right: 16px; margin-bottom: 8px
; }
.landing-page #main-content .news .article, .landing-page #main-content .feature
{ clear: left; }
/* Image Replacement */
.landing-page #main-content h2 { text-indent: -1000em; background-repeat: no-rep
eat; }
.landing-page #main-content h2 a { float: left; display:block; width: 100%; over
flow: hidden; }
/* Grouped-features */
.landing-page #main-content .grouped-features .feature {
padding: 1.5em 0 0;
border-top: 1px solid #e5e5e5;
margin: 1.5em 0;
}
.landing-page #main-content .grouped-features .first {
border-top: none;
padding-top: 0;
}
.landing-page #main-content .grouped-features .feature h3 {
margin-top: 0;
}
.landing-page #main-content .grouped-features .feature p {
margin-top: 0;
margin-bottom: 0.5em;
}
/* Grouped-links */
.landing-page #main-content .grouped-links
, .landing-page #main-content .grouped-links-single { background-repeat: no-repe
at; margin-top: 4em; }
.landing-page #main-content .grouped-links .group { width: 188px; float: left; p
adding-right: 6px; }
.landing-page #main-content .grouped-links .first { width: 194px; }
.landing-page #main-content .grouped-links-single .group { float: none; width:
100%; }
.landing-page #main-content .grouped-links h2 { background-position: 10px 0; }
.landing-page #main-content .grouped-links .first h2 { background-position: 0 0;
}
/* Headings for grouped-links */
.landing-page #main-content .grouped-links h2
, .landing-page #main-content .grouped-links-single h2 { margin: 0; padding: 0;
margin-bottom: 16px; position: relative; }
/* Headings default dimensions */
.landing-page #main-content h2
, .landing-page #main-content .grouped-links h2
, .landing-page #main-content .grouped-links-single h2 { height: 21px; }
.landing-page #main-content h2.twoline
, .landing-page #main-content .grouped-links h2.twoline
, .landing-page #main-content .grouped-links-single h2.twoline { height: 37px; }
.landing-page #main-content .grouped-links h2.twoline
, .landing-page #main-content .grouped-links-single h2.twoline { margin-top: -16
px; }
/* Clearfix for grouped-links */
.landing-page #main-content .grouped-links { height: 1%; } /* Required to trigge
r hasLayout in IE7 */
/* Correction for standard-compliant browsers */
.landing-page #main-content .grouped-links:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/* Hides from IE-mac \*/
* html .landing-page #main-content .grouped-links {height: 1%;}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/print.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Default print style sheet
* - hides navigation
*
* University of Ottawa
* Computing and Communications Services
*/
/* Hide navigation and unnecessary footer elements, no need to use the "Offleft"
method */
#main-globalnav { display: none; }
#main-banner { display: none; }
#local-nav { display: none; }
#main-secondarynav { display: none; }
#quickpicks { display: none; }
#page-links { display: none; }
#main-footerglobalnav { display: none; }
#main-siteinfonav { display: none; }
#main-statements-contact { display: none; }
.top { display: none; }
#page-tools { display: none; }
#contact-info { display: none; }
#site-search { display: none; }
#print-options { display: none; }
/* Reset footer padding */
#main-siteinfo { padding: 2em 0 0; }
#last-updated { padding: 0; }
/* Remove border on images */
img { border: none; }
/* properly position the logo */
#main-branding-logo { margin-left: -8px; }
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://web5.uottawa.ca/assets-templates/css/print-options.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Style rules for print preview
*
* University of Ottawa
* Computing and Communications Services
*/
@media screen {
html.print-preview body { margin: 0; padding: 0; }
html.print-preview #main-container { padding: 10px; }
html.print-preview #print-options {
display: block;
font-size: 12px;
font-family: Verdana, Helvetica, sans-serif;
padding: 10px;
background-color:#FFFFE1;
border-bottom: 1px solid #777;
}
html.print-preview a#cancel-print { margin-left: 1.5em; }
} /* /@media screen */
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=lib.js
Content-Type: application/x-javascript; name=lib.js
Content-Location: http://web5.uottawa.ca/assets-templates/js/lib.js
Content-Transfer-Encoding: Base64
CgovKiBMaWJyYXJ5IG9mIGphdmFzY3JpcHQgdG9vbHMgZm9yIHVzZSB3aXRoIHRo
ZSBVbml2ZXJzaXR5J3MgdGVtcGxhdGUKICoKICogVW5pdmVyc2l0eSBvZiBPdHRh
d2EKICogQ29tcHV0aW5nIGFuZCBDb21tdW5pY2F0aW9ucyBTZXJ2aWNlcwogKi8K
CgovKiBDcm9zcy1icm93c2VyIGV2ZW50IGhhbmRsaW5nIGZ1bmN0aW9uCiAqIEF2
b2lkcyBwcm9ibGVtcyBmb3VuZCBpbiBTY290dCBBbmRyZXcncyBjb2RlCiAqIFNl
ZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAwNS8x
MC9fYW5kX3RoZV93aW5uZXJfMS5odG1sCiAqLwoKZnVuY3Rpb24gYWRkRXZlbnQo
IG9iaiwgdHlwZSwgZm4gKQp7CglpZiAob2JqLmFkZEV2ZW50TGlzdGVuZXIpCgkJ
b2JqLmFkZEV2ZW50TGlzdGVuZXIoIHR5cGUsIGZuLCBmYWxzZSApOwoJZWxzZSBp
ZiAob2JqLmF0dGFjaEV2ZW50KQoJewoJCW9ialsiZSIrdHlwZStmbl0gPSBmbjsK
CQlvYmpbdHlwZStmbl0gPSBmdW5jdGlvbigpIHsgb2JqWyJlIit0eXBlK2ZuXSgg
d2luZG93LmV2ZW50ICk7IH0KCQlvYmouYXR0YWNoRXZlbnQoICJvbiIrdHlwZSwg
b2JqW3R5cGUrZm5dICk7Cgl9Cn0KCmZ1bmN0aW9uIHJlbW92ZUV2ZW50KCBvYmos
IHR5cGUsIGZuICkKewoJaWYgKG9iai5yZW1vdmVFdmVudExpc3RlbmVyKQoJCW9i
ai5yZW1vdmVFdmVudExpc3RlbmVyKCB0eXBlLCBmbiwgZmFsc2UgKTsKCWVsc2Ug
aWYgKG9iai5kZXRhY2hFdmVudCkKCXsKCQlvYmouZGV0YWNoRXZlbnQoICJvbiIr
dHlwZSwgb2JqW3R5cGUrZm5dICk7CgkJb2JqW3R5cGUrZm5dID0gbnVsbDsKCQlv
YmpbImUiK3R5cGUrZm5dID0gbnVsbDsKCX0KfQoKZnVuY3Rpb24gcHJldmVudERl
ZmF1bHQoZSkKewoJZSA9IGV8fGV2ZW50OwoJaWYoZS5wcmV2ZW50RGVmYXVsdCkg
ZS5wcmV2ZW50RGVmYXVsdCgpOwoJZWxzZSBlLnJldHVyblZhbHVlID0gZmFsc2U7
Cn0KCi8qCiAqIChjKTIwMDYgRGVhbiBFZHdhcmRzL01hdHRoaWFzIE1pbGxlci9K
b2huIFJlc2lnCiAqIFNwZWNpYWwgdGhhbmtzIHRvIERhbiBXZWJiJ3MgZG9tcmVh
ZHkuanMgUHJvdG90eXBlIGV4dGVuc2lvbgogKiBhbmQgU2ltb24gV2lsbGlzb24n
cyBhZGRMb2FkRXZlbnQKICoKICogRm9yIG1vcmUgaW5mbywgc2VlOgogKiBodHRw
Oi8vZGVhbi5lZHdhcmRzLm5hbWUvd2VibG9nLzIwMDYvMDYvYWdhaW4vCiAqIGh0
dHA6Ly93d3cudml2YWJpdC5jb20vYm9sbG9ja3MvMjAwNi8wNi8yMS9hLWRvbS1y
ZWFkeS1leHRlbnNpb24tZm9yLXByb3RvdHlwZQogKiBodHRwOi8vc2ltb24uaW5j
dXRpby5jb20vYXJjaGl2ZS8yMDA0LzA1LzI2L2FkZExvYWRFdmVudAogKgogKiBU
aHJvd24gdG9nZXRoZXIgYnkgSmVzc2UgU2tpbm5lciAoaHR0cDovL3d3dy50aGVm
dXR1cmVvZnRoZXdlYi5jb20vKQogKgogKgogKiBUbyB1c2U6IGNhbGwgYWRkRE9N
TG9hZEV2ZW50IG9uZSBvciBtb3JlIHRpbWVzIHdpdGggZnVuY3Rpb25zLCBpZToK
ICoKICogICAgZnVuY3Rpb24gc29tZXRoaW5nKCkgewogKiAgICAgICAvLyBkbyBz
b21ldGhpbmcKICogICAgfQogKiAgICBhZGRET01Mb2FkRXZlbnQoc29tZXRoaW5n
KTsKICoKICogICAgYWRkRE9NTG9hZEV2ZW50KGZ1bmN0aW9uKCkgewogKiAgICAg
ICAgLy8gZG8gb3RoZXIgc3R1ZmYKICogICAgfSk7CiAqCiAqLwoKZnVuY3Rpb24g
YWRkRE9NTG9hZEV2ZW50KGZ1bmMpIHsKICAgaWYgKCF3aW5kb3cuX19sb2FkX2V2
ZW50cykgewogICAgICB2YXIgaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAg
IC8vIHF1aXQgaWYgdGhpcyBmdW5jdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGNhbGxl
ZAogICAgICAgICAgaWYgKGFyZ3VtZW50cy5jYWxsZWUuZG9uZSkgcmV0dXJuOwoK
ICAgICAgICAgIC8vIGZsYWcgdGhpcyBmdW5jdGlvbiBzbyB3ZSBkb24ndCBkbyB0
aGUgc2FtZSB0aGluZyB0d2ljZQogICAgICAgICAgYXJndW1lbnRzLmNhbGxlZS5k
b25lID0gdHJ1ZTsKCiAgICAgICAgICAvLyBraWxsIHRoZSB0aW1lcgogICAgICAg
ICAgaWYgKHdpbmRvdy5fX2xvYWRfdGltZXIpIHsKICAgICAgICAgICAgICBjbGVh
ckludGVydmFsKHdpbmRvdy5fX2xvYWRfdGltZXIpOwogICAgICAgICAgICAgIHdp
bmRvdy5fX2xvYWRfdGltZXIgPSBudWxsOwogICAgICAgICAgfQoKICAgICAgICAg
IC8vIGV4ZWN1dGUgZWFjaCBmdW5jdGlvbiBpbiB0aGUgc3RhY2sgaW4gdGhlIG9y
ZGVyIHRoZXkgd2VyZSBhZGRlZAogICAgICAgICAgZm9yICh2YXIgaT0wO2kgPCB3
aW5kb3cuX19sb2FkX2V2ZW50cy5sZW5ndGg7aSsrKSB7CiAgICAgICAgICAgICAg
d2luZG93Ll9fbG9hZF9ldmVudHNbaV0oKTsKICAgICAgICAgIH0KICAgICAgICAg
IHdpbmRvdy5fX2xvYWRfZXZlbnRzID0gbnVsbDsKICAgICAgfTsKCiAgICAgIC8v
IGZvciBNb3ppbGxhL09wZXJhOQogICAgICBpZiAoZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcikgewogICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
RE9NQ29udGVudExvYWRlZCIsIGluaXQsIGZhbHNlKTsKICAgICAgfQoKICAgICAg
Ly8gZm9yIEludGVybmV0IEV4cGxvcmVyCiAgICAgIC8qQGNjX29uIEAqLwogICAg
ICAvKkBpZiAoQF93aW4zMikKICAgICAgICAgIGRvY3VtZW50LndyaXRlKCI8c2Ny
IisiaXB0IGlkPV9faWVfb25sb2FkIGRlZmVyIHNyYz0vLzA+PFwvc2NyIisiaXB0
PiIpOwogICAgICAgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJfX2llX29ubG9hZCIpOwogICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0
ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGlmICh0aGlzLnJl
YWR5U3RhdGUgPT0gImNvbXBsZXRlIikgewogICAgICAgICAgICAgICAgICBpbml0
KCk7IC8vIGNhbGwgdGhlIG9ubG9hZCBoYW5kbGVyCiAgICAgICAgICAgICAgfQog
ICAgICAgICAgfTsKICAgICAgLypAZW5kIEAqLwoKICAgICAgLy8gZm9yIFNhZmFy
aQogICAgICBpZiAoL1dlYktpdC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkp
IHsgLy8gc25pZmYKICAgICAgICAgIHdpbmRvdy5fX2xvYWRfdGltZXIgPSBzZXRJ
bnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBpZiAoL2xvYWRlZHxj
b21wbGV0ZS8udGVzdChkb2N1bWVudC5yZWFkeVN0YXRlKSkgewogICAgICAgICAg
ICAgICAgICBpbml0KCk7IC8vIGNhbGwgdGhlIG9ubG9hZCBoYW5kbGVyCiAgICAg
ICAgICAgICAgfQogICAgICAgICAgfSwgMTApOwogICAgICB9CgogICAgICAvLyBm
b3Igb3RoZXIgYnJvd3NlcnMKICAgICAgd2luZG93Lm9ubG9hZCA9IGluaXQ7Cgog
ICAgICAvLyBjcmVhdGUgZXZlbnQgZnVuY3Rpb24gc3RhY2sKICAgICAgd2luZG93
Ll9fbG9hZF9ldmVudHMgPSBbXTsKICAgfQoKICAgLy8gYWRkIGZ1bmN0aW9uIHRv
IGV2ZW50IHN0YWNrCiAgIHdpbmRvdy5fX2xvYWRfZXZlbnRzLnB1c2goZnVuYyk7
Cn0KCgovKgoJZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgpCiAgICBXcml0dGVuIGJ5
IEpvbmF0aGFuIFNub29rLCBodHRwOi8vd3d3LnNub29rLmNhL2pvbmF0aGFuCiAg
ICBBZGQtb25zIGJ5IFJvYmVydCBOeW1hbiwgaHR0cDovL3d3dy5yb2JlcnRueW1h
bi5jb20KKi8KZnVuY3Rpb24gZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShvRWxtLCBz
dHJUYWdOYW1lLCBzdHJDbGFzc05hbWUpewogICAgdmFyIGFyckVsZW1lbnRzID0g
KHN0clRhZ05hbWUgPT0gIioiICYmIGRvY3VtZW50LmFsbCk/IGRvY3VtZW50LmFs
bCA6IG9FbG0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoc3RyVGFnTmFtZSk7CiAgICB2
YXIgYXJyUmV0dXJuRWxlbWVudHMgPSBuZXcgQXJyYXkoKTsKICAgIHN0ckNsYXNz
TmFtZSA9IHN0ckNsYXNzTmFtZS5yZXBsYWNlKC9cLS9nLCAiXFwtIik7CiAgICB2
YXIgb1JlZ0V4cCA9IG5ldyBSZWdFeHAoIihefFxccykiICsgc3RyQ2xhc3NOYW1l
ICsgIihcXHN8JCkiKTsKICAgIHZhciBvRWxlbWVudDsKICAgIGZvcih2YXIgaT0w
OyBpPGFyckVsZW1lbnRzLmxlbmd0aDsgaSsrKXsKICAgICAgICBvRWxlbWVudCA9
IGFyckVsZW1lbnRzW2ldOwogICAgICAgIGlmKG9SZWdFeHAudGVzdChvRWxlbWVu
dC5jbGFzc05hbWUpKXsKICAgICAgICAgICAgYXJyUmV0dXJuRWxlbWVudHMucHVz
aChvRWxlbWVudCk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIChhcnJSZXR1
cm5FbGVtZW50cykKfQoKLyoKICogY3NzanMKICogd3JpdHRlbiBieSBDaHJpc3Rp
YW4gSGVpbG1hbm4gKGh0dHA6Ly9pY2FudC5jby51aykKICogZWFzZXMgdGhlIGR5
bmFtaWMgYXBwbGljYXRpb24gb2YgQ1NTIGNsYXNzZXMgdmlhIERPTQogKiBwYXJh
bWV0ZXJzOiBhY3Rpb24gYSwgb2JqZWN0IG8gYW5kIGNsYXNzIG5hbWVzIGMxIGFu
ZCBjMiAoYzIgb3B0aW9uYWwpCiAqIGFjdGlvbnM6IHN3YXAgZXhjaGFuZ2VzIGMx
IGFuZCBjMiBpbiBvYmplY3QgbwogKgkJCWFkZCBhZGRzIGNsYXNzIGMxIHRvIG9i
amVjdCBvCiAqCQkJcmVtb3ZlIHJlbW92ZXMgY2xhc3MgYzEgZnJvbSBvYmplY3Qg
bwogKgkJCWNoZWNrIHRlc3RzIGlmIGNsYXNzIGMxIGlzIGFwcGxpZWQgdG8gb2Jq
ZWN0IG8KICogZXhhbXBsZToJY3NzanMoJ3N3YXAnLGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdmb28nKSwnYmFyJywnYmF6Jyk7CiAqLwoKZnVuY3Rpb24gY3NzanMo
YSxvLGMxLGMyKQp7Cglzd2l0Y2ggKGEpewoJCWNhc2UgJ3N3YXAnOgoJCQlvLmNs
YXNzTmFtZT0hY3NzanMoJ2NoZWNrJyxvLGMxKT9vLmNsYXNzTmFtZS5yZXBsYWNl
KGMyLGMxKTpvLmNsYXNzTmFtZS5yZXBsYWNlKGMxLGMyKTsKCQlicmVhazsKCQlj
YXNlICdhZGQnOgoJCQlpZighY3NzanMoJ2NoZWNrJyxvLGMxKSl7by5jbGFzc05h
bWUrPW8uY2xhc3NOYW1lPycgJytjMTpjMTt9CgkJYnJlYWs7CgkJY2FzZSAncmVt
b3ZlJzoKCQkJdmFyIHJlcD1vLmNsYXNzTmFtZS5tYXRjaCgnICcrYzEpPycgJytj
MTpjMTsKCQkJby5jbGFzc05hbWU9by5jbGFzc05hbWUucmVwbGFjZShyZXAsJycp
OwoJCWJyZWFrOwoJCWNhc2UgJ2NoZWNrJzoKCQkJcmV0dXJuIG5ldyBSZWdFeHAo
J1xcYicrYzErJ1xcYicpLnRlc3Qoby5jbGFzc05hbWUpCgkJYnJlYWs7Cgl9Cn0K
Ci8qIENyZWF0ZSBDb29raWUKICogT3JpZ2luYWxseSBjcmVhdGVkIGJ5IFBhdWwg
U293ZGVuCiAqIFNlZSBodHRwOi8vd3d3LmFsaXN0YXBhcnQuY29tL3N0b3JpZXMv
YWx0ZXJuYXRlLwogKgogKiBNb2RpZmllZCB0byB1c2UgREVGQVVMVF9ET01BSU4g
Z2xvYmFsIHZhcmlhYmxlCiAqLwoKZnVuY3Rpb24gY3JlYXRlQ29va2llKG5hbWUs
dmFsdWUsZGF5cyxkb21haW4pIHsKICBpZiAoZGF5cykgewogICAgdmFyIGRhdGUg
PSBuZXcgRGF0ZSgpOwogICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpKyhk
YXlzKjI0KjYwKjYwKjEwMDApKTsKICAgIHZhciBleHBpcmVzID0gIjsgZXhwaXJl
cz0iK2RhdGUudG9HTVRTdHJpbmcoKTsKICB9CiAgZWxzZSBleHBpcmVzID0gIiI7
CgogIC8qIFN0YXJ0IG1vZGlmaWNhdGlvbiAqLwogIC8vZG9jdW1lbnQuY29va2ll
ID0gbmFtZSsiPSIrdmFsdWUrZXhwaXJlcysiOyBwYXRoPS8iOwogIHZhciBjb29r
aWVfY29udGVudHMgPSBuYW1lKyI9Iit2YWx1ZStleHBpcmVzKyI7IHBhdGg9LyI7
CiAgaWYgKGRvbWFpbiAmJiBkb21haW4ubWF0Y2goL1swLTlBLVphLXpdWy0wLTlB
LVphLXpdK1wuWzAtOUEtWmEtel0rJC8pICYmIHdpbmRvdy5sb2NhdGlvbi5ob3N0
bmFtZS5tYXRjaChkb21haW4pKSB7CiAgICBjb29raWVfY29udGVudHMgKz0gIjtk
b21haW49Iitkb21haW47CiAgfQogIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZV9j
b250ZW50czsKICAvKiBFbmQgbW9kaWZpY2F0aW9ucyAqLwp9CgovKiBSZWFkIENv
b2tpZQogKiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGF1bCBTb3dkZW4KICogU2Vl
IGh0dHA6Ly93d3cuYWxpc3RhcGFydC5jb20vc3Rvcmllcy9hbHRlcm5hdGUvCiAq
LwoKZnVuY3Rpb24gcmVhZENvb2tpZShuYW1lKSB7CiAgdmFyIG5hbWVFUSA9IG5h
bWUgKyAiPSI7CiAgdmFyIGNhID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7Jyk7
CiAgZm9yKHZhciBpPTA7aSA8IGNhLmxlbmd0aDtpKyspIHsKICAgIHZhciBjID0g
Y2FbaV07CiAgICB3aGlsZSAoYy5jaGFyQXQoMCk9PScgJykgYyA9IGMuc3Vic3Ry
aW5nKDEsYy5sZW5ndGgpOwogICAgaWYgKGMuaW5kZXhPZihuYW1lRVEpID09IDAp
IHJldHVybiBjLnN1YnN0cmluZyhuYW1lRVEubGVuZ3RoLGMubGVuZ3RoKTsKICB9
CiAgcmV0dXJuIG51bGw7Cn0KCi8qIGZpbmRQb3MKICogUmV0dXJucyBhYnNvbHV0
ZSBsZWZ0IGFuZCB0b3AgY29vcmRpbmF0ZXMgb2YgYW4gb2JqZWN0IG9uIHRoZSBw
YWdlCiAqIE9yaWdpbmFsbHkgY3JlYXRlZCBieSBQZXRlci1QYXVsIEtvY2gKICog
U2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvanMvZmluZHBvcy5odG1sCiAq
LwoKZnVuY3Rpb24gZmluZFBvcyhvYmopIHsKCXZhciBjdXJsZWZ0ID0gY3VydG9w
ID0gMDsKCWlmIChvYmoub2Zmc2V0UGFyZW50KSB7CgkJY3VybGVmdCA9IG9iai5v
ZmZzZXRMZWZ0CgkJY3VydG9wID0gb2JqLm9mZnNldFRvcAoJCXdoaWxlIChvYmog
PSBvYmoub2Zmc2V0UGFyZW50KSB7CgkJCWN1cmxlZnQgKz0gb2JqLm9mZnNldExl
ZnQKCQkJY3VydG9wICs9IG9iai5vZmZzZXRUb3AKCQl9Cgl9CglyZXR1cm4gW2N1
cmxlZnQsY3VydG9wXTsKfQo=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=config.js
Content-Type: application/x-javascript; name=config.js
Content-Location: http://web5.uottawa.ca/assets-templates/js/config.js
Content-Transfer-Encoding: Base64
DQoNCi8qIENvbmZpZ3VyYXRpb24gb2YgdGVtcGxhdGUgZWxlbWVudHMNCiAqIElu
c3BpcmVkIGJ5IGh0dHA6Ly93d3cudGhpbmt2aXRhbWluLmNvbS9mZWF0dXJlcy9k
ZXYvdGhlLWltcG9ydGFuY2Utb2YtbWFpbnRhaW5hYmxlLWphdmFzY3JpcHQNCiAq
DQogKiBVbml2ZXJzaXR5IG9mIE90dGF3YQ0KICogQ29tcHV0aW5nIGFuZCBDb21t
dW5pY2F0aW9ucyBTZXJ2aWNlcw0KICovDQoNCi8qIGRlZmF1bHQgZG9tYWluIGZv
ciBzZXR0aW5nIGNvb2tpZXMgKi8NCnZhciBERUZBVUxUX0RPTUFJTiA9ICJ1b3R0
YXdhLmNhIjsNCnZhciBTVFlMRV9TSEVFVFNfSE9NRSA9ICJodHRwOi8vd2ViNS51
b3R0YXdhLmNhL2Fzc2V0cy10ZW1wbGF0ZXMvY3NzLyI7DQp2YXIgUFJJTlRfT1BU
SU9OU19TVFlMRV9TSEVFVCA9ICJwcmludC1vcHRpb25zLmNzcyI7DQp2YXIgcXVp
Y2tQaWNrU3RhdHVzID0gZmFsc2U7DQp2YXIgcXVpY2tQaWNrVGltZXI7DQoNCi8q
IGRlZmF1bHQgY3NzIGNsYXNzIG5hbWVzICovDQp2YXIgY3NzQ2xhc3Nlcz17DQoJ
J2V4cGFuZCcgOiAnZXhwYW5kJyAvLyBleHBhbmQgYSBsaXN0DQosCSdjb2xsYXBz
ZWQnIDogJ2NvbGxhcHNlZCcgLy8gZXhwYW5kIGEgbGlzdA0KLAknY3VycmVudCcg
OiAnY3VycmVudCcgLy8gY3VycmVudCBzZWxlY3Rpb24gb3IgbmF2aWdhdGlvbiBl
bGVtZW50DQosCSdvdmVyJyA6ICdvdmVyJyAvLyBtb3VzZW92ZXIgc3RhdGUNCiwJ
J2ZpcnN0JyA6ICdmaXJzdCcgLy8gZmlyc3QgZWxlbWVudCBpbiBhIGxpc3Qgb3Ig
Z3JvdXANCiwJJ2xhc3QnIDogJ2xhc3QnIC8vIGZpcnN0IGVsZW1lbnQgaW4gYSBs
aXN0IG9yIGdyb3VwDQosCSdjb3JuZXInIDogJ2Nvcm5lcicgLy8gZm9yIGFkZGlu
ZyBhIGNvcm5lciB0byBhbiBlbGVtZW50DQosCSdqc0VuYWJsZWQnIDogJ2pzLWVu
YWJsZWQnDQosCSd3aWRlQ29udGVudFBhZ2UnIDogJ3dpZGUtY29udGVudC1wYWdl
Jw0KLAkncXVpY2tQaWNrQWN0aXZlJyA6ICdxdWlja1BpY2tBY3RpdmUnDQosCSdw
cmludFByZXZpZXcnIDogJ3ByaW50LXByZXZpZXcnDQosCSdmZWF0dXJlJyA6ICdm
ZWF0dXJlJw0KLAknZ3JvdXBlZEZlYXR1cmVzJyA6ICdncm91cGVkLWZlYXR1cmVz
Jw0KLAknc2VydmVyU2lkZScgOiAnc2VydmVyLXNpZGUnDQosCSdvbGRCYW5uZXIn
IDogJ29sZC1iYW5uZXInDQosCSdlbXB0eScgOiAnZW1wdHknDQp9DQoNCi8qIGlk
IG9mIHBhZ2UgZWxlbWVudHMgKi8NCnZhciBpZExpc3Q9ew0KCSdsb2NhbE5hdicg
OiAnbG9jYWwtbmF2Jw0KLAknZ2xvYmFsTmF2JyA6ICdtYWluLWdsb2JhbG5hdicN
CiwgICAnc2Vjb25kYXJ5TmF2JyA6ICdtYWluLXNlY29uZGFyeW5hdicNCiwJJ21h
aW5CYW5uZXInIDogJ21haW4tYmFubmVyJw0KLAknbWFpbkNvbnRhaW5lcicgOiAn
bWFpbi1jb250YWluZXInDQosCSdtYWluQ29udGVudCcgOiAnbWFpbi1jb250ZW50
Jw0KLAknc2Vjb25kYXJ5Q29udGVudCcgOiAnc2lkZWJhcicNCiwJJ3NlY3Rpb25D
b250YWluZXInIDogJ3NlY3Rpb24tY29udGFpbmVyJw0KLCAgICdzZWN0aW9uSGVh
ZGVyJyA6ICdzZWN0aW9uLWhlYWRlcicNCiwJJ3NlY3Rpb25EZXRhaWxzJyA6ICdz
ZWN0aW9uLWRldGFpbHMnDQosCSdwYWdlVG9vbHMnIDogJ3BhZ2UtdG9vbHMnDQos
CSdwcmludFRvb2wnIDogJ3Rvb2xzLXByaW50Jw0KLAknZW1haWxUb29sJyA6ICd0
b29scy1lbWFpbCcNCiwJJ3Jlc2l6ZVRvb2wnIDogJ3Rvb2xzLXJlc2l6ZScNCiwJ
J3Jlc2l6ZVRvb2xMYWJlbCcgOiAndG9vbHMtcmVzaXplLWxhYmVsJw0KLAkncmVz
aXplT3B0aW9uU21hbGwnIDogJ3Rvb2xzLXJlc2l6ZS1zbWFsbCcNCiwJJ3Jlc2l6
ZU9wdGlvbk1lZGl1bScgOiAndG9vbHMtcmVzaXplLW1lZGl1bScNCiwJJ3Jlc2l6
ZU9wdGlvbkxhcmdlJyA6ICd0b29scy1yZXNpemUtbGFyZ2UnDQosICAgJ3F1aWNr
UGlja3NMaXN0JyAgOiAnZ2xvYmFsLXF1aWNrcGlja3MnDQosCSdxdWlja1BpY2tz
TWVudScgOiAncXVpY2twaWNrcycNCiwgICAncXVpY2tQaWNrc0xpbmsnIDogJ3F1
aWNrUGlja3NMaW5rJw0KLCAgICdxdWlja1BpY2tzQ29udGFpbmVyJyA6ICdxdWlj
a1BpY2tzQ29udGFpbmVyJw0KLAknc2l0ZVNlYXJjaCcgOiAnc2l0ZS1zZWFyY2gn
DQosCSdnbG9iYWxTZWFyY2gnIDogJ2dsb2JhbC1zaXRlLXNlYXJjaCcNCiwJJ2ds
b2JhbFNlYXJjaExhYmVsJyA6ICdnbG9iYWwtc2l0ZS1zZWFyY2gtbGFiZWwnDQos
CSdnbG9iYWxTZWFyY2hIaW50JyA6ICdnbG9iYWwtc2l0ZS1zZWFyY2gtaGludCcN
CiwJJ2dsb2JhbFNlYXJjaElucHV0JyA6ICdnbG9iYWwtc2l0ZS1zZWFyY2gtd29y
ZHMnDQosCSdnbG9iYWxTZWFyY2hTdWJtaXQnIDogJ2dsb2JhbC1zaXRlLXNlYXJj
aC1zdWJtaXQnDQosCSdwcmludE9wdGlvbnMnIDogJ3ByaW50LW9wdGlvbnMnDQos
CSdwcmludEJ1dHRvbicgOiAncHJpbnQtYnV0dG9uJw0KLAknY2FuY2VsUHJpbnQn
IDogJ2NhbmNlbC1wcmludCcNCiwJJ2dlbkZlZWRiYWNrTGluaycgOiAnZmVlZGJh
Y2stZ2VuZXJhbC1saW5rJw0KLAkndGVjaEZlZWRiYWNrTGluaycgOiAnZmVlZGJh
Y2stdGVjaG5pY2FsLWxpbmsnDQosCSdjaExhbmdVcmwnIDogJ2NoLWxhbmctdXJs
Jw0KLAknc2l0ZUluZm8nIDogJ21haW4tc2l0ZWluZm8nDQosCSdmb290ZXJDb250
YWN0JyA6ICdtYWluLXN0YXRlbWVudHMtY29udGFjdCcNCiwJJ2xhc3RVcGRhdGVk
JyA6ICdsYXN0LXVwZGF0ZWQnDQp9DQoNCi8qIGxvY2FsaXplZCB0ZXh0IGxhYmVs
cyAqLw0KdmFyIGxvY2FsZXMgPSB7DQoJJ2VuJyA6IHsNCgkJJ3Rvb2xzLXByaW50
JyA6ICdQcmludCB0aGlzIHBhZ2UnDQosCQkndG9vbHMtZW1haWwnIDogJ0VtYWls
IHRoaXMgcGFnZScNCiwJCSd0b29scy1yZXNpemUtbGFiZWwnIDogJ0Nob29zZSBh
IGZvbnQgc2l6ZScNCiwJCSd0b29scy1yZXNpemUtc21hbGwnIDogJ1NtYWxsJw0K
LAkJJ3Rvb2xzLXJlc2l6ZS1tZWRpdW0nIDogJ01lZGl1bScNCiwJCSd0b29scy1y
ZXNpemUtbGFyZ2UnIDogJ0xhcmdlJw0KLAkJJ3ByaW50LWJ1dHRvbicgOiAnUHJp
bnQgdGhpcyBwYWdlJw0KLAkJJ2NhbmNlbC1wcmludCcgOiAnUmV0dXJuIHRvIHBh
Z2UnDQosCQknZW1wdHktaWZyYW1lJyA6ICdUaGlzIGlzIGFuIGVtcHR5IGZyYW1l
IHVzZWQgZm9yIGZvcm1hdHRpbmcgcHVycG9zZXMgb25seS4nDQosCQknZ2xvYmFs
LXNpdGUtc2VhcmNoLWFjdGlvbicgOiAnaHR0cDovL3NlYXJjaC51b3R0YXdhLmNh
L2VuLycNCiwJCSdnbG9iYWwtc2l0ZS1zZWFyY2gtbGFiZWwnIDogJ1NlYXJjaCB0
aGUgVW5pdmVyc2l0eSBvZiBPdHRhd2EgV2ViIHNpdGUnDQosCQknZ2xvYmFsLXNp
dGUtc2VhcmNoLXN1Ym1pdC10aXRsZScgOiAnU2VhcmNoJw0KLAkJJ2dsb2JhbC1z
aXRlLXNlYXJjaC1oaW50JyA6ICdTZWFyY2ggdU90dGF3YS5jYScNCiwJCSdzZWNv
bmRhcnlOYXZNb3JlJyA6ICdRdWljayBQaWNrcycNCgl9LA0KCSdmcicgOiB7DQoJ
CSd0b29scy1wcmludCcgOiAnSW1wcmltZXIgY2V0dGUgcGFnZScNCiwJCSd0b29s
cy1lbWFpbCcgOiAnRW52b3llciDDoCB1biBhbWknDQosCQkndG9vbHMtcmVzaXpl
LWxhYmVsJyA6ICdDaG9pc2lyIGxhIHRhaWxsZSBkdSB0ZXh0ZScNCiwJCSd0b29s
cy1yZXNpemUtc21hbGwnIDogJ1RleHRlIGRlIHBldGl0ZSB0YWlsbGUnDQosCQkn
dG9vbHMtcmVzaXplLW1lZGl1bScgOiAnVGV4dGUgZGUgdGFpbGxlIHBsdXMgZ3Jh
bmRlJw0KLAkJJ3Rvb2xzLXJlc2l6ZS1sYXJnZScgOiAnVGV4dGUgZGUgdGFpbGxl
IGxhIHBsdXMgZ3JhbmRlJw0KLAkJJ3ByaW50LWJ1dHRvbicgOiAnSW1wcmltZXIg
Y2V0dGUgcGFnZScNCiwJCSdjYW5jZWwtcHJpbnQnIDogJ1JldG91ciDDoCBsYSBw
YWdlJw0KLAkJJ2VtcHR5LWlmcmFtZScgOiAnQ2UgY2FkcmUgbmUgY29udGllbnQg
cmllbjsgaWwgc2VydCB1bmlxdWVtZW50IGF1IGZvcm1hdGFnZS4nDQosCQknZ2xv
YmFsLXNpdGUtc2VhcmNoLWFjdGlvbicgOiAnaHR0cDovL3NlYXJjaC51b3R0YXdh
LmNhL2ZyLycNCiwJCSdnbG9iYWwtc2l0ZS1zZWFyY2gtbGFiZWwnIDogJ0NoZXJj
aGVyIGxlIGNvbnRlbnUgZHUgc2l0ZSBXZWIgZGUgbFwnVW5pdmVyc2l0w6kgZFwn
T3R0YXdhJw0KLAkJJ2dsb2JhbC1zaXRlLXNlYXJjaC1zdWJtaXQtdGl0bGUnIDog
J1JlY2hlcmNoZScNCiwJCSdnbG9iYWwtc2l0ZS1zZWFyY2gtaGludCcgOiAnQ2hl
cmNoZXIgc3VyIHVPdHRhd2EuY2EnDQosCQknc2Vjb25kYXJ5TmF2TW9yZScgOiAn
QWNjw6hzIHJhcGlkZScNCgl9DQp9
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=onload.js
Content-Type: application/x-javascript; name=onload.js
Content-Location: http://web5.uottawa.ca/assets-templates/js/onload.js
Content-Transfer-Encoding: Base64
DQoNCi8qIE9wZXJhdGlvbnMgZXhlY3V0ZWQgd2hlbiB0aGUgcGFnZSBsb2Fkcw0K
ICoNCiAqIFVuaXZlcnNpdHkgb2YgT3R0YXdhDQogKiBDb21wdXRpbmcgYW5kIENv
bW11bmljYXRpb25zIFNlcnZpY2VzDQogKi8NCg0KLyogcmVxdWlyZSBtb2Rlcm4g
YnJvd3NlciBieSBjaGVja2luZyBmb3IgcmVxdWlyZWQgZmVhdHVyZXMgKi8NCmlm
IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZA0KCSYmIGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lDQoJJiYgZG9jdW1lbnQuY3JlYXRlRWxlbWVudA0KCSYmIGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlDQoJJiYgdHlwZW9mIHdpbmRvdy5hZGRET01M
b2FkRXZlbnQgPT0gJ2Z1bmN0aW9uJykgew0KDQoJLyogVVJMIFBhcmFtZXRlcnMg
LSBzbyBmYXIgb25seSB1c2VkIGZvciBwcmludCBwcmV2aWV3ICovDQogICAgdmFy
IHN0clF1ZXJ5U3RyaW5nID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDsNCg0KCS8q
IGZpeCBJRTYgYnVnIHdpdGggb2xkIGJhbm5lciAqLw0KCWFkZERPTUxvYWRFdmVu
dChvbGRCYW5uZXJBcHBlbmRFbXB0eURpdik7DQoNCiAgICAvKiBwYXJzZSB0aGUg
bG9jYWwgbmF2aWdhdGlvbiAqLw0KICAgIGFkZERPTUxvYWRFdmVudChwYXJzZUxv
Y2FsTmF2KTsNCg0KICAgIC8qIGFkZCByb3VuZGVkIGNvcm5lcnMgKi8NCiAgICBh
ZGRET01Mb2FkRXZlbnQoYWRkUm91bmRlZENvcm5lcnMpOw0KDQogICAgLyogaW5p
dGl0YWxpemUgcGFnZSB0b29scyAqLw0KCWFkZERPTUxvYWRFdmVudChpbml0UGFn
ZVRvb2xzKTsNCg0KICAgIGFkZERPTUxvYWRFdmVudChpbml0Rm9udFJlc2l6ZVRv
b2wpOw0KDQogICAgLyogaW5pdGlhbGl6ZSBkcm9wLWRvd24gbGlzdHMgKi8NCiAg
ICBhZGRET01Mb2FkRXZlbnQoaW5pdERyb3BEb3duTGlzdHMpOw0KDQogICAgLyog
T3ZlcnJpZGUgZm9vdGVyIGxpbmtzICovDQogICAgYWRkRE9NTG9hZEV2ZW50KGlu
aXRDdXN0b21Db250YWN0TGlua3MpOw0KDQoJLyogRGlzcGxheSB0aGUgY2gtbGFu
Zy11cmwgb24gdGhlIG9sZCBiYW5uZXIgKi8NCglhZGRET01Mb2FkRXZlbnQoaW5p
dERpc3BsYXlDaExhbmdVcmxPbk9sZEJhbm5lcik7DQoNCgkvKiBpbml0aWFsaXpl
IHRoZSBnbG9iYWwgc2l0ZSBzZWFyY2ggYm94ICovDQoJYWRkRE9NTG9hZEV2ZW50
KGluaXRHbG9iYWxTZWFyY2gpOw0KDQoJLyogaW5pdGlhbGl6ZSB0aGUgZ2xvYmFs
IHNpdGUgc2VhcmNoIGJveCAqLw0KCWFkZERPTUxvYWRFdmVudChpbml0TG9jYWxT
ZWFyY2gpOw0KDQogICAgLyogaW5zZXJ0IHRleHQgbGFiZWxzIHRvIGNlbnRyYWxp
emVkIHBhZ2UgZWxlbWVudHMgKi8NCiAgICBhZGRET01Mb2FkRXZlbnQoYWRkVGV4
dExhYmVscyk7DQoNCgkvKiB0cmFja0NsaWNrcyAqLw0KCWFkZERPTUxvYWRFdmVu
dCh0cmFja0NsaWNrcyk7DQoNCn0gLyogZW5kIGJyb3dzZXIgY2hlY2tpbmcgKi8N
Cg0KDQoNCg0KLyogSGVscGVyIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCi8qIExvY2FsIE5hdmlnYXRpb24NCiAq
IC0gZW5hYmxlcyBleHBhbmRpbmcgb2YgYSBwb3J0aW9uIG9mIHRoZSBuYXZpZ2F0
aW9uIG1lbnUgKHJlcXVpcmVzIGphdmFzY3JpcHQgdmFyaWFibGUpDQogKiAtIGFk
ZHMgY2xhc3NOYW1lICJmaXJzdCIgdG8gdGhlIGZpcnN0IGxpc3QgaXRlbQ0KICog
LSBhZGRzIGNsYXNzTmFtZSAiY3VycmVudCIgdG8gdGhlIGxlZnQgbWVudSBlbGVt
ZW50IHdoaWNoIGxpbmtzIHRvIHRoZSBjdXJyZW50IHBhZ2UNCiAqLw0KDQpmdW5j
dGlvbiBwYXJzZUxvY2FsTmF2KCkgew0KCS8qIHJlcXVpcmVzIGEgamF2YXNjcmlw
dCB2YXJpYWJsZSBzZXQgYnkgdGhlIGNvbnRlbnQgb3duZXIgKi8NCglpZiAoIWRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSkgcmV0dXJuOw0KCWlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWRMaXN0LmxvY2FsTmF2KSkgcmV0dXJuOw0KDQoJdmFyIGxvY2FsTmF2ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRMaXN0LmxvY2FsTmF2KTsNCg0KCS8qIGRv
IG5vdCBydW4gaWYgbG9jYWxuYXYgaGFzIGFscmVhZHkgYmVlbiBwYXJzZWQgKi8N
CglpZiAod2luZG93LmxvY2FsTmF2UGFyc2VkID09IHRydWUpIHJldHVybiBmYWxz
ZTsNCgkvKiBkbyBub3QgcnVuIGlmIHRoZSBsb2NhbG5hdiBpcyB0byBiZSBnZW5l
cmF0ZWQgc2VydmVyLXNpZGUgKi8NCglpZiAoY3NzanMoJ2NoZWNrJyxsb2NhbE5h
dixjc3NDbGFzc2VzLnNlcnZlclNpZGUpKSByZXR1cm4gZmFsc2U7DQoNCgl2YXIg
bG9jYWxOYXZMaW5rcyA9IGxvY2FsTmF2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdh
Jyk7IC8qIGZvciBsYXRlciAqLw0KCXZhciBmaXJzdExpRm91bmQgPSBmYWxzZTsN
Cg0KCWZvciAodmFyIGk9MDsgaSA8IGxvY2FsTmF2LmNoaWxkTm9kZXMubGVuZ3Ro
OyBpKyspIHsNCgkJLy8gbWFyayB0aGUgZmlyc3QgbGkgZm91bmQgaW5zaWRlIHRo
ZSBsb2NhbCBuYXYgdWwNCgkJaWYgKCFmaXJzdExpRm91bmQgJiYgbG9jYWxOYXYu
Y2hpbGROb2Rlc1tpXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09ICdsaScpew0K
CQkJY3NzanMoJ2FkZCcsbG9jYWxOYXYuY2hpbGROb2Rlc1tpXSxjc3NDbGFzc2Vz
LmZpcnN0KTsNCgkJCWZpcnN0TGlGb3VuZCA9IHRydWU7DQoJCX0NCg0KCQkvLyBz
ZXQgY2xhc3NOYW1lIG9mIHRoZSBmaXJzdCBsZXZlbCBsaSB3aXRoIGlkIG1hdGNo
aW5nIHRoZSBleHBhbmROYXZTZWN0aW9uDQoJCWlmICh3aW5kb3cuZXhwYW5kTmF2
U2VjdGlvbiAmJiBsb2NhbE5hdi5jaGlsZE5vZGVzW2ldLmlkID09IHdpbmRvdy5l
eHBhbmROYXZTZWN0aW9uKSB7DQoJCQkvLyBleHBhbmQgdGhlIG1lbnUgaWYgYXBw
cm9wcmlhdGUgc2VjdGlvbiBpcyBmb3VuZA0KCQkJY3NzanMoJ2FkZCcsbG9jYWxO
YXYuY2hpbGROb2Rlc1tpXSxjc3NDbGFzc2VzLmV4cGFuZCk7DQoJCX0NCgkJZWxz
ZSB7DQoJCQkvLyByZW1vdmUgc3ViLWxpbmtzIG9mIGFsbCBvdGhlciBzZWN0aW9u
cw0KCQkJZm9yICh2YXIgaj0wOyBqIDwgbG9jYWxOYXYuY2hpbGROb2Rlc1tpXS5j
aGlsZE5vZGVzLmxlbmd0aDsgaisrKSB7DQoJCQkJaWYgKGxvY2FsTmF2LmNoaWxk
Tm9kZXNbaV0uY2hpbGROb2Rlc1tqXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09
ICd1bCcpIHsNCgkJCQkJbG9jYWxOYXYuY2hpbGROb2Rlc1tpXS5yZW1vdmVDaGls
ZChsb2NhbE5hdi5jaGlsZE5vZGVzW2ldLmNoaWxkTm9kZXNbal0pOw0KCQkJCX0N
CgkJCX0NCgkJfQ0KCX0NCg0KCS8qIEZpbmQgdGhlIGxpbmsgdGhhdCBwb2ludHMg
dG8gdGhlIGN1cnJlbnQgcGFnZSAqLw0KDQoJLyogZmluZCBwcm9wZXIgcGFnZSBo
cmVmIHRvIG1hdGNoIGFnYWluc3QgKi8NCgl2YXIgY3VycmVudFVSTCA9IHdpbmRv
dy5sb2NhdGlvbi5ocmVmOw0KCWlmIChjdXJyZW50VVJMLmluZGV4T2YoJyMnKSAh
PSAtMSkgew0KCQljdXJyZW50VVJMID0gY3VycmVudFVSTC5zdWJzdHIoMCxjdXJy
ZW50VVJMLmluZGV4T2YoJyMnKSk7DQoJfQ0KDQoJZm9yICh2YXIgaT0wOyBpIDwg
bG9jYWxOYXZMaW5rcy5sZW5ndGg7IGkrKykgew0KCQlpZiAobG9jYWxOYXZMaW5r
c1tpXS5ocmVmID09IGN1cnJlbnRVUkwpIHsNCgkJCWNzc2pzKCdhZGQnLGxvY2Fs
TmF2TGlua3NbaV0sY3NzQ2xhc3Nlcy5jdXJyZW50KTsNCgkJfQ0KCX0NCg0KCS8q
IHJlY29yZCB0aGF0IHRoZSBsb2NhbE5hdiB3YXMgcGFyc2VkICovDQoJd2luZG93
LmxvY2FsTmF2UGFyc2VkID0gdHJ1ZTsNCg0KfQ0KDQovKiBBZGQgUm91bmRlZCBD
b3JuZXJzDQogKiAtIGR5bmFtaWNhbGx5IGFkZHMgZW1wdHkgZGl2cyBpbiBlbGVt
ZW50cyB0aGF0IHJlcXVpcmUgYSByb3VuZGVkIGNvcm5lcg0KICovDQoNCmZ1bmN0
aW9uIGFkZFJvdW5kZWRDb3JuZXJzKCkgew0KCWlmICghZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHJldHVybjsNCg0K
CS8qIFNpZGUtYmFyICovDQoJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlk
TGlzdC5zZWNvbmRhcnlDb250ZW50KSkgew0KCQkvKiBjcmVhdGUgYSBuZXcgZGl2
LmNvcm5lciBpbnNpZGUgI2hpZ2hsaWdodCA+IGRpdi5mZWF0dXJlICovDQoJCXZh
ciBhcnJGZWF0dXJlcyA9IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWRMaXN0LnNlY29uZGFyeUNvbnRlbnQpLCJkaXYiLCJm
ZWF0dXJlIik7DQoJCWZvciAodmFyIGkgPSAwOyBpIDwgYXJyRmVhdHVyZXMubGVu
Z3RoOyBpKyspIHsNCi8qCQkJYXJyRmVhdHVyZXNbaV0uYXBwZW5kQ2hpbGQoY3Jl
YXRlQ29ybmVyRGl2KCkpOw0KKi8JCQlpZiAoYXJyRmVhdHVyZXNbaV0ubmV4dFNp
YmxpbmcgIT0gbnVsbCkgew0KCQkJCWFyckZlYXR1cmVzW2ldLnBhcmVudE5vZGUu
aW5zZXJ0QmVmb3JlKGNyZWF0ZUNvcm5lckRpdigpLGFyckZlYXR1cmVzW2ldLm5l
eHRTaWJsaW5nKTsNCgkJCX0gZWxzZSB7DQoJCQkJYXJyRmVhdHVyZXNbaV0ucGFy
ZW50Tm9kZS5hcHBlbmRDaGlsZChjcmVhdGVDb3JuZXJEaXYoKSk7DQoJCQl9DQoJ
CX0NCgkJLyogY3JlYXRlIGEgbmV3IGRpdi5jb3JuZXIgaW5zaWRlICNzaXRlLXNl
YXJjaCAqLw0KCQlpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRMaXN0LnNp
dGVTZWFyY2gpKSB7DQoJCQl2YXIgb2JqU2l0ZVNlYXJjaCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlkTGlzdC5zaXRlU2VhcmNoKTsNCi8qCQkJb2JqU2l0ZVNl
YXJjaC5hcHBlbmRDaGlsZChjcmVhdGVDb3JuZXJEaXYoKSk7DQoqLwkJCWlmIChv
YmpTaXRlU2VhcmNoLm5leHRTaWJsaW5nKSB7DQoJCQkJb2JqU2l0ZVNlYXJjaC5w
YXJlbnROb2RlLmluc2VydEJlZm9yZShjcmVhdGVDb3JuZXJEaXYoKSxvYmpTaXRl
U2VhcmNoLm5leHRTaWJsaW5nKTsNCgkJCX0gZWxzZSB7DQoJCQkJb2JqU2l0ZVNl
YXJjaC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGNyZWF0ZUNvcm5lckRpdigpKTsN
CgkJCX0NCgkJfQ0KCQkvKiBjcmVhdGUgYSBuZXcgZGl2LmNvcm5lciBpbnNpZGUg
I2hpZ2hsaWdodCA+IGRpdi5ncm91cGVkLWZlYXR1cmVzICovDQoJCXZhciBhcnJH
cm91cGVkRmVhdHVyZXMgPSBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGlkTGlzdC5zZWNvbmRhcnlDb250ZW50KSwiZGl2Iiwi
Z3JvdXBlZC1mZWF0dXJlcyIpOw0KCQlmb3IgKHZhciBpID0gMDsgaSA8IGFyckdy
b3VwZWRGZWF0dXJlcy5sZW5ndGg7IGkrKykgew0KCQkJaWYgKGFyckdyb3VwZWRG
ZWF0dXJlc1tpXS5uZXh0U2libGluZykgew0KCQkJCWFyckdyb3VwZWRGZWF0dXJl
c1tpXS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjcmVhdGVDb3JuZXJEaXYoKSxh
cnJHcm91cGVkRmVhdHVyZXNbaV0ubmV4dFNpYmxpbmcpOw0KCQkJfSBlbHNlIHsN
CgkJCQlhcnJHcm91cGVkRmVhdHVyZXNbaV0ucGFyZW50Tm9kZS5hcHBlbmRDaGls
ZChjcmVhdGVDb3JuZXJEaXYoKSk7DQoJCQl9DQoJCX0NCgl9IC8qIFNpZGUtYmFy
ICovDQoNCn0NCg0KZnVuY3Rpb24gY3JlYXRlQ29ybmVyRGl2KCkgew0KCXZhciBv
YmpDb3JuZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCgl2
YXIgb2JqRXh0cmFTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIp
OyAvKiBSZXF1aXJlZCBmb3IgSUUgKi8NCglvYmpDb3JuZXJEaXYuY2xhc3NOYW1l
ID0gY3NzQ2xhc3Nlcy5jb3JuZXI7DQoJb2JqQ29ybmVyRGl2LmFwcGVuZENoaWxk
KG9iakV4dHJhU3Bhbik7DQoJcmV0dXJuIG9iakNvcm5lckRpdjsNCn0NCg0KLyog
Rm9udCBSZXNpemUgUGFnZSBUb29sDQogKi8NCg0KZnVuY3Rpb24gaW5pdEZvbnRS
ZXNpemVUb29sICgpIHsNCgl2YXIgYXJyQ2hvaWNlcyA9IFtpZExpc3QucmVzaXpl
T3B0aW9uU21hbGwsIGlkTGlzdC5yZXNpemVPcHRpb25NZWRpdW0sIGlkTGlzdC5y
ZXNpemVPcHRpb25MYXJnZV07DQoJdmFyIHN0ckRlZmF1bHRQcmVmZXJlbmNlID0g
YXJyQ2hvaWNlc1swXTsNCgl2YXIgYXJyUmVzaXplUGFnZVJlZ2lvbnMgPSBbaWRM
aXN0Lm1haW5Db250ZW50LCBpZExpc3Quc2VjdGlvbkRldGFpbHMsIGlkTGlzdC5z
ZWNvbmRhcnlDb250ZW50LCBpZExpc3Quc2l0ZUluZm8sIGlkTGlzdC5sYXN0VXBk
YXRlZCwgaWRMaXN0LmZvb3RlckNvbnRhY3RdOw0KDQoJLyogY3JlYXRlIHRoZSB0
b29sJ3MgaHRtbCBzY2FmZm9sZCAqLw0KCXZhciBvYmpSZXNpemVUb29sID0gY3Jl
YXRlRm9udFJlc2l6ZVRvb2woYXJyQ2hvaWNlcyk7DQoNCgkvKiBleGl0IGlmIHRv
b2wgaXNuJ3QgcHJlc2VudCAqLw0KCWlmICghb2JqUmVzaXplVG9vbCkgcmV0dXJu
Ow0KDQoJLyogbG9hZCBwcmVmZXJlbmNlIGZyb20gY29va2llIChpZiBub3Qgc2V0
IGRlZmF1bHQpICovDQoJdmFyIGNvb2tpZSA9IHJlYWRDb29raWUoaWRMaXN0LnJl
c2l6ZVRvb2wpOyAvKiB0aGUgY29va2llIGlzIG5hbWVkIGFmdGVyIHRoZSByZXNp
emUgdG9vbCdzIGlkICovDQoJdmFyIHN0clByZWZlcmVuY2UgPSBjb29raWUgPyBj
b29raWUgOiBzdHJEZWZhdWx0UHJlZmVyZW5jZTsNCglzd2l0Y2hGb250U2l6ZShz
dHJQcmVmZXJlbmNlLCBhcnJDaG9pY2VzLCBhcnJSZXNpemVQYWdlUmVnaW9ucyk7
DQoNCgkvKiBob29rIHVwIGV2ZW50IGhhbmRsaW5nICovDQoNCglhZGRFdmVudChv
YmpSZXNpemVUb29sLCdtb3VzZW92ZXInLGZ1bmN0aW9uKCkgeyBjc3NqcygnYWRk
Jyx0aGlzLGNzc0NsYXNzZXMub3Zlcik7IH0gKTsNCglhZGRFdmVudChvYmpSZXNp
emVUb29sLCdtb3VzZW91dCcsZnVuY3Rpb24oKSB7IGNzc2pzKCdyZW1vdmUnLHRo
aXMsY3NzQ2xhc3Nlcy5vdmVyKTsgfSApOw0KDQoJZm9yICh2YXIgaT0wOyBpIDwg
YXJyQ2hvaWNlcy5sZW5ndGg7IGkrKykgew0KCQlhZGRFdmVudChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChhcnJDaG9pY2VzW2ldKSwnY2xpY2snLGZ1bmN0aW9uKCkg
ew0KCQkJc3dpdGNoRm9udFNpemUodGhpcy5pZCwgYXJyQ2hvaWNlcywgYXJyUmVz
aXplUGFnZVJlZ2lvbnMpOw0KCQl9ICk7DQoJCWFkZEV2ZW50KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGFyckNob2ljZXNbaV0pLCdtb3VzZW92ZXInLGZ1bmN0aW9u
KCkgeyBjc3NqcygnYWRkJyx0aGlzLGNzc0NsYXNzZXMub3Zlcik7IH0gKTsNCgkJ
YWRkRXZlbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYXJyQ2hvaWNlc1tpXSks
J21vdXNlb3V0JyxmdW5jdGlvbigpIHsgY3NzanMoJ3JlbW92ZScsdGhpcyxjc3ND
bGFzc2VzLm92ZXIpOyB9ICk7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBjcmVhdGVGb250
UmVzaXplVG9vbChhcnJDaG9pY2VzKSB7DQoNCgkvKiBleGl0IGlmIHBhZ2UgdG9v
bHMgZWxlbWVudCBub3QgZm91bmQgb3IgaWYgcmVzaXplIHRvb2wgZXhpc3RzICov
DQoJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExpc3QucGFnZVRvb2xz
KSkgcmV0dXJuIGZhbHNlOw0KDQoJLyogZXhpdCBpZiB0b29sIGFscmVhZHkgZXhp
c3RzICovDQoJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkTGlzdC5yZXNp
emVUb29sKSkgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkTGlzdC5y
ZXNpemVUb29sKTsNCg0KCS8qIGNyZWF0ZSBiYXNpYyBlbGVtZW50cyAqLw0KCXZh
ciBvYmpSZXNpemVUb29sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
DQoJdmFyIG9ialJlc2l6ZVRvb2xMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2xhYmVsJyk7DQoJdmFyIG9ialJlc2l6ZVRvb2xDaG9pY2VMaXN0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgndWwnKTsNCglvYmpSZXNpemVUb29sLmlkID0g
aWRMaXN0LnJlc2l6ZVRvb2w7DQoJb2JqUmVzaXplVG9vbExhYmVsLmlkID0gaWRM
aXN0LnJlc2l6ZVRvb2xMYWJlbDsNCgkvKiBhc3NlbWJsZSB0aGUgcGFydHMgKi8N
CglvYmpSZXNpemVUb29sLmFwcGVuZENoaWxkKG9ialJlc2l6ZVRvb2xMYWJlbCk7
DQoJb2JqUmVzaXplVG9vbC5hcHBlbmRDaGlsZChvYmpSZXNpemVUb29sQ2hvaWNl
TGlzdCk7DQoJLyogYWRkIHRoZSBjaG9pY2VzICovDQoJZm9yICh2YXIgaT0wOyBp
IDwgYXJyQ2hvaWNlcy5sZW5ndGg7IGkrKykgew0KCQlvYmpSZXNpemVUb29sQ2hv
aWNlTGlzdC5hcHBlbmRDaGlsZChjcmVhdGVSZXNpemVDaG9pY2UoYXJyQ2hvaWNl
c1tpXSkpOw0KCX0NCg0KCS8qIGluc2VydCByZXNpemUgdG9vbCBpbiBET00gKi8N
Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExpc3QucGFnZVRvb2xzKS5hcHBl
bmRDaGlsZChvYmpSZXNpemVUb29sKTsNCg0KCXJldHVybiBvYmpSZXNpemVUb29s
Ow0KfQ0KDQpmdW5jdGlvbiBjcmVhdGVSZXNpemVDaG9pY2UoaWQpIHsNCgl2YXIg
b2JqSXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJyk7DQoJdmFyIG9i
akxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQoJb2JqTGluay5p
ZCA9IGlkOw0KCW9iakl0ZW0uYXBwZW5kQ2hpbGQob2JqTGluayk7DQoJcmV0dXJu
IG9iakl0ZW07DQp9DQoNCmZ1bmN0aW9uIHN3aXRjaEZvbnRTaXplKHN0clByZWZl
cmVuY2UsIGFyckNob2ljZXMsIGFyclJlc2l6ZVBhZ2VSZWdpb25zKSB7DQoNCgl2
YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdHJQcmVmZXJlbmNlKTsN
Cg0KCS8qIGNoYW5nZSB0aGUgZm9udC1zaXplIGZvciBzZWxlY3RlZCBwYWdlIHJl
Z2lvbnMgKi8NCglzd2l0Y2goZWwuaWQpIHsNCgkJY2FzZSBpZExpc3QucmVzaXpl
T3B0aW9uU21hbGw6ICByZXNpemVSZWdpb25zKGFyclJlc2l6ZVBhZ2VSZWdpb25z
LCAiMTAwJSIpOyBicmVhazsNCgkJY2FzZSBpZExpc3QucmVzaXplT3B0aW9uTWVk
aXVtOiByZXNpemVSZWdpb25zKGFyclJlc2l6ZVBhZ2VSZWdpb25zLCAiMTI1JSIp
OyBicmVhazsNCgkJY2FzZSBpZExpc3QucmVzaXplT3B0aW9uTGFyZ2U6ICByZXNp
emVSZWdpb25zKGFyclJlc2l6ZVBhZ2VSZWdpb25zLCAiMTUwJSIpOyBicmVhazsN
CgkJZGVmYXVsdDogYnJlYWs7DQoJfQ0KDQoJLyogaGlnaGxpZ2h0IGNob3NlbiBv
cHRpb24gKi8NCgljc3NqcygnYWRkJyxlbCxjc3NDbGFzc2VzLmN1cnJlbnQpOw0K
DQoJLyogcmVtb3ZlIGhpZ2hsaWdodCBmcm9tIG90aGVyIG9wdGlvbnMgKi8NCglm
b3IgKHZhciBpPTA7IGkgPCBhcnJDaG9pY2VzLmxlbmd0aDsgaSsrKSB7DQoJCWlm
IChhcnJDaG9pY2VzW2ldICE9IGVsLmlkKSB7DQoJCQljc3NqcygncmVtb3ZlJyxk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChhcnJDaG9pY2VzW2ldKSxjc3NDbGFzc2Vz
LmN1cnJlbnQpOw0KCQl9DQoJfQ0KDQoJLyogU2F2ZSB0aGUgcHJlZmVyZW5jZSBp
biBhIGNvb2tpZSAqLw0KCXNhdmVGb250UmVzaXplUHJlZmVyZW5jZSgpOw0KfQ0K
DQpmdW5jdGlvbiByZXNpemVSZWdpb25zIChhcnJSZXNpemVQYWdlUmVnaW9ucywg
c2l6ZSkgew0KCWZvciAodmFyIGk9MDsgaSA8IGFyclJlc2l6ZVBhZ2VSZWdpb25z
Lmxlbmd0aDsgaSsrKSB7DQoJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFy
clJlc2l6ZVBhZ2VSZWdpb25zW2ldKSkgew0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoYXJyUmVzaXplUGFnZVJlZ2lvbnNbaV0pLnN0eWxlLmZvbnRTaXplID0g
c2l6ZTsNCgkJfQ0KCX0NCn0NCg0KZnVuY3Rpb24gc2F2ZUZvbnRSZXNpemVQcmVm
ZXJlbmNlICgpIHsNCglpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkTGlz
dC5yZXNpemVUb29sKSkgcmV0dXJuOw0KCXZhciBzdHJQcmVmZXJlbmNlID0gZ2V0
RWxlbWVudHNCeUNsYXNzTmFtZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExp
c3QucmVzaXplVG9vbCksJ2EnLGNzc0NsYXNzZXMuY3VycmVudClbMF0uaWQ7DQoN
Cgl2YXIgZG9tYWluID0gKHR5cGVvZih3aW5kb3dbIkRFRkFVTFRfRE9NQUlOIl0g
IT0gInVuZGVmaW5lZCIpKT8gREVGQVVMVF9ET01BSU46IGZhbHNlOw0KCWNyZWF0
ZUNvb2tpZShpZExpc3QucmVzaXplVG9vbCwgc3RyUHJlZmVyZW5jZSwgMzY1LCBk
b21haW4pOw0KDQoJLyogaWYgdGhlIGNvb2tpZSB3YXNuJ3Qgc3VjY2Vzc2Z1bGx5
IHNldCwgdHJ5IGEgbW9yZSBzcGVjaWZpYyBkb21haW4sIG9yIHRoZSBmdWxsIGRv
bWFpbiBpZiBub3QgaW4gdW90dGF3YS5jYSAqLw0KCXZhciBpbnREb21haW5Qb3Mg
PSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5kZXhPZihkb21haW4pOyAvKiBw
b3NpdGlvbiBvZiBkZWZhdWx0IGRvbWFpbiBpbnNpZGUgY3VycmVudCBob3N0bmFt
ZSAqLw0KDQoJd2hpbGUocmVhZENvb2tpZShpZExpc3QucmVzaXplVG9vbCkgIT0g
c3RyUHJlZmVyZW5jZSAmJiBkb21haW4gIT0gd2luZG93LmxvY2F0aW9uLmhvc3Ru
YW1lKSB7DQoJCWlmIChpbnREb21haW5Qb3MgIT0gLTEpIHsNCgkJCS8qIGZpbmQg
cG9zaXRpb24gb2YgcHJldmlvdXMgIi4iIGJlZm9yZSB0aGUgZG9tYWluICovDQoJ
CQlpZiAod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmNoYXJBdChpbnREb21haW5Q
b3MpID09ICIuIikgaW50RG9tYWluUG9zLS07IC8qIHNraXAgdGhpcyAuICovDQoJ
CQl3aGlsZSh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuY2hhckF0KGludERvbWFp
blBvcykhPSIuIiAmJiBpbnREb21haW5Qb3MgPj0gMCkgew0KCQkJCWRvbWFpbiA9
IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zdWJzdHIoaW50RG9tYWluUG9zKTsN
CgkJCQlpbnREb21haW5Qb3MtLTsNCgkJCX0NCgkJfSBlbHNlIHsgLyogZS5nLiB3
d3cuZ2VlZ2Vlcy5jYSAqLw0KCQkJZG9tYWluID0gd2luZG93LmxvY2F0aW9uLmhv
c3RuYW1lOw0KCQl9DQoJCS8qIHRyeSBhZ2FpbiAqLw0KCQljcmVhdGVDb29raWUo
aWRMaXN0LnJlc2l6ZVRvb2wsIHN0clByZWZlcmVuY2UsIDM2NSwgZG9tYWluKTsN
Cgl9DQp9DQoNCi8qIEFkZCB0ZXh0IGxhYmVscw0KICogSW5zcGlyZWQgYnkgaHR0
cDovL3d3dy50aGlua3ZpdGFtaW4uY29tL2ZlYXR1cmVzL2Rldi90aGUtaW1wb3J0
YW5jZS1vZi1tYWludGFpbmFibGUtamF2YXNjcmlwdA0KICovDQpmdW5jdGlvbiBh
ZGRUZXh0TGFiZWxzICgpIHsNCiAgICB2YXIgbGFuZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0ubGFuZzsNCiAgICBpZiAoIWxhbmcg
fHwgIWxvY2FsZXMpIHJldHVybjsNCiAgICBmb3IoaSBpbiBsb2NhbGVzW2xhbmdd
KSB7DQoJaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSkpew0KCSAgICBpZihk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChpKS50YWdOYW1lID09ICdJTlBVVCcpIHsN
CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSkudmFsdWUgPSBsb2NhbGVzW2xh
bmddW2ldOw0KCSAgICB9IGVsc2Ugew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChpKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShsb2NhbGVz
W2xhbmddW2ldKSk7DQoJCS8qIGFwcGVuZCA8c3Bhbj4gdGFnOyB1c2VkIGZvciBj
c3MgaW1hZ2UgcmVwbGFjZW1lbnQgKi8NCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoaSkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3Bhbicp
KTsNCgkgICAgfQ0KCX0NCiAgICB9DQp9DQoNCi8qKiAqKi8NCmZ1bmN0aW9uIGlu
aXRDdXN0b21Db250YWN0TGlua3MoKSB7DQoJLyogaW5pdGlhbGl6ZSAqLw0KCW9i
akdlbmVyYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExpc3QuZ2VuRmVl
ZGJhY2tMaW5rKTsNCglvYmpUZWNobmljYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZExpc3QudGVjaEZlZWRiYWNrTGluayk7DQoNCgkvKiBHZW5lcmFsIGZl
ZWRiYWNrIGxpbmsgKi8NCglpZiAob2JqR2VuZXJhbCAmJiBvYmpHZW5lcmFsLnRh
Z05hbWUgPT0gIkEiKSB7DQoJCWlmICh3aW5kb3cuZ2VuRmVlZGJhY2tMaW5rKSB7
IG9iakdlbmVyYWwuaHJlZiA9IHdpbmRvdy5nZW5GZWVkYmFja0xpbms7IH0NCgkJ
aWYgKHdpbmRvdy5nZW5GZWVkYmFja0xhYmVsKSB7IG9iakdlbmVyYWwuZmlyc3RD
aGlsZC5ub2RlVmFsdWUgPSB3aW5kb3cuZ2VuRmVlZGJhY2tMYWJlbDsgfQ0KCX0N
Cg0KCS8qIFRlY2huaWNhbCBmZWVkYmFjayBsaW5rICovDQoJaWYgKG9ialRlY2hu
aWNhbCAmJiBvYmpUZWNobmljYWwudGFnTmFtZSA9PSAiQSIpIHsNCgkJaWYgKHdp
bmRvdy50ZWNoRmVlZGJhY2tMaW5rKSB7IG9ialRlY2huaWNhbC5ocmVmID0gd2lu
ZG93LnRlY2hGZWVkYmFja0xpbms7IH0NCgkJaWYgKHdpbmRvdy50ZWNoRmVlZGJh
Y2tMYWJlbCkgeyBvYmpUZWNobmljYWwuZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSB3
aW5kb3cudGVjaEZlZWRiYWNrTGFiZWw7IH0NCgl9DQp9DQoNCmZ1bmN0aW9uIGlu
aXREaXNwbGF5Q2hMYW5nVXJsT25PbGRCYW5uZXIoKSB7DQoJLyogaW5pdGlhbGl6
ZSAqLw0KCWlmICghaWRMaXN0Lm1haW5CYW5uZXIpIHsgcmV0dXJuOyB9DQoJdmFy
IG9iak1haW5Db250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExp
c3QubWFpbkNvbnRhaW5lcik7DQoJdmFyIG9ialBhZ2VCb2R5ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXTsNCg0KCWlmICghZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoaWRMaXN0Lm1haW5CYW5uZXIpKSB7DQoJCWNzc2pz
KCdhZGQnLG9iak1haW5Db250YWluZXIsY3NzQ2xhc3Nlcy5vbGRCYW5uZXIpOw0K
CQljc3NqcygnYWRkJyxvYmpQYWdlQm9keSxjc3NDbGFzc2VzLm9sZEJhbm5lcik7
DQoJfQ0KfQ0KDQpmdW5jdGlvbiBpbml0UGFnZVRvb2xzKCkgew0KDQoJaWYgKHR5
cGVvZiB3aW5kb3cuaW5pdFByaW50VG9vbCA9PSAnZnVuY3Rpb24nKSB7DQoJCWlu
aXRQcmludFRvb2woKTsNCiAgICB9DQoNCiAgICBpZiAodHlwZW9mIHdpbmRvdy5p
bml0RW1haWxUb29sID09ICdmdW5jdGlvbicpIHsNCgkJaW5pdEVtYWlsVG9vbCgp
Ow0KICAgIH0NCg0KCSAvKiBkZXRlY3QgcHJpbnQgcHJldmlldyAqLw0KICAgIGlm
IChzdHJRdWVyeVN0cmluZy5pbmRleE9mKCdwcmludD10cnVlJykgPiAtMSAmJiB0
eXBlb2Ygd2luZG93LmluaXRQcmludFByZXZpZXcgPT0gJ2Z1bmN0aW9uJykgew0K
CQlpbml0UHJpbnRQcmV2aWV3KCk7DQogICAgfQ0KfQ0KDQovKiBHbG9iYWwgU2Vh
cmNoIEJveCAodG9wIGJhbm5lcikgKi8NCg0KZnVuY3Rpb24gaW5pdEdsb2JhbFNl
YXJjaCAoKSB7DQoJLyogcmVxdWlyZW1lbnRzICovDQoJaWYgKCFkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCkgeyByZXR1cm47IH0NCg0KCXZhciBvYmpNYWluQmFubmVy
Ow0KCWlmICghKG9iak1haW5CYW5uZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChpZExpc3QubWFpbkJhbm5lcikpKSB7IHJldHVybjsgfQ0KDQoJdmFyIG9ialNl
Y29uZGFyeU5hdjsNCglpZiAoIShvYmpTZWNvbmRhcnlOYXYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZExpc3Quc2Vjb25kYXJ5TmF2KSkpIHsgcmV0dXJuOyB9
DQoNCgl2YXIgbGFuZyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdo
dG1sJylbMF0ubGFuZzsNCglpZiAoIWxhbmcgfHwgIWxvY2FsZXMpIHJldHVybjsN
Cg0KCS8qIGlmIHRoZSBzZWFyY2ggZm9ybSBpcyBhbHJlYWR5IG9uIHRoZSBwYWdl
LCBkb24ndCBhZGQgaXQgKi8NCglpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWRMaXN0Lmdsb2JhbFNlYXJjaCkpIHsgcmV0dXJuOyB9DQoNCgkvKiBpZiB0aGUg
cGFnZSBhbHJlYWR5IGhhcyBhIGZvcm0gYXMgb25lIG9mIHRoZSBwYXJlbnRzLCBk
b24ndCBhZGQgdGhlIHNlYXJjaCBmb3JtICovDQoJb2JqRm9ybUZvdW5kSW5BbmNl
c3RvcnMgPSBpc0Zvcm1JbkFuY2VzdG9ycyhvYmpNYWluQmFubmVyKTsNCg0KCS8q
IGNyZWF0ZSBiYXNpYyBlbGVtZW50cyAqLw0KCXZhciBvYmpTZWFyY2hMYWJlbCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7DQoJdmFyIG9ialNlYXJj
aElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsNCgl2YXIg
b2JqU2VhcmNoQ2hhcnNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7DQoJdmFyIG9ialNlYXJjaFN1Ym1pdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7DQoJdmFyIG9ialNlYXJjaEhpbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdsYWJlbCcpOw0KDQoJLyogaWYgdGhlIHBhZ2UgYWxyZWFkeSBo
YXMgYSBmb3JtLCB1c2UgYSBkaXYgaW5zdGVhZCAqLw0KCXZhciBvYmpTZWFyY2hG
b3JtOw0KCWlmIChvYmpGb3JtRm91bmRJbkFuY2VzdG9ycykgew0KCQlvYmpTZWFy
Y2hGb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQoJfSBlbHNl
IHsNCgkJb2JqU2VhcmNoRm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zv
cm0nKTsNCgl9DQoNCgkvKiBhc3NpZ24gaWQncyAqLw0KCW9ialNlYXJjaEZvcm0u
aWQgPSBpZExpc3QuZ2xvYmFsU2VhcmNoOw0KCW9ialNlYXJjaExhYmVsLmlkID0g
aWRMaXN0Lmdsb2JhbFNlYXJjaExhYmVsOw0KCW9ialNlYXJjaElucHV0LmlkID0g
aWRMaXN0Lmdsb2JhbFNlYXJjaElucHV0Ow0KCW9ialNlYXJjaEhpbnQuaWQgPSBp
ZExpc3QuZ2xvYmFsU2VhcmNoSGludDsNCglvYmpTZWFyY2hTdWJtaXQuaWQgPSBp
ZExpc3QuZ2xvYmFsU2VhcmNoU3VibWl0Ow0KDQoJLyogYWRkIG90aGVyIHByb3Bl
cnRpZXMgKi8NCglvYmpTZWFyY2hMYWJlbC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIGlk
TGlzdC5nbG9iYWxTZWFyY2hJbnB1dCk7DQoNCglvYmpTZWFyY2hJbnB1dC5zZXRB
dHRyaWJ1dGUoJ3R5cGUnLCAndGV4dCcpOw0KCW9ialNlYXJjaElucHV0LnNldEF0
dHJpYnV0ZSgndmFsdWUnLCAnJyk7DQoJb2JqU2VhcmNoSW5wdXQuc2V0QXR0cmli
dXRlKCduYW1lJywgJ3EnKTsNCg0KCW9ialNlYXJjaENoYXJzZXQuc2V0QXR0cmli
dXRlKCd0eXBlJywgJ2hpZGRlbicpOw0KCW9ialNlYXJjaENoYXJzZXQuc2V0QXR0
cmlidXRlKCduYW1lJywgJ2llJyk7DQoJb2JqU2VhcmNoQ2hhcnNldC5zZXRBdHRy
aWJ1dGUoJ3ZhbHVlJywgZGV0ZWN0UGFnZUNoYXJzZXQoKSk7DQoJDQoJb2JqU2Vh
cmNoSGludC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIGlkTGlzdC5nbG9iYWxTZWFyY2hJ
bnB1dCk7DQoJb2JqU2VhcmNoSGludC5maXJzdGlubmVySFRNTCA9IGxvY2FsZXNb
bGFuZ11bJ2dsb2JhbC1zaXRlLXNlYXJjaC1oaW50J107DQoJLy8gSW4gSUUgeW91
IGhhdmUgdG8gdXNlICdhdHRhY2hFdmVudCcgcmF0aGVyIHRoYW4gdGhlIHN0YW5k
YXJkICdhZGRFdmVudExpc3RlbmVyJy4NCglpZiAob2JqU2VhcmNoSGludC5hdHRh
Y2hFdmVudCl7ICANCiAgCQlvYmpTZWFyY2hIaW50LmF0dGFjaEV2ZW50KCdvbmNs
aWNrJywgZnVuY3Rpb24oKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExpc3Qu
Z2xvYmFsU2VhcmNoSW5wdXQpLmZvY3VzKCk7fSk7ICANCgl9DQoNCglpZihvYmpG
b3JtRm91bmRJbkFuY2VzdG9ycyl7DQoJCW9ialNlYXJjaFN1Ym1pdC5zZXRBdHRy
aWJ1dGUoJ3R5cGUnLCAnYnV0dG9uJyk7DQoJfSBlbHNlIHsNCgkJb2JqU2VhcmNo
U3VibWl0LnNldEF0dHJpYnV0ZSgndHlwZScsICdzdWJtaXQnKTsNCgl9DQoNCglv
YmpTZWFyY2hTdWJtaXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICcnKTsNCg0KCWNz
c2pzKCdhZGQnLCBvYmpTZWFyY2hTdWJtaXQsICdzdWJtaXQnKTsNCglvYmpTZWFy
Y2hTdWJtaXQuc2V0QXR0cmlidXRlKCd0aXRsZScsIGxvY2FsZXNbbGFuZ11bJ2ds
b2JhbC1zaXRlLXNlYXJjaC1zdWJtaXQtdGl0bGUnXSk7DQoNCgkvKiBhZGQgZm9y
bSBpbnRlcmFjdGl2aXR5IChvciBzaW11bGF0ZSBpZiBmb3JtIGFscmVhZHkgaW4g
RE9NKSAqLw0KCWlmICghb2JqRm9ybUZvdW5kSW5BbmNlc3RvcnMpIHsNCgkJb2Jq
U2VhcmNoRm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsIGxvY2FsZXNbbGFuZ11b
J2dsb2JhbC1zaXRlLXNlYXJjaC1hY3Rpb24nXSk7DQoJCW9ialNlYXJjaEZvcm0u
c2V0QXR0cmlidXRlKCdtZXRob2QnLCAnZ2V0Jyk7DQoJfSBlbHNlIHsNCgkJYWRk
RXZlbnQob2JqU2VhcmNoSW5wdXQsJ2tleXByZXNzJyxmdW5jdGlvbihlKSB7DQoJ
CQkvKiBpZiBlbnRlciBpcyBwcmVzc2VkICovDQoJCQlpZiAoZS5rZXlDb2RlPT0n
MTMnKSB7IHN1Ym1pdFNlYXJjaFdpdGhOb0Zvcm0oKTsgcHJldmVudERlZmF1bHQo
ZSk7IH0NCgkJfSk7DQoJCWFkZEV2ZW50KG9ialNlYXJjaFN1Ym1pdCwnY2xpY2sn
LGZ1bmN0aW9uKGUpIHsNCgkJCXN1Ym1pdFNlYXJjaFdpdGhOb0Zvcm0oKTsNCgkJ
CXByZXZlbnREZWZhdWx0KGUpOw0KCQl9KTsNCgl9DQoNCgkvKiBhc3NlbWJsZSB0
aGUgcGFydHMgKi8NCglvYmpTZWFyY2hGb3JtLmFwcGVuZENoaWxkKG9ialNlYXJj
aExhYmVsKTsNCglvYmpTZWFyY2hGb3JtLmFwcGVuZENoaWxkKG9ialNlYXJjaElu
cHV0KTsNCglvYmpTZWFyY2hGb3JtLmFwcGVuZENoaWxkKG9ialNlYXJjaEhpbnQp
Ow0KCW9ialNlYXJjaEZvcm0uYXBwZW5kQ2hpbGQob2JqU2VhcmNoQ2hhcnNldCk7
DQoJb2JqU2VhcmNoRm9ybS5hcHBlbmRDaGlsZChvYmpTZWFyY2hTdWJtaXQpOw0K
DQoJLyogaW5zZXJ0IGluIERPTSAqLw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkTGlzdC5tYWluQmFubmVyKS5pbnNlcnRCZWZvcmUob2JqU2VhcmNoRm9ybSwg
b2JqU2Vjb25kYXJ5TmF2KTsNCg0KCS8vIGlmIGZpZWxkIGlzIGVtcHR5LCBhZGQg
aGludA0KCWlmIChvYmpTZWFyY2hJbnB1dC52YWx1ZSA9PSAiIikgew0KCQljc3Nq
cygnYWRkJyxvYmpTZWFyY2hIaW50LGNzc0NsYXNzZXMuZW1wdHkpOw0KCX0NCg0K
CS8vIG9uZm9jdXM6IHJlbW92ZSBoaW50DQoJYWRkRXZlbnQob2JqU2VhcmNoSW5w
dXQsJ2ZvY3VzJyxmdW5jdGlvbigpIHsNCgkJY3NzanMoJ3JlbW92ZScsb2JqU2Vh
cmNoSGludCxjc3NDbGFzc2VzLmVtcHR5KTsNCgl9KTsNCgkvLyBvbmJsdXI6IGFk
ZCBoaW50IGFnYWluIGlmIGVtcHR5DQoJYWRkRXZlbnQob2JqU2VhcmNoSW5wdXQs
J2JsdXInLGZ1bmN0aW9uKCkgew0KCQlpZiAob2JqU2VhcmNoSW5wdXQudmFsdWUg
PT0gIiIpIHsNCgkJCWNzc2pzKCdhZGQnLG9ialNlYXJjaEhpbnQsY3NzQ2xhc3Nl
cy5lbXB0eSk7DQoJCX0NCgl9KTsNCn0NCg0KZnVuY3Rpb24gaW5pdExvY2FsU2Vh
cmNoICgpIHsNCg0KCS8qIHJlcXVpcmVtZW50cyAqLw0KCWlmICghZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQgfHwgIWlkTGlzdCB8fCAhaWRMaXN0LnNpdGVTZWFyY2gp
IHsgcmV0dXJuOyB9DQoJLyogaWYgdGhlIGxvY2FsIHNlYXJjaCBmb3JtIGlzbid0
IG9uIHRoZSBwYWdlLCBzdG9wICovDQoJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZExpc3Quc2l0ZVNlYXJjaCkpIHsgcmV0dXJuOyB9DQoNCgl2YXIgb2Jq
TG9jYWxTZWFyY2hGb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRMaXN0
LnNpdGVTZWFyY2gpOw0KDQoJdmFyIG9ialNlYXJjaENoYXJzZXQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOw0KCW9ialNlYXJjaENoYXJzZXQuc2V0
QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpOw0KCW9ialNlYXJjaENoYXJzZXQu
c2V0QXR0cmlidXRlKCduYW1lJywgJ2llJyk7DQoJb2JqU2VhcmNoQ2hhcnNldC5z
ZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgZGV0ZWN0UGFnZUNoYXJzZXQoKSk7DQoNCglv
YmpMb2NhbFNlYXJjaEZvcm0uYXBwZW5kQ2hpbGQob2JqU2VhcmNoQ2hhcnNldCk7
DQp9DQoNCmZ1bmN0aW9uIGRldGVjdFBhZ2VDaGFyc2V0KCkgew0KCWlmICghZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHsgcmV0dXJuOyB9DQoNCglpZiAoZG9jdW1l
bnQuY2hhcmFjdGVyU2V0KSB7DQoJCS8vIGlmIHN0YW5kYXJkcy1jb21wbGlhbnQg
YnJvd3NlciAoSUU4IGRvZXNuJ3QgcmV0dXJuIHRoaXMpDQoJCXJldHVybiBkb2N1
bWVudC5jaGFyYWN0ZXJTZXQ7DQoJfQ0KDQoJLy8gZWxzZSwgaXQncyBhbiBJRSBi
cm93c2VyLCBhbmQgZmluZCB0aGUgY2hhcmFjdGVyIHNldCBzcGVjaWZpZWQgaW4g
dGhlIG1ldGEgY29udGVudC10eXBlDQoJdmFyIGNoYXJzZXQgPSAiIjsNCgl2YXIg
bWF0Y2hlcyA9IG51bGw7DQoJdmFyIGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnaGVhZCcpWzBdOw0KCXZhciBtZXRhRWxlbWVudHMgPSBoZWFk
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtZXRhJyk7DQoJZm9yICh2YXIgaT0wOyBp
PG1ldGFFbGVtZW50cy5sZW5ndGg7IGkrKykgew0KCQlpZiAobWV0YUVsZW1lbnRz
W2ldLmh0dHBFcXVpdg0KCQkJJiYgbWV0YUVsZW1lbnRzW2ldLmh0dHBFcXVpdi5t
YXRjaCgvQ29udGVudC1UeXBlL2kpKSB7DQoJCQltYXRjaGVzID0gbnVsbDsNCgkJ
CWlmIChtYXRjaGVzID0gbWV0YUVsZW1lbnRzW2ldLmNvbnRlbnQubWF0Y2goL2No
YXJzZXQ9KC4qKS9pKSkgew0KCQkJCWNoYXJzZXQgPSBtYXRjaGVzWzFdOw0KCQkJ
CXJldHVybiBjaGFyc2V0Ow0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gZWxzZSwgcmV0
dXJuIGlzby04ODU5LTEgKFdlc3Rlcm4gRXVyb3BlYW4pLCB3aGljaCBpcyBub3Jt
YWxseSB0aGUgZGVmYXVsdCBvbiBJRSBicm93c2Vycw0KCXJldHVybiAiaXNvLTg4
NTktMSI7DQp9DQoNCmZ1bmN0aW9uIHN1Ym1pdFNlYXJjaFdpdGhOb0Zvcm0oKSB7
DQoJLyogcmVxdWlyZW1lbnRzICovDQoJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCkgeyByZXR1cm47IH0NCg0KCXZhciBvYmpTZWFyY2hGb3JtOw0KCWlmICgh
KG9ialNlYXJjaEZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZExpc3Qu
Z2xvYmFsU2VhcmNoKSkpIHsgcmV0dXJuOyB9DQoNCgl2YXIgb2JqU2VhcmNoSW5w
dXQ7DQoJaWYgKCEob2JqU2VhcmNoSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZExpc3QuZ2xvYmFsU2VhcmNoSW5wdXQpKSkgeyByZXR1cm47IH0NCg0K
CXZhciBsYW5nID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwn
KVswXS5sYW5nOw0KCWlmICghbGFuZyB8fCAhbG9jYWxlcykgcmV0dXJuOw0KDQoJ
LyogaW5zdGVhZCBvZiBzdWJtaXR0aW5nIHRoZSBwYWdlJ3MgbWFpbiBmb3JtLCB1
c2UgYSByZWRpcmVjdGlvbiB0byBnbyB0byBzZWFyY2ggcmVzdWx0cyAqLw0KCWRv
Y3VtZW50LmxvY2F0aW9uID0gbG9jYWxlc1tsYW5nXVsnZ2xvYmFsLXNpdGUtc2Vh
cmNoLWFjdGlvbiddICsgIj8iDQoJCSsgb2JqU2VhcmNoSW5wdXQubmFtZSArICI9
IiArIGVuY29kZVVSSShvYmpTZWFyY2hJbnB1dC52YWx1ZSkNCgkJKyAiJmllPXV0
Zi04IjsgLy8gZW5jb2RlVVJJIGlzIGFsd2F5cyBpbiBVVEYtOC1lbmNvZGVkIGVz
Y2FwZSBjaGFyYWN0ZXJzDQp9DQoNCmZ1bmN0aW9uIGlzRm9ybUluQW5jZXN0b3Jz
KG9iaikgew0KCXZhciBvYmpQYWdlQm9keSwgb2JqQW5jZXN0b3I7DQoNCgl2YXIg
b2JqUGFnZUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9k
eScpWzBdOw0KCXZhciBvYmpBbmNlc3RvciA9IG9iajsNCg0KCXdoaWxlIChvYmpB
bmNlc3RvciAhPSBvYmpQYWdlQm9keSkgew0KCQlpZiAob2JqQW5jZXN0b3IudGFn
TmFtZS50b0xvd2VyQ2FzZSgpID09ICdmb3JtJykgew0KCQkJcmV0dXJuIG9iakFu
Y2VzdG9yOw0KCQl9DQoJCW9iakFuY2VzdG9yID0gb2JqQW5jZXN0b3IucGFyZW50
Tm9kZTsNCgl9DQoJcmV0dXJuIGZhbHNlOw0KfQ0KDQpmdW5jdGlvbiBvbGRCYW5u
ZXJBcHBlbmRFbXB0eURpdiAoKSB7DQoNCgkvKiBCeSBhZGRpbmcgem9vbTogMTsg
b24gc2VjdGlvbi1jb250YWluZXIgdG8gImhhdmUgbGF5b3V0IiwNCgkgICBpdCBj
YXVzZWQgdGhlIHByZXZpb3VzIHBvc2l0aW9uOiBhYnNvbHV0ZSBpdGVtcyAoZ2xv
YmFsIG5hdiwgc2Vjb25kYXJ5IG5hdikNCgkgICB0byBkaXNhcHBlYXIsIGJlY2F1
c2Ugb2YgYSB3ZWlyZCBJRS1vbmx5IGJ1Zy4NCg0KCSAgIFRoZSBmaXggaXMgdG8g
aW50cm9kdWNlIGFuIGVtcHR5IGRpdiBlbGVtZW50IGJlZm9yZSBzZWN0aW9uLWNv
bnRhaW5lciwNCgkgICBhbmQgd2UnbGwgZG8gaXQgdGhyb3VnaCBqYXZhc2NyaXB0
Lg0KDQoJICAgU291cmNlOiBJRTctL1dpbjogQSBib3ggd2l0aCBwb3NpdGlvbjph
YnNvbHV0ZSBuZXh0IHRvIGEgZmxvYXQgbWF5IGRpc2FwcGVhcg0KCSAgIGh0dHA6
Ly93d3cuYnJ1bmlsZG8ub3JnL3Rlc3QvSUVfcmFmMy5odG1sDQoJICovDQoNCgkv
KiBSZXF1aXJlIElFIDYgb3IgNyAqLw0KCXZhciBJRTZzZWFyY2hTdHJpbmcgPSAi
TVNJRSI7DQoJdmFyIGluZGV4T2ZNU0lFID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5p
bmRleE9mKElFNnNlYXJjaFN0cmluZyk7DQoJaWYgKGluZGV4T2ZNU0lFID09IC0x
KSByZXR1cm47IC8qIEl0J3Mgbm90IElFICovDQoNCgl2YXIgSUV2ZXJzaW9uID0g
cGFyc2VGbG9hdChuYXZpZ2F0b3IudXNlckFnZW50LnN1YnN0cmluZyhpbmRleE9m
TVNJRStJRTZzZWFyY2hTdHJpbmcubGVuZ3RoKzEpKTsNCglpZiAoSUV2ZXJzaW9u
ID4gNyB8fCBJRXZlcnNpb24gPCA2KSByZXR1cm47IC8qIEl0J3Mgbm90IElFIDYg
b3IgNyAqLw0KDQoJLyogSWYgbmV3IGJhbm5lciBmb3VuZCwgZG9uJ3QgZG8gYW55
dGhpbmcgKi8NCglpZighaWRMaXN0Lm1haW5CYW5uZXIgfHwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoaWRMaXN0Lm1haW5CYW5uZXIpKSB7IHJldHVybjsgfQ0KDQoJ
LyogRmluZCBtYWluLWNvbnRhaW5lciwgc2VjdGlvbi1jb250YWluZXIgb2JqZWN0
cyBpbiBET00gKi8NCgl2YXIgb2JqTWFpbkNvbnRhaW5lcjsNCglpZiAoIShvYmpN
YWluQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRMaXN0Lm1h
aW5Db250YWluZXIpKSkgeyByZXR1cm47IH0NCg0KCXZhciBvYmpTZWN0aW9uQ29u
dGFpbmVyOw0KCWlmICghKG9ialNlY3Rpb25Db250YWluZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZExpc3Quc2VjdGlvbkNvbnRhaW5lcikpKSB7IHJldHVy
bjsgfQ0KDQoJLyogQWRkIGVtcHR5IGRpdiBiZWZvcmUgc2VjdGlvbi1jb250YWlu
ZXIgKi8NCgl2YXIgb2JqRW1wdHlEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsNCglvYmpNYWluQ29udGFpbmVyLmluc2VydEJlZm9yZShvYmpFbXB0
eURpdiwgb2JqU2VjdGlvbkNvbnRhaW5lcik7DQp9DQoNCmZ1bmN0aW9uIHRyYWNr
Q2xpY2tzICgpIHsNCglpZiAodHlwZW9mIHdpbmRvdy5fZ2F0ID09ICd1bmRlZmlu
ZWQnIHx8IHR5cGVvZiB3aW5kb3cuX2dhVHJhY2tDbGlja3MgPT0gJ3VuZGVmaW5l
ZCcpIHsgcmV0dXJuOyB9DQoNCgl0cnkgew0KCXdpbmRvdy51T3R0YXdhVHJhY2tl
ciA9IF9nYXQuX2dldFRyYWNrZXIoIlVBLTY5ODA2NDAtMTEiKTsNCgl3aW5kb3cu
dU90dGF3YVRyYWNrZXIuX3NldERvbWFpbk5hbWUoIi51b3R0YXdhLmNhIik7DQoJ
d2luZG93LnVPdHRhd2FUcmFja2VyLl9zZXRDdXN0b21WYXIoMSwnZm9udC1zaXpl
JyxyZWFkQ29va2llKGlkTGlzdC5yZXNpemVUb29sKSwxKTsNCgl3aW5kb3cudU90
dGF3YVRyYWNrZXIuX3NldEN1c3RvbVZhcigyLCdwYWdlLWxhbmcnLGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0ubGFuZywzKTsNCg0KCS8q
IFRyYWNrIEdsb2JhbE5hdiBDbGljayBCb3VuY2VzICovDQoJaWYgKHR5cGVvZiB3
aW5kb3cuX2dhR25Cb3VuY2VzICE9ICd1bmRlZmluZWQnKSB7DQoJCV9nYUduQm91
bmNlcy5fYWRkR25DbGlja1RyYWNraW5nKCk7DQoNCgkJaWYgKF9nYUduQm91bmNl
cy5faXNSZWNlbnRseUNsaWNrZWRPbkdsb2JhbE5hdigpKSB7DQoJCQlpZiAoX2dh
R25Cb3VuY2VzLl9pc0N1cnJlbnRQYWdlT3JpZ2luYWxQYWdlKCkpIHsNCgkJCQkv
LyBzZW5kIG51bU9mUGFnZXNEZWVwIHRvIEdvb2dsZSArIG5hbWUgb2YgZW50cmFu
Y2VUb3BMZXZlbFBhZ2UNCgkJCQllbnRyYW5jZVRvcExldmVsUGFnZSA9IF9nYUdu
Qm91bmNlcy5fZ2V0Q2xpY2tlZEdsb2JhbE5hdkl0ZW1OYW1lKCk7DQoJCQkJbnVt
T2ZQYWdlc0RlZXAgPSBfZ2FHbkJvdW5jZXMuX2dldE51bVBhZ2VzVmlld2VkU2lu
Y2VJbml0aWFsR2xvYmFsTmF2Q2xpY2soKTsNCgkJCQlpZiAoZW50cmFuY2VUb3BM
ZXZlbFBhZ2UgJiYgbnVtT2ZQYWdlc0RlZXApIHsNCgkJCQkJd2luZG93LnVPdHRh
d2FUcmFja2VyLl9zZXRDdXN0b21WYXIoDQoJCQkJCQk0LA0KCQkJCQkJX2dhR25C
b3VuY2VzLl9nZXRDbGlja2VkR2xvYmFsTmF2SXRlbU5hbWUoKSwNCgkJCQkJCV9n
YUduQm91bmNlcy5fZ2V0TnVtUGFnZXNWaWV3ZWRTaW5jZUluaXRpYWxHbG9iYWxO
YXZDbGljaygpLA0KCQkJCQkJMw0KCQkJCQkpOw0KCQkJCX0NCgkJCX0gZWxzZSB7
DQoJCQkJLy8gaW5jcmVtZW50IHBhZ2UgY291bnQNCgkJCQlfZ2FHbkJvdW5jZXMu
X2luY3JlbWVudFBhZ2VDb3VudCgpOw0KCQkJCWNvbnNvbGUubG9naW5mbygiX2lu
Y3JlbWVudFBhZ2VDb3VudCIpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJd2luZG93LnVP
dHRhd2FUcmFja2VyLl90cmFja1BhZ2V2aWV3KCk7DQoJfSBjYXRjaChlcnIpIHt9
DQoNCglfZ2FUcmFja0NsaWNrcy5fcGFyc2VFbGVtZW50KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdtYWluLWJhbm5lcicpLCdoZWFkZXInKTsNCglfZ2FUcmFja0Ns
aWNrcy5fcGFyc2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWN0
aW9uLWNvbnRhaW5lcicpLCdjb250ZW50Jyk7DQoJX2dhVHJhY2tDbGlja3MuX3Bh
cnNlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbi1zaXRlaW5m
bycpLCdmb290ZXInKTsNCglfZ2FUcmFja0NsaWNrcy5fcGFyc2VFbGVtZW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluLXN0YXRlbWVudHMtY29udGFjdCcp
LCdmb290ZXInKTsNCg0KfQ0KDQp2YXIgX2dhVHJhY2tDbGlja3MgPSB7DQoNCgll
dmVudENhdGVnb3J5OiAnQ2xpY2tzIG9uICcgKyBsb2NhdGlvbi5ob3N0bmFtZSwN
CglwYWdlVHJhY2tlclZhck5hbWU6ICd3aW5kb3cudU90dGF3YVRyYWNrZXInLA0K
DQoJX3BhcnNlRWxlbWVudCA6IGZ1bmN0aW9uIChlbGVtZW50LCBsYWJlbCkgew0K
CQlpZiAoIWVsZW1lbnQgfHwgIWdldEVsZW1lbnRzQnlDbGFzc05hbWUgfHwgIWRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkIHx8ICFhZGRFdmVudCkgcmV0dXJuOw0KDQoJ
CXZhciBldmVudENhdGVnb3J5ID0gX2dhVHJhY2tDbGlja3MuZXZlbnRDYXRlZ29y
eTsNCgkJdmFyIGV2ZW50QWN0aW9uID0gX2dhVHJhY2tDbGlja3MudHJpbUFuZENs
ZWFuKGxhYmVsKTsNCg0KCQlpZiAoZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNl
KCkgPT0gJ2EnDQoJCQl8fCBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9
PSAnYXJlYScpIHsNCgkJCXZhciBldmVudExhYmVsID0gKF9nYVRyYWNrQ2xpY2tz
LmdldFRleHRDb250ZW50KGVsZW1lbnQpICE9ICIiKT8gX2dhVHJhY2tDbGlja3Mu
dHJpbUFuZENsZWFuKF9nYVRyYWNrQ2xpY2tzLmdldFRleHRDb250ZW50KGVsZW1l
bnQpKSArICIgIiA6ICIiOw0KCQkJZXZlbnRMYWJlbCArPSBfZ2FUcmFja0NsaWNr
cy50cmltQW5kQ2xlYW4oZWxlbWVudC5ocmVmKTsNCgkJCWFkZEV2ZW50KGVsZW1l
bnQsJ2NsaWNrJywgbmV3IEZ1bmN0aW9uKF9nYVRyYWNrQ2xpY2tzLnBhZ2VUcmFj
a2VyVmFyTmFtZSArICIuX3RyYWNrRXZlbnQoJyIgKyBldmVudENhdGVnb3J5ICsg
IicsICciICsgZXZlbnRBY3Rpb24gKyAiJywgJyIgKyBldmVudExhYmVsICsgIicp
OyIpKTsNCg0KCQl9IGVsc2Ugew0KCQkJdmFyIGxpbmtzID0gZWxlbWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgnYScpOw0KCQkJZm9yIChqPTA7IGo8bGlua3MubGVu
Z3RoOyBqKyspIHsNCgkJCQl2YXIgZXZlbnRMYWJlbCA9IChfZ2FUcmFja0NsaWNr
cy5nZXRUZXh0Q29udGVudChsaW5rc1tqXSkgIT0gIiIpPyBfZ2FUcmFja0NsaWNr
cy50cmltQW5kQ2xlYW4oX2dhVHJhY2tDbGlja3MuZ2V0VGV4dENvbnRlbnQobGlu
a3Nbal0pKSArICIgIiA6ICIiOw0KCQkJCWV2ZW50TGFiZWwgKz0gX2dhVHJhY2tD
bGlja3MudHJpbUFuZENsZWFuKGxpbmtzW2pdLmhyZWYpOw0KCQkJCXZhciBldmVu
dFRyYWNrQ2FsbCA9IF9nYVRyYWNrQ2xpY2tzLnBhZ2VUcmFja2VyVmFyTmFtZSAr
ICIuX3RyYWNrRXZlbnQoJyIgKyBldmVudENhdGVnb3J5ICsgIicsICciICsgZXZl
bnRBY3Rpb24gKyAiJywgJyIgKyBldmVudExhYmVsICsgIicpOyI7DQoJCQkJYWRk
RXZlbnQobGlua3Nbal0sJ2NsaWNrJywgbmV3IEZ1bmN0aW9uKGV2ZW50VHJhY2tD
YWxsKSk7DQoJCQkJZXZlbnRMYWJlbCA9ICIiOw0KCQkJfQ0KCQkJdmFyIGltYWdl
bWFwX2FyZWFzID0gZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXJlYScp
Ow0KCQkJZm9yIChqPTA7IGo8aW1hZ2VtYXBfYXJlYXMubGVuZ3RoOyBqKyspIHsN
CgkJCQl2YXIgZXZlbnRMYWJlbCA9IChpbWFnZW1hcF9hcmVhc1tqXS5nZXRBdHRy
aWJ1dGUoJ2FsdCcpICE9ICIiKT8gX2dhVHJhY2tDbGlja3MudHJpbUFuZENsZWFu
KGltYWdlbWFwX2FyZWFzW2pdLmdldEF0dHJpYnV0ZSgnYWx0JykpICsgIiAiIDog
IiI7DQoJCQkJZXZlbnRMYWJlbCArPSBfZ2FUcmFja0NsaWNrcy50cmltQW5kQ2xl
YW4oaW1hZ2VtYXBfYXJlYXNbal0uaHJlZik7DQoJCQkJYWRkRXZlbnQoaW1hZ2Vt
YXBfYXJlYXNbal0sJ2NsaWNrJywgbmV3IEZ1bmN0aW9uKF9nYVRyYWNrQ2xpY2tz
LnBhZ2VUcmFja2VyVmFyTmFtZSArICIuX3RyYWNrRXZlbnQoJyIgKyBldmVudENh
dGVnb3J5ICsgIicsICciICsgZXZlbnRBY3Rpb24gKyAiJywgJyIgKyBldmVudExh
YmVsICsgIicpOyIpKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCgkvKioNCgkqICBVc2Vk
IHRvIHRyaW0gb3V0IGFueSB3aGl0ZXNwYWNlIHN1cnJvdW5kaW5nIHRoZSBsaW5r
cyAvIGxhYmVscw0KCSogIFRha2VuIGZyb20gaHR0cDovL3d3dy53ZWJ0b29sa2l0
LmluZm8vDQoJKiovDQoJdHJpbSA6IGZ1bmN0aW9uIChzdHIsIGNoYXJzKSB7DQoJ
CXJldHVybiBfZ2FUcmFja0NsaWNrcy5sdHJpbShfZ2FUcmFja0NsaWNrcy5ydHJp
bShzdHIsIGNoYXJzKSwgY2hhcnMpOw0KCX0sDQoNCglsdHJpbSA6IGZ1bmN0aW9u
IChzdHIsIGNoYXJzKSB7DQoJCWNoYXJzID0gY2hhcnMgfHwgIlxccyI7DQoJCXJl
dHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCJeWyIgKyBjaGFycyArICJdKyIs
ICJnIiksICIiKTsNCgl9LA0KDQoJcnRyaW0gOiBmdW5jdGlvbiAoc3RyLCBjaGFy
cykgew0KCQljaGFycyA9IGNoYXJzIHx8ICJcXHMiOw0KCQlyZXR1cm4gc3RyLnJl
cGxhY2UobmV3IFJlZ0V4cCgiWyIgKyBjaGFycyArICJdKyQiLCAiZyIpLCAiIik7
DQoJfSwNCg0KCS8qKg0KCSAqIFRyaW1zIHdoaXRlc3BhY2UgYXJvdW5kIGEgc3Ry
aW5nLCBhbmQgZXNjYXBlcyAnLCAiLCAoLCBhbmQgKQ0KCSAqLw0KCXRyaW1BbmRD
bGVhbiA6IGZ1bmN0aW9uICh0ZXh0KSB7DQoJCXRleHQgPSBfZ2FUcmFja0NsaWNr
cy50cmltKHRleHQpOw0KCQl0ZXh0ID0gdGV4dC5yZXBsYWNlKC8nL2csICJcXCci
KTsNCgkJdGV4dCA9IHRleHQucmVwbGFjZSgvIi9nLCAnXFwiJyk7DQoJCXRleHQg
PSB0ZXh0LnJlcGxhY2UoL1woL2csICcgJyk7IC8vIHJlbW92ZSBwYXJlbnRoZXNl
cw0KCQl0ZXh0ID0gdGV4dC5yZXBsYWNlKC9cKS9nLCAnICcpOyAvLyByZW1vdmUg
cGFyZW50aGVzZXMNCgkJdGV4dCA9IHRleHQucmVwbGFjZSgvXHMrL2csICcgJyk7
IC8vIHJlbW92ZSBleHRyYSB3aGl0ZXNwYWNlcw0KCQlyZXR1cm4gdGV4dDsNCgl9
LA0KDQoJLyoqDQoJICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBzcGVj
aWZpZWQgZWxlbWVudC4NCgkgKiBAcGFyYW0gZWxlbWVudCB7SFRNTEVsZW1lbnR9
IFRoZSBodG1sIGVsZW1lbnQNCgkgKiBAcmV0dXJuIHtTdHJpbmd9IFRoZSBzdHJp
bmcgY29udGVudCBvZiB0aGUgc3BlY2lmaWVkIGVsZW1lbnQuDQoJICogc291cmNl
OiBodHRwOi8vZGFuZGVhbi5jb20vY2F0ZWdvcnkvY2F0ZWdvcnkvamF2YXNjcmlw
dC8NCgkgKi8NCglnZXRUZXh0Q29udGVudCA6IGZ1bmN0aW9uIChlbGVtZW50KSB7
DQoJCWlmICh0eXBlb2YgZWxlbWVudC50ZXh0Q29udGVudCAhPSAidW5kZWZpbmVk
Iikgew0KCQkJcmV0dXJuIGVsZW1lbnQudGV4dENvbnRlbnQ7DQoJCX0NCgkJcmV0
dXJuIGVsZW1lbnQuaW5uZXJUZXh0Ow0KCX0NCn0NCg0KdmFyIF9nYUduQm91bmNl
cyA9IHsNCg0KCWNvb2tpZVZhbHVlUGF0dGVybjogLyhbYS16XSopLShbYS16QS1a
MC05XXszMn0pLShbMC05XSopLywNCglnbG9iYWxOYXZJZFBhdHRlcm46IC9nbG9i
YWxuYXYtKFthLXpdKikvLA0KCXN0YXRzQ29va2llTmFtZToJJ3RscC10cmFpbCcs
DQoJZXhwaXJ5Q29va2llTmFtZToJJ3RscC1leHBpcnknLA0KDQoJX2FkZEduQ2xp
Y2tUcmFja2luZyA6IGZ1bmN0aW9uICgpIHsNCgkJLy8gY2hlY2sgdG8gbWFrZSBz
dXJlIHdlIGFyZSBvbiBhIHRvcGxldmVsIHBhZ2UgYW5kIHRoYXQgdGhlIHRvcGxl
dmVsIG5hdiBleGlzdHMNCgkJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
b3BsZXZlbC1uYXYnKSAhPSBudWxsKSB7DQogIAkJLy8gY2xpY2tzIG9uIGdsb2Jh
bCBuYXYgc2V0IGEgY29va2llDQogIAkJdmFyIGdsb2JhbG5hdmxpbmtzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcGxldmVsLW5hdicpLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdhJyk7DQogIAkJZm9yICh2YXIgaSA9IDA7IGkgPCBnbG9iYWxu
YXZsaW5rcy5sZW5ndGg7IGkrKykgew0KICAJCQl2YXIgZWxlbWVudCA9IGdsb2Jh
bG5hdmxpbmtzW2ldOw0KICAJCQlhZGRFdmVudChlbGVtZW50LCdjbGljaycsIGZ1
bmN0aW9uKGUpIHsNCiAgCQkJCWlmICh0eXBlb2YgKHRoaXMuaWQgIT0gJ3VuZGVm
aW5lZCcpKSB7DQogIAkJCQkJX2dhR25Cb3VuY2VzLl9zdGFydEdsb2JhbE5hdlRy
YWlsUmVjb3JkaW5nKHRoaXMpOw0KICAJCQkJfQ0KICAJCQl9KTsNCiAgCQl9DQoJ
CX0NCgl9LA0KDQoJX2lzUmVjZW50bHlDbGlja2VkT25HbG9iYWxOYXYgOiBmdW5j
dGlvbiAoKSB7DQoJCXJldHVybiByZWFkQ29va2llKF9nYUduQm91bmNlcy5zdGF0
c0Nvb2tpZU5hbWUpOw0KCX0sDQoNCglfc3RhcnRHbG9iYWxOYXZUcmFpbFJlY29y
ZGluZyA6IGZ1bmN0aW9uIChlbGVtZW50KSB7DQoJCS8vIHNldCBzdGF0cyBjb29r
aWUNCgkJbmFtZSA9IF9nYUduQm91bmNlcy5zdGF0c0Nvb2tpZU5hbWU7DQoNCgkJ
ZW50cmFuY2VUb3BMZXZlbFBhZ2UgPSBfZ2FHbkJvdW5jZXMuX2dldEdsb2JhbE5h
dkl0ZW1OYW1lKGVsZW1lbnQuaWQpOw0KCQltZDVPZlN0YXJ0UGFnZSA9IGhleF9t
ZDUod2luZG93LmxvY2F0aW9uLmhyZWYpOyAvKiBtZDUgb2YgcGFnZSBVUkwqLw0K
CQludW1PZlBhZ2VzRGVlcCA9IDA7IC8qIGluaXRpYWwgdmFsdWUgKi8NCg0KCQl2
YWx1ZSA9IGVzY2FwZShlbnRyYW5jZVRvcExldmVsUGFnZSArICctJw0KCQkJCSsg
bWQ1T2ZTdGFydFBhZ2UgKyAnLScNCgkJCQkrIG51bU9mUGFnZXNEZWVwKTsNCg0K
CQl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCWRhdGUuc2V0VGltZShkYXRlLmdl
dFRpbWUoKSsgKDMwKjYwKjEwMDApKTsgLyogMzAgbWludXRlcyAqLw0KCQl2YXIg
ZXhwaXJlcyA9ICI7IGV4cGlyZXM9IitkYXRlLnRvR01UU3RyaW5nKCk7DQoNCgkJ
dmFyIGNvb2tpZV9jb250ZW50cyA9IG5hbWUrIj0iK3ZhbHVlK2V4cGlyZXMrIjsg
cGF0aD0vO2RvbWFpbj11b3R0YXdhLmNhIjsNCg0KCQlkb2N1bWVudC5jb29raWUg
PSBjb29raWVfY29udGVudHM7DQoNCgkJLy8gc2F2ZSBzdGFydCB0aW1lIGluIGNv
b2tpZSBhbHNvDQoNCgkJbmFtZSA9IF9nYUduQm91bmNlcy5leHBpcnlDb29raWVO
YW1lOw0KCQl2YWx1ZSA9IGVzY2FwZShkYXRlLnRvR01UU3RyaW5nKCkpOw0KCQl2
YXIgY29va2llX2NvbnRlbnRzID0gbmFtZSsiPSIrdmFsdWUrZXhwaXJlcysiOyBw
YXRoPS87ZG9tYWluPXVvdHRhd2EuY2EiOw0KDQoJCWRvY3VtZW50LmNvb2tpZSA9
IGNvb2tpZV9jb250ZW50czsNCg0KCX0sDQoNCglfaW5jcmVtZW50UGFnZUNvdW50
IDogZnVuY3Rpb24gKCkgew0KCQluYW1lID0gX2dhR25Cb3VuY2VzLnN0YXRzQ29v
a2llTmFtZTsNCg0KCQlpZiAoIShleHBpcmVzID0gcmVhZENvb2tpZShfZ2FHbkJv
dW5jZXMuZXhwaXJ5Q29va2llTmFtZSkpKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJ
CX0NCg0KCQludW1PZlBhZ2VzRGVlcCA9IHBhcnNlSW50KF9nYUduQm91bmNlcy5f
Z2V0TnVtUGFnZXNWaWV3ZWRTaW5jZUluaXRpYWxHbG9iYWxOYXZDbGljaygpKTsN
CgkJbWQ1T2ZTdGFydFBhZ2UgPSBfZ2FHbkJvdW5jZXMuX2dldEhhc2hPZk9yaWdp
bmFsUGFnZSgpOw0KCQllbnRyYW5jZVRvcExldmVsUGFnZSA9IF9nYUduQm91bmNl
cy5fZ2V0Q2xpY2tlZEdsb2JhbE5hdkl0ZW1OYW1lKCk7DQoJCWlmICgobnVtT2ZQ
YWdlc0RlZXAgIT0gbnVsbCkgJiYgbWQ1T2ZTdGFydFBhZ2UgJiYgZW50cmFuY2VU
b3BMZXZlbFBhZ2UpIHsNCgkJCXZhbHVlID0gZXNjYXBlKGVudHJhbmNlVG9wTGV2
ZWxQYWdlICsgJy0nDQoJCQkJCSsgbWQ1T2ZTdGFydFBhZ2UgKyAnLScNCgkJCQkJ
KyAobnVtT2ZQYWdlc0RlZXArMSkpOyAvKiBpbmNyZW1lbnQgKi8NCg0KCQkJdmFy
IGNvb2tpZV9jb250ZW50cyA9IG5hbWUrIj0iK3ZhbHVlKyI7IitleHBpcmVzKyI7
IHBhdGg9Lztkb21haW49LnVvdHRhd2EuY2EiOw0KDQoJCQlkb2N1bWVudC5jb29r
aWUgPSBjb29raWVfY29udGVudHM7DQoNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBm
YWxzZTsNCgkJfQ0KDQoJfSwNCg0KCV9lbmRHbG9iYWxOYXZUcmFpbFJlY29yZGlu
ZyA6IGZ1bmN0aW9uICgpIHsNCgkJLy8gZGVsZXRlIGNvb2tpZQ0KCQljcmVhdGVD
b29raWUoX2dhR25Cb3VuY2VzLnN0YXRzQ29va2llTmFtZSwnJywtMSwnLnVvdHRh
d2EuY2EnKTsNCgl9LA0KDQoJX2dldENsaWNrZWRHbG9iYWxOYXZJdGVtTmFtZSA6
IGZ1bmN0aW9uKCkgew0KCQl2YXIgY29va2llLCBpdGVtTmFtZTsNCgkJaWYoY29v
a2llID0gcmVhZENvb2tpZShfZ2FHbkJvdW5jZXMuc3RhdHNDb29raWVOYW1lKSkg
ew0KCQkJaXRlbU5hbWUgPSBfZ2FHbkJvdW5jZXMuX2dldEdsb2JhbE5hdkl0ZW1O
YW1lKGNvb2tpZSk7DQoJCQlpZiAoaXRlbU5hbWUpIHsNCgkJCQlyZXR1cm4gaXRl
bU5hbWU7DQoJCQl9IGVsc2Ugew0KCQkJCXJldHVybiBudWxsOw0KCQkJfQ0KCQl9
IGVsc2Ugew0KCQkJcmV0dXJuIG51bGw7DQoJCX0NCgl9LA0KDQoJX2dldE51bVBh
Z2VzVmlld2VkU2luY2VJbml0aWFsR2xvYmFsTmF2Q2xpY2sgOiBmdW5jdGlvbigp
IHsNCgkJaWYoY29va2llID0gcmVhZENvb2tpZShfZ2FHbkJvdW5jZXMuc3RhdHND
b29raWVOYW1lKSkgew0KCQkJaWYgKChtYXRjaGVzID0gY29va2llLm1hdGNoKF9n
YUduQm91bmNlcy5jb29raWVWYWx1ZVBhdHRlcm4pKQ0KCQkJCSYmIG1hdGNoZXNb
M10pIHsNCgkJCQlyZXR1cm4gbWF0Y2hlc1szXTsNCgkJCX0NCgkJfSBlbHNlIHsN
CgkJCXJldHVybiBudWxsOw0KCQl9DQoJfSwNCg0KCV9pc0N1cnJlbnRQYWdlT3Jp
Z2luYWxQYWdlIDogZnVuY3Rpb24oKSB7DQoJCXZhciBoYXNoID0gX2dhR25Cb3Vu
Y2VzLl9nZXRIYXNoT2ZPcmlnaW5hbFBhZ2UoKTsNCgkJcmV0dXJuIGhhc2ggPT0g
aGV4X21kNSh3aW5kb3cubG9jYXRpb24uaHJlZik7DQoJfSwNCg0KCV9nZXRHbG9i
YWxOYXZJdGVtTmFtZSA6IGZ1bmN0aW9uKHN0cmluZykgew0KCQl2YXIgbWF0Y2hl
czsNCgkJaWYgKG1hdGNoZXMgPSBzdHJpbmcubWF0Y2goX2dhR25Cb3VuY2VzLmNv
b2tpZVZhbHVlUGF0dGVybikpIHsNCgkJCXJldHVybiBtYXRjaGVzWzFdOw0KCQl9
IGVsc2UgaWYgKG1hdGNoZXMgPSBzdHJpbmcubWF0Y2goX2dhR25Cb3VuY2VzLmds
b2JhbE5hdklkUGF0dGVybikpIHsNCgkJCXJldHVybiBtYXRjaGVzWzFdOw0KCQl9
IGVsc2Ugew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfSwNCg0KCV9nZXRIYXNo
T2ZPcmlnaW5hbFBhZ2UgOiBmdW5jdGlvbigpIHsNCgkJaWYoY29va2llID0gcmVh
ZENvb2tpZShfZ2FHbkJvdW5jZXMuc3RhdHNDb29raWVOYW1lKSkgew0KCQkJaWYg
KChtYXRjaGVzID0gY29va2llLm1hdGNoKF9nYUduQm91bmNlcy5jb29raWVWYWx1
ZVBhdHRlcm4pKQ0KCQkJCSYmIG1hdGNoZXNbMl0pIHsNCgkJCQlyZXR1cm4gbWF0
Y2hlc1syXTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXJldHVybiBudWxsOw0KCQl9
DQoJfQ0KDQp9DQoNCi8qIGhleF9tZDUgKi8NCnZhciBoZXhjYXNlPTA7ZnVuY3Rp
b24gaGV4X21kNShhKXtyZXR1cm4gcnN0cjJoZXgocnN0cl9tZDUoc3RyMnJzdHJf
dXRmOChhKSkpfWZ1bmN0aW9uIGhleF9obWFjX21kNShhLGIpe3JldHVybiByc3Ry
MmhleChyc3RyX2htYWNfbWQ1KHN0cjJyc3RyX3V0ZjgoYSksc3RyMnJzdHJfdXRm
OChiKSkpfWZ1bmN0aW9uIG1kNV92bV90ZXN0KCl7cmV0dXJuIGhleF9tZDUoImFi
YyIpLnRvTG93ZXJDYXNlKCk9PSI5MDAxNTA5ODNjZDI0ZmIwZDY5NjNmN2QyOGUx
N2Y3MiJ9ZnVuY3Rpb24gcnN0cl9tZDUoYSl7cmV0dXJuIGJpbmwycnN0cihiaW5s
X21kNShyc3RyMmJpbmwoYSksYS5sZW5ndGgqOCkpfWZ1bmN0aW9uIHJzdHJfaG1h
Y19tZDUoYyxmKXt2YXIgZT1yc3RyMmJpbmwoYyk7aWYoZS5sZW5ndGg+MTYpe2U9
YmlubF9tZDUoZSxjLmxlbmd0aCo4KX12YXIgYT1BcnJheSgxNiksZD1BcnJheSgx
Nik7Zm9yKHZhciBiPTA7YjwxNjtiKyspe2FbYl09ZVtiXV45MDk1MjI0ODY7ZFti
XT1lW2JdXjE1NDk1NTY4Mjh9dmFyIGc9YmlubF9tZDUoYS5jb25jYXQocnN0cjJi
aW5sKGYpKSw1MTIrZi5sZW5ndGgqOCk7cmV0dXJuIGJpbmwycnN0cihiaW5sX21k
NShkLmNvbmNhdChnKSw1MTIrMTI4KSl9ZnVuY3Rpb24gcnN0cjJoZXgoYyl7dHJ5
e2hleGNhc2V9Y2F0Y2goZyl7aGV4Y2FzZT0wfXZhciBmPWhleGNhc2U/IjAxMjM0
NTY3ODlBQkNERUYiOiIwMTIzNDU2Nzg5YWJjZGVmIjt2YXIgYj0iIjt2YXIgYTtm
b3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyl7YT1jLmNoYXJDb2RlQXQoZCk7Yis9
Zi5jaGFyQXQoKGE+Pj40KSYxNSkrZi5jaGFyQXQoYSYxNSl9cmV0dXJuIGJ9ZnVu
Y3Rpb24gc3RyMnJzdHJfdXRmOChjKXt2YXIgYj0iIjt2YXIgZD0tMTt2YXIgYSxl
O3doaWxlKCsrZDxjLmxlbmd0aCl7YT1jLmNoYXJDb2RlQXQoZCk7ZT1kKzE8Yy5s
ZW5ndGg/Yy5jaGFyQ29kZUF0KGQrMSk6MDtpZig1NTI5Njw9YSYmYTw9NTYzMTkm
JjU2MzIwPD1lJiZlPD01NzM0Myl7YT02NTUzNisoKGEmMTAyMyk8PDEwKSsoZSYx
MDIzKTtkKyt9aWYoYTw9MTI3KXtiKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpfWVs
c2V7aWYoYTw9MjA0Nyl7Yis9U3RyaW5nLmZyb21DaGFyQ29kZSgxOTJ8KChhPj4+
NikmMzEpLDEyOHwoYSY2MykpfWVsc2V7aWYoYTw9NjU1MzUpe2IrPVN0cmluZy5m
cm9tQ2hhckNvZGUoMjI0fCgoYT4+PjEyKSYxNSksMTI4fCgoYT4+PjYpJjYzKSwx
Mjh8KGEmNjMpKX1lbHNle2lmKGE8PTIwOTcxNTEpe2IrPVN0cmluZy5mcm9tQ2hh
ckNvZGUoMjQwfCgoYT4+PjE4KSY3KSwxMjh8KChhPj4+MTIpJjYzKSwxMjh8KChh
Pj4+NikmNjMpLDEyOHwoYSY2MykpfX19fX1yZXR1cm4gYn1mdW5jdGlvbiByc3Ry
MmJpbmwoYil7dmFyIGE9QXJyYXkoYi5sZW5ndGg+PjIpO2Zvcih2YXIgYz0wO2M8
YS5sZW5ndGg7YysrKXthW2NdPTB9Zm9yKHZhciBjPTA7YzxiLmxlbmd0aCo4O2Mr
PTgpe2FbYz4+NV18PShiLmNoYXJDb2RlQXQoYy84KSYyNTUpPDwoYyUzMil9cmV0
dXJuIGF9ZnVuY3Rpb24gYmlubDJyc3RyKGIpe3ZhciBhPSIiO2Zvcih2YXIgYz0w
O2M8Yi5sZW5ndGgqMzI7Yys9OCl7YSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoYltj
Pj41XT4+PihjJTMyKSkmMjU1KX1yZXR1cm4gYX1mdW5jdGlvbiBiaW5sX21kNShw
LGspe3Bbaz4+NV18PTEyODw8KChrKSUzMik7cFsoKChrKzY0KT4+PjkpPDw0KSsx
NF09azt2YXIgbz0xNzMyNTg0MTkzO3ZhciBuPS0yNzE3MzM4Nzk7dmFyIG09LTE3
MzI1ODQxOTQ7dmFyIGw9MjcxNzMzODc4O2Zvcih2YXIgZz0wO2c8cC5sZW5ndGg7
Zys9MTYpe3ZhciBqPW87dmFyIGg9bjt2YXIgZj1tO3ZhciBlPWw7bz1tZDVfZmYo
byxuLG0sbCxwW2crMF0sNywtNjgwODc2OTM2KTtsPW1kNV9mZihsLG8sbixtLHBb
ZysxXSwxMiwtMzg5NTY0NTg2KTttPW1kNV9mZihtLGwsbyxuLHBbZysyXSwxNyw2
MDYxMDU4MTkpO249bWQ1X2ZmKG4sbSxsLG8scFtnKzNdLDIyLC0xMDQ0NTI1MzMw
KTtvPW1kNV9mZihvLG4sbSxsLHBbZys0XSw3LC0xNzY0MTg4OTcpO2w9bWQ1X2Zm
KGwsbyxuLG0scFtnKzVdLDEyLDEyMDAwODA0MjYpO209bWQ1X2ZmKG0sbCxvLG4s
cFtnKzZdLDE3LC0xNDczMjMxMzQxKTtuPW1kNV9mZihuLG0sbCxvLHBbZys3XSwy
MiwtNDU3MDU5ODMpO289bWQ1X2ZmKG8sbixtLGwscFtnKzhdLDcsMTc3MDAzNTQx
Nik7bD1tZDVfZmYobCxvLG4sbSxwW2crOV0sMTIsLTE5NTg0MTQ0MTcpO209bWQ1
X2ZmKG0sbCxvLG4scFtnKzEwXSwxNywtNDIwNjMpO249bWQ1X2ZmKG4sbSxsLG8s
cFtnKzExXSwyMiwtMTk5MDQwNDE2Mik7bz1tZDVfZmYobyxuLG0sbCxwW2crMTJd
LDcsMTgwNDYwMzY4Mik7bD1tZDVfZmYobCxvLG4sbSxwW2crMTNdLDEyLC00MDM0
MTEwMSk7bT1tZDVfZmYobSxsLG8sbixwW2crMTRdLDE3LC0xNTAyMDAyMjkwKTtu
PW1kNV9mZihuLG0sbCxvLHBbZysxNV0sMjIsMTIzNjUzNTMyOSk7bz1tZDVfZ2co
byxuLG0sbCxwW2crMV0sNSwtMTY1Nzk2NTEwKTtsPW1kNV9nZyhsLG8sbixtLHBb
Zys2XSw5LC0xMDY5NTAxNjMyKTttPW1kNV9nZyhtLGwsbyxuLHBbZysxMV0sMTQs
NjQzNzE3NzEzKTtuPW1kNV9nZyhuLG0sbCxvLHBbZyswXSwyMCwtMzczODk3MzAy
KTtvPW1kNV9nZyhvLG4sbSxsLHBbZys1XSw1LC03MDE1NTg2OTEpO2w9bWQ1X2dn
KGwsbyxuLG0scFtnKzEwXSw5LDM4MDE2MDgzKTttPW1kNV9nZyhtLGwsbyxuLHBb
ZysxNV0sMTQsLTY2MDQ3ODMzNSk7bj1tZDVfZ2cobixtLGwsbyxwW2crNF0sMjAs
LTQwNTUzNzg0OCk7bz1tZDVfZ2cobyxuLG0sbCxwW2crOV0sNSw1Njg0NDY0Mzgp
O2w9bWQ1X2dnKGwsbyxuLG0scFtnKzE0XSw5LC0xMDE5ODAzNjkwKTttPW1kNV9n
ZyhtLGwsbyxuLHBbZyszXSwxNCwtMTg3MzYzOTYxKTtuPW1kNV9nZyhuLG0sbCxv
LHBbZys4XSwyMCwxMTYzNTMxNTAxKTtvPW1kNV9nZyhvLG4sbSxsLHBbZysxM10s
NSwtMTQ0NDY4MTQ2Nyk7bD1tZDVfZ2cobCxvLG4sbSxwW2crMl0sOSwtNTE0MDM3
ODQpO209bWQ1X2dnKG0sbCxvLG4scFtnKzddLDE0LDE3MzUzMjg0NzMpO249bWQ1
X2dnKG4sbSxsLG8scFtnKzEyXSwyMCwtMTkyNjYwNzczNCk7bz1tZDVfaGgobyxu
LG0sbCxwW2crNV0sNCwtMzc4NTU4KTtsPW1kNV9oaChsLG8sbixtLHBbZys4XSwx
MSwtMjAyMjU3NDQ2Myk7bT1tZDVfaGgobSxsLG8sbixwW2crMTFdLDE2LDE4Mzkw
MzA1NjIpO249bWQ1X2hoKG4sbSxsLG8scFtnKzE0XSwyMywtMzUzMDk1NTYpO289
bWQ1X2hoKG8sbixtLGwscFtnKzFdLDQsLTE1MzA5OTIwNjApO2w9bWQ1X2hoKGws
byxuLG0scFtnKzRdLDExLDEyNzI4OTMzNTMpO209bWQ1X2hoKG0sbCxvLG4scFtn
KzddLDE2LC0xNTU0OTc2MzIpO249bWQ1X2hoKG4sbSxsLG8scFtnKzEwXSwyMywt
MTA5NDczMDY0MCk7bz1tZDVfaGgobyxuLG0sbCxwW2crMTNdLDQsNjgxMjc5MTc0
KTtsPW1kNV9oaChsLG8sbixtLHBbZyswXSwxMSwtMzU4NTM3MjIyKTttPW1kNV9o
aChtLGwsbyxuLHBbZyszXSwxNiwtNzIyNTIxOTc5KTtuPW1kNV9oaChuLG0sbCxv
LHBbZys2XSwyMyw3NjAyOTE4OSk7bz1tZDVfaGgobyxuLG0sbCxwW2crOV0sNCwt
NjQwMzY0NDg3KTtsPW1kNV9oaChsLG8sbixtLHBbZysxMl0sMTEsLTQyMTgxNTgz
NSk7bT1tZDVfaGgobSxsLG8sbixwW2crMTVdLDE2LDUzMDc0MjUyMCk7bj1tZDVf
aGgobixtLGwsbyxwW2crMl0sMjMsLTk5NTMzODY1MSk7bz1tZDVfaWkobyxuLG0s
bCxwW2crMF0sNiwtMTk4NjMwODQ0KTtsPW1kNV9paShsLG8sbixtLHBbZys3XSwx
MCwxMTI2ODkxNDE1KTttPW1kNV9paShtLGwsbyxuLHBbZysxNF0sMTUsLTE0MTYz
NTQ5MDUpO249bWQ1X2lpKG4sbSxsLG8scFtnKzVdLDIxLC01NzQzNDA1NSk7bz1t
ZDVfaWkobyxuLG0sbCxwW2crMTJdLDYsMTcwMDQ4NTU3MSk7bD1tZDVfaWkobCxv
LG4sbSxwW2crM10sMTAsLTE4OTQ5ODY2MDYpO209bWQ1X2lpKG0sbCxvLG4scFtn
KzEwXSwxNSwtMTA1MTUyMyk7bj1tZDVfaWkobixtLGwsbyxwW2crMV0sMjEsLTIw
NTQ5MjI3OTkpO289bWQ1X2lpKG8sbixtLGwscFtnKzhdLDYsMTg3MzMxMzM1OSk7
bD1tZDVfaWkobCxvLG4sbSxwW2crMTVdLDEwLC0zMDYxMTc0NCk7bT1tZDVfaWko
bSxsLG8sbixwW2crNl0sMTUsLTE1NjAxOTgzODApO249bWQ1X2lpKG4sbSxsLG8s
cFtnKzEzXSwyMSwxMzA5MTUxNjQ5KTtvPW1kNV9paShvLG4sbSxsLHBbZys0XSw2
LC0xNDU1MjMwNzApO2w9bWQ1X2lpKGwsbyxuLG0scFtnKzExXSwxMCwtMTEyMDIx
MDM3OSk7bT1tZDVfaWkobSxsLG8sbixwW2crMl0sMTUsNzE4Nzg3MjU5KTtuPW1k
NV9paShuLG0sbCxvLHBbZys5XSwyMSwtMzQzNDg1NTUxKTtvPXNhZmVfYWRkKG8s
aik7bj1zYWZlX2FkZChuLGgpO209c2FmZV9hZGQobSxmKTtsPXNhZmVfYWRkKGws
ZSl9cmV0dXJuIEFycmF5KG8sbixtLGwpfWZ1bmN0aW9uIG1kNV9jbW4oaCxlLGQs
YyxnLGYpe3JldHVybiBzYWZlX2FkZChiaXRfcm9sKHNhZmVfYWRkKHNhZmVfYWRk
KGUsaCksc2FmZV9hZGQoYyxmKSksZyksZCl9ZnVuY3Rpb24gbWQ1X2ZmKGcsZixr
LGosZSxpLGgpe3JldHVybiBtZDVfY21uKChmJmspfCgofmYpJmopLGcsZixlLGks
aCl9ZnVuY3Rpb24gbWQ1X2dnKGcsZixrLGosZSxpLGgpe3JldHVybiBtZDVfY21u
KChmJmopfChrJih+aikpLGcsZixlLGksaCl9ZnVuY3Rpb24gbWQ1X2hoKGcsZixr
LGosZSxpLGgpe3JldHVybiBtZDVfY21uKGZea15qLGcsZixlLGksaCl9ZnVuY3Rp
b24gbWQ1X2lpKGcsZixrLGosZSxpLGgpe3JldHVybiBtZDVfY21uKGteKGZ8KH5q
KSksZyxmLGUsaSxoKX1mdW5jdGlvbiBzYWZlX2FkZChhLGQpe3ZhciBjPShhJjY1
NTM1KSsoZCY2NTUzNSk7dmFyIGI9KGE+PjE2KSsoZD4+MTYpKyhjPj4xNik7cmV0
dXJuKGI8PDE2KXwoYyY2NTUzNSl9ZnVuY3Rpb24gYml0X3JvbChhLGIpe3JldHVy
bihhPDxiKXwoYT4+PigzMi1iKSl9Ow0KDQoNCi8vIEpTT05zY3JpcHRSZXF1ZXN0
IC0tIGEgc2ltcGxlIGNsYXNzIGZvciBtYWtpbmcgSFRUUCByZXF1ZXN0cw0KLy8g
dXNpbmcgZHluYW1pY2FsbHkgZ2VuZXJhdGVkIHNjcmlwdCB0YWdzIGFuZCBKU09O
DQovLw0KLy8gQXV0aG9yOiBmcm9tIGFuIGlkZWEgb2YgSmFzb24gTGV2aXR0DQov
LyBEYXRlOiBEZWNlbWJlciA3dGgsIDIwMDUNCi8vDQoNCg0KLy8gQ29uc3RydWN0
b3IgLS0gcGFzcyBhIFJFU1QgcmVxdWVzdCBVUkwgdG8gdGhlIGNvbnN0cnVjdG9y
DQovLw0KZnVuY3Rpb24gSlNPTnNjcmlwdFJlcXVlc3QoZnVsbFVybCwgaWQpIHsN
CiAgICAvLyBSRVNUIHJlcXVlc3QgcGF0aA0KICAgIHRoaXMuZnVsbFVybCA9IGZ1
bGxVcmw7DQogICAgLy8gS2VlcCBJRSBmcm9tIGNhY2hpbmcgcmVxdWVzdHMNCiAg
ICB0aGlzLm5vQ2FjaGVJRSA9ICc/bm9DYWNoZUlFPScgKyAobmV3IERhdGUoKSku
Z2V0VGltZSgpOw0KICAgIC8vIEdldCB0aGUgRE9NIGxvY2F0aW9uIHRvIHB1dCB0
aGUgc2NyaXB0IHRhZw0KICAgIHRoaXMuaGVhZExvYyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJoZWFkIikuaXRlbSgwKTsNCiAgICAvLyBDcmVhdGUg
dGhlIHNjcmlwdCB0YWcNCiAgICB0aGlzLnNjcmlwdE9iaiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KDQogICAgLy8gQWRkIHNjcmlwdCBvYmpl
Y3QgYXR0cmlidXRlcw0KICAgIHRoaXMuc2NyaXB0T2JqLnNldEF0dHJpYnV0ZSgi
dHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQiKTsNCiAgICB0aGlzLnNjcmlwdE9iai5z
ZXRBdHRyaWJ1dGUoImNoYXJzZXQiLCAidXRmLTgiKTsNCiAgICB0aGlzLnNjcmlw
dE9iai5zZXRBdHRyaWJ1dGUoInNyYyIsIHRoaXMuZnVsbFVybCArIHRoaXMubm9D
YWNoZUlFKTsNCiAgICB0aGlzLnNjcmlwdE9iai5zZXRBdHRyaWJ1dGUoImlkIiwg
aWQpOw0KICAgIHRoaXMuaGVhZExvYy5hcHBlbmRDaGlsZCh0aGlzLnNjcmlwdE9i
aik7DQp9DQoNCmZ1bmN0aW9uIGRyb3BEb3duTGlzdChlbCkgew0KCQ0KCXRoaXMu
b2JqRHJvcERvd24gPSBlbDsNCglpZiAoIXRoaXMub2JqRHJvcERvd24pIHJldHVy
bjsNCgkNCgkvKiBEcm9wZG93biBtZXRob2RzICovDQoJDQoJdGhpcy5vYmpEcm9w
RG93bi5leHBhbmQgPSBmdW5jdGlvbigpIHsNCgkJLyogY29sbGFwc2UgYW55IGFs
cmVhZHktZXhwYW5kZWQgbGlzdCAqLw0KCQlpZiAod2luZG93LmN1cnJlbnREcm9w
RG93bikgeyB3aW5kb3cuY3VycmVudERyb3BEb3duLmNvbGxhcHNlKCk7IH0NCgkJ
d2luZG93LmNzc2pzKCdhZGQnLHRoaXMsY3NzQ2xhc3Nlcy5leHBhbmQpOw0KCQl3
aW5kb3cuY3VycmVudERyb3BEb3duID0gdGhpczsNCgl9DQoJDQoJdGhpcy5vYmpE
cm9wRG93bi5jb2xsYXBzZSA9IGZ1bmN0aW9uKCkgew0KCQl3aW5kb3cuY3NzanMo
J3JlbW92ZScsdGhpcyxjc3NDbGFzc2VzLmV4cGFuZCk7DQoJCXdpbmRvdy5jdXJy
ZW50RHJvcERvd24gPSBudWxsOw0KCX0NCgkNCgkNCgkvKiB0b2dnbGUgZXhwYW5k
L2NvbGxhcHNlIG9uY2xpY2sgKi8NCgkNCglhZGRFdmVudCh0aGlzLm9iakRyb3BE
b3duLCdjbGljaycsZnVuY3Rpb24oZSkgew0KCQlpZiAod2luZG93LmNzc2pzKCdj
aGVjaycsdGhpcyxjc3NDbGFzc2VzLmV4cGFuZCkpIHsNCgkJCXRoaXMuY29sbGFw
c2UoKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuZXhwYW5kKCk7DQoJCX0NCgl9ICk7
DQoJDQoJLyogZXhwYW5kIGlmIHRhYmJlZCBpbnRvICovDQoJDQoJLyogYWRkIGV4
cGFuZCBhbmQgY29sbGFwc2UgZnVuY3Rpb25zIHRvIGFsbCBlbGVtZW50cyAqLw0K
CXZhciBhcnJBbGxFbGVtZW50cyA9IHRoaXMub2JqRHJvcERvd24uZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJyonKTsNCglmb3IgKHZhciBpPTA7IGkgPCBhcnJBbGxFbGVt
ZW50cy5sZW5ndGg7IGkrKykgew0KCQlhcnJBbGxFbGVtZW50c1tpXS5leHBhbmQg
PSBmdW5jdGlvbigpIHsgdGhpcy5wYXJlbnROb2RlLmV4cGFuZCgpOyB9DQoJCWFy
ckFsbEVsZW1lbnRzW2ldLmNvbGxhcHNlID0gZnVuY3Rpb24oKSB7IHRoaXMucGFy
ZW50Tm9kZS5jb2xsYXBzZSgpOyB9DQoJfQ0KDQoJdmFyIGFyclF1aWNrUGlja3NM
aW5rcyA9IHRoaXMub2JqRHJvcERvd24uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2En
KTsNCglmb3IgKHZhciBpPTA7IGkgPCBhcnJRdWlja1BpY2tzTGlua3MubGVuZ3Ro
OyBpKyspIHsNCgkJYWRkRXZlbnQoYXJyUXVpY2tQaWNrc0xpbmtzW2ldLCdmb2N1
cycsZnVuY3Rpb24oKSB7IA0KCQkJdGhpcy5leHBhbmQoKTsNCgkJfSApOw0KCQlh
ZGRFdmVudChhcnJRdWlja1BpY2tzTGlua3NbaV0sJ2JsdXInLGZ1bmN0aW9uKCkg
eyANCgkJCXRoaXMuY29sbGFwc2UoKTsNCgkJfSApOw0KCX0NCgkNCn0NCg0KZnVu
Y3Rpb24gaW5pdENvbGxhcHNlT25QYWdlQm9keUNsaWNrKCkgew0KCQ0KCXZhciBv
YmpQYWdlQm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5
JylbMF07DQoNCgkvKiBjb2xsYXBzZSBjdXJyZW50bHkgZXhwYW5kZWQgZHJvcCBk
b3duICovDQoJYWRkRXZlbnQob2JqUGFnZUJvZHksJ2NsaWNrJyxmdW5jdGlvbihl
KSB7IA0KCQlpZiAoIXdpbmRvdy5jdXJyZW50RHJvcERvd24pIHsgcmV0dXJuOyB9
DQoJDQoJCS8qIGlmIHlvdSBjbGljayBvbiB0aGUgZHJvcGRvd24gdG9vbCBpdHNl
bGYsIGRvIG5vdGhpbmcgKi8NCgkJaWYoIChlLnRhcmdldCAmJiBlLnRhcmdldCA9
PSB3aW5kb3cuY3VycmVudERyb3BEb3duICkNCgkJCXx8IChlLnNyY0VsZW1lbnQg
JiYgZS5zcmNFbGVtZW50ID09IHdpbmRvdy5jdXJyZW50RHJvcERvd24pKSByZXR1
cm47DQoJCQ0KCQkvKiBpZiB5b3UgY2xpY2sgb24gYW4gZWxlbWVudCBvZiB0aGUg
ZHJvcGRvd24gdG9vbCBpdHNlbGYsIGRvIG5vdGhpbmcgKi8NCgkJaWYoIChlLnRh
cmdldCAmJiBlLnRhcmdldC5wYXJlbnROb2RlID09IHdpbmRvdy5jdXJyZW50RHJv
cERvd24gKQ0KCQkJfHwgKGUuc3JjRWxlbWVudCAmJiBlLnNyY0VsZW1lbnQucGFy
ZW50Tm9kZSA9PSB3aW5kb3cuY3VycmVudERyb3BEb3duKSkgcmV0dXJuOw0KCQ0K
CQkvKiBpZiB5b3UgY2xpY2sgYW55d2hlcmUgZWxzZSwgY29sbGFwc2UgdGhlIHRv
b2wgKi8NCgkJaWYgKHdpbmRvdy5jc3NqcygnY2hlY2snLHdpbmRvdy5jdXJyZW50
RHJvcERvd24sY3NzQ2xhc3Nlcy5leHBhbmQpKSB7DQoJCQl3aW5kb3cuY3VycmVu
dERyb3BEb3duLmNvbGxhcHNlKCk7DQoJCX0NCgl9ICk7DQoNCn0NCg0KZnVuY3Rp
b24gaW5pdERyb3BEb3duTGlzdHMoKSB7DQoJdmFyIG9ialNlY29uZGFyeU5hdk1v
cmVMaW5rcyA9IG5ldyBkcm9wRG93bkxpc3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3NlY29uZGFyeW5hdi1tb3JlJykpOw0KDQoJaW5pdENvbGxhcHNlT25QYWdl
Qm9keUNsaWNrKCk7DQoJDQoJLyogaWYgamF2YXNjcmlwdCBpZiBlbmFibGVkLCBk
aXNwbGF5IHRoZSBkcm9wZG93bnMgKi8NCgl3aW5kb3cuY3NzanMoJ2FkZCcsZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSxjc3NDbGFzc2Vz
LmpzRW5hYmxlZCk7DQp9
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/bg-secti
on-header.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAwwAAABWCAMAAABVXOFFAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYUExURTiH
sC1sjStmhjhzk2CfwF+fvytnhi5ujuUHQ+IAAAEiSURBVHja7NO5EQAgDMCw8Gb/
jangGIAOeQYrQoq+G1k+qJ1mvfKBYIBBMMAgGGAQDDAIBhgEAwyCAQbBAINggEEw
wCAYYBAMMAgGGAQDDIIBBsEAg2CAQTDAIBhgEAwwCAYYBAMMggEGwQCDYIBBMMAg
GGAQDDAIBhgEAwyCAQbBAINggEEwwCAYYBAMMAgGGGAQDDAIBhgEAwyCAQbBAINg
gEEwwCAYYBAMMAgGGAQDDIIBBsEAg2CAQTDAIBhgEAwwCAYYBAMMggEGwQCDYIBB
MMAgGGAQDDAIBhgEAwyCAQbBAINggEEwwCAYYBAMMAgGGAQDDIIBBsEAAwyCAQbB
AINggEEwwCAYYBAMMAgGGAQDDIIBBsEAg2B4jGEJMADlZXDhICydqAAAAABJRU5E
rkJggg==
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/footer-c
urve.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAwsAAAAjCAMAAADsb2ZOAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABOUExURf//
/zmIrzqHs5rD1zWHrTeGrUSPttrp8FydvW2mxFGVuufw9/L3+vT3/IK0zanK3bPT
4MHY5s3h6ICyybbT5XauyY+805G71E+Vt5G8z0jwjGEAAAC7SURBVHja7NhJbgIx
FEXR/13EVQUBQpOG/W8UgxgiapQJPmcJT7pyEwE0BxPAzVhtAM3nlEaAiO2UWoBm
l1qA5pRagHZBmkvRAtyezelcgBhragEi9plagNjMqQWIGOpKCxDndbl/IGmBvn39
fdxpga6Nv7U8aIGOQ/hZ5xOGoSeb4/Bd87kYllwGeAe7ecpXYgVdyCVRoAvLLSSg
BdACaAG0AFoALYAWQAugBdACaAG0AFoALcB/uQowAM3tSsid5l8AAAAAAElFTkSu
QmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/contact-
information-en.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAH4AAAALCAMAAACOEsnIAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYUExURf//
/u7IpuSkbd2PTOq6kNqEOfXdyPnp3PjhPEIAAAFiSURBVHjalJQLkgMhCETlf/8b
Lw06mRlNVdaqGIWGh2gyRo5wH/8aHrdNMMdvYUeZi+U4Ob6ajG85RX7BZ2Tcw9Yg
E/LT8Q9itt1F9kvrKoJpd4hciQhup1z4LGtEGmM6g8RKgmRB4dg4m+KrZGUc5AFP
ZYFjJYsyPClutJqYV8BQci5oWM0wSrTTuRWFd+sd1cwtc9PctAeTl9u0kwH1ply9
kwynVBKOZjL7VQVqVuGv5jskYlEJtBILjNkEFMKVSUdERyEZ8G/KwkfaUjkNKyLL
VDZu5wtPfe/4CKRq4aXr0/lkEqP2id8oPjP3JaThiRfRLHTd0Dd8SXPRujs+g4k/
+J2CdlxvU/iJX1nmU/+GZxnzLG88+qIf/E7JR6lEmqKu81NXFtvFcznzVrVe+Y73
kukJL6RoPpLBu1HGetD5sxIft7qk5EKME5Qz3y2f8PjrEhoHPCJKJbPzT8qfAAMA
IM8KaLyw1ZUAAAAASUVORK5CYII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/bg-local
-nav-section.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAMAAACn6Q83AAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAMUExURTWH
rf///zaIsDeGrexw1ZYAAAACdFJOU/8A5bcwSgAAACZJREFUeNpiYGZkZGIEAwYQ
gwnKZISJM8BZjAwMSGrhgKpMgAADACojAI6xlnaEAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/bg-local
-nav-section-expanded.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAMAAACn6Q83AAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAJUExURTiH
rv///zmGsstJ9jkAAAACdFJOU/8A5bcwSgAAAClJREFUeNpiYGBkZARhEMkEhFAm
jMXIAJJkgooyIClgYIQzGanGBAgwACTjAIM2KtdqAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-re
size-label-en.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAIIAAAAFCAMAAAC+aMSvAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAJUExURS1s
jf///5a2xlf7croAAACHSURBVHjafFIJDsAgDKL9/6OXjZYebjNKTDEWUMDdARC4
WIEYYXDJxzCzB2/gYqUYYXDJ5/AAp46UUkUdyu0QwL7I+yWjFXUot1NA88fbu4SR
wplSTyGnDQkjhTOltxRaK/l17Ex+Umit5NewMzlSCMflcj2Ey/jHXwjH5XI9hMn4
61+4BBgAltYBJLZxpCoAAAAASUVORK5CYII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-re
size-small.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABEAAAAlCAMAAACTWPJzAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABgUExURTiO
th9LYv///y1sjWiWrSRQZ2yYr9Xd4fH09fP4+nOPndrq8YO50au7xLTU5DtidlGc
v12jxHaxzajN32WDk52wumqqyEltgFd4iePo67nHzpvG2ubx9i1WbMHc6I+lsP6R
KusAAACCSURBVHjavNA5EoMwDEBR8wMx2GZfs3L/W8bpLGWYScUv36iQZPKrLDd5
kaUVJ8i2OyUWpLyYmYQ4Wmoh99tmSyElsTWRCZetzInUtHHOHm7485+L7i9BZzCy
E2R5BCUelDAyCAl0NELez8VXQqrvRX0iA8H0jIk0dHHOH26o+wgwAM4HBuhgcxJb
AAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-re
size-medium.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABEAAAAlCAMAAACTWPJzAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABgUExURW6s
ypKnskuZvWqHljiOth9LYv///y1sjWiWrWyYryRQZ4Gap4/A1trq8ZvG2ld4idXd
4UltgOPo6+bx9jtidl2jxC1WbLnHzvP4+rDS4qu7xMHc6PH09cfS2IO50c3j7fTG
7qEAAACuSURBVHjalNDZEoIwDIXhFPQX2ffV5f3fUixKWxxm5Fz04psknUSCq5tA
gvBsJzwkRZbVrpSgHCm4UToSoaCwJSe767avtDCX5Zb45FkEtZEOncjIjVGpkm4V
H9r3f/P7kVEPrcHf2evnPpdt/hK2EU5uDkkj4rlSweBIQ0/lSEwKjS0J8iS1xIO5
LLHkQSIxeEamZYHYSM+QphXTKqIblrZFBj10Hi87e23zEmAAKKoQ7gVzQ5wAAAAA
SUVORK5CYII=
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-re
size-large.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABEAAAAlCAMAAACTWPJzAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABgUExURSZS
aUmYvf///ziOth9LYi1sjWyYr2iVrWqqyPH09fP4+ld4icfS2IO50XOPnV2jxMHc
6M3j7URpfbnHztrq8bTU5OPo652wuo/A1ubx9tXd4au7xIGap6jN32WDk3axzY2V
xKIAAADNSURBVHjajNDrEoIgEIZhfDuhWJ5SM1Pv/y5biQisH30zzMAzO8uCOm5y
Usd9FOXFGFNHMgNNJD0pqFA6RpgDqaFOGQN5kO4bWR+5S9sLGC8KeiPSe5GDTeel
gTzPO2n/lpT8VflwMq9bO8LdybiW2xtR6ufbv/7nsM1fwjaKXRwvWuskkkXKy0gm
MkhCGWhhCaSAIqMN5Ea2K2V95Cptz6C9JDBpkcnL2Y07eCmhqqpB2r8lo3pV3pws
drt2uzppbfl6o4z98+3bPAUYAJimDZHQvE2oAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-pr
int-en.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAACAAAAA4CAMAAACrIQowAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABgUExURY6k
r22YrtHk7WqqyK7S4crV2jiOtlZ3iIO50bjGzejy98Db6G+LmuPq7ejv8jZdcprG
2qu8xUyZvfn6+2Ckxe71+Pr8/URofPP3+Pr7/Fafwfb6/C1sjR9LYv///5i1xOQw
mPwAAAEtSURBVHjazJLrjoMgEEYRRUHEW+t6qcL7v2UFq5PqgP929+RjAuZkAAOZ
V4wxUF3WsS1nMh8fIcfsEM4dzFmYtwpbGFyAnDqE+A0huoFES5BvgVFmUazyCX1h
yZRXyMhKFBIaIYQJCH3mCAhrA9FkCr1FVUQlcYc0Ayn6q1DokqrSoqjS5CpErAIY
JohC7RQNKkSP8eEYcYEt2c4iMGFozE7TIUIvGCAyEO7ew394tLZoraG6rGNbfoRT
jpm3gz4L81ZhC40LkFOHv/5R+gai0yDfAlXUUtLWJ0zcEude4Vmv8Lj0C4mUMgkJ
scMvTNJ2eJboLVrOu9odMnnVfLoKXHcq7yy5ynWNCLQFKCZInu/wBBfGnw9coluk
8U6KCq8EGBBhkhSQMQg3vAUYAGlgjiMtf1rKAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/img/tools-em
ail-en.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAACAAAAA4CAMAAACrIQowAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABgUExURWyY
r5W2x3axzZSptDiOttHl7ilTabfW5UaWu////8rU2sve51N1hpnF2uvz9miGlefu
8d/o7abN36y8xUNofGGlxbTCyvf6+3+YpfP3+b/M0jdfcy1sjR9LYlOdwKGzvUjh
nmQAAAGNSURBVHjazJPZcoQgEEUHlKUFQRTcEOb//zK4JDKTWV6mUrlVUA0c+jag
lyUJIZS65Wh7sParLssxvy4cHPoNoGMObTF6kmE5tz/JcAsgdAKv9BfAe4WX+iBA
vZV61EFfi29dbQ5YXfRzJekE83VVYWCwDyzkpIotGKtmphmwGujRhq4YQadhb7QY
sxqoTA7VbKnx1BgqhbBS2LxISn1S0FXomqlqoArF5pAB1Esa+k7Mvpi0nLp5zI5p
9dhXpqNeQe9TOd53YGy4y2B9GJtmrnapK31wk7I4JT/4Fu/0Hz7atQOA1C1H2wO4
AXZqOTj4DcAxB1sMTzIs5/YnGW4BgP/zd8MbXaB8qQ8CPEaHa1zi9lTMgYhrJojj
A4h9tQGIDyzwMLVbgIgSPAN4MsAolqyuAacha7Cp8xqSPyMicsW5UtwRE51xOcB5
qjKWmJRMDUQBKdvNIashmfCSpTS8HbAbmEDZMdcjEMV4nIBF7lyMDBp3dw/JokRK
CbJrYo9uEtc/avEH3+KNvgQYABDnfnWf95HiAAAAAElFTkSuQmCC
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=main.css
Content-Type: text/css; charset=utf-8; name=main.css
Content-Location: http://web5.uottawa.ca/assets-templates/themes/04/main.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* Theme #04
* Blue/Orange
*
* primary: #3887b0;
* primaryLighter: #609fc0;
* primaryDarker: #2d6c8d;
*
* secondary: #da8439;
* secondaryDarker: #ae6a2e;
*
* University of Ottawa
* Computing and Communications Services
*/
/* Typography */
h1 { color: #3887b0; }
h3 { color: #da8439; }
.sub-section h1 { color: #da8439; }
a { color: #3887b0; }
a:visited { color: #999; }
/* Forms */
input.button, input.submit {
background-color: #3887b0;
border-color: #2d6c8d;
}
.secondary input.button, .secondary input.submit {
background-color: #da8439;
border-color: #ae692e;
}
/* ch-lang-url */
#page-links a#ch-lang-url:hover
, #page-links a#ch-lang-url:focus
, #page-links a#ch-lang-url:active {
background-color: #2d6c8d; /* primaryDarker*/
color: white;
}
/* Local Navigation */
ul#local-nav li.expand a
, ul#local-nav li a.current
, ul#local-nav li.expand a:visited /* Required for IE's specificity problem */
, ul#local-nav li a.current:visited /* Required for IE's specificity problem */
{
color: #353535;
}
ul#local-nav a
, ul#local-nav a:visited
, ul#local-nav li.expand ul a
, ul#local-nav li.expand ul a.current
, ul#local-nav li.expand ul a:visited
{
color: #3887b0;
}

ul#local-nav a
, ul#local-nav li.expand ul
, ul#local-nav li.expand
{
border-color: #88B8CF;
}
ul#local-nav li.new-group a { border-top-color: #3887b0; }
/* Contact Information */
#contact-info { border-top-color: #da8439; }
#contact-info-title { color: #da8439; }
#contact-info a { color: #da8439; }
/* Home-page headers */
.landing-page #main-content h2 { color: #3887b0; }
/* Side-bar */
#sidebar h2, form#site-search #site-search-label { color: #3887b0; }
#sidebar.secondary h2,
#sidebar.secondary a,
#sidebar.secondary form#site-search #site-search-label { color: #da8439; }
#sidebar .grouped-features h2.first { border-top-color: #3887b0; }
#sidebar.secondary .grouped-features h2.first { border-top-color: #da8439; }
/* Calendar */
#main-content div#calendar td.eventDate, #sidebar div#calendarMain td.eventDate
, #main-content div#calendar td.currentDate, #sidebar div#calendarMain td.curren
tDate { background-color: #e3e0db; /* same across themes */}
#sidebar.secondary #calendarMain th { background-color: #da8439; /* secondary */
}
#main-content #calendar th, #sidebar #calendarMain th { background-color: #3887b
0; /* primary */ }
#main-content #events span.time
, #main-content #events h3.eventHeading
, #main-content #events span.oneHour
, #main-content #events a { color: #3887b0; /* primary */ }
#main-content #events div.searchStats { color: #da8439; /* secondary */ }
#main-content #tabs td a.unselected:hover { background-color: #3887b0; /* primar
y */ color: white; border-color: #2d6c8d;/* darker */ }
/* Bulleted lists in main content */
#main-content ul li li { color: #3887b0; }
.sub-section #main-content ul li li { color: #da8439; }
/* --- DON'T CUSTOMIZE BELOW THIS LINE -- Styles found below are identical for e
ach theme --- */
/* General Images and Backgrounds */
#section-container { background-image: url(img/bg-section-header.png); }
#main-siteinfo { background-image: url(img/footer-curve.png); }
a.back-to-top { background-image: url(img/back-to-top-en.png); }
.fr a.back-to-top { background-image: url(img/back-to-top-fr.png); }
.landing-page #main-content .grouped-links { background-image: url(img/bg-groupe
d-links.png); }
.landing-page #main-content .grouped-links-single { background-image: url(img/bg
-grouped-links-single.png); }
#contact-info-title { background-image: url(img/contact-information-en.png); }
.fr #contact-info-title { background-image: url(img/contact-information-fr.png);
}
/* Corner image of wide-content */
.wide-content-page #main-content div.corner { background-image: url(img/wide-con
tent-corner.png); }
/* Local Navigation Images */
ul#local-nav { background-image: url(img/bg-local-nav.png); }
ul#local-nav li a { background-image: url(img/bg-local-nav-section.png); }
ul#local-nav li.expand a { background-image: url(img/bg-local-nav-section-expand
ed.png); }

/* Bulleted lists in main content and sidebar */


#main-content ul li, #sidebar ul li { background-image: url(img/bullet-level1-pr
imary.png); }
#main-content ul li ul li
, #main-content ol li ul li
, #main-content ul li ol li ul li
, #main-content ul li ul li ul li
, #main-content ol li ol li ul li
, #main-content ol li ul li ul li
, #sidebar ul li ul li
, #sidebar ol li ul li
{ background-image: url(img/bullet-level2-primary.png); }
.sub-section #main-content ul li, #sidebar.secondary ul li { background-image: u
rl(img/bullet-level1-secondary.png); }
.sub-section #main-content ul li ul li
, .sub-section #main-content ol li ul li
, .sub-section #main-content ul li ol li ul li
, .sub-section #main-content ul li ul li ul li
, .sub-section #main-content ol li ol li ul li
, .sub-section #main-content ol li ul li ul li
, #sidebar.secondary ul li ul li
, #sidebar.secondary ol li ul li
{ background-image: url(img/bullet-level2-secondary.png); }
/* Page tools Images */
#tools-resize { background-image: url(img/tools-resize-label-en.png); }
.fr #tools-resize { background-image: url(img/tools-resize-label-fr.png); }
#tools-resize-small span { background-image: url(img/tools-resize-small.png); }
#tools-resize-medium span { background-image: url(img/tools-resize-medium.png);
}
#tools-resize-large span { background-image: url(img/tools-resize-large.png); }
#tools-print span { background-image: url(img/tools-print-en.png); }
#tools-email span { background-image: url(img/tools-email-en.png); }
.fr #tools-print span { background-image: url(img/tools-print-fr.png); }
.fr #tools-email span { background-image: url(img/tools-email-fr.png); }

------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://www.uottawa.ca/academic/arts/writcent/hypergrammar/Temp
lates/main.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* CSS Document */
/* Section Header */
#section-header {
background-image: url();
}
#section-header {
background-image: url(http://www.arts.uottawa.ca/writcent/hypergrammar/assets/i
mg/section-header.jpg);
}
#section-title { left: 18px; top: 42px; width: 281px; height: 29px; }
#parent-org-title { left: 22px; top: 25px; width: 117px; height: 20px; }
/* Sub-Section */
.sub-section #sub-section-header {
background-image: url();
}
/* Image below the Local Navigation */
#section-photo { background-image: url(); height: 109px; }
#heading-partsp {
background-image: url(http://www.arts.uottawa.ca/test/HypergramSite/asse
ts/img/partsp-heading.jpg);
}
/*#heading-copyrght {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-copyrght.jpg);
}
#heading-warranty {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-warranty.jpg);
}
#heading-verb {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-verb.jpg);
}
#heading-noun {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun.jpg);
}
#heading-noun1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun1.jpg);
}
#heading-noun2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun2.jpg);
}
#heading-noun3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun3.jpg);
}
#heading-noun4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun4.jpg);
}
#heading-noun5 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun5.jpg);
}
#heading-noun6 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun6.jpg);
}
#heading-noun7 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun7.jpg);
}
#heading-noun8 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun8.jpg);
}
#heading-noun9 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun9.jpg);
}
#heading-noun10 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun10.jpg);
}
#heading-noun11 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun11.jpg);
}
#heading-noun12 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun12.jpg);
}
#heading-pronoun {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun.jpg);
}
#heading-pronoun1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun1.jpg);
}
#heading-pronoun2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun2.jpg);
}
#heading-pronoun3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun3.jpg);
}
#heading-pronoun4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun4.jpg);
}
#heading-pronoun5 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun5.jpg);
}
#heading-pronoun6 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun6.jpg);
}
#heading-pronoun7 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun7.jpg);
}
#heading-pronoun8 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun8.jpg);
}
#heading-pronoun9 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun9.jpg);
}
#heading-pronoun10 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun10.jpg);
}
#heading-adjective {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective.jpg);
}
#heading-adjective1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective1.jpg);
}
#heading-adjective2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective2.jpg);
}
#heading-adjective3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective3.jpg);
}
#heading-adjective4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective4.jpg);
}
#heading-adverb {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adverb.jpg);
}
#heading-adverb1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adverb1.jpg);
}
#heading-preposit {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-preposit.jpg);
}
#heading-conjunct {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct.jpg);
}
#heading-conjunct1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct1.jpg);
}
#heading-conjunct2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct2.jpg);
}
#heading-conjunct3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct3.jpg);
}
#heading-interjct {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-interjct.jpg);
}
#heading-rvpartsp {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-rvpartsp.jpg);
}
#heading-partse {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-partse.jpg);
}
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline
Content-Type: image/jpeg
Content-Location: http://www.arts.uottawa.ca/writcent/hypergrammar/assets/img/se
ction-header.jpg
Content-Transfer-Encoding: Base64
/9j/4AAQSkZJRgABAgAAZABkAAD/2wBDAAwJCQkJCQwJCQwGDAkMEhUPDAwPFRgS
EhUeKhgeKBsbGxsoMjI8JCQ8JB4kPEEnPDwzMzMzMzw8PDw8PDw8PDz/2wBDARwZ
GSgjKEseHkuMYmJijIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM
jIyMjIyMjIyMjIyMjIz/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQ
AAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHw
JDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp
anN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TF
xsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAA
AAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2Fx
EyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdI
SUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Sl
pqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4
+fr/wAARCABWAgYDAREAAhEBAxEB/9oADAMBAAIRAxEAPwCvXUcYUAFABQAUAFAB
QAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAKKAC
kBIjlQcdTSKQ8eYfWgY4LLSGKUf+IUDKkyHOaQFd0DCgZTcmNsjNSMsxXJYAA4NA
x0jllOTmkxoxLrhmNSM2PDF6ys9u569M00M6vO4A9hTAmglaOQMvGKTGbySrPGHH
JxzSArSjINMRU70xjXJHpQAKcoORxQA1WIPHWkB0cD74lOV6UmBW1KMTWki9SBQh
HHum0kdwasBA2ARSAgf7+RQM07d/k/CkISRQcMxCR/xOefy9/bvQBSnkhiH70bVy
RIG6D0LD1/2f1oAhgkurjE0oKQMCscbcsf8Aa9h7dqYGhbxd6Blz7ozxQBnGXN0p
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
e4FAhKBi/Ng9aAP/2Q==
------------R1J3QWGczlntoaDVhRttqV
Content-Disposition: inline; filename=main.css
Content-Type: text/css; charset=utf-8; name=main.css
Content-Location: http://www.uottawa.ca/academic/arts/writcent/hypergrammar/Temp
lates/main.css
Content-Transfer-Encoding: 8bit
@charset "utf-8";
/* CSS Document */
/* Section Header */
#section-header {
background-image: url();
}
#section-header {
background-image: url(http://www.arts.uottawa.ca/writcent/hypergrammar/assets/i
mg/section-header.jpg);
}
#section-title { left: 18px; top: 42px; width: 281px; height: 29px; }
#parent-org-title { left: 22px; top: 25px; width: 117px; height: 20px; }
/* Sub-Section */
.sub-section #sub-section-header {
background-image: url();
}
/* Image below the Local Navigation */
#section-photo { background-image: url(); height: 109px; }
#heading-partsp {
background-image: url(http://www.arts.uottawa.ca/test/HypergramSite/asse
ts/img/partsp-heading.jpg);
}
/*#heading-copyrght {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-copyrght.jpg);
}
#heading-warranty {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-warranty.jpg);
}
#heading-verb {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-verb.jpg);
}
#heading-noun {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun.jpg);
}
#heading-noun1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun1.jpg);
}
#heading-noun2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun2.jpg);
}
#heading-noun3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun3.jpg);
}
#heading-noun4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun4.jpg);
}
#heading-noun5 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun5.jpg);
}
#heading-noun6 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun6.jpg);
}
#heading-noun7 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun7.jpg);
}
#heading-noun8 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun8.jpg);
}
#heading-noun9 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun9.jpg);
}
#heading-noun10 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun10.jpg);
}
#heading-noun11 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun11.jpg);
}
#heading-noun12 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-noun12.jpg);
}
#heading-pronoun {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun.jpg);
}
#heading-pronoun1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun1.jpg);
}
#heading-pronoun2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun2.jpg);
}
#heading-pronoun3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun3.jpg);
}
#heading-pronoun4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun4.jpg);
}
#heading-pronoun5 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun5.jpg);
}
#heading-pronoun6 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun6.jpg);
}
#heading-pronoun7 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun7.jpg);
}
#heading-pronoun8 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun8.jpg);
}
#heading-pronoun9 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun9.jpg);
}
#heading-pronoun10 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-pronoun10.jpg);
}
#heading-adjective {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective.jpg);
}
#heading-adjective1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective1.jpg);
}
#heading-adjective2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective2.jpg);
}
#heading-adjective3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective3.jpg);
}
#heading-adjective4 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adjective4.jpg);
}
#heading-adverb {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adverb.jpg);
}
#heading-adverb1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-adverb1.jpg);
}
#heading-preposit {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-preposit.jpg);
}
#heading-conjunct {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct.jpg);
}
#heading-conjunct1 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct1.jpg);
}
#heading-conjunct2 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct2.jpg);
}
#heading-conjunct3 {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-conjunct3.jpg);
}
#heading-interjct {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-interjct.jpg);
}
#heading-rvpartsp {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-rvpartsp.jpg);
}
#heading-partse {
background-image: url(http://www.arts.uottawa.ca/test/toto/assets/img/he
ading-partse.jpg);
}
------------R1J3QWGczlntoaDVhRttqV--

Anda mungkin juga menyukai