ó
    ´OÂf  ã                   óT   • S SK Jr  S SKJr   " S S\5      rS r\S:X  a  \" 5         gg)é    )Úchain)ÚCounterc                   óŒ   • \ rS rSrS rS rS rS rS rSS jr	S	 r
\S
 5       r\SS j5       r\S 5       rS rS rSS jrSrg)Ú
FStructureé   c                 ó<   • X;  a  / X'   X   R                  U5        g)zW
Append 'item' to the list at 'key'.  If no list exists for 'key', then
construct one.
N)Úappend)ÚselfÚkeyÚitems      Ú./usr/lib/python3/dist-packages/nltk/sem/lfg.pyÚ
safeappendÚFStructure.safeappend   s    € ð
 ‹?ØˆD‰IØ‰	×Ñ˜Õó    c                 óL   • [         R                  XR                  5       U5        g ©N)ÚdictÚ__setitem__Úlower)r
   r   Úvalues      r   r   ÚFStructure.__setitem__   s   € Ü×Ñ˜Ÿy™y›{¨EÕ2r   c                 óH   • [         R                  XR                  5       5      $ r   )r   Ú__getitem__r   ©r
   r   s     r   r   ÚFStructure.__getitem__   s   € Ü×Ñ §i¡i£kÓ2Ð2r   c                 óH   • [         R                  XR                  5       5      $ r   )r   Ú__contains__r   r   s     r   r   ÚFStructure.__contains__   s   € Ü× Ñ  §y¡y£{Ó3Ð3r   c                 óD   • U R                  5       nUR                  U5      $ r   )Úto_depgraphÚto_glueformula_list)r
   Ú	glue_dictÚdepgraphs      r   r!   ÚFStructure.to_glueformula_list!   s!   € Ø×#Ñ#Ó%ˆØ×,Ñ,¨XÓ6Ð6r   Nc                 ó^  • SSK Jn  U" 5       nUR                  nU R                  USS5        UR	                  5        Hb  u  pVS UR                  5        5        HB  nUS   U:X  d  M  US   nUS   R                  U/ 5        US   U   R                  US   5        MD     Md     US	   Ul        U$ )
Nr   ©ÚDependencyGraphÚROOTc              3   ó:   #   • U  H  oS    S:w  d  M  Uv •  M     g7f)ÚrelÚTOPN© )Ú.0Úns     r   Ú	<genexpr>Ú)FStructure.to_depgraph.<locals>.<genexpr>/   s   é € ÐF¢.˜Q°e±HÀÑ4E—q‘q¢.ùs   ‚’	Úheadr*   ÚdepsÚaddressé   )	Únltk.parse.dependencygraphr'   ÚnodesÚ_to_depgraphÚitemsÚvaluesÚ
setdefaultr	   Úroot)	r
   r*   r'   r#   r6   r3   ÚnodeÚn2Úrelations	            r   r    ÚFStructure.to_depgraph%   s¨   € Ý>á"Ó$ˆØ—‘ˆà×Ñ˜%  FÔ+ð #Ÿ[™[ž]‰MˆGÙF %§,¡,¤.ÖF�Ø�f‘: Õ(Ø! %™y�HØ˜‘L×+Ñ+¨H°bÔ9Ø˜‘L Ñ*×1Ñ1°"°Y±-Ö@ó	 Gñ +ð ˜a™ˆŒàˆr   c           
      ó  • [        U5      nX   R                  UU R                  S   U R                  S   UUS.5        [        U 5       H¿  n[        X   5       H«  n[	        U[
        5      (       a  UR                  XU5        M,  [	        U[        5      (       a,  [        U5      nX   R                  UUS   US   UUS.5        Mm  [	        U[        5      (       a  U H  nUR                  XU5        M     MŸ  [        SU-  5      e   MÁ     g )Nr   r4   )r3   ÚwordÚtagr1   r*   ú0feature %s is not an FStruct, a list, or a tuple)
ÚlenÚupdateÚpredÚsortedÚ
isinstancer   r7   ÚtupleÚlistÚ	Exception)	r
   r6   r1   r*   ÚindexÚfeaturer   Ú	new_indexr.   s	            r   r7   ÚFStructure._to_depgraph9   sþ   € Ü�E“
ˆà‰×Ñà ØŸ	™	 !™Ø—y‘y ‘|ØØñô	
ô ˜d–|ˆGÜ˜t™}Ö-�Ü˜d¤J×/Ñ/Ø×%Ñ% e°GÖ<Ü ¤e×,Ñ,Ü # E£
�IØÑ$×+Ñ+à'0Ø$(¨¡GØ#'¨¡7Ø$)Ø#*ñöô   ¤d×+Ñ+Û!˜ØŸ™ u°WÖ=ó "ô $ØJÈWÑTóð ó% .ò $r   c                 óB   • [         R                  U R                  U 5      $ r   )r   Ú_read_depgraphr;   )r#   s    r   Úread_depgraphÚFStructure.read_depgraph]   s   € ä×(Ñ(¨¯©¸ÓAÐAr   c           
      ó€  • U(       d
  [        5       nU S   R                  5       S;   a
  U S   U S   4$ [        5       nS Ul        [        R	                  UR                  5       5      Ul        X4l        U S   U S   peUS S S:X  a&  USS S:X  a  UR                  S	S
5        XVS S 4Ul        UR                  (       d  XV4Ul        [        R                  " U S   R                  5       5       Vs/ s H  nUR                  U   PM     nnU H,  n	UR                  U	S   [        R                  X‘X$5      5        M.     U$ s  snf )Nr*   )ÚspecÚpunctrA   rB   é   ÚVBé   ÚDÚtense)ÚPASTr[   r2   )r   r   r   rF   Ú_make_labelÚgetÚlabelÚparentr   r   Úfrom_iterabler9   r6   rQ   )
r<   r#   Úlabel_counterr`   ÚfstructrA   rB   ÚidxÚchildrenÚchilds
             r   rQ   ÚFStructure._read_depgrapha   s>  € æÜ#›IˆMà�‰;×ÑÓÐ"3Ó3à˜‘L $ u¡+Ð.Ð.ô !“lˆGØˆGŒLÜ&×2Ñ2°=×3DÑ3DÓ3FÓGˆGŒMà#ŒNà˜V™ d¨5¡k�#Ø�2�Aˆw˜$‹Ø�q˜�8˜s“?Ø×&Ñ& wÐ0AÔBØ $¨"¨1 g˜�”à—<—<Ø $˜{�”ô !×.Ò.¨t°F©|×/BÑ/BÓ/DÔEóâE�Cð —‘˜sÔ#ÙEð ð ó "�Ø×"Ñ"Ø˜%‘LÜ×-Ñ-¨e¸}ÓVöñ "ð ˆNùòs   Ã,D;c                 ó^   • / SQU S-
     n[        U 5      S-  nUS:”  a  U[        U5      -   $ U$ )z“
Pick an alphabetic character as identifier for an entity in the model.

:param value: where to index into the list of characters
:type value: int
)ÚfÚgÚhÚiÚjÚkÚlÚmr.   ÚoÚpÚqÚrÚsÚtÚuÚvÚwÚxÚyÚzÚaÚbÚcÚdÚer4   é   r   )ÚintÚstr)r   ÚletterÚnums      r   r]   ÚFStructure._make_label†   sB   € ò
ð6 �!‰)ñ7ˆô8 �%‹j˜BÑˆØ�‹7ØœC ›HÑ$Ð$àˆMr   c                 óB   • U R                  5       R                  SS5      $ )NÚ
Ú )Ú__str__Úreplace©r
   s    r   Ú__repr__ÚFStructure.__repr__°   s   € Ø�|‰|‹~×%Ñ% d¨BÓ/Ð/r   c                 ó"   • U R                  5       $ r   )Úpretty_formatr�   s    r   r‹   ÚFStructure.__str__³   s   € Ø×!Ñ!Ó#Ð#r   c                 óÎ  •  SU R                   -  n USU R                  S   -  -  n[        U 5       GH  nX    Hû  n[	        U[
        5      (       aQ  U[        U5      -   S-   [        U R                   5      -   nUSR                  SU-  UUR                  U5      5      -  nMi  [	        U[        5      (       a  USR                  SU-  X4S   5      -  nM›  [	        U[        5      (       a?  US	R                  SU-  US
SU[        U5      -   S-   -  -  R                  U5      5      -  nMï  [        SU-  5      e   GM
     US-   $ ! [         a    Sn GNAf = f! [         a     GN<f = f)Nz%s:[Ú[z	pred '%s'r   rY   z
{}{} {}Ú z

{}{} '{}'z
{}{} {{{}}}z
%srW   rC   Ú])r_   Ú	NameErrorrF   rG   rH   r   rD   Úformatr‘   rI   rJ   ÚjoinrK   )r
   ÚindentÚaccumrM   r   Únext_indents         r   r‘   ÚFStructure.pretty_format¶   sx  € ð	Ø˜TŸZ™ZÑ'ˆEð	Ø�[ D§I¡I¨a¡LÑ1Ñ1ˆEô ˜d—|ˆGØœ�Ü˜d¤J×/Ñ/Ø"(¬3¨w«<Ñ"7¸!Ñ";¼cÀ$Ç*Á*»oÑ"M�KØ˜[×/Ñ/Ø˜v™ØØ×*Ñ*¨;Ó7óñ ’Eô
   ¤e×,Ñ,Ø˜]×1Ñ1°#¸±.À'ÐPQÉ7ÓSÑS’EÜ ¤d×+Ñ+Ø˜_×3Ñ3Ø˜v™ØØ 3¨&´3°w³<Ñ*?À!Ñ*CÑ#DÑE×KÑKÈDÓQóñ ’Eô $ØJÈWÑTóð ô# &ñ $ð* �s‰{Ðøô9 ó 	Ø‹Eð	ûô ó 	Úð	ús"   ‚E ’E ÅEÅEÅ
E$Å#E$r,   r   )NN)rY   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r!   r    r7   ÚstaticmethodrR   rQ   r]   rŽ   r‹   r‘   Ú__static_attributes__r,   r   r   r   r      su   † òò3ò3ò4ò7ôò("ðH ñBó ðBð ó"ó ð"ðH ñ'ó ð'òR0ò$÷r   r   c                  ó¦   • SSK Jn   U " S5      nU " S5      nU " S5      nU " S5      nXX4/nU H!  n[        [        R	                  U5      5        M#     g )Nr   r&   zýEsso       NNP     2       SUB
said       VBD     0       ROOT
the        DT      5       NMOD
Whiting    NNP     5       NMOD
field      NN      6       SUB
started    VBD     2       VMOD
production NN      6       OBJ
Tuesday    NNP     6       VMOD
zUJohn    NNP     2       SUB
sees    VBP     0       ROOT
Mary    NNP     2       OBJ
zWa       DT      2       SPEC
man     NN      3       SUBJ
walks   VB      0       ROOT
z�every   DT      2       SPEC
girl    NN      3       SUBJ
chases  VB      0       ROOT
a       DT      5       SPEC
dog     NN      3       OBJ
)r5   r'   Úprintr   rR   )r'   Údg1Údg2Údg3Údg4Ú	depgraphsÚdgs          r   Údemo_read_depgraphr¬   Ø   sp   € Ý:á
ð		ó€Cñ ð	ó€Cñ ð	ó€Cñ ð	ó€Cð ˜3Ð$€IÛˆÜŒj×&Ñ& rÓ*Ö+ò r   Ú__main__N)Ú	itertoolsr   Únltk.internalsr   r   r   r¬   rž   r,   r   r   Ú<module>r°      s7   ðõ å "ôG�ô GòT),ðX ˆzÓÙÕð r   