ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ ;Pc@sddlTdddYZdddYZdddYZddd YZd efd YZd efd YZdefdYZdefdYZ dddYZ dddYZ dZ dse dkre ndS( i(t*t SpecObjectcBseZdZRS(cCs ||_dS(N(tmod(tselfR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt__init__+s(t__name__t __module__R(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR*stSpecEnvcBs,eZdZdZdZdZRS(cCs||_g|_g|_dS(N(Rt unknown_nodestfiles(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR4s  cCs dG|jGH|jj|dS(Nt add_unknown(ttagRtappend(Rtnode((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt visit_default9s cCs(dGHt||}|jj|dS(Nt visit_file(tFileEnvR R (RR tfile((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR=scCs t|fS(N(t GuppyWorld(Rtenv((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytget_predefined_subjectsBs(RRRRRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR3s   RcBsSeZdZdZdZddZdZdZdZ dZ RS( cCs~|j}||_|j|_|_i|_x'|j|D]}||j|jWt|||j}|j|dS(N(RtargtnametfilenametsubjectsRtSubjecttchildren_accept(RRR RtsR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRGs   cCs,|j}|j||}|j|dS(N(Rt find_subjectt add_aspects(RR Rtsubject((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytvisit_aspects_ofTs cCsU||jkrD|j|d||j|j|jd|n ||j|R"R?(RR RR>R"R?((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRs    cCs#d|jj|j|j|jfS(Ns %s(%r,%r,%r)(t __class__RR RR>(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt__repr__sc CsId|jj|j|jddjg|jD]}t|^q+fS(Ns %s(%r,%r,%s)s(%s)t,(RARR RtjoinR>tstr(Rtc((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt__str__stvisit_cCsK|jr7td|jd|j}|j||n|j||dS(NR-((RR=R"tacceptR(RtvisitortprefixR ((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt arg_accepts cCs|dkr|j}n|dkr0|j}n|dkrH|j}n|dkr`|j}n|dkrx|j}n|j|||||S(N(R(R RR>R"R?RA(RR RR>R"R?((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytcopys          cCs(x!|jD]}|j||q WdS(N(R>RI(RRJRKRF((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRscCst|||jd}|dkrrt||dd}|dkrrd||j|f}|GHt|dSn||dS(Ntdefaultsaccept: unknown: %r, %r in %r(tgetattrR R(t ValueError(RRJRKtmR$((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRIs   cCs,|dkr|}n|jj||dS(N(R(R?terror(RR$R ((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRRs  cCskg}xU|jD]J}|jdkr|j|j|jjdsZ|jdqZqqWdj|S(sI Get the total text of all text children, joined with and ended with ' ' R-s t(R>R R RR3RD(RR-RF((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytget_text scCs5|jj}|jdr1|dj}n|S(NR2i(RR5R4(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytget_argscCsi|j}|jdr%|d}ng|jdD]}|j^q5}|dgkreg}n|S(NR2iRCRS(RR4tsplitR5(RRtxtnames((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt get_arglists  ( cCsM|jr@td|jd|j|jg}|j|jn |j}|S(NR-((RR=R"R?textendR>(RR>((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytget_arg_children"s  $ cCs+|j}|s|j}n||jfS(N(RR5R>(RtnostripR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt get_arg_rest+s cCs&|jrtd|n|jjS(sQ Get the arg as by self.arg, but make sure there are no more children. s&No children nodes expected in node: %s(R>t SyntaxErrorRR5(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytget_arg_norest1s cCsG|jj}d|ks3d|ks3d|krCtd|n|S(s Get the argument in the form of a name It is the argument stripped. And not allowed to contain : or , or new line. s R2RCsInvalid name: %r(RR5R^(RR((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt get_namearg9s$c s|dkr|j}n|r6ifd}ngfd}g}x|jD]}|jdkrx|jD]m}|jr|j}n|jd||jr|jd|jdn|jrz||j||qzqzWq[|jddkr||jd |j|q[|j|q[Wt|t|jkrS|}n$|j||j||j|j }|fS( Ncs.|kr |jd|n ||RRRR tlenRAR"R?( RR tattrdictRcR>tchtoptRR ((RbsF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt split_attrsCs4       (R RR>R"R?(N(RRt __slots__R(RRBRGRLRMRRIRRRTRURYR[R]R_R`tFalseRj(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR=s"         tSourcecBsGeZddddddZdZdddddZdZRS(ii cCsU||_||_||_||_||_g|_||_d|_d|_dS(Ni( RtlineststringR\tdebugt error_reportst max_errorst num_warningst num_errors(RRRnRoR\RpRr((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRjs        cCsd}d}|dk rt|dr<|j}|j}n |}|}|dk rr|j}|jd|}nd||dfGH|rd|GHqndS(NRSsR"s%s:%s:is %s(R(thasattrR"R?RR#(RtcontexttlinetextRR"R?((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyterrmsg_contextus     cCs|jj|||||f|r7|jd7_n|jd7_|j||red|GHn d|GHHx+|D]#\}}|j|d|GHHqvW|jrtn3|j|jkrtdn|dk r|ndS(Nis* %ss*** %ss %ssToo many errors, giving up( RqR RsRtRxRpt set_traceRrt TooManyErrorsR((RtmessageRvR%tmoretharmlessR$tctx((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRRs&         cCs{|jdkrp|jdkrX|jrQyt|jj|_WqUdSXqXdSn|jjd|_n|j|S(NRSs (RnR(RoRR*treadRV(RR"((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR#s N((RRR(RRxRRR#(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRmis t _GLUECLAMP_c BseZd.Zd/Zd0d1d2d3d4d5d6d7d8d9d:d;f ZdZdZdZd Zd!d"Z d#d!d$Z d%Z d&Z d'Z d<d!d=d(Zd)Zd*Zd+Zd,Zd-ZRS(>tnodemapR=s_parent:DottedTrees_root:res_root:osRat attributeRFtcommenttcondt conditiontdt descriptiontdwhtdescription_with_headertegtexampletfoptfunction_operatortioptinplace_operatortkatkey_argtoptoperatortroptreverse_operatorttR-cCs t|jS(N(tdicttnode_aliases_defs(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt_get_node_aliasesscCs,tg|jD]\}}||f^q S(N(RR(Rtktv((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt_get_reverse_node_aliasesscCs|jjtdjS(Nsu"[\u0080-\uffff]"(tretcompiletevaltsearch(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt_get_is_not_asciiscCs t|fS(N(R(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRsic Cstd|d|}|jj||}d}|}|jj}|j|j|}|j} |j||||| |S(NRR\R( Rmt DottedTreet parse_fileR R5tnodes_of_dforestR>R"t node_of_tatci( RRR\R?tdtreeR RR-R>R"((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt node_of_files sc Cs|jj|}d}|}td|d|d|}|jj}|j} |j|j|} |j|||| | |S(NRoRR\( Rt parse_stringRmR R5R"RR>R( RRoRR\RR RR?R-R"R>((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytnode_of_strings c Cs|j}|jd}|dkr3t|}n|jdd|}|jdd|}|dkr|dks||kr|| jd||dj}}nl|dkrd|| ks|t|jkr|}qtd|n|| j||d}}||jkr8|j|}n|jdd }|d kro|j ro|j}n|j |j |}|j ||||j |S( Ns iReiR2it s!No colon in spaced tag in node %st_R-( R tfindRfR5R,R^t node_aliasestreplaceR\RR>t node_of_taciR"( RRR?R ttextpostequpostcolonposRR>((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt node_of_dtrees,  $ (  cCsg|D]}|j||^q}g}x|D]}|jdkrZ|j|q2n|jj}|jjj|jjj|j |}|j |d|j }|j |j q2Wt|S(NtincludeR\(RR R RR5tostpathRDtdirnameRRR\RZR>R@(RtdforestR?RFtonodestnodesR R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRs%  ! cCstS(N(R=(R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt_get_node_of_taci&scCsp|rW|dkr2|r)|d|}qT|}qW|jd|d||f|}n|j|||||S(NR-s ((R(RR RR-R>R"R?((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR)s  %cCs@|j|}t|dkr)|dS|jdd|SdS(NiitblockRS(t nodes_of_textRfR(RR-R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt node_of_text4scCsg}|j|rg}x|D]~}t|}|dkrP|j|q"|r|j|jddj|g}n|j|jdt|q"W|r|j|jddj|qn|j|jd||S(NiR-RStchar(t is_not_asciitordR RRDRE(RR-RtcharsRtno((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyR@s   " #(c Cs|j}|j}|jjj|jj}|GH|jjj|d}|j|}|j |}|j |ddl }||_ dS(Nsmain.gsli( t_roottspecsRRRt_modulet__file__RDRRRIt__main__R( RtpackagetrootRtspecdirt main_dt_nameRR R((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pytmainTs     cCs|jdS(N(t print_doc(Rtdt((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRhscCsM|}|r|d|}n|r4|d|}n|jj||}|S(Ns: s (Rt unparse_tag(RtlevelR RR-thead((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt unparse_headks(RR=(s_parent:DottedTrees_root:res_root:os(RaR(RFR(RR(RR(RR(RR(RR(RR(RR(RR(RR(RR-(N(RRt _chgable_t _imports_RRRRRRRRRRR(RRRRRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyRs>           cCsEddlm}|}|jjj}|jjjj|jdS(Ni(tRoot(tguppyRtgslt SpecNodesR(RRtsp((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt test_mainws iRN(((((((tguppy.gsl.ExceptionsRRRRR;R<RtobjectR=RmRRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/guppy/gsl/SpecNodes.pyt's  =" I