Viewing File: /usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyc

ó
äFÑ^c@sbdZddlmZddlZddlZddlZddlZddlZddlZddl	Tddl
mZmZm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlTddlmZddlmZddlmZddlm Z ej!a!ej"ej#ƒd„Z$dZ%dZ&ye'e(fWne)k
r©dZ'dZ(nXej*ej+fZ,d„Z-dd„Z.d„Z/d„Z0d„Z1dd„Z2d„Z3d„Z4d „Z5d!„Z6d"„Z7d#„Z8d$„Z9d%„Z:d&„Z;d'd(„Z<d)„Z=dS(*s:Process and produce the list-administration options forms.iÿÿÿÿ(t
nested_scopesN(t*(tunquotet	parseaddrt
formataddr(tmm_cfg(tUtils(tMessage(tMailList(tErrors(t
MemberAdaptor(ti18n(tUserDesc(tAuth(tsyslog(tsha_new(t
csrf_checkcCs|S(N((ts((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytD_2ss
iiic
Cs«tjƒ}|stƒdS|djƒ}ytj|ddƒ}WnNtjk
r–}tj|ƒ}dGHttdƒƒt	dd||ƒdSXt
j|jƒt
jddƒ}y|jd	d
ƒWnptk
r?tƒ}|jtjƒ|jtdtdƒƒƒ|jttd
ƒƒƒdGH|jƒGHdSXdddddddg}|jƒ}t|ƒt|ƒr˜t||jd	ƒƒ}	nt}	|jdƒrÞtjjdƒ}
|
sÕd
tjd<nt}	n|j tj!tj"f|jdd
ƒƒs¡|j#dƒrtt$dtdƒƒƒjƒ}tjjdtjjdtjjddƒƒƒ}t	dd||ƒnd
}t%j&|d d!|ƒdSt'|ƒdkrÂd"}
d}n9t'|ƒdkrç|d}
d}n|d}
|d}|
d#krb|j)tj"ƒdd$kr7|j*tj"ƒGHn|j*tj!ƒGHt%j&|d d%dƒdS|
|j+ƒjƒkrƒd"}
nd}tjjd&ƒ}d}|r¹t
j,|ƒ}n|j#dƒrÚ|jdƒ}n:|r|jdƒ}|rt-|t.ƒr|d}qn|r+t/||ƒdStƒ}|j|jƒ|d'„}|j0ƒz?t1j1t1j2|ƒ|jƒr»|	r›t3||
|||ƒn|j4td(ƒƒ|j5ƒn|j6rñ|j7rñ|j4td)ƒd*td+ƒƒn|j8ƒ}|j6r/|r/|j4td,ƒd*td+ƒƒn|j9ƒ}|j7rm|rm|j4td-ƒd*td+ƒƒnt:|||
||ƒ|jƒGH|j;ƒWd|j<ƒXdS(.NitlocksStatus: 404 Not Founds&No such list <em>%(safelistname)s</em>terrorsadmin: No such list "%s": %s
tkeep_blank_valuesit
csrf_tokentitErrorsInvalid options to CGI script.sStatus: 400 Bad RequesttVARHELPtadminpwtadmlogintlettertchunkt
findmembertlegendtCPANELtHTTP_COOKIEs+1sAuthorization failed.tHTTP_FORWARDED_FORtHTTP_X_FORWARDED_FORtREMOTE_ADDRsunidentified origintsecuritys0Authorization failed (admin): list=%s: remote=%stadmintmsgtgeneraltlogouttsitet	frontpagetQUERY_STRINGcSs|jƒtjdƒdS(Ni(tUnlocktsystexit(tsignumtframetmlist((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytsigterm_handlerÎs
s6The form lifetime has expired. (request forgery check)s You have turned off delivery of both digest and
                non-digest messages.  This is an incompatible state of
                affairs.  You must turn on either digest delivery or
                non-digest delivery or your mailing list will basically be
                unusable.ttags	Warning: s“You have digest members, but digests are turned
                off. Those people will not receive mail.
                Affected member(s) %(dm)r.sÄYou have regular list members but non-digestified mail is
                turned off.  They will receive non-digestified mail until you
                fix this problem. Affected member(s) %(rm)r.(=Rt
GetPathPiecestadmin_overviewtlowerRR	tMMListErrortwebsafet_RRtset_languagetpreferred_languagetcgitFieldStoragetgetfirstt	TypeErrortDocumentRtDEFAULT_SERVER_LANGUAGEtAddItemtHeadertBoldtFormattkeystsetRtTruetgetvaluetostenvirontgettWebAuthenticatet
AuthListAdmint
AuthSiteAdminthas_keytFontSizeR
t	loginpagetlentNonetAuthContextInfot	ZapCookietGetConfigCategoriestparse_qst
isinstancetListTypetoption_helptLocktsignaltSIGTERMtchange_optionstaddErrortCheckValuest
digestablet
nondigestabletgetDigestMemberKeystgetRegularMemberKeystshow_resultstSaveR-(tpartstlistnameR2tetsafelistnametcgidatatdoctsafe_paramstparamstcsrf_checkedt	is_cpanelR'tremotetcategorytsubcattvarhelpt	qsenvirontparsedqstqsR3tdmtrm((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytmainBsæ	

						!
	
	

	
	


		Rc
Csòtjƒ}tdƒ}tƒ}|jtjƒ|j|ƒtddddƒ}|j	t
td|ƒƒgƒ|j|j
ƒddddtjƒg}tjƒ}|jƒxÅ|D]½}ytj|d	dƒ}Wntjk
ròqºnX|jrºtjrC|jjd
|ƒdkrC|jjd|ƒdkrCqºqw|j|jd
ƒ|jtj|jƒƒfƒqºqºW|rœt|ddddƒ}	nttdƒddƒ}	g}
ttjtdƒƒj ƒ}|sú|
j!|	tdƒgƒn|
j!|	tdƒgƒtj"dƒ}tj#ƒ}
|r@tdƒpCd}|
j!tdƒttj"dƒtdƒƒdtdƒtd|
|
ƒd gƒ|j	t$|
Œgƒ|jt%|j
ƒdƒdddƒ|r¹|j	d!d!gƒ|j	t&ttd"ƒddƒƒt&ttd#ƒddƒƒgƒd$}xƒ|D]x\}}}|j	t|t&|ƒƒ|pvt'td%ƒƒgƒ|r«tj(r«|j)|j
ƒdtj(ƒn|}q:Wn|j*|ƒ|j*d&ƒ|j*t+ƒƒ|j ƒGHdS('Ns(%(hostname)s mailing lists - Admin Linkstborderitwidths100%itcolspantbgcolorRs/%s/iÿÿÿÿs/%s:R&tcolortff5060tsizes+1sWelcome!s+2tMailmansh<p>There currently are no publicly-advertised %(mailmanlink)s
            mailing lists on %(hostname)s.s¾<p>Below is the collection of publicly-advertised
            %(mailmanlink)s mailing lists on %(hostname)s.  Click on a list
            name to visit the configuration pages for that list.tcreatesright RsRTo visit the administrators configuration page for an
        unadvertised list, open a URL similar to this one, but with a '/' and
        the %(extra)slist name appended.  If you have the proper authority,
        you can also <a href="%(creatorurl)s">create a new mailing list</a>.

        <p>General list information can be found at tlistinfosthe mailing list overview paget.s#<p>(Send questions and comments to s	mailto:%ss.)<p>s&nbsp;tListtDescriptionis[no description available]s<hr>(,Rt
get_domainR:RAR;RRBtSetTitletTabletAddRowtCenterRDtAddCellInfotGetCurrentRowIndextWEB_HEADER_COLORt
list_namestsortRR	tMMUnknownListErrort
advertisedtVIRTUAL_HOST_OVERVIEWtweb_page_urltfindtappendtGetScriptURLt	real_nameR9tGetDescriptiontFontAttrtLinktMAILMAN_URLRFtextendt	ScriptURLtget_site_emailt	ContainertmaxREtItalictWEB_HIGHLIGHT_COLORt
AddRowInfoRCtMailmanLogo(R'thostnameRRnttableR•t	listnamestnameR2tgreetingtwelcometmailmanlinkt
creatorurlt
mailman_ownertextrat	highlightturlR›tdescription((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR6sŒ	



		 
	
%!"


cCsvtƒ}|j|jƒd}|jdƒ}t|ƒdkrÞd}}t|ƒdkrk|\}}n$t|ƒdkr|\}}}n|j||ƒ}|rÞx1|D]&}	|	r®|	d|kr®|	}Pq®q®WqÞn|stdƒ}
|j|
ƒ|j	|j
ƒƒ|jƒGHdSt|ƒ\}}}}
}}|j
}tdƒ}tddƒ}|jttd|ƒƒgƒ|j|jƒdd	dd
tjƒ|jtdƒƒ|j	|ƒ|j	d|||fƒ|rù|j	d
|ƒn|rd|jdƒ||f}nd|jdƒ|f}t|d|dtƒ}tddddddƒ}t|||||ddƒ|j	|ƒ|j	dƒ|j	ttƒƒƒ|j	t|ƒƒ|j	tdƒƒ|jdƒ}|rd|||f}nd||f}|jƒ|d}|j	t|tdƒƒƒ|j	dƒ|j	|j
ƒƒ|jƒGHdS(Nt/iiisNo valid variable name found.sP%(realname)s Mailing list Configuration Help
    <br><em>%(varname)s</em> OptionR~s100%RR€s$Mailman %(varname)s List Option Helps<b>%s</b> (%s): %s<p>s%s<p>s%s/%s/%sR&s%s/%sR2tcontextstcellspacingtcellpaddingitdetailsps<p>sÙ<em><strong>Warning:</strong> changing this option here
    could cause other screens to be out-of-sync.  Be sure to reload any other
    pages that are displaying this option for this mailing list.  You can also
    s,return to the %(categoryname)s options page.s</em>(RAR;R<RUtsplitRTt
GetConfigInfoR:RaRCtGetMailmanFooterRFtget_item_characteristicsR›RŒRRŽRDRRRR‘R‹RštFormt
AUTH_CONTEXTStadd_options_table_itemt
submit_buttonRXRž(R2RvRntitemtreflistRtRutvarnametoptionstitbadtkindRptdependanciesRµtelaborationtrealnameRtheaderR´tformtvaltabtadminurltcategoryname((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR\psp	


		



	

cCs|jdƒ}|jƒ}t||dƒ}|j}|jtdƒƒ|jttdtdƒƒƒƒ|jdƒd}	|d?kr•d	}	n|rÉt	d
|||fd|	d|d
t
ƒ}
n(t	d||fd|	d|d
t
ƒ}
tddddƒ}|jtt
tdƒƒƒtt
tdƒƒƒgƒtƒ}|jt|jdƒtdƒƒƒ|jt|jdƒtdƒƒƒ|jt|jdƒtdƒƒƒ|jt|jdƒdtdƒƒjƒdƒtjr>|jƒtjkr>|jt|jdƒtd ƒƒjƒtd!ƒƒn|jtd"|d#td$ƒƒƒtƒ}
}d%}|jƒ}t|ƒd}d}d}x|D]ˆ}t||dƒ}d||f}||krã|j|ƒ}|rÀtjƒd&}x2|D]\}}||krPqqW|dd}g}xW|D]O\}}||krrt
d'|ƒjƒ}n|jt|d||ƒƒqAW|jt
|ƒjƒt|Œjƒƒqù|jt|t
d'|ƒƒƒn|jt||ƒƒ|d(7}||kr¤tƒ}}t|ƒ}q¤q¤Wtƒ}|j|
|gƒ|j|jƒddƒ|jrÍtd)ƒ}|jttd*t
|ƒƒƒgƒtj}|j|jƒdd+dd,|ƒn|j||gƒ|
j|ƒ|
jdƒ|
jtd-ƒd.ƒ|dkr‡tjƒd&}|d@krBd/}n|
jt |||||
ƒƒ|
jtt!d4ƒƒƒ|d/krú|
jd5ƒtddƒ}|jttdtd6ƒƒƒgƒ|j|jƒdd+dd,tj"ƒ|jd7d7gƒ|jtd8ƒgƒ|j|jƒdd+dƒ|jt#d9td:ƒtd;ƒf|j$ƒt%d<td=ƒƒgƒ|
j|ƒqúns|d>krÅ|
jtt&|ƒƒƒ|
jtt!ƒƒƒn5|
jt'|||||ƒƒ|
jtt!ƒƒƒ|j|
ƒ|j|j(ƒƒdS(ANR&is'%(realname)s Administration (%(label)s)is=%(realname)s mailing list administration<br>%(label)s Sections<hr>t	autoreplytmemberssmultipart/form-datas%s/%s/%stencodingR2R·s%s/%stvalignttopR~s100%sConfiguration CategoriessOther Administrative Activitiestadmindbs"Tend to pending moderator requestsR†s'Go to the general list information pagetedithtmls)Edit the public HTML pages and text filestprivateR¶sGo to list archivess<br>&nbsp;<br>trmlistsDelete this mailing lists& (requires confirmation)<br>&nbsp;<br>s	%s/logouts <FONT SIZE="+2"><b>%s</b></FONT>tLogoutRiÿÿÿÿs[%s]is3Emergency moderation of all list traffic is enableds?VARHELP=general/emergencyRR€syMake your changes in the following section, then submit them
        using the <em>Submit Your Changes</em> button below.s<p>tlisttaddtremovetchangetsynctsetmemberopts_btns<hr>
sAdditional Member Taskss&nbsp;s\<li>Set everyone's moderation bit, including
            those members not currently visiblet
allmodbit_valtOfftOnt
allmodbit_btntSett	passwords(s	autoreplysmembers(slistsaddsremoveRßRà()RšRXR:R›R‹RCRŽRDRUR¿RÀRŒRREt
UnorderedListRžRFRt!OWNERS_CAN_DELETE_THEIR_OWN_LISTSt
internal_nametMAILMAN_SITE_LISTRGRTtGetConfigSubCategoriesRR5R™R§Rt	emergencytWEB_ERROR_COLORRtmembership_optionsRÂR‘tRadioButtonArraytdefault_member_moderationtSubmitButtontpassword_inputstshow_variablesR½(R2RnRtRuRmRÐt
categoriestlabelRÌRÔRÎt	linktablet
otherlinkstcategorylinks_1t
categorylinkstcategorylinks_2tcategorykeysthalftcountertkR´tsubcatstvtsubcat_itemstsubttexttetableRRª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRgºsâ	
			

"#

				

	
%
	
	
cCs|j||ƒ}tddddddƒ}|jƒ}t||dƒ}|jttd|ƒƒgƒ|j|jƒdd	dd
t	j
ƒ|d}	t|	tƒrã|j|	gƒ|j|jƒdd	dƒ|d}n|sí|S|jtt
tdƒƒƒtt
td
ƒƒƒgƒ|jt|jƒdƒdddƒ|jt|jƒdƒdddƒxq|D]i}
t|
ƒtkrÈ|jtt|
ƒƒgƒ|j|jƒdd	dƒqut|||||
ƒquW|jdgƒ|j|jƒdd	dƒ|S(NR¸iR¹iR~s100%iiRR€iR‰tValues15%s85%s<br>(R¼RŒRXR:RRŽRDRRRR‘RZt
StringTypeRER¤ttypeR¥RÁ(R2RtRuRmRnRÆRªRõRöRµRÃ((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRôOs8



c
CsÁt|ƒ\}}}}	}
}|dkr3|
}nt|||||
||ƒ}
t||||||	ƒ}|j|
|gƒ|j|jƒddtjƒ|j|jƒddtjƒdS(NiR€i(	R¾RUtget_item_gui_descriptiontget_item_gui_valueRRRRtWEB_ADMINITEM_COLOR(
R2RtRuRªRÃRºRÅRÉRpR²tdescrRËtval((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRÁs	
cCs‚t|ƒdkr0d}|\}}}}}n<t|ƒdkr]|\}}}}}}nttdƒ‚||||||fS(Niis'Badly formed options entry:
 %(record)s(RTRUt
ValueErrorR:(trecordRËRÅRÉRpRÊR((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR¾s
cCsxd}|jƒ|\}}t|dƒrF|j||||ƒ}n|dkrt|jdƒrtt||ƒ}n|tjks’|tjkrç|jdƒrªd}	n|}	|dkrÓtj	rÓ|	d}	nt
|||	|ƒS|tjks#|tjks#|tj
ks#|tjkr3t|||ƒS|tjkr||rW|\}
}nd\}
}t||prd|
|ƒS|tjtjfkrÝ|r©|\}
}nd\}
}tj|ƒ}t|||
|ddƒS|tjkr|r|\}
}nd\}
}tƒ}
|
jtd	ƒƒ|
jt||p>d|
|ƒƒ|
jtd
ƒƒ|
jt|d|
|ƒƒ|
S|tjkrò|r¦|\}}}n9|jƒ}ttttj|ƒƒ}|j|j ƒ}t!||||ƒS|tj"krt#ddƒ}t$|d
„}d}t||ƒ}x:|D]2\}}}}||||||ƒ|d7}q;W|dkr™||ddddt%ƒn|S|tj&krBt#ddƒ}t$|d„}d}t||ƒ}x4|D],\}}}|||||ƒ|d7}qæW|dkr>||dtj'dt%ƒn|S|tj(kr^t)||ŒSdstt*d|ƒ‚dS(s.Return a representation of an item's settings.tgetValueR:itsubscribe_policyiRtwraptoffs(<em>Enter the text below, or...</em><br>s,<br><em>...specify a file to upload</em><br>t_uploadR}c
SsØd|}d|}d|}d|}	d|}
d|}d|}|rz|jtttdƒƒƒt|ƒgƒn4|jtttdƒƒƒt|td	ƒƒgƒ|jttd
ƒƒt|d|dd
ƒgƒ|jttdƒƒt|d|dddd
ddƒgƒ|jttdƒƒt|	d|dddd
ddƒgƒ|s¨|jt|tdƒƒt	|
d"tdƒtdƒfddƒgƒn|jdgƒ|j
|jƒdd d!ƒdS(#Nstopic_delete_%02dstopic_box_%02dstopic_rebox_%02dstopic_desc_%02dstopic_where_%02dstopic_add_%02dstopic_new_%02dsTopic %(i)dtDeletesTopic name:tvalueRƒisRegexp:RtrowsitcolsRRsDescription:tsoftsAdd new item...tbeforetafters...before this one.s...after this one.tselectedis<hr>iRi(Rsafter(RRŽRER:tHiddenRòtLabeltTextBoxtTextAreat
SelectOptionsRR(
RÇR¬tpatterntdesctemptyRªtdeltagtboxtagtreboxtagtdesctagtwheretagtaddtagtnewtag((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytmakeboxís8






		R$cSscd|}d|}d|}d|}d|}	d|}
d|}d|}|r„|jtttd	ƒƒƒt|
ƒgƒn4|jtttd	ƒƒƒt|td
ƒƒgƒ|jttdƒƒt|d|d
dddddƒgƒtj	tj
tjtjtj
g}
y|
j|ƒ}Wntk
rEd}nXt|tdƒtdƒtdƒtdƒtdƒfd|
d|ƒjƒ}|jttdƒƒ|gƒ|s3|jt|	tdƒƒt|d(tdƒtd ƒfd!d"ƒgƒ|jt|td#ƒƒt|td$ƒƒgƒn|jd%gƒ|j|jƒdd&d'ƒdS()Nshdrfilter_delete_%02dshdrfilter_rebox_%02dshdrfilter_action_%02dshdrfilter_where_%02dshdrfilter_add_%02dshdrfilter_new_%02dshdrfilter_up_%02dshdrfilter_down_%02dsSpam Filter Rule %(i)dRsSpam Filter Regexp:RRiRiRRitDefertHoldtRejecttDiscardtAccepttvaluestcheckedsAction:sAdd new item...RRs...before this one.s...after this one.RisMove rule upsMove rule downs<hr>Ri(sbeforesafter(RRŽRER:RRòRR RtDEFERtHOLDtREJECTtDISCARDtACCEPTtindexRRðRFR!RR(RÇR"tactionR$RªR%R't	actiontagR)R*R+tuptagtdowntagR2R3tradio((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR,sN









		
sBad gui widget type: %sN(NN(NN(NN(+RURXthasattrRt
startswithtgetattrRtRadiotToggletALLOW_OPEN_SUBSCRIBERðtStringtEmailtHosttNumberRtTextR t	EmailListtEmailListExtNLtjoint
FileUploadR£RCR:tSelecttGetAvailableLanguagestmapRtGetLanguageDescrR9R<R!tTopicsRŒtFalseRItHeaderFilterR4tCheckboxt
CheckBoxArraytAssertionError(R2RtRÉRÅRpR²RRötguiR3trtctrest	containerR2RRRªR,RÇtdataR¬R"R#R$R:((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR
¥sŠ		
	" /
cCsß|rš|r"d|||f}nd||f}||krMtdƒ}ntdƒ}t|jdƒ||ƒjƒ}	td||	fƒjƒ}
nt|ƒjƒ}
|ddkrÛ|
ttd	ƒƒjƒ7}
n|
S(
Ns/?VARHELP=%s/%s/%ss/?VARHELP=%s/%ss<br>(Edit <b>%(varname)s</b>)s$<br>(Details for <b>%(varname)s</b>)R&s%s %siR:sˆ<br><em><strong>Note:</strong>
        setting this value performs an immediate action but does not modify
        permanent state.</em>(R:RžRšRFR(R2RtRuRÅRRËRºRvtlinktexttlinkR((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR	^s	cECsG|jdddƒ}tƒ}tddƒ}|dkr¡|jttdtdƒƒƒgƒ|j|jƒd	d
ddt	j
ƒ|j|ƒt||ƒ|S|dkr|jttdtd
ƒƒƒgƒ|j|jƒd	d
ddt	j
ƒ|j|ƒt
||ƒ|S|dkr‰|jttdtdƒƒƒgƒ|j|jƒd	d
ddt	j
ƒ|j|ƒt||ƒ|S|dkrý|jttdtdƒƒƒgƒ|j|jƒd	d
ddt	j
ƒ|j|ƒt||ƒ|S|jttdtdƒƒƒgƒ|j|jƒd	d
ddt	j
ƒ|j|ƒtddƒ}tdtdƒƒjƒ}	|jttdƒƒtdd|jddƒƒtdtdƒƒgƒ|j|ƒ|jdƒtddddƒ}
|j}g|jƒD]}|jƒ^q}
|
jd„ƒ|jddƒjƒ}y|jtj|jƒƒ}Wntk
r~nX|r=yt j!|t j"ƒ}Wn+t j#k
rË|j$td ƒ|ƒq=Xg|
D]}|j%|ƒpëd^qÓ}gt&||
ƒD]0\}}|j'|ƒs.|j'|ƒr|^q}
nd}d}d}t)|
ƒ|krj|
}nÊi}x7|
D]/}|j*|d	j+ƒgƒ}|j,|ƒqwWd}i}t-j.j/d!ƒ}|rüt0j1|ƒ}|j/d"d#ƒd	j+ƒ}n|j2ƒ}|jƒ|s)|j3|ƒr6|d	}n||}|d$|}t)|ƒ|krp|j4|ƒnÄt5t)|ƒ|ƒ\}}||d} d	}|j3d%ƒryt6|d%d	ƒ}Wnt7k
rád	}nX|d	ksú|| krd	}qn||||d|!}|j4|d&|ƒt)|
ƒ}!|rwt)|ƒ}"|
jtt8td'ƒƒƒgƒn"|
jtt8td(ƒƒƒgƒ|
j|
jƒ|
j9ƒd
t:dt	j;ƒ|rÃg}#xÈ|D]À}$d}%|rÿd)t<j=|ƒ}%n|d*|$|%}&t>|&t?ƒrD|&jtj|jƒd+d,ƒ}&n|$|krot@d-|$jAƒƒjƒ}'n|$jAƒ}'|#j,t|&|'ƒjƒƒq×Wdg}(|
jt|(jB|#ƒƒgƒn|
j|
jƒ|
j9ƒd
t:dt	j;ƒ|
jgtd0ƒtd1ƒtd2ƒtd3ƒtd4ƒtd5ƒtd6ƒtd7ƒtd8ƒtd9ƒtd:ƒfD]})t|)ƒ^q^ƒ|
jƒ}*x-tCt:ƒD]}|
j|*|dt	j;ƒqWd	}+|r	tDdg|D]}|j%|ƒ^q̃}tEg||D]}t)|ƒ^qøƒ}+nitd;ƒtFjG6td<ƒtFjH6td=ƒtFjI6td>ƒtFjJ6},x|D]ý}t<j=|ƒ}-t|jK|d?dƒ|jL|ƒƒ}	tjM|j%|ƒ|jƒ}.t|-d@|.dA|+ƒjƒ}/ttN|-dBdCd	ƒjƒdDtd0ƒdEƒ|	jƒdF|/tOdG|-ƒjƒg}#|jP|t	jQƒr[
dH}0d}1ndC}0d	}1tNdI|-|0|1ƒ}2|#j,t|2jƒdDtd2ƒdEƒƒtd3ƒtdJƒtd5ƒtdKƒtd7ƒfxédhD]á}3dDt|3ƒdE}4|3dJkrT|jR|ƒ}5|5tFjSkr3dC}0d	}1qˆdH}0d}1d-|,|5|4}4n4|jP|t	jT|3ƒr|dH}0d}1ndC}0d	}1tNdL|-|3f|0|1ƒ}2|#j,t|2jƒ|4ƒƒqà
WdDtd8ƒdE}4||jUƒkr|#j,ttN|-dMdCd	ƒjƒ|4ƒƒn-|#j,ttN|-dMdHdƒjƒ|4ƒƒ|jP|t	jTd9ƒrpdH}0d}1ndC}0d	}1|#j,ttNdN|-|0|1ƒjƒdDtd9ƒdEƒƒ|jV|ƒ}6|jWƒ}7g|7D]}8ttjX|8ƒƒ^qÙ}9y|7jY|6ƒ}:Wnt7k
r&
d	}:nX|#j,ttZ|-dO|7|9|:ƒƒjƒƒ|
j|#ƒqc	Wt[ƒ};|;jtdPƒƒ|;jtdQƒƒ|;jtdRƒƒ|;jtdSƒƒ|;jtdTƒƒ|;jtdUƒƒ|;jtdVƒƒ|;jtdWƒƒ|;jtdXƒƒ|;jtdYƒƒd}<d	}=t-j.j/d!ƒ}|r¡t0j1|ƒj/dZƒ}|r‰t>|t\ƒr‰|d	}n|d[kr¡d\}<q¡n|<rá|j|;jƒd]ƒ|jt|d^td_ƒƒƒn |jt|d`tdaƒƒƒ|jt|
ƒƒ|dk	rCg}>|db|<|f}&tdcƒ}?||}@t)|@ƒ}AxºtC| ƒD]¬}||krqin|@||}B|@t]|d||Aƒd}C|&dd||%}Dt>|Dt?ƒró|Djtj|jƒd+d,ƒ}Dnt|Dtdeƒƒ}	|>j,|	ƒqiWt[|>Œ}>|j|?|>jƒd]ƒn|S(iNR&tabsoluteiR~s100%RÝisMass SubscriptionsiRR€RÞs
Mass RemovalsRßsAddress ChangeRàsSync Membership ListsMembership ListsChttps://docs.python.org/2/library/re.html#regular-expression-syntaxs(help)sFind member %(link)s:RRRtfindmember_btns	Search...s<hr><p>s90%R}t2cSst|jƒ|jƒƒS(N(tcmpR7(txty((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyt<lambda>³ssBad regular expression: R,Rt0s/members?letter=%sRs	&chunk=%ss-%(allcnt)s members total, %(membercnt)s showns%(allcnt)s members totals&findmember=s/members?letter=terrorstignores[%s]s&nbsp;s
tunsubsmember address<br>member nametmodthidesnomail<br>[reason]tacks	not metootnodupestdigesttplaintlanguaget?tUtAtBtobscuret	_realnameRƒt_unsubRs<div class="hidden">s</div>s<br>tusertons%s_modtnomailtnotmetoos%s_%st_digests%s_plaint	_languages8<b>unsub</b> -- Click on this to unsubscribe the member.sš<b>mod</b> -- The user's personal moderation flag.  If this is
        set, postings from them will be moderated, otherwise they will be
        approved.sT<b>hide</b> -- Is the member's address concealed on
        the list of subscribers?sä<b>nomail</b> -- Is delivery to the member disabled?  If so, an
        abbreviation will be given describing the reason for the disabled
        delivery:
            <ul><li><b>U</b> -- Delivery was disabled by the user via their
                    personal options page.
                <li><b>A</b> -- Delivery was disabled by the list
                    administrators.
                <li><b>B</b> -- Delivery was disabled by the system due to
                    excessive bouncing from the member's address.
                <li><b>?</b> -- The reason for disabled delivery isn't known.
                    This is the case for all memberships which were disabled
                    in older versions of Mailman.
            </ul>sJ<b>ack</b> -- Does the member get acknowledgements of their
        posts?sW<b>not metoo</b> -- Does the member want to avoid copies of their
        own postings?sW<b>nodupes</b> -- Does the member want to avoid duplicates of the
        same message?sb<b>digest</b> -- Does the member get messages in digests?
        (otherwise, individual messages)sf<b>plain</b> -- If getting digests, does the member get plain
        text digests?  (otherwise, MIME)s1<b>language</b> -- Language preferred by the userRtyesslegend=yes&s<p>s
/members/lists-Click here to hide the legend for this table.s/members/list?legend=yess0Click here to include the legend for this table.s/members?%sletter=%s&sV<p><em>To view more members, click on the appropriate
        range listed below:</em>schunk=%dsfrom %(start)s to %(end)ss&nbsp;&nbsp;s
&nbsp;&nbsp;
(shidesnomailsacksnotmetoosnodupes(^RšR£RŒRRŽRDR:RRRR‘RCtmass_subscribetmass_removetaddress_changet	mass_syncRžRFRRR?Ròtadmin_member_chunksizet
getMemberstencodeR“tstriptdecodeRt
GetCharSetR<tUnicodeDecodeErrortretcompilet
IGNORECASERRat
getMemberNametziptsearchRURTt
setdefaultR7R™RKRLRMR=RYRGRQt
set_actiontdivmodtintRR¥tGetCurrentCellIndext
OPTCOLUMNSRturllibtquoteRZtunicodeREtupperRMtrangetfilterR¤R
tUNKNOWNtBYUSERtBYADMINtBYBOUNCEt
GetOptionsURLtgetMemberCPAddresst
uncanonstrtCheckBoxRtgetMemberOptiontModeratetgetDeliveryStatustENABLEDtOPTINFORftgetMemberLanguageRPRRR9R!RèR[tmin(ER2RuRmRnRÎRÐR]RÍRªR`t	usertabletchunkszt_mtalltregexptcreRtnamestntat
chunkindextbuckett	actionurlRÓtbucketstaddrRyRwRGR:RÇRZt	numchunkstallcntt	membercnttcellsRtfindfragR´tshowtjoinerthtrowindextlongestt
ds_abbrevstqaddrtfullnameR¬RR3tboxtoptR²tstatustlangpreftlangstlangt	langdescsRRt	addlegendRxtbuttonstfootertchunkmemberstlasttstarttendtthisurl((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRïzs 	%


%


%


%


%

	

	%
(-	





"

 "
			&+,
.		"1
		!""		2(

	


	








	
cCs÷tj}tddƒ}|jttdƒƒtdtdƒtdƒftjdd!ƒgƒ|j|j	ƒdd
|ƒ|j|j	ƒd	d
|ƒ|jttdƒƒtdtd
ƒtdƒf|j
dd"ƒgƒ|j|j	ƒdd
|ƒ|j|j	ƒd	d
|ƒ|jttdƒƒtdtd
ƒtdƒf|jdd#ƒgƒ|j|j	ƒdd
|ƒ|j|j	ƒd	d
|ƒ|jttdƒƒgƒ|j|j	ƒdddƒ|jt
tddddddddƒƒgƒ|j|j	ƒdddƒ|jtttdƒƒƒtdddƒgƒ|jt
|ƒƒ|jddgƒ|jttdƒƒgƒ|j|j	ƒdddƒ|jt
tdd ddddddƒƒgƒ|j|j	ƒdddƒdS($NR~s90%s)Subscribe these users now or invite them?tsubscribe_or_invitet	SubscribetInviteR2iiR€s)Send welcome messages to new subscribers?tsend_welcome_msg_to_this_batchtNotYess:Send notifications of new subscriptions to the list owner?t send_notifications_to_list_owners#Enter one address per line below...RiR¬tsubscribeesRi
Rs70%Rs...or specify a file to upload:tsubscribees_uploadt50s&nbsp;sŸBelow, enter additional text to be added to the
    top of your invitation or the subscription notification.  Include at least
    one blank line at the end...t
invitation(ii(ii(ii(RRRŒRRR:RðtDEFAULT_SUBSCRIBE_OR_INVITERRtsend_welcome_msgtadmin_notify_mchangesR¥RŽR RURNRC(R2R]tGREYRª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRÑsR		
	
	
cCsÞtj}tddƒ}|jttdƒƒtdtdƒtdƒfdddƒgƒ|j|jƒdd
|ƒ|j|jƒd	d
|ƒ|jttdƒƒtdtdƒtdƒf|j	ddƒgƒ|j|jƒdd
|ƒ|j|jƒd	d
|ƒ|jt
td
ƒƒgƒ|j|jƒdddƒ|jttddddddddƒƒgƒ|j|jƒdddƒ|jt
ttdƒƒƒtdddƒgƒ|jt|ƒƒdS(NR~s90%s0Send unsubscription acknowledgement to the user?tsend_unsub_ack_to_this_batchRÛRÜiR2iR€s%Send notifications to the list owner?t&send_unsub_notifications_to_list_owners#Enter one address per line below...RiR¬t
unsubscribeesRi
Rs70%Rs...or specify a file to upload:tunsubscribees_uploadRà(ii(ii(RRRŒRRR:RðRRRäR¥RŽR RURNRC(R2R]RåRª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR‚s2		
cCs¥tj}tddƒ}|jttdƒƒgƒ|j|jƒdddƒ|jttdƒƒt	dd	ƒt
d
ddƒjƒdtd
ƒgƒ|j|jƒdd|ƒ|j|jƒdd|ƒ|j|jƒdd|ƒ|jttdƒƒt	ddƒt
dddƒjƒdtd
ƒgƒ|j|jƒdd|ƒ|j|jƒdd|ƒ|j|jƒdd|ƒ|jt
|ƒƒdS(NR~s90%s²To change a list member's address, enter the
    member's current and new addresses below. Use the check boxes to send
    notice of the change to the old and/or new address(es).iRisMember's current addressR¬tchange_fromt
notice_oldR€s&nbsp;sSend noticeR€iisAddress to change tot	change_tot
notice_new(RRRŒRR¥R:RRRRR¥RFRCRŽ(R2R]RåRª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRƒ$s,	cCsÜtddƒ}|jttdƒƒgƒ|j|jƒdddƒ|jttddd	d
ddd
dƒƒgƒ|j|jƒdddƒ|jtt	tdƒƒƒt
dddƒgƒ|jt|ƒƒdS(NR~s90%s#Enter one address per line below...iRiR¬t
memberlistRi
Rs70%Rs...or specify a file to upload:tmemberlist_uploadRà(RŒRR¥R:RRRŽR RURRNRC(R2R]Rª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR„Dsc	Csm|jdddƒ}tddddƒ}|jttdtd	ƒƒƒgƒ|j|jƒd
dddtj	ƒ|jtd
ƒgƒ|j|jƒd
ddƒtdd
dddddtj
ƒ}|jttdƒƒtdddƒgƒ|jttdƒƒtdddƒgƒtdd
dddddtj
ƒ}|jttdƒƒtdddƒgƒ|jttdƒƒtdddƒgƒ|j||gƒ|jtdƒgƒ|j|jƒd
ddƒtdd
dddddtj
ƒ}|jttdƒƒtdddƒgƒ|jttdƒƒtdddƒgƒ|j|gƒ|S(NR&RaiR¸iR¹iisChange list ownership passwordsiRR€s\The <em>list administrators</em> are the people who have ultimate control over
all parameters of this mailing list.  They are able to change any list
configuration variable available through these administration web pages.

<p>The <em>list moderators</em> have more limited permissions; they are not
able to change any list configuration variable, but they are allowed to tend
to pending administration requests, including approving or rejecting held
subscription requests, and disposing of held postings.  Of course, the
<em>list administrators</em> can also tend to pending requests.

<p>In order to split the list ownership duties into administrators and
moderators, you must set a separate moderator password in the fields below,
and also provide the email addresses of the list moderators in the
<a href="%(adminurl)s/general">general options section</a>.R}s!Enter new administrator password:tnewpwRƒisConfirm administrator password:t	confirmpwsEnter new moderator password:tnewmodpwsConfirm moderator password:tconfirmmodpws_In addition to the above passwords you may specify a password for
pre-approving posts to the list. Either of the above two passwords can
be used in an Approved: header or first body line pseudo-header to
pre-approve a post that would otherwise be held for moderation. In
addition, the password below, if set, can be used for that purpose and
no other.sEnter new poster password:t	newpostpwsConfirm poster password:t
confirmpostpw(
RšRŒRRŽRDR:RRRR‘tWEB_ADMINPW_COLORRtPasswordBox(R2RÐRªtatabletmtabletptable((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRóRs@%
	
	
tsubmitcCs`tddddddƒ}|jtt|tdƒƒƒgƒ|j|jƒdddƒ|S(	NR}iR¸R¹isSubmit Your Changestaligntmiddle(RŒRRERòR:RR(R¬Rª((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyRÂŒs%cGsd‡fd†}d}ˆjddƒjƒ}ˆjddƒjƒ}|sT|rŽ||krxt|ƒjƒ|_qŽ|jtdƒƒnˆjddƒjƒ}ˆjddƒjƒ}|sÊ|r||krît|ƒjƒ|_q|jtd	ƒƒnˆjd
dƒjƒ}ˆjddƒjƒ}|s@|r‹||krut|ƒjƒ|_	|j
tjƒGHq‹|jtdƒƒn|j
ƒ}	|	|\}
}|d
krÏ|j|||ˆ|ƒnd}|ˆjddƒ7}|ˆjddƒ7}|r¢tdg|jƒD]}
|
jƒ^qƒ}|d|jƒ}|d|jƒ}|ddƒ}ˆjddƒ}|j}|js•d}n|js§d}ng}g}xì|D]ä}tj|ƒ}t|ƒ\}}tj||jƒ}t||tjƒ||jƒ}yo|rN|j|ƒr;tj‚q…|j ||ƒn7t!atdƒ}t"ja|j#||||d|ƒWnätjk
rµ|j$|tdƒfƒqºtj%k
r|j&dkrö|j$tdƒtdƒfƒqž|j$|tdƒfƒqºtj'k
r>|j$|tdƒfƒqºtj(k
rl}|j$|tdƒfƒqºXtj)t*||fƒƒ}|j$tj|ƒƒqºW|r|rÍ|j+t,dtdƒƒƒn|j+t,dtdƒƒƒ|j+t-|Œƒ|j+dƒn|r¢|r7|j+t,dtd ƒƒƒn|j+t,dtd!ƒƒƒg|D]\}}d"||f^qZ} |j+t-| Œƒ|j+dƒq¢nd}!ˆj.d#ƒrË|!ˆd#j/7}!nˆj.d$ƒrûˆd$j/rû|!ˆd$j/7}!n|!rœtdg|!jƒD]}
|
jƒ^qƒ}"|d%|jƒ}#|d&|j0ƒ}$g}%g}&x|"D]‡}'yTt!atd'ƒ}t"ja|j1|'d|d(|#d)|$ƒ|&j$tj|'ƒƒWqftj2k
rì|%j$tj|'ƒƒqfXqfW|&r6|j+t,dtd*ƒƒƒ|j+t-|&Œƒ|j+dƒn|%rœ|j+t,d+t3t4td,ƒd-d.d/d0ƒƒj5ƒƒƒ|j+t-|%Œƒ|j+dƒqœnˆj.d1ƒrÈ
ˆjd1dƒ}(ˆjd2dƒ})tj|(ƒ}*tj|)ƒ}+t6},d}-|(o|)std3ƒ}-nv|(|)kr/td4ƒ}-n[|j|)ƒrMtd5ƒ}-n=ytj7|)ƒWn)tj%tj'fk
r‰td6ƒ}-nX|-r·|j+t,d+|-ƒƒ|j+dƒdSy|j8|(|)t6ƒWnutj2k
rðtd7ƒ}-nhtjk
r	td8ƒ}-nItj(k
rE	}.tjt9|.ƒƒ}/td9ƒ}-nXtd:ƒ}-t:},|j+t,d+|-ƒƒ|j;|)ƒ}0t"j<ƒ}1t"j=|0ƒ|j>ƒ}2tj?td;ƒƒ}3td<ƒ}4t"j@|1ƒ|,rD
ˆjd=dƒd>krD
tAjB|(|jCƒd?|3d@|4dA|0ƒ}-|-jD|ƒ|j+t,d+tdBƒƒƒn|,r¸
ˆjdCdƒd>kr¸
tAjB|)|jCƒd?|3d@|4dA|0ƒ}-|-jD|ƒ|j+t,d+tdDƒƒƒn|j+dƒnd}5|5ˆjEdEdƒ7}5|5ˆjEdFdƒ7}5|5r’dG„‰‡fdH†}6tdg|5jƒD]}
|6|
ƒ^q+ƒ}g|D],}7t|7ƒdrMt|7ƒdjFƒ^qM}8g}g}x†|D]~}tj|ƒ}t|ƒ\}}|j|ƒrÎq’ntj||jƒ}t||tjƒd|jƒ}y |j#|dddddIƒWn¸tj%k
r„|j&dkrh|j$tdƒtdƒfƒq
|j$|tdƒfƒq’tj'k
r°|j$|tdƒfƒq’tj(k
rÞ}|j$|tdƒfƒq’Xtj)t*||fƒƒ}|j$tj|ƒƒq’Wg}%g}&xt|jGƒD]f}||8kr-
y|j1|ddƒWn!tj2k
ry
|jH|ƒq“
X|&j$tj|ƒƒq-
q-
W|rÜ
|j+t,dtdƒƒƒ|j+t-|Œƒ|j+dƒn|rJ|j+t,dtd!ƒƒƒg|D]\}}d"||f^q} |j+t-| Œƒ|j+dƒn|&r’|j+t,dtd*ƒƒƒ|j+t-|&Œƒ|j+dƒq’nˆj.dJƒrÿ|dKƒ}9|9dbkrÏ|jtdLƒƒqÿx-|jGƒD]}|jI|tjJ|9ƒqÜWnˆj.dMƒrˆj.dNƒrˆdN}:tK|:ƒtLkr|g};xOtMtN|:ƒƒD]#}<|;j$tOjP|:|<j/ƒƒqRWntOjP|:j/ƒg};g}=g}>xŸ|;D]—}:tOjQ|:ƒ}?ˆj.dO|?ƒrAy?t!atdPƒ}t"ja|j1|:d|ƒ|>j$|:ƒWq¤tj2k
r:|=j$|:tdQƒfƒq¤Xq¤n|j|:ƒsu|jtdRƒdStdTƒƒq¤nˆj.dU|?ƒ}@y|jI|:tjR|@ƒWn)tjStjTtjUtjVfk
rÍnXˆj|?dVdƒ}Atj|A|jƒ}A|jW|:|Aƒˆj|?dWƒ}B|j;|:ƒ}CtjX|BƒrY|B|CkrY|jY|:|Bƒnˆj|?dXƒ}D|jI|:tjJ|Dƒˆj.dY|?ƒrÈ|jZ|:ƒt[j\krÛ|j]|:t[j^ƒqÛn|j]|:t[j\ƒx]dcD]U}Etj_|E}Fˆj.d_|?|Efƒr$|jI|:|Fdƒqâ|jI|:|FdƒqâWq¤W|>r„|j+t,dtd`ƒƒƒ|j+t-|>Œƒ|j+dƒn|=r|j+t,dtdaƒƒƒg|=D]}7d"|7d|7df^q­} |j+t`t-ta| ƒƒƒ|j+dƒqndS(dNcs6ytˆj|ƒƒSWnttfk
r1|SXdS(N(R•R?RR@(tformvart
defaultval(Rm(s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytsafeint–siRòRRós!Moderator passwords did not matchRôRõsPoster passwords did not matchRðRñs%Administrator passwords did not matchRÓRÞRßRÚRÝR×Ráisadmin mass subtwhencesAlready a members&lt;blank line&gt;sBad/Invalid email addresss$Hostile address (illegal characters)s$Banned address (matched %(pattern)s)isSuccessfully invited:sSuccessfully subscribed:s<p>sError inviting:sError subscribing:s%s -- %sRèRéRçRæsadmin mass unsubtadmin_notiftuseracksSuccessfully Unsubscribed:isCannot unsubscribe non-members:Rs#ff0000Rƒs+2RêRìs0You must provide both current and new addresses.s,Current and new addresses must be different.s(%(schange_to)s is already a list member.s,%(schange_to)s is not a valid email address.s %(schange_from)s is not a members"%(schange_to)s is already a members.%(schange_to)s matches banned pattern %(spat)ss2Address %(schange_from)s changed to %(schange_to)ss`The member address %(change_from)s on the
%(list_name)s list has been changed to %(change_to)s.
s$%(list_name)s address change notice.RëR€RtsubjectRÍs&Notification sent to %(schange_from)s.Rís$Notification sent to %(schange_to)s.RîRïcSstt|jdƒƒƒS(Ni(tunichrR•tgroup(tmo((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyti_to_cƒscstjdˆ|jƒƒS(Ns&#(\d+);(RŒRRˆ(Re(R(s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pytclean_input†ssadmin sync membersRåRâsBad moderation flag valueRáRzs%s_unsubsmember mgt pagesNot subscribeds,Ignoring changes to deleted member: %(user)sR4s	Warning: s	%s_digestRxRt_mods	%s_nomailRmRnR}RoRqs%s_%ssSuccessfully Removed:sError Unsubscribing:(ii(shidesacksnotmetoosnodupessplain(bRUR?RˆRt	hexdigesttmod_passwordRaR:t
post_passwordtpasswordt
MakeCookieRRORXt
handleFormRt
splitlinesRãRätdigest_is_defaultRcRdRR9RtcanonstrR<RtMakeRandomPasswordtisMemberR	tMMAlreadyAMembertInviteNewMemberRRtApprovedAddMemberR™tMMBadEmailErrortaddresstMMHostileAddresstMembershipIsBannedR¤RRCRDRèRQRtsend_goodbye_msgtApprovedDeleteMembertNotAMemberErrorRERRFRTt
ValidateEmailtApprovedChangeMemberAddresststrRIR«tget_translationR;tgetListAddressRtset_translationRtUserNotificationt
GetOwnerEmailtsendRJR7R†tremoveMembertsetMemberOptionR§RR[RœRTR˜RR™tDigeststAlreadyReceivingDigestst!AlreadyReceivingRegularDeliveriestCantDigestErrortMustDigestErrort
setMemberNamet
IsLanguagetsetMemberLanguageR¨R
R©tsetDeliveryStatusR Rªtapplyttuple(GR2RtRuRmRnRt	confirmedtnewtconfirmRõRöRYtsubscribersR´tentriesRãtsend_admin_notifR×RáRptsubscribe_errorstsubscribe_successtentryt	safeentryRÇRtuserdescRR"tmembertx0tx1titemstremovalsR³tsend_unsub_notificationsRtunsubscribe_errorstunsubscribe_successRºRêRìtschange_fromt
schange_totsuccessR'tpattspatRÍtotranst	list_nameRRRîR	Retlc_addressesR
RztuserstuiRitremovestquserRtnewnametnewlangtoldlangtmoderateRÉtopt_code((RmRs7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyR`”sp.					
					)
.
	

	
		
		
	(
,
			)
$
	


+(>t__doc__t
__future__RR.RKRŒR=R˜R^ttypestemail.UtilsRRRR„RRRRR	R
RtMailman.UserDescRtMailman.htmlformattMailman.CgiR
tMailman.Logging.SyslogRt
Mailman.UtilsRtMailman.CSRFcheckRR:R;RBRRLR—RIRTt	NameErrorRORPRÀR|R6R\RgRôRÁR¾R
R	RïRR‚RƒR„RóRÂR`(((s7/usr/local/cpanel/3rdparty/mailman/Mailman/Cgi/admin.pyt<module>sf

		

	Æh	J	•	0		¹		ÿX	3	 	 		:
Back to Directory File Manager