;ò *»%abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789cCs`g}xC|D];}|tjo|i|ƒq |idt|ƒƒq Wti|dƒSdS(s6Quote s so that it is safe for all common shells. s=%02xsN(sresssscs __safe_charssappendsordsstringsjoin(ssscsres((s6/mnt/gmirror/ports/security/fsh/work/fsh-1.2/fshlib.pys shell_quote/s cCs‘|djodSnti|dƒ}|dg}xF|dD]:}|itti|d dƒƒƒ|i|dƒq?Wti |dƒSdS(s,Unquote a string quoted by shell_quote. ss=iiiiN( sssstringssplitsfragssressfsappendschrsatoisjoin(sssfsressfrags((s6/mnt/gmirror/ports/security/fsh/work/fsh-1.2/fshlib.pys shell_unquote:s   #(sosserrnosstringssyssfcntls fshcompatsQUOTAs Exceptions cursor_eofscursors parse_lines hollerithsset_nonblockingsreadswrites print_versions fshd_sockets __safe_charss shell_quotes shell_unquote(sfcntlscursors shell_quotesstrings fshd_sockets cursor_eofsreadserrnosQUOTAs __safe_charsssyss print_versionswrites parse_lines shell_unquotes fshcompats hollerithsossset_nonblocking((s6/mnt/gmirror/ports/security/fsh/work/fsh-1.2/fshlib.pys?s$       Z I   1