This is a multi-part message in MIME format.
------=____1087386605729_kV-A2mGXeZ
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
[in case my e-mail's webmail foobar's the formatting, I included a text f=
ile with the content below. Thanks so much in advance for the help!]
After indexing my sites via spider.pl and I run a search via the web from=
swish.cgi, I get the follow in the results page
NewEmployeeOrientation.ppt -- rank: 1000
=D0=CF=E0=A1=B1=E1>=FE=FF ,u=D4=FE=FF=FF=FFNOPQRSTUVWXYZ[\]^_`abcdefg=
hijklmnopqrstwx}=FA{=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF`!=F0=D7=B5=DE=D6 n=E5=
=E3=B6]=EFbwJ(=C0p`$=8A=E8=A9^=A5=FEx=9C=EDWMHA=9E=DD=FCT3=DB=EE=ACH=94 i=
=FD=B9XR=A2`)=82=94j=DACk Z=E8=A1=3D-=EC=D5@O =E8)=E81=E6j=CE=F6=E4=A1=9A=
=BB7!=D7=A14=84b=D9=89m=8Du=FA=DE=DB=8D=F8SE3 =AC=9D=B1@=A1 >X7=C3=CB=F4=87=
m=98)=B8l,E=C0=BB(c!=C1=F0=F2h#f]=BE=E5&Y=82=AC=87=3D{=92Lv=B2=8F=DFX5;=AE=
=A6=99wE|=EFy1f=B2=81=C3=9A=98=D9=BE=A5=93=BC=82=CCbX_#=E0frCf=99=F6=C3(=C1=
~=9B=A1}=9F `&W ... ...
Last Modified Date: 2004-06-09 12:33:59 EDT
Document Size: 2834432
Document Path: http://cfo.thissite.net/NewEmployeeOrientation.ppt
I had seen this before and I thought I had removed .ppt files from being =
indexed. That's not my ideal situation though; I would like to be able to=
index them because we have a lot of PowerPoint files on our servers (peo=
ple are too lazy to make HTML... *sigh*). I've included as much informati=
on as possible because I don't know what information is or isn't relevant=
=2E
What I don't understand, is why that, I don't have .ppt as part of the De=
fault Contents, yet .ppt files are still being indexed.
Here's all of my settings...
--16.conf--
IndexDir /usr/local/lib/swish-e/spider.pl
SwishProgParameters 16.pl
DefaultContents HTML* .htm .html .shtml .doc .pdf .cfm
StoreDescription HTML* <body> 20000
IgnoreWords www http a an the of and or
MetaNames swishdocpath swishtitle swishdescription swishlastmodified
--16.pl--
@servers =3D (
{
base_url =3D> 'http://cfo.thissite.net/',
same_hosts =3D> 'www.cfo.thissite.net',
email =3D> 'cfo-comments@thissite.net',
},
);
1;
--Swish-e command from terminal--
swish-e -c 16.conf -f 16.index -v 3 -S prog -e
I'll do other sites, in my case, I did sites 1-20 and then I combined the=
m into one index with...
swish-e -M 1.conf 2.conf (and so on) 16.conf (etc) 20.conf combined.index=
-e
--swish.cgi--
The only thing I have to user config is...
my $DEFAULT_CONFIG_FILE =3D 'swishcgi.conf';
sub default_config {
return {
# By default, this script tries to read a config file. You shoul=
d probably
# comment this out if not used save a disk stat
config_file =3D> $DEFAULT_CONFIG_FILE, # Default config file
};
}
--swishcgi.conf--
(sorry for the length, I don't know what's relevant)
return {
title =3D> 'Search the websites', # Title of your choice. =
Displays on the search page
swish_binary =3D> '/usr/local/bin/swish-e', # Location of swish-e =
binary
swish_index =3D> 'swishdb/combined.index', # Location of your ind=
ex file
# See "select_indexes" below for how to
# select more than one index.
page_size =3D> 15, # Number of results per page - default 1=
5
title_property =3D> 'swishtitle',
description_prop =3D> 'swishdescription',
display_props =3D> [qw/swishlastmodified swishdocsize swishdocpath/=
],
sorts =3D> [qw/swishrank swishlastmodified swishtitle swish=
docpath/],
secondary_sort =3D> [qw/swishlastmodified desc/],
metanames =3D> [qw/ swishdefault swishtitle swishdocpath swishl=
astmodified /],
meta_groups =3D> {
all =3D> [qw/swishdefault swishtitle swishdocpath/],
},
name_labels =3D> {
swishdefault =3D> 'Title & Body',
swishtitle =3D> 'Title',
swishrank =3D> 'Rank',
swishlastmodified =3D> 'Last Modified Date',
swishdocpath =3D> 'Document Path',
swishdocsize =3D> 'Document Size',
all =3D> 'All', # group of metanames=
subject =3D> 'Message Subject', # other examples
name =3D> "Poster's Name",
email =3D> "Poster's Email",
sent =3D> 'Message Date',
},
timeout =3D> 10, # limit time used by swish when fetching =
results - DoS protection.
# does not work under Windows
max_query_length =3D> 100, # limit length of query string. Swish al=
so has a limit (default is 40)
# You might want to set swish-e's limit=
higher, and use this to get a
# somewhat more friendly message.
max_chars =3D> 500, # Limits the size of the description_prop=
if it is not highlighted
highlight =3D> {
package =3D> 'SWISH::PhraseHighlight',
show_words =3D> 10, # Number of "swish words" words to sh=
ow around highlighted word
max_words =3D> 100, # If no words are found to highlighte=
d then show this many words =
occurrences =3D> 6, # Limit number of occurrences of high=
lighted words
#highlight_on =3D> '<b>', # HTML highlighting codes
#highlight_off =3D> '</b>',
highlight_on =3D> '<font style=3D"background:#FFFF99">',
highlight_off =3D> '</font>',
meta_to_prop_map =3D> {
swishdefault =3D> [ qw/swishtitle swishdescription/ ],
swishtitle =3D> [ qw/swishtitle/ ],
swishdocpath =3D> [ qw/swishdocpath/ ],
},
},
template =3D> {
package =3D> 'SWISH::TemplateHTMLTemplate',
options =3D> {
filename =3D> 'swish.tmpl',
path =3D> '/usr/local/apache2/cgi-bin/swish.tm=
pl', # point to folder that filname is in
die_on_bad_params =3D> 0,
loop_context_vars =3D> 1,
cache =3D> 1,
},
},
on_intranet =3D> 0,
no_first_page_navigation =3D> 0,
no_last_page_navigation =3D> 0,
num_pages_to_show =3D> 12, # number of pages to offer
date_ranges =3D> {
property_name =3D> 'swishlastmodified', # property name to=
limit by
# what you specify here depends on the DateRanges.pm module.
time_periods =3D> [ =
'All',
'Today',
'Yesterday',
'This Week',
'Last Week',
'Last 90 Days',
'This Month',
'Last Month',
],
line_break =3D> 0,
default =3D> 'All',
date_range =3D> 1,
},
# Set max number of swish-e binaries and ps command to run
limit_procs =3D> 0, # max number of swish process to run (zero t=
o not limit)
ps_prog =3D> '/bin/ps -Unobody -ocommand', # command to list=
number of swish binaries
};
--swish.tmpl--
For what it's worth, here's the template file, slightly modified...
<html>
<head>
<title>
<TMPL_IF RESULTS>Results for: <TMPL_VAR QUERY_SIMPLE><TMPL_ELSE=
><TMPL_VAR TITLE></TMPL_IF>
</title>
</head>
<body>
<table align=3D"center" border=3D"0" cellpadding=3D"0" cellspacin=
g=3D"0">
<tr><td>
<a href=3D"http://www.nasa.gov">
<img border=3D"0" alt=3D"NASA home page" src=3D"../nasalogo.g=
if"></a>
<br><br>
</td><td valign=3D"middle">
<font face=3D"Arial" size=3D"+1"><TMPL_VAR TITLE></font>
</td></tr>
</table>
<TMPL_IF MESSAGE>
<font face=3D"Arial" size=3D"3" color=3D"red"><TMPL_VAR MESSA=
GE></font>
</TMPL_IF>
<div align=3D"center">
<form method=3D"GET" action=3D"<TMPL_VAR MY_URL>" enctype=3D"appl=
ication/x-www-form-urlencoded" class=3D"form">
<input type=3D"text" name=3D"query" size=3D32 maxlength=3D20=
0 />
<input type=3D"submit" name=3D"submit" value=3D"Search!" /><b=
r>
<TMPL_IF METANAMES>
<font face=3D"Arial" size=3D2>Limit search to:
<TMPL_LOOP METANAMES>
<input type=3D"radio" name=3D"metaname" value=3D"<TMP=
L_VAR NAME>"><TMPL_VAR LABEL>
</TMPL_LOOP>
<br>
</TMPL_IF>
<TMPL_IF SORTS>
Sort by:
<select name=3D"sort">
<TMPL_LOOP SORTS>
<option value=3D"<TMPL_VAR NAME>" ><TMPL_VAR LAB=
EL></option>
</TMPL_LOOP>
</select>
<input type=3D"checkbox" name=3D"reverse" value=3D1>Rever=
se Sort
</TMPL_IF>
</div>
<TMPL_IF INDEX_SELECT>
<!-- not implemented -- see Template Tool kit example -->=
</TMPL_IF>
<TMPL_IF LIMITS>
<!-- not really implemented -->
<br><TMPL_VAR LIMIT_TITLE>
<TMPL_LOOP LIMITS>
<input type=3D"checkbox" name=3D"sbm" value=3D"<TMPL_=
VAR VALUE>" /><TMPL_VAR LABEL>
</TMPL_LOOP>
</TMPL_IF>
<TMPL_VAR DATE_RANGES>
=
</form>
<TMPL_IF FILES>
<table cellpadding=3D0 cellspacing=3D0 border=3D0 width=3D"10=
0%">
<tr>
<td height=3D20 bgcolor=3D"blue">
<font face=3D"Arial" size=3D"-1" color=3D"white">=
Results for <b><TMPL_VAR QUERY_SIMPLE></b>
<TMPL_VAR FROM> to <TMPL_VAR TO> of <TMPL_=
VAR HITS> results.
</font>
</td>
<td align=3Dright bgcolor=3D"blue">
<font face=3D"Arial" size=3D"-2" color=3D"white">=
Run time: <TMPL_VAR RUN_TIME> |
Search time: <TMPL_VAR SEARCH_TIME> =
</font>
</td>
</tr>
<TMPL_IF PAGES>
<tr>
<td colspan=3D2 bgcolor=3D"#EEEEEE">
<TMPL_IF REPLACE_WITH_DEFINED_VAR_TO_USE>
<TMPL_IF PREV_COUNT>
<a style=3D"text-decoration:none" href=3D=
"<TMPL_VAR QUERY_HREF>&start=3D<TMPL_VAR PREV>"><<</a>
</TMPL_IF>
=
<TMPL_LOOP NAME=3DPAGE_ARRAY>
<TMPL_IF NAME=3DCUR_PAGE>
[<TMPL_VAR NAME=3DPAGE_NUMBER>]
<TMPL_ELSE>
<a style=3D"text-decoration:none" hre=
f=3D"<TMPL_VAR QUERY_HREF>&start=3D<TMPL_VAR NAME=3DPAGE_START>">
<TMPL_VAR NAME=3DPAGE_NUMBER></a>
</TMPL_IF>
</TMPL_LOOP>
<TMPL_IF NEXT_COUNT>
<a style=3D"text-decoration:none" href=3D=
"<TMPL_VAR QUERY_HREF>&start=3D<TMPL_VAR NEXT>">>></a>
</TMPL_IF>
<TMPL_ELSE>
<font size=3D"-1" face=3D"Arial"> Page:<=
/font>
<TMPL_VAR PAGES>
<TMPL_IF PREV_COUNT>
<a href=3D"<TMPL_VAR QUERY_HREF>&star=
t=3D<TMPL_VAR PREV>">
Previous <TMPL_VAR PREV_COUNT></a>
</TMPL_IF>
=
<TMPL_IF NEXT_COUNT>
<a href=3D"<TMPL_VAR QUERY_HREF>&star=
t=3D<TMPL_VAR NEXT>">
Next <TMPL_VAR NEXT_COUNT></a>
</TMPL_IF>
</TMPL_IF>
</td>
</tr>
</TMPL_IF>
</table>
=
<p>
<TMPL_LOOP FILES>
<dl>
<dt><a href=3D"<TMPL_VAR swishdocpath_href>"><TMPL_VA=
R swishtitle></a> <small>-- rank: <b><TMPL_VAR swishrank></b></small></dt=
>
<dd><TMPL_VAR swishdescription>...<br>
<TMPL_IF PROPERTIES>
<p>
<TMPL_LOOP PROPERTIES>
<b><TMPL_VAR PROP_NAME></b>: <TMPL_VAR PROP_V=
ALUE><br>
</TMPL_LOOP>
</TMPL_IF>
<TMPL_IF JUST_A_COMMENT>
<!-- example of how to explicitly list display properties=
-->
<small>
<TMPL_VAR swishdocpath>
<TMPL_VAR swishlastmodified>
<TMPL_VAR swishdocsize> bytes.
</small>
</TMPL_IF>
</dd>
</dl>
=
</TMPL_LOOP>
<p>
<TMPL_IF PAGES><br>Pages: <TMPL_VAR PAGES></TMPL_IF>
<TMPL_IF PREV_COUNT>
<a href=3D"<TMPL_VAR QUERY_HREF>&start=3D<TMPL_VAR PR=
EV>">Previous <TMPL_VAR PREV_COUNT></a>
</TMPL_IF>
=
<TMPL_IF NEXT>
<a href=3D"<TMPL_VAR QUERY_HREF>&start=3D<TMPL_VAR NE=
XT>">Next <TMPL_VAR NEXT_COUNT></a>
</TMPL_IF>
</TMPL_IF>
<hr>
<small>Powered by <em>Swish-e</em> <a href=3D"http://swish-e.org"=
>swish-e.org</a></small>
<TMPL_IF MOD_PERL>
Powered by: <img src=3D"http://perl.apache.org/logos/mod_perl=
=2Egif">
</TMPL_IF>
<p>
<a href=3D"http://www.nasa.gov"><img border=3D"0"
src=3D"../nasalogo.gif" alt=3D"NASA"></a>
</p>
=
=
</body>
</html>
------=____1087386605729_kV-A2mGXeZ
Content-Transfer-Encoding: base64
Content-Type: text/plain;
name="swishhelp.txt"
Content-Disposition: inline;
filename="swishhelp.txt"
QWZ0ZXIgaW5kZXhpbmcgbXkgc2l0ZXMgdmlhIHNwaWRlci5wbCBhbmQgSSBydW4gYSBzZWFy
Y2ggdmlhIHRoZSB3ZWIgZnJvbSBzd2lzaC5jZ2ksIEkgZ2V0IHRoZSBmb2xsb3cgaW4gdGhl
IHJlc3VsdHMgcGFnZQoKTmV3RW1wbG95ZWVPcmllbnRhdGlvbi5wcHQgLS0gcmFuazogMTAw
MAogICAgw5DDj8OgwqHCscOhPsO+w78gLHXDlMO+w7/Dv8O/Tk9QUVJTVFVWV1hZWltcXV5f
YGFiY2RlZmdoaWprbG1ub3BxcnN0d3h9w7p7w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/Dv8O/w7/D
v8O/w7/Dv2Ahw7DDl8K1w57DliBuw6XDo8K2XcOvYndKKMOAcGAkxaDDqMKpXsKlw754xZPD
rVdNSEHFvsOdw7xUM8Obw67CrEjigJ0gacO9wrlYUsKiYCnigJrigJ1qw5pDayBaw6jCoT0t
w6zDlUBPIMOoKcOoMcOmasOOw7bDpMKhxaHCuzchw5fCoTTigJ5iw5nigLBtwo11w7rDnsOb
wo3DuFNFMyDCrMKdwrFAwqEgPlg3w4PDi8O04oChbcucKcK4bCxFw4DCuyhjIcOBw7DDsmgj
Zl3CvsOlJlnigJrCrOKAoT174oCZTHbCssKPw59YNTvCrsKm4oSid0V8w695MWbCssKBw4PF
ocucw5nCvsKl4oCcwrzigJrDjGJYXyPDoGZyQ2bihKLDtsODKMOBfuKAusKhfcW4IGAmVyAu
Li4gLi4uCgogICAgTGFzdCBNb2RpZmllZCBEYXRlOiAyMDA0LTA2LTA5IDEyOjMzOjU5IEVE
VAogICAgRG9jdW1lbnQgU2l6ZTogMjgzNDQzMgogICAgRG9jdW1lbnQgUGF0aDogaHR0cDov
L2Nmby50aGlzc2l0ZS5uZXQvTmV3RW1wbG95ZWVPcmllbnRhdGlvbi5wcHQKCkkgaGFkIHNl
ZW4gdGhpcyBiZWZvcmUgYW5kIEkgdGhvdWdodCBJIGhhZCByZW1vdmVkIC5wcHQgZmlsZXMg
ZnJvbSBiZWluZyBpbmRleGVkLiBUaGF0J3Mgbm90IG15IGlkZWFsIHNpdHVhdGlvbiB0aG91
Z2g7IEkgd291bGQgbGlrZSB0byBiZSBhYmxlIHRvIGluZGV4IHRoZW0gYmVjYXVzZSB3ZSBo
YXZlIGEgbG90IG9mIFBvd2VyUG9pbnQgZmlsZXMgb24gb3VyIHNlcnZlcnMgKHBlb3BsZSBh
cmUgdG9vIGxhenkgdG8gbWFrZSBIVE1MLi4uICpzaWdoKikuIEkndmUgaW5jbHVkZWQgYXMg
bXVjaCBpbmZvcm1hdGlvbiBhcyBwb3NzaWJsZSBiZWNhdXNlIEkgZG9uJ3Qga25vdyB3aGF0
IGluZm9ybWF0aW9uIGlzIG9yIGlzbid0IHJlbGV2YW50LgoKV2hhdCBJIGRvbid0IHVuZGVy
c3RhbmQsIGlzIHdoeSB0aGF0LCBJIGRvbid0IGhhdmUgLnBwdCBhcyBwYXJ0IG9mIHRoZSBE
ZWZhdWx0IENvbnRlbnRzLCB5ZXQgLnBwdCBmaWxlcyBhcmUgc3RpbGwgYmVpbmcgaW5kZXhl
ZC4KCkhlcmUncyBhbGwgb2YgbXkgc2V0dGluZ3MuLi4KCi0tMTYuY29uZi0tCgpJbmRleERp
cgkJL3Vzci9sb2NhbC9saWIvc3dpc2gtZS9zcGlkZXIucGwKU3dpc2hQcm9nUGFyYW1ldGVy
cyAJMTYucGwKRGVmYXVsdENvbnRlbnRzIAlIVE1MKiAuaHRtIC5odG1sIC5zaHRtbCAuZG9j
IC5wZGYgLmNmbQpTdG9yZURlc2NyaXB0aW9uIAlIVE1MKiA8Ym9keT4gMjAwMDAKSWdub3Jl
V29yZHMJCXd3dyBodHRwIGEgYW4gdGhlIG9mIGFuZCBvcgpNZXRhTmFtZXMJCXN3aXNoZG9j
cGF0aCBzd2lzaHRpdGxlIHN3aXNoZGVzY3JpcHRpb24gc3dpc2hsYXN0bW9kaWZpZWQKCi0t
MTYucGwtLQoKQHNlcnZlcnMgPSAoCiAgICB7CiAgICBiYXNlX3VybAk9PiAnaHR0cDovL2Nm
by50aGlzc2l0ZS5uZXQvJywKICAgIHNhbWVfaG9zdHMgID0+ICd3d3cuY2ZvLnRoaXNzaXRl
Lm5ldCcsCiAgICBlbWFpbAk9PiAnY2ZvLWNvbW1lbnRzQHRoaXNzaXRlLm5ldCcsCiAgICB9
LAopOwoKMTsKCi0tU3dpc2gtZSBjb21tYW5kIGZyb20gdGVybWluYWwtLQpzd2lzaC1lIC1j
IDE2LmNvbmYgLWYgMTYuaW5kZXggLXYgMyAtUyBwcm9nIC1lCgpJJ2xsIGRvIG90aGVyIHNp
dGVzLCBpbiBteSBjYXNlLCBJIGRpZCBzaXRlcyAxLTIwIGFuZCB0aGVuIEkgY29tYmluZWQg
dGhlbSBpbnRvIG9uZSBpbmRleCB3aXRoLi4uCnN3aXNoLWUgLU0gMS5jb25mIDIuY29uZiAo
YW5kIHNvIG9uKSAxNi5jb25mIChldGMpIDIwLmNvbmYgY29tYmluZWQuaW5kZXggLWUKCi0t
c3dpc2guY2dpLS0KVGhlIG9ubHkgdGhpbmcgSSBoYXZlIHRvIHVzZXIgY29uZmlnIGlzLi4u
CgpteSAkREVGQVVMVF9DT05GSUdfRklMRSA9ICdzd2lzaGNnaS5jb25mJzsKCnN1YiBkZWZh
dWx0X2NvbmZpZyB7CiAgICByZXR1cm4gewogICAgICAgICMgQnkgZGVmYXVsdCwgdGhpcyBz
Y3JpcHQgdHJpZXMgdG8gcmVhZCBhIGNvbmZpZyBmaWxlLiAgWW91IHNob3VsZCBwcm9iYWJs
eQogICAgICAgICMgY29tbWVudCB0aGlzIG91dCBpZiBub3QgdXNlZCBzYXZlIGEgZGlzayBz
dGF0CiAgICAgICAgY29uZmlnX2ZpbGUgICAgID0+ICRERUZBVUxUX0NPTkZJR19GSUxFLAkj
IERlZmF1bHQgY29uZmlnIGZpbGUKICAgIH07Cgp9CgotLXN3aXNoY2dpLmNvbmYtLQooc29y
cnkgZm9yIHRoZSBsZW5ndGgsIEkgZG9uJ3Qga25vdyB3aGF0J3MgcmVsZXZhbnQpCgpyZXR1
cm4gewogICAgdGl0bGUgICAgICAgICAgID0+ICdTZWFyY2ggdGhlIHdlYnNpdGVzJywJIyBU
aXRsZSBvZiB5b3VyIGNob2ljZS4gIERpc3BsYXlzIG9uIHRoZSBzZWFyY2ggcGFnZQogICAg
c3dpc2hfYmluYXJ5ICAgID0+ICcvdXNyL2xvY2FsL2Jpbi9zd2lzaC1lJywJIyBMb2NhdGlv
biBvZiBzd2lzaC1lIGJpbmFyeQoKICAgIHN3aXNoX2luZGV4ICAgICA9PiAnc3dpc2hkYi9j
b21iaW5lZC5pbmRleCcsCSMgTG9jYXRpb24gb2YgeW91ciBpbmRleCBmaWxlCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAkJCQkjIFNlZSAic2VsZWN0X2luZGV4ZXMiIGJlbG93IGZv
ciBob3cgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCSMgc2VsZWN0IG1vcmUg
dGhhbiBvbmUgaW5kZXguCgogICAgcGFnZV9zaXplICAgICAgID0+IDE1LAkJCQkjIE51bWJl
ciBvZiByZXN1bHRzIHBlciBwYWdlICAtIGRlZmF1bHQgMTUKCiAgICB0aXRsZV9wcm9wZXJ0
eSA9PiAnc3dpc2h0aXRsZScsCgogICAgZGVzY3JpcHRpb25fcHJvcCAgICA9PiAnc3dpc2hk
ZXNjcmlwdGlvbicsCgogICAgZGlzcGxheV9wcm9wcyAgID0+IFtxdy9zd2lzaGxhc3Rtb2Rp
ZmllZCBzd2lzaGRvY3NpemUgc3dpc2hkb2NwYXRoL10sCgogICAgc29ydHMgICAgICAgICAg
ID0+IFtxdy9zd2lzaHJhbmsgc3dpc2hsYXN0bW9kaWZpZWQgc3dpc2h0aXRsZSBzd2lzaGRv
Y3BhdGgvXSwKCiAgICBzZWNvbmRhcnlfc29ydCAgPT4gW3F3L3N3aXNobGFzdG1vZGlmaWVk
IGRlc2MvXSwKCiAgICBtZXRhbmFtZXMgICAgICAgPT4gW3F3LyBzd2lzaGRlZmF1bHQgc3dp
c2h0aXRsZSBzd2lzaGRvY3BhdGggc3dpc2hsYXN0bW9kaWZpZWQgL10sCgogICAgbWV0YV9n
cm91cHMgPT4gewogICAgICAgIGFsbCA9PiAgW3F3L3N3aXNoZGVmYXVsdCBzd2lzaHRpdGxl
IHN3aXNoZG9jcGF0aC9dLAogICAgfSwKCiAgICBuYW1lX2xhYmVscyA9PiB7CiAgICAgICAg
c3dpc2hkZWZhdWx0ICAgICAgICA9PiAnVGl0bGUgJiBCb2R5JywKICAgICAgICBzd2lzaHRp
dGxlICAgICAgICAgID0+ICdUaXRsZScsCiAgICAgICAgc3dpc2hyYW5rICAgICAgICAgICA9
PiAnUmFuaycsCiAgICAgICAgc3dpc2hsYXN0bW9kaWZpZWQgICA9PiAnTGFzdCBNb2RpZmll
ZCBEYXRlJywKICAgICAgICBzd2lzaGRvY3BhdGggICAgICAgID0+ICdEb2N1bWVudCBQYXRo
JywKICAgICAgICBzd2lzaGRvY3NpemUgICAgICAgID0+ICdEb2N1bWVudCBTaXplJywKICAg
ICAgICBhbGwgICAgICAgICAgICAgICAgID0+ICdBbGwnLCAgICAgICAgICAgICAgIyBncm91
cCBvZiBtZXRhbmFtZXMKICAgICAgICBzdWJqZWN0ICAgICAgICAgICAgID0+ICdNZXNzYWdl
IFN1YmplY3QnLCAgIyBvdGhlciBleGFtcGxlcwogICAgICAgIG5hbWUgICAgICAgICAgICAg
ICAgPT4gIlBvc3RlcidzIE5hbWUiLAogICAgICAgIGVtYWlsICAgICAgICAgICAgICAgPT4g
IlBvc3RlcidzIEVtYWlsIiwKICAgICAgICBzZW50ICAgICAgICAgICAgICAgID0+ICdNZXNz
YWdlIERhdGUnLAogICAgfSwKCgogICAgdGltZW91dCAgICAgICAgID0+IDEwLCAgICAjIGxp
bWl0IHRpbWUgdXNlZCBieSBzd2lzaCB3aGVuIGZldGNoaW5nIHJlc3VsdHMgLSBEb1MgcHJv
dGVjdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZG9lcyBub3Qg
d29yayB1bmRlciBXaW5kb3dzCgogICAgbWF4X3F1ZXJ5X2xlbmd0aCA9PiAxMDAsICAjIGxp
bWl0IGxlbmd0aCBvZiBxdWVyeSBzdHJpbmcuICBTd2lzaCBhbHNvIGhhcyBhIGxpbWl0IChk
ZWZhdWx0IGlzIDQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBZb3Ug
bWlnaHQgd2FudCB0byBzZXQgc3dpc2gtZSdzIGxpbWl0IGhpZ2hlciwgYW5kIHVzZSB0aGlz
IHRvIGdldCBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvbWV3aGF0
IG1vcmUgZnJpZW5kbHkgbWVzc2FnZS4KCiAgICBtYXhfY2hhcnMgICAgICAgPT4gNTAwLCAg
ICMgTGltaXRzIHRoZSBzaXplIG9mIHRoZSBkZXNjcmlwdGlvbl9wcm9wIGlmIGl0IGlzIG5v
dCBoaWdobGlnaHRlZAoKICAgIGhpZ2hsaWdodCAgICAgICA9PiB7CgogICAgICAgIHBhY2th
Z2UgICAgICAgICA9PiAnU1dJU0g6OlBocmFzZUhpZ2hsaWdodCcsCiAgICAgICAgc2hvd193
b3JkcyAgICAgID0+IDEwLCAgICAjIE51bWJlciBvZiAic3dpc2ggd29yZHMiIHdvcmRzIHRv
IHNob3cgYXJvdW5kIGhpZ2hsaWdodGVkIHdvcmQKICAgICAgICBtYXhfd29yZHMgICAgICAg
PT4gMTAwLCAgICMgSWYgbm8gd29yZHMgYXJlIGZvdW5kIHRvIGhpZ2hsaWdodGVkIHRoZW4g
c2hvdyB0aGlzIG1hbnkgd29yZHMgCiAgICAgICAgb2NjdXJyZW5jZXMgICAgID0+IDYsICAg
ICAjIExpbWl0IG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiBoaWdobGlnaHRlZCB3b3Jkcwog
ICAgICAgICNoaWdobGlnaHRfb24gICA9PiAnPGI+JywgIyBIVE1MIGhpZ2hsaWdodGluZyBj
b2RlcwogICAgICAgICNoaWdobGlnaHRfb2ZmICA9PiAnPC9iPicsCiAgICAgICAgaGlnaGxp
Z2h0X29uICAgID0+ICc8Zm9udCBzdHlsZT0iYmFja2dyb3VuZDojRkZGRjk5Ij4nLAogICAg
ICAgIGhpZ2hsaWdodF9vZmYgICA9PiAnPC9mb250PicsCgogICAgICAgIG1ldGFfdG9fcHJv
cF9tYXAgPT4gewogICAgICAgICAgICBzd2lzaGRlZmF1bHQgICAgPT4gWyBxdy9zd2lzaHRp
dGxlIHN3aXNoZGVzY3JpcHRpb24vIF0sCiAgICAgICAgICAgIHN3aXNodGl0bGUgICAgICA9
PiBbIHF3L3N3aXNodGl0bGUvIF0sCiAgICAgICAgICAgIHN3aXNoZG9jcGF0aCAgICA9PiBb
IHF3L3N3aXNoZG9jcGF0aC8gXSwKICAgICAgICB9LAogICAgfSwKCiAgICB0ZW1wbGF0ZSA9
PiB7CiAgICAgICAgcGFja2FnZSAgICAgICAgID0+ICdTV0lTSDo6VGVtcGxhdGVIVE1MVGVt
cGxhdGUnLAogICAgICAgIG9wdGlvbnMgICAgICAgICA9PiB7CiAgICAgICAgICAgIGZpbGVu
YW1lICAgICAgICAgICAgPT4gJ3N3aXNoLnRtcGwnLAogICAgICAgICAgICBwYXRoICAgICAg
ICAgICAgICAgID0+ICcvdXNyL2xvY2FsL2FwYWNoZTIvY2dpLWJpbi9zd2lzaC50bXBsJywg
IyBwb2ludCB0byBmb2xkZXIgdGhhdCBmaWxuYW1lIGlzIGluCiAgICAgICAgICAgIGRpZV9v
bl9iYWRfcGFyYW1zICAgPT4gMCwKICAgICAgICAgICAgbG9vcF9jb250ZXh0X3ZhcnMgICA9
PiAxLAogICAgICAgICAgICBjYWNoZSAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgfSwK
ICAgIH0sCgogICAgb25faW50cmFuZXQgPT4gMCwKCiAgICBub19maXJzdF9wYWdlX25hdmln
YXRpb24gICA9PiAwLAogICAgbm9fbGFzdF9wYWdlX25hdmlnYXRpb24gICAgPT4gMCwKICAg
IG51bV9wYWdlc190b19zaG93ICAgICAgICAgID0+IDEyLCAgIyBudW1iZXIgb2YgcGFnZXMg
dG8gb2ZmZXIKCiAgICBkYXRlX3JhbmdlcyAgICAgPT4gewogICAgICAgIHByb3BlcnR5X25h
bWUgICA9PiAnc3dpc2hsYXN0bW9kaWZpZWQnLCAgICAgICMgcHJvcGVydHkgbmFtZSB0byBs
aW1pdCBieQoKICAgICAgICAjIHdoYXQgeW91IHNwZWNpZnkgaGVyZSBkZXBlbmRzIG9uIHRo
ZSBEYXRlUmFuZ2VzLnBtIG1vZHVsZS4KICAgICAgICB0aW1lX3BlcmlvZHMgICAgPT4gWyAg
CiAgICAgICAgICAgICdBbGwnLAogICAgICAgICAgICAnVG9kYXknLAogICAgICAgICAgICAn
WWVzdGVyZGF5JywKICAgICAgICAgICAgJ1RoaXMgV2VlaycsCiAgICAgICAgICAgICdMYXN0
IFdlZWsnLAogICAgICAgICAgICAnTGFzdCA5MCBEYXlzJywKICAgICAgICAgICAgJ1RoaXMg
TW9udGgnLAogICAgICAgICAgICAnTGFzdCBNb250aCcsCiAgICAgICAgXSwKCiAgICAgICAg
bGluZV9icmVhayAgICAgID0+IDAsCiAgICAgICAgZGVmYXVsdCAgICAgICAgID0+ICdBbGwn
LAogICAgICAgIGRhdGVfcmFuZ2UgICAgICA9PiAxLAogICAgfSwKCiAgICAjIFNldCBtYXgg
bnVtYmVyIG9mIHN3aXNoLWUgYmluYXJpZXMgYW5kIHBzIGNvbW1hbmQgdG8gcnVuCiAgICBs
aW1pdF9wcm9jcyAgICAgPT4gMCwgICMgbWF4IG51bWJlciBvZiBzd2lzaCBwcm9jZXNzIHRv
IHJ1biAoemVybyB0byBub3QgbGltaXQpCiAgICBwc19wcm9nICAgICAgICAgPT4gJy9iaW4v
cHMgLVVub2JvZHkgLW9jb21tYW5kJywgICMgY29tbWFuZCB0byBsaXN0IG51bWJlciBvZiBz
d2lzaCBiaW5hcmllcwoKfTsKCi0tc3dpc2gudG1wbC0tCkZvciB3aGF0IGl0J3Mgd29ydGgs
IGhlcmUncyB0aGUgdGVtcGxhdGUgZmlsZSwgc2xpZ2h0bHkgbW9kaWZpZWQuLi4KCgo8aHRt
bD4KICAgIDxoZWFkPgogICAgICAgPHRpdGxlPgogICAgICAgICAgPFRNUExfSUYgUkVTVUxU
Uz5SZXN1bHRzIGZvcjogPFRNUExfVkFSIFFVRVJZX1NJTVBMRT48VE1QTF9FTFNFPjxUTVBM
X1ZBUiBUSVRMRT48L1RNUExfSUY+CiAgICAgICA8L3RpdGxlPgogICAgPC9oZWFkPgogICAg
PGJvZHk+CiAgICAgICAgPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4KICAgICAgICA8dHI+PHRkPgogICAgICAgICAg
ICA8YSBocmVmPSJodHRwOi8vd3d3LnRoaXNzaXRlLm5ldCI+CiAgICAgICAgICAgIDxpbWcg
Ym9yZGVyPSIwIiBhbHQ9IlRoaXMgU2l0ZSBob21lIHBhZ2UiIHNyYz0iLi4vVGhpc1NpdGVs
b2dvLmdpZiI+PC9hPgogICAgICAgICAgICA8YnI+PGJyPgogICAgICAgIDwvdGQ+PHRkIHZh
bGlnbj0ibWlkZGxlIj4KICAgICAgICAgICAgPGZvbnQgZmFjZT0iQXJpYWwiIHNpemU9Iisx
Ij48VE1QTF9WQVIgVElUTEU+PC9mb250PgogICAgICAgIDwvdGQ+PC90cj4KICAgICAgICA8
L3RhYmxlPgoKICAgICAgICA8VE1QTF9JRiBNRVNTQUdFPgogICAgICAgICAgICA8Zm9udCBm
YWNlPSJBcmlhbCIgc2l6ZT0iMyIgY29sb3I9InJlZCI+PFRNUExfVkFSIE1FU1NBR0U+PC9m
b250PgogICAgICAgIDwvVE1QTF9JRj4KICAgIDxkaXYgYWxpZ249ImNlbnRlciI+CiAgICAg
ICAgPGZvcm0gbWV0aG9kPSJHRVQiIGFjdGlvbj0iPFRNUExfVkFSIE1ZX1VSTD4iIGVuY3R5
cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgY2xhc3M9ImZvcm0iPgog
ICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icXVlcnkiICBzaXplPTMyIG1h
eGxlbmd0aD0yMDAgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0i
c3VibWl0IiB2YWx1ZT0iU2VhcmNoISIgLz48YnI+CgogICAgICAgICAgICA8VE1QTF9JRiBN
RVRBTkFNRVM+CiAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJBcmlhbCIgc2l6ZT0yPkxp
bWl0IHNlYXJjaCB0bzoKICAgICAgICAgICAgICAgIDxUTVBMX0xPT1AgTUVUQU5BTUVTPgog
ICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ibWV0YW5hbWUi
IHZhbHVlPSI8VE1QTF9WQVIgTkFNRT4iPjxUTVBMX1ZBUiBMQUJFTD4KICAgICAgICAgICAg
ICAgIDwvVE1QTF9MT09QPgogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICA8L1RN
UExfSUY+CgoKCiAgICAgICAgICAgIDxUTVBMX0lGIFNPUlRTPgogICAgICAgICAgICAgICAg
U29ydCBieToKICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ic29ydCI+CiAgICAgICAg
ICAgICAgICAgICAgPFRNUExfTE9PUCBTT1JUUz4KICAgICAgICAgICAgICAgICAgICAgICAg
PG9wdGlvbiAgdmFsdWU9IjxUTVBMX1ZBUiBOQU1FPiIgPjxUTVBMX1ZBUiBMQUJFTD48L29w
dGlvbj4KICAgICAgICAgICAgICAgICAgICA8L1RNUExfTE9PUD4KICAgICAgICAgICAgICAg
IDwvc2VsZWN0PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJyZXZlcnNlIiB2YWx1ZT0xPlJldmVyc2UgU29ydAogICAgICAgICAgICA8L1RNUExfSUY+
CiAgICA8L2Rpdj4KCgogICAgICAgICAgICA8VE1QTF9JRiBJTkRFWF9TRUxFQ1Q+CiAgICAg
ICAgICAgICAgICA8IS0tIG5vdCBpbXBsZW1lbnRlZCAtLSBzZWUgVGVtcGxhdGUgVG9vbCBr
aXQgZXhhbXBsZSAtLT4KICAgICAgICAgICAgPC9UTVBMX0lGPgoKCiAgICAgICAgICAgIDxU
TVBMX0lGIExJTUlUUz4KICAgICAgICAgICAgICAgIDwhLS0gbm90IHJlYWxseSBpbXBsZW1l
bnRlZCAtLT4KICAgICAgICAgICAgICAgIDxicj48VE1QTF9WQVIgTElNSVRfVElUTEU+CiAg
ICAgICAgICAgICAgICA8VE1QTF9MT09QIExJTUlUUz4KICAgICAgICAgICAgICAgICAgICA8
aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InNibSIgdmFsdWU9IjxUTVBMX1ZBUiBWQUxV
RT4iIC8+PFRNUExfVkFSIExBQkVMPgogICAgICAgICAgICAgICAgPC9UTVBMX0xPT1A+CiAg
ICAgICAgICAgIDwvVE1QTF9JRj4KCgogICAgICAgICAgICA8VE1QTF9WQVIgREFURV9SQU5H
RVM+CgogICAgICAgICAgICAKCiAgICAgICAgPC9mb3JtPgoKCiAgICAgICAgPFRNUExfSUYg
RklMRVM+CiAgICAgICAgICAgIDx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAg
Ym9yZGVyPTAgd2lkdGg9IjEwMCUiPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAg
ICAgICAgICAgIDx0ZCBoZWlnaHQ9MjAgYmdjb2xvcj0iYmx1ZSI+CiAgICAgICAgICAgICAg
ICAgICAgICAgIDxmb250IGZhY2U9IkFyaWFsIiBzaXplPSItMSIgY29sb3I9IndoaXRlIj4K
ICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7UmVzdWx0cyBmb3IgPGI+PFRNUExfVkFS
IFFVRVJZX1NJTVBMRT48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyA8VE1Q
TF9WQVIgRlJPTT4gdG8gPFRNUExfVkFSIFRPPiBvZiA8VE1QTF9WQVIgSElUUz4gcmVzdWx0
cy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PgogICAgICAgICAgICAgICAgICAg
IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPXJpZ2h0IGJnY29sb3I9ImJs
dWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJBcmlhbCIgc2l6ZT0i
LTIiIGNvbG9yPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFJ1biB0aW1lOiA8
VE1QTF9WQVIgUlVOX1RJTUU+IHwKICAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIHRp
bWU6IDxUTVBMX1ZBUiBTRUFSQ0hfVElNRT4gJm5ic3A7ICZuYnNwOwogICAgICAgICAgICAg
ICAgICAgICAgICA8L2ZvbnQ+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAg
ICAgICAgIDwvdHI+CgogICAgICAgICAgICAgICAgPFRNUExfSUYgUEFHRVM+CiAgICAgICAg
ICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0y
IGJnY29sb3I9IiNFRUVFRUUiPgoKICAgICAgICAgICAgICAgICAgICA8VE1QTF9JRiBSRVBM
QUNFX1dJVEhfREVGSU5FRF9WQVJfVE9fVVNFPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VE1QTF9JRiBQUkVWX0NP
VU5UPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHN0eWxlPSJ0ZXh0LWRl
Y29yYXRpb246bm9uZSIgaHJlZj0iPFRNUExfVkFSIFFVRVJZX0hSRUY+JmFtcDtzdGFydD08
VE1QTF9WQVIgUFJFVj4iPiZsdDsmbHQ7PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPC9UTVBMX0lGPgogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VE1QTF9M
T09QIE5BTUU9UEFHRV9BUlJBWT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
VE1QTF9JRiBOQU1FPUNVUl9QQUdFPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbPFRNUExfVkFSIE5BTUU9UEFHRV9OVU1CRVI+XQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxUTVBMX0VMU0U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxhIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSIgaHJlZj0iPFRNUExfVkFS
IFFVRVJZX0hSRUY+JmFtcDtzdGFydD08VE1QTF9WQVIgTkFNRT1QQUdFX1NUQVJUPiI+CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUTVBMX1ZBUiBOQU1FPVBBR0Vf
TlVNQkVSPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RNUExfSUY+
CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UTVBMX0xPT1A+CgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPFRNUExfSUYgTkVYVF9DT1VOVD4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiIGhyZWY9
IjxUTVBMX1ZBUiBRVUVSWV9IUkVGPiZhbXA7c3RhcnQ9PFRNUExfVkFSIE5FWFQ+Ij4mZ3Q7
Jmd0OzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVE1QTF9JRj4KCiAgICAg
ICAgICAgICAgICAgICAgPFRNUExfRUxTRT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDxmb250IHNpemU9Ii0xIiBmYWNlPSJBcmlhbCI+Jm5ic3A7UGFnZTo8L2ZvbnQ+CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8VE1QTF9WQVIgUEFHRVM+CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPFRNUExfSUYgUFJFVl9DT1VOVD4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8YSBocmVmPSI8VE1QTF9WQVIgUVVFUllfSFJFRj4mYW1wO3N0YXJ0
PTxUTVBMX1ZBUiBQUkVWPiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJl
dmlvdXMgPFRNUExfVkFSIFBSRVZfQ09VTlQ+PC9hPgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPC9UTVBMX0lGPgogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VE1Q
TF9JRiBORVhUX0NPVU5UPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhy
ZWY9IjxUTVBMX1ZBUiBRVUVSWV9IUkVGPiZhbXA7c3RhcnQ9PFRNUExfVkFSIE5FWFQ+Ij4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXh0IDxUTVBMX1ZBUiBORVhUX0NP
VU5UPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVE1QTF9JRj4KICAgICAg
ICAgICAgICAgICAgICA8L1RNUExfSUY+CgoKICAgICAgICAgICAgICAgICAgICAgICAgPC90
ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC9UTVBMX0lG
PgoKICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAKICAgICAgICAgICAgPHA+CgoKCiAg
ICAgICAgICAgIDxUTVBMX0xPT1AgRklMRVM+CiAgICAgICAgICAgICAgICA8ZGw+CiAgICAg
ICAgICAgICAgICAgICAgPGR0PjxhIGhyZWY9IjxUTVBMX1ZBUiBzd2lzaGRvY3BhdGhfaHJl
Zj4iPjxUTVBMX1ZBUiBzd2lzaHRpdGxlPjwvYT4gPHNtYWxsPi0tIHJhbms6IDxiPjxUTVBM
X1ZBUiBzd2lzaHJhbms+PC9iPjwvc21hbGw+PC9kdD4KICAgICAgICAgICAgICAgICAgICA8
ZGQ+PFRNUExfVkFSIHN3aXNoZGVzY3JpcHRpb24+Li4uPGJyPgoKICAgICAgICAgICAgICAg
ICAgICA8VE1QTF9JRiBQUk9QRVJUSUVTPgogICAgICAgICAgICAgICAgICAgICAgICA8cD4K
ICAgICAgICAgICAgICAgICAgICAgICAgPFRNUExfTE9PUCBQUk9QRVJUSUVTPgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPGI+PFRNUExfVkFSIFBST1BfTkFNRT48L2I+OiA8VE1Q
TF9WQVIgUFJPUF9WQUxVRT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvVE1QTF9M
T09QPgogICAgICAgICAgICAgICAgICAgIDwvVE1QTF9JRj4KCiAgICAgICAgICAgICAgICA8
VE1QTF9JRiBKVVNUX0FfQ09NTUVOVD4KICAgICAgICAgICAgICAgIDwhLS0gZXhhbXBsZSBv
ZiBob3cgdG8gZXhwbGljaXRseSBsaXN0IGRpc3BsYXkgcHJvcGVydGllcyAtLT4KICAgICAg
ICAgICAgICAgICAgICA8c21hbGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxUTVBMX1ZB
UiBzd2lzaGRvY3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxUTVBMX1ZBUiBzd2lz
aGxhc3Rtb2RpZmllZD4KICAgICAgICAgICAgICAgICAgICAgICAgPFRNUExfVkFSIHN3aXNo
ZG9jc2l6ZT4gYnl0ZXMuCiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KICAgICAgICAg
ICAgICAgICA8L1RNUExfSUY+CiAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAg
ICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvVE1QTF9M
T09QPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgIDxUTVBMX0lGIFBBR0VTPjxicj5Q
YWdlczogPFRNUExfVkFSIFBBR0VTPjwvVE1QTF9JRj4KCiAgICAgICAgICAgIDxUTVBMX0lG
IFBSRVZfQ09VTlQ+CiAgICAgICAgICAgICAgICA8YSBocmVmPSI8VE1QTF9WQVIgUVVFUllf
SFJFRj4mYW1wO3N0YXJ0PTxUTVBMX1ZBUiBQUkVWPiI+UHJldmlvdXMgPFRNUExfVkFSIFBS
RVZfQ09VTlQ+PC9hPgogICAgICAgICAgICA8L1RNUExfSUY+CiAgICAgICAgICAgIAogICAg
ICAgICAgICA8VE1QTF9JRiBORVhUPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iPFRNUExf
VkFSIFFVRVJZX0hSRUY+JmFtcDtzdGFydD08VE1QTF9WQVIgTkVYVD4iPk5leHQgPFRNUExf
VkFSIE5FWFRfQ09VTlQ+PC9hPgogICAgICAgICAgICA8L1RNUExfSUY+CgogICAgICAgIDwv
VE1QTF9JRj4KCiAgICAgICAgPGhyPgogICAgICAgIDxzbWFsbD5Qb3dlcmVkIGJ5IDxlbT5T
d2lzaC1lPC9lbT4gPGEgaHJlZj0iaHR0cDovL3N3aXNoLWUub3JnIj5zd2lzaC1lLm9yZzwv
YT48L3NtYWxsPgogICAgICAgIDxUTVBMX0lGIE1PRF9QRVJMPgogICAgICAgICAgICBQb3dl
cmVkIGJ5OiA8aW1nIHNyYz0iaHR0cDovL3BlcmwuYXBhY2hlLm9yZy9sb2dvcy9tb2RfcGVy
bC5naWYiPgogICAgICAgIDwvVE1QTF9JRj4KICAgICAgICA8cD4KICAgICAgICAgIDxhIGhy
ZWY9Imh0dHA6Ly93d3cudGhpc3NpdGUubmV0Ij48aW1nIGJvcmRlcj0iMCIKICAgICAgICAg
ICAgICBzcmM9Ii4uL1RoaXNTaXRlbG9nby5naWYiIGFsdD0iVGhpcyBTaXRlIj48L2E+CiAg
ICAgICAgPC9wPgoKICAgICAgICAKICAgICAgICAKICAgIDwvYm9keT4KPC9odG1sPgoKCg==
------=____1087386605729_kV-A2mGXeZ--
Received on Wed Jun 16 11:51:09 2004