mò -á¸Ec@såddd!ZdklZdfd„ƒYZd„Zd„Zd„Zd iƒZd iƒZ d iƒZ x$eD]Z e ee ee ƒƒqsWx$e D]Z e ee ee ƒƒqšWx$e D]Z e ee ee ƒƒqÁWd S( s$Revision: 1.2 $i iþÿÿÿ(sescapet TaintedStringcBsøtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZeZRS(NcCs ||_dS(N(tvaluetselft_value(RR((t7/data/zmath/zope/lib/python/ZPublisher/TaintedString.pyt__init__scCs|iS(N(RR(R((Rt__str__scCst|iƒƒS(N(treprRtquoted(R((Rt__repr__scCst|i|ƒS(N(tcmpRRto(RR ((Rt__cmp__!scCs t|iƒS(N(thashRR(R((Rt__hash__$scCs t|iƒS(N(tlenRR(R((Rt__len__'scCs1|i|}d|jo|i|ƒ}n|S(Nt<(RRtindextvt __class__(RRR((Rt __getitem__*s  cCsRt|dƒ}t|dƒ}|i||!}d|jo|i|ƒ}n|S(NiR(tmaxtitjRRRR(RRRR((Rt __getslice__0s  cCs|i|i|ƒS(N(RRRR (RR ((Rt__add__8scCs|i||iƒS(N(RRR R(RR ((Rt__radd__;scCs|i|i|ƒS(N(RRRR (RR ((Rt__mul__>scCs|i||iƒS(N(RRR R(RR ((Rt__rmul__AscCs|i|i|ƒS(N(RRRR (RR ((Rt__mod__DscCs t|iƒS(N(tintRR(R((Rt__int__GscCs t|iƒS(N(tfloatRR(R((Rt __float__JscCs t|iƒS(N(tlongRR(R((Rt__long__MscCstdƒ‚dS(NsA TaintedString cannot be pickled. Code that caused this TaintedString to be stored should be more careful with untrusted data from the REQUEST.(t SystemError(R((Rt __getstate__PscCst|i|ƒS(N(tgetattrRRta(RR(((Rt __getattr__WscGs|i|ii|ŒƒS(N(RRRtdecodetargs(RR+((RR*\scGs|i|ii|ŒƒS(N(RRRtencodeR+(RR+((RR,_scGs|i|ii|ŒƒS(N(RRRt expandtabsR+(RR+((RR-bscGs6|ii|Œ}d|jo|i|ƒ}n|S(NR(RRtreplaceR+RR(RR+R((RR.es cGs(|ii|Œ}t|id„|ƒS(NcCsd|jo ||ƒp|S(NR(Rtc(RR/((Rtms(RRtsplitR+trtmapR(RR+R2((RR1kscGs(|ii|Œ}t|id„|ƒS(NcCsd|jo ||ƒp|S(NR(RR/(RR/((RR0qs(RRt splitlinesR+R2R3R(RR+R2((RR4oscGs6|ii|Œ}d|jo|i|ƒ}n|S(NR(RRt translateR+RR(RR+R((RR5ss cCst|idƒS(Ni(tescapeRR(R((RRys(t__name__t __module__RRR R RRRRRRRRRR R"R$R&R)R*R,R-R.R1R4R5Rt __untaint__(((RRs6                          cCs |d„S(NcCs|it|i|ƒƒƒS(N(tsRR'Rtf(R:R;((RR0s(tfunc(R<((RtcreateSimpleWrapper€scCs |d„S(NcCs|it|i|ƒ|ƒƒS(N(R:RR'RR;R((R:R(R;((RR0„s(R<(R<((RtcreateOneArgWrapperƒscCs d|d„S(NcCs|it|i|ƒ|ƒƒS(N(R:RR'RR;R((R:R(R;((RR0‡s(tNoneR<(R<((RtcreateOneOptArgWrapper†ss%capitalize lower swapcase title upperscenter join ljust rjustslstrip rstrip stripN( t __version__tcgiR6RR=R>R@R1tsimpleWrappedMethodstoneArgWrappedMethodstoneOptArgWrappedMethodsR;tsetattr( R;R>R@RR6R=RERARCRD((Rt?s"  i