+
    iC                       R t ^ RIHt ^ RIHt ]'       g   R]9   d   ^RIH	t	 M^ RI	t	 ^ RI
tR tR tR tR	 t ! R
 R]4      t^ RIt]	P(                  t^ RIHtHtHt ^ RIt]	P4                  t ]	P6                  t ]	P8                  t ]	P:                  t ]	P<                  t ]	P>                  t ]	P@                  t  ]	PB                  t! ]	PD                  t" ]	PF                  t# ]	PH                  t$ ]	PJ                  t% ]	PL                  t& ]	PN                  t' ]	PP                  t( ]	PR                  t) ]	PT                  t* ]	PV                  t+ ]	PX                  t, ]	PZ                  t- ]	P\                  t. ]	P^                  t/ ]	P`                  t0 ]	Pb                  t1 ]	Pd                  t2 ]	Pf                  t3 ]	Ph                  t4 ]	Pj                  t5 ]	Pl                  t6 ]	Pn                  t7 ]	Pp                  t8 ]	Pr                  t9 ]	Pt                  t: ]	Pv                  t; ]	Px                  t< ]	Pz                  t= ]	P|                  t> ]	P~                  t? ]	P                  t@ ]	P                  tA ]	P                  tB ]	P                  tC ]	P                  tD ]	P                  tE ]	P                  tF ]	P                  tG ]	P                  tH ]	P                  tI ]	P                  tJ ]	P                  tK ]	P                  tL ]	P                  tM ]	P                  tN ]	P                  tO ]	P                  tP ]	P                  tQ ]	P                  tR ]	P                  tS ]	P                  tT ]	P                  tU R R ltVR R ltWR R ltXR R ltYRAR R lltZR R lt[R R lt\ ! R R]]4      t^]	P                  ! ]^4       ]	P                  t`]`P                  ta ]`P                  tb ]`P                  tc ]`P                  td ]`P                  te ]`P                  tf ]`P                  tg ]`P                  th ]`P                  ti ]`P                  tj ]`P                  tk ]`P                  tl ]`P                  tm ]`P                  tn ]`P                  to ]`P                  tp ]`P                  tq ]`P                  tr ]`P                  ts ]`P                  tt ]`P                  tu ]`P                  tv ]`P                  tw ]`P                  tx ]`P                  ty ]`P                  tz ]`P                  t{ ]`P                  t| ]`P                  t} ]`P                  t~ ]`P                  t ]`EP                   t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP
                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                  t ]`EP                   t ]`EP"                  t ]`EP$                  t ]`EP&                  t ]	EP(                  t ]	EP*                  t R R ltR R  ltR! R" lt]	EP2                  t]	EP4                  t]	EP6                  t]	EP8                  tRBR# R$ llt]	EP<                  t]	EP>                  t]	EP@                  t]	EPB                  tR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 ltR7 R8 ltR9 R: ltRCR; R< llt^ RIt^ RI	t	]EP^                  R=8X  d   ^M^t R>t]	P                  t`]! ]`EP                  ^,           4      t]! ]`EP                  ^,           4      t]! ]`EP                  ^,           4      t]! ]`EP                  ^,           4      t]! ]`EP                  ^,           4      t]! ]`EP                  ^,           4      t]! ]`EP                  ^
,           4      t]`EP                  ]	P                  ,           tR? tR@ t]`EPz                  t]`EP|                  tR#   ] d	    ^ RIt ELZi ; i)DzHigh level functions that deal with the generation of the disassembled text lines.

This file also contains definitions for the syntax highlighting.
Finally there are functions that deal with anterior/posterior user-defined lines.
)annotations)version_info.)
_ida_linesNc                     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss   & AC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_lines.py
_swig_reprr      sg    		 2 2 44 "^^669     s   !A A43A4c                   a  V 3R  lpV# )c                  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r	   thisownz(You cannot add instance attributes to %sN)r	   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets   &&&r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r    r!   s   f r   *_swig_setattr_nondynamic_instance_variabler%      s    
 r#   c                   a  V 3R  lpV# )c                   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r   r    s   &&&r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr-   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   +   s    P
 r#   c                   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                p   < S! V P                   V P                  V P                  P                  4       4      # N)r   	__bases____dict__copy)r(   	metaclasss   &r   wrapper$_swig_add_metaclass.<locals>.wrapper8   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   5   s    KNr#   c                  >    ] tR t^=tRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr$   N)	r   r   __qualname____firstlineno____doc__r+   r   __setattr____static_attributes__r$   r#   r   r7   r7   =   s    U9$:J:JKKr#   r7   )TupleListUnionc                    V ^8  d   QhRRRR/# )   linestrreturnz	'ssize_t'r$   )formats   "r   __annotate__rF      s     ' 'S 'I 'r#   c                .    \         P                  ! V 4      # )zCalculate length of a colored string This function computes the length in unicode codepoints of a line 
        
:returns: the number of codepoints in the line, or -1 on error)r   
tag_strlenrB   s   &r   rH   rH      s       &&r#   c                    V ^8  d   QhRRRR/# )rA   eaida_idaapi.ea_trD   z	'color_t'r$   )rE   s   "r   rF   rF     s     , ,/ ,Y ,r#   c                .    \         P                  ! V 4      # )zHGet prefix color for line at 'ea' 
        
:returns: Line prefix colors)r   calc_prefix_colorrK   s   &r   rN   rN     s     ''++r#   c                    V ^8  d   QhRRRR/# )rA   rK   rL   rD   z'bgcolor_t'r$   )rE   s   "r   rF   rF   
  s     ( (o ( (r#   c                .    \         P                  ! V 4      # )zCGet background color for line at 'ea' 
        
:returns: RGB color)r   calc_bg_colorrO   s   &r   rR   rR   
  s     ##B''r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   ea1rL   ea2filenamerC   rD   boolr$   )rE   s   "r   rF   rF     s)     9 9 9o 9 99r#   c                0    \         P                  ! WV4      # r.   )r   add_sourcefile)rT   rU   rV   s   &&&r   rY   rY     s    $$Sx88r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   boundsz	'range_t'rD   rC   r$   )rE   s   "r   rF   rF     s!     1 1 1	 1# 1r#   c                .    \         P                  ! W4      # r.   )r   get_sourcefile)rK   r[   s   &&r   r]   r]     s    $$R00r#   c                    V ^8  d   QhRRRR/# )rA   rK   rL   rD   rW   r$   )rE   s   "r   rF   rF     s     ) ) )$ )r#   c                .    \         P                  ! V 4      # r.   )r   del_sourcefilerO   s   &r   r`   r`     s    $$R((r#   c                   V ^8  d   QhRR/# rA   rD   rW   r$   )rE   s   "r   rF   rF     s       r#   c                 t    \         P                  ! V !  pV'       d   V vr#pV^ 8X  d
   RVn        V# RVn        V# )    TF)r   install_user_defined_prefixr   )argsvalpfxinstancerests   *    r   re   re     sD    

0
0$
7C
#!8#H J  %HJr#   c                  d    ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 tR
tR# )user_defined_prefix_ti)  c                	6    V P                   P                  4       # r.   r	   r   )xs   &r   <lambda>user_defined_prefix_t.<lambda>*  s    r#   c                	8    V P                   P                  V4      # r.   rn   )ro   vs   &&r   rp   rq   *  s    AFFJJqMr#   zThe membership flag)docc                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V.VO5!  4       RV n        R # )NF)r   rl   r   user_defined_prefix_t_swiginitnew_user_defined_prefix_tr   )r   rf   _selfs   &* r   __init__user_defined_prefix_t.__init__.  sM    >>22EE11$
%%9&&+94.294 	5r#   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )rA   rK   rL   insnz'insn_t const &'lnnumintindentrB   rC   rD   Noner$   )rE   s   "r   rF   "user_defined_prefix_t.__annotate__8  s;     
+ 
+/ 
+
+!$
+.1
+9<
+@D
+r#   c                4    \         P                  ! V WW4V4      # )a#  This callback must be overridden by the derived class. 
        
:param ea: the current address
:param insn: the current instruction. if the current item is not an instruction, then insn.itype is zero.
:param lnnum: number of the current line (each address may have several listing lines for it). 0 means the very first line for the current address.
:param indent: see explanations for gen_printf()
:param line: the line to be generated. the line usually contains color tags. this argument can be examined to decide whether to generate the prefix.)r   -user_defined_prefix_t_get_user_defined_prefix)r   rK   r|   r}   r   rB   s   &&&&&&r   get_user_defined_prefix-user_defined_prefix_t.get_user_defined_prefix8  s      GGeT+ 	+r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_user_defined_prefix_tweakrefproxy)r   s   &r   
__disown__ user_defined_prefix_t.__disown__D  s/    		//5}}T""r#   )r   N)r   r   r8   r9   r   r   r   r
   ry   r   delete_user_defined_prefix_t__swig_destroy__r   r   r<   r$   r#   r   rl   rl   )  s7    -/I!#GH ">>
+#r#   rl   c                   V ^8  d   QhRR/# rb   r$   )rE   s   "r   rF   rF     s     , ,D ,r#   c                 *    \         P                  ! V !  # r.   )r   add_extra_linerf   s   *r   r   r     s    $$d++r#   c                   V ^8  d   QhRR/# rb   r$   )rE   s   "r   rF   rF     s     + +4 +r#   c                 *    \         P                  ! V !  # r.   )r   add_extra_cmtr   s   *r   r   r     s    ##T**r#   c                   V ^8  d   QhRR/# rb   r$   )rE   s   "r   rF   rF     s     ) ) )r#   c                 *    \         P                  ! V !  # r.   )r   add_pgm_cmtr   s   *r   r   r     s    !!4((r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   flagsr~   rD   rC   r$   )rE   s   "r   rF   rF     s!     6 6_ 6S 6c 6r#   c                .    \         P                  ! W4      # r.   )r   generate_disasm_line)rK   r   s   &&r   r   r     s    **255r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   startr~   rD   r$   )rE   s   "r   rF   rF   	  s!     = =O =C =3 =r#   c                .    \         P                  ! W4      # r.   )r   get_first_free_extra_cmtidx)rK   r   s   &&r   r   r   	  s    11"<<r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   rK   rL   whatr~   rC   rD   rW   r$   )rE   s   "r   rF   rF     s(     6 6 6 6# 6 6r#   c                0    \         P                  ! WV4      # r.   )r   update_extra_cmt)rK   r   rC   s   &&&r   r   r     s    &&r55r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   r   r~   rD   rW   r$   )rE   s   "r   rF   rF     s!     . .o .S .D .r#   c                .    \         P                  ! W4      # r.   )r   del_extra_cmtrK   r   s   &&r   r   r         ##B--r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   r   r~   rD   r$   )rE   s   "r   rF   rF     s!     . .o .S .C .r#   c                .    \         P                  ! W4      # r.   )r   get_extra_cmtr   s   &&r   r   r     r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK   rL   r   r~   rD   r   r$   )rE   s   "r   rF   rF     s!     2 2/ 2 2 2r#   c                .    \         P                  ! W4      # r.   )r   delete_extra_cmtsr   s   &&r   r   r     s    ''11r#   c                   V ^8  d   QhRR/# )rA   rD   z'encoder_t *'r$   )rE   s   "r   rF   rF     s     4 4M 4r#   c                 *    \         P                  ! V !  # r.   )r   create_encoding_helperr   s   *r   r   r     s    ,,d33r#   c                    V ^8  d   QhRRRR/# )rA   nonnul_instrrC   rD   r$   )rE   s   "r   rF   rF   !  s     / /S /C /r#   c                .    \         P                  ! V 4      # )zhRemove color escape sequences from a string. 
        
:returns: length of resulting string, -1 if error)r   
tag_remove)r   s   &r   r   r   !  s       ..r#   c                    V ^8  d   QhRRRR/# )rA   rK   rL   rD   rC   r$   )rE   s   "r   rF   rF   (  s     # # #C #r#   c                .    \         P                  ! V 4      # )zMInsert an address mark into a string. 
        
:param ea: address to include)r   tag_addrrO   s   &r   r   r   (  s     r""r#   c                    V ^8  d   QhRRRR/# rA   rB   rC   rD   r~   r$   )rE   s   "r   rF   rF   /  s     ) )s )c )r#   c                .    \         P                  ! V 4      # )ar  Skip one color code. This function should be used if you are interested in color codes and want to analyze all of them. Otherwise tag_skipcodes() function is better since it will skip all colors at once. This function will skip the current color code if there is one. If the current symbol is not a color code, it will return the input. 
        
:returns: moved pointer)r   tag_skipcoderI   s   &r   r   r   /  s     ""4((r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rF   6  s     * * *s *r#   c                .    \         P                  ! V 4      # )zxMove the pointer past all color codes. 
        
:param line: can't be nullptr
:returns: moved pointer, can't be nullptr)r   tag_skipcodesrI   s   &r   r   r   6  s    
 ##D))r#   c               $    V ^8  d   QhRRRRRR/# )rA   rB   rC   cntr~   rD   r$   )rE   s   "r   rF   rF   >  s!     - -c - -s -r#   c                .    \         P                  ! W4      # )zMove pointer to a 'line' to 'cnt' positions right. Take into account escape sequences. 
        
:param line: pointer to string
:param cnt: number of positions to move right
:returns: moved pointer)r   tag_advance)rB   r   s   &&r   r   r   >  s     !!$,,r#   c                   V ^8  d   QhRR/# )rA   include_hiddenBooleanr$   )rE   s   "r   rF   rF   G  s      r#   c                2    \         P                  ! WW#V4      # )a  Generate disassembly lines (many lines) and put them into a buffer

:param ea: address to generate disassembly for
:param max_lines: how many lines max to generate
:param as_stack: Display undefined items as 2/4/8 bytes
:param notag: remove color tags
:param include_hidden: automatically unhide hidden objects
:returns: tuple(most_important_line_number, list(lines)) : Returns a tuple containing
          the most important line number and a list of generated lines
:returns: None on failure)r   generate_disassembly)rK   	max_linesas_stacknotagr   s   &&&&&r   r   r   G  s     **2( r#   l    (c                Z    \        V ^ ,          4      pV \        8  ;'       d
    V \        8*  # )z,Is the given char a color escape character?
)ordCOLOR_ON	COLOR_INV)cts   & r   requires_color_escr   h  s'     	AaD	A=++Q)^+r#   c                N    \         V,           V ,           \        ,           V,           # )zu
Utility function to create a colored line
:param str: The string
:param tag: Color tag constant. One of SCOLOR_XXXX
)	SCOLOR_ON
SCOLOR_OFF)rC   tags   &&r   COLSTRr   o  s     s?S :-33r#   r.   )rd   )F)r:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   r   SWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   
ida_idaapir   	COLOR_OFF	COLOR_ESCr   r   r   
SCOLOR_ESC
SCOLOR_INVSCOLOR_DEFAULTSCOLOR_REGCMTSCOLOR_RPTCMTSCOLOR_AUTOCMTSCOLOR_INSNSCOLOR_DATNAMESCOLOR_DNAMESCOLOR_DEMNAMESCOLOR_SYMBOLSCOLOR_CHARSCOLOR_STRINGSCOLOR_NUMBERSCOLOR_VOIDOPSCOLOR_CREFSCOLOR_DREFSCOLOR_CREFTAILSCOLOR_DREFTAILSCOLOR_ERRORSCOLOR_PREFIXSCOLOR_BINPREFSCOLOR_EXTRASCOLOR_ALTOPSCOLOR_HIDNAMESCOLOR_LIBNAMESCOLOR_LOCNAMESCOLOR_CODNAMESCOLOR_ASMDIRSCOLOR_MACROSCOLOR_DSTRSCOLOR_DCHARSCOLOR_DNUMSCOLOR_KEYWORD
SCOLOR_REGSCOLOR_IMPNAMESCOLOR_SEGNAMESCOLOR_UNKNAMESCOLOR_CNAMESCOLOR_UNAMESCOLOR_COLLAPSEDSCOLOR_ADDRCOLOR_SELECTEDCOLOR_LIBFUNCCOLOR_REGFUNC
COLOR_CODE
COLOR_DATACOLOR_UNKNOWNCOLOR_EXTERNCOLOR_CURITEMCOLOR_CURLINECOLOR_HIDLINECOLOR_LUMFUNCCOLOR_BG_MAXrH   rN   rR   rY   r]   r`   re   objectrl   "user_defined_prefix_t_swigregistercvarCOLOR_DEFAULTCOLOR_REGCMTCOLOR_RPTCMTCOLOR_AUTOCMT
COLOR_INSNCOLOR_DATNAMECOLOR_DNAMECOLOR_DEMNAMECOLOR_SYMBOL
COLOR_CHARCOLOR_STRINGCOLOR_NUMBERCOLOR_VOIDOP
COLOR_CREF
COLOR_DREFCOLOR_CREFTAILCOLOR_DREFTAILCOLOR_ERRORCOLOR_PREFIXCOLOR_BINPREFCOLOR_EXTRACOLOR_ALTOPCOLOR_HIDNAMECOLOR_LIBNAMECOLOR_LOCNAMECOLOR_CODNAMECOLOR_ASMDIRCOLOR_MACRO
COLOR_DSTRCOLOR_DCHAR
COLOR_DNUMCOLOR_KEYWORD	COLOR_REGCOLOR_IMPNAMECOLOR_SEGNAMECOLOR_UNKNAMECOLOR_CNAMECOLOR_UNAMECOLOR_COLLAPSEDCOLOR_FG_MAX
COLOR_ADDRCOLOR_OPND1COLOR_OPND2COLOR_OPND3COLOR_OPND4COLOR_OPND5COLOR_OPND6COLOR_OPND7COLOR_OPND8COLOR_RESERVED1COLOR_LUMINAVEL_POSTVEL_CMTr   r   r   GDISMF_AS_STACKGDISMF_ADDR_TAGGDISMF_REMOVE_TAGSGDISMF_UNHIDEr   GENDSM_FORCE_CODEGENDSM_MULTI_LINEGENDSM_REMOVE_TAGSGENDSM_UNHIDEr   r   r   r   r   r   r   r   r   r   r   r   _ida_idaapiBADADDRCOLOR_ADDR_SIZESCOLOR_FG_MAXchrSCOLOR_OPND1SCOLOR_OPND2SCOLOR_OPND3SCOLOR_OPND4SCOLOR_OPND5SCOLOR_OPND6SCOLOR_UTF8PALETTE_SIZEr   r   E_PREVE_NEXTr$   r#   r   <module>rj     s^	  
 # 9#/"
 L$ L
 $<<  % %   	  	  	  	""
""
""
**((((**$$**&&**(($$(((((($$$$,,,,&&((**&&&&********((&&$$&&$$**""
******&&&&.. $$**((((""
""
((&&((((((((&&',(9
1)#F #B  - -.C D""    ""__
""""  __
      __
__
$$$$  """"""""""  __
__
""NN	""""""&&  __
&&  


,+) ,,,,22 ((6 00 00 22 ((=6..24/#)*-   #++/CC"4??Q&'4??Q&'4??Q&'4??Q&'4??Q&'4??Q&'$//B&'  :#:#::,4 
	W  s   a: :b	b	