+
    i=	             
         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^ RIt^ RIt^ RIt^ RIt^ RItR R ltR R lt R R lt!ERyR R llt"R R lt#R R lt$R R lt% ! R R]&4      t']	PP                  ! ]'4        ! R R]&4      t)]	PT                  ! ])4       R R  lt+ ! R! R"]&4      t,]	PZ                  ! ],4        ! R# R$]&4      t.]	P^                  ! ].4        ! R% R&]&4      t0]	Pb                  ! ]04        ! R' R(]&4      t2]	Pf                  ! ]24        ! R) R*]&4      t4]	Pj                  ! ]44        ! R+ R,]&4      t6]	Pn                  ! ]64        ! R- R.]&4      t8]	Pr                  ! ]84        ! R/ R0]&4      t:]	Pv                  ! ]:4        ! R1 R2]&4      t<]	Pz                  ! ]<4        ! R3 R4]&4      t>]	P~                  ! ]>4        ! R5 R6]>4      t@]	P                  ! ]@4        ! R7 R8]&4      tB]	P                  ! ]B4        ! R9 R:]&4      tD]	P                  ! ]D4        ! R; R<]&4      tF]	P                  ! ]F4        ! R= R>]&4      tH]	P                  ! ]H4        ! R? R@]&4      tJ]	P                  ! ]J4        ! RA RB]&4      tL]	P                  ! ]L4        ! RC RD]&4      tN]	P                  ! ]N4        ! RE RF]&4      tP]	P                  ! ]P4       RG RH ltR ! RI RJ]&4      tS]	P                  ! ]S4        ! RK RL]&4      tU]	P                  ! ]U4        ! RM RN]&4      tW]	P                  ! ]W4        ! RO RP]&4      tY]	P                  ! ]Y4        ! RQ RR]&4      t[]	P                  ! ][4        ! RS RT]&4      t]]	P                  ! ]]4        ! RU RV]&4      t_]	P                  ! ]_4        ! RW RX]&4      ta]	P                  ! ]a4       ]	P                  tcRY RZ ltdR[ R\ lte]	P                  tfR] R^ ltgR_ R` lthRa Rb lti]	P                  tj]	P                  tk]	P                  tl]	P                  tm]	P                  tn]	P                  to]	P                  tp]	P                  tq]	P                  tr]	P                  tsRc Rd lttRe Rf ltuRg Rh ltvRi Rj ltw ! Rk Rl]&4      tx]	P                  ! ]x4       ]	P                  tz]zP                  t{]zP                  t|]zP                  t}Rm Rn l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 ]	EP,                  t ]	EP.                  t ]	EP0                  t ]	EP2                  t ]	EP4                  t ]	EP6                  t ]	EP8                  t ]	EP:                  t ]	EP<                  t ]	EP>                  t ]	EP@                  t ]	EPB                  t ]	EPD                  t ]	EPF                  t ]	EPH                  t]	EPJ                  t Ro Rp lt ! Rq Rr]&4      t]	EPP                  ! ]4       ]zEPR                  t]zEPT                  t]zEPV                  t]zEPX                  t]zEPZ                  t]zEP\                  t]zEP^                  t]zEP`                  t]zEPb                  t]zEPd                  t]zEPf                  t]zEPh                  t]zEPj                  t ! Rs Rt]&4      t]	EPn                  ! ]4        ! Ru Rv]4      t]	EPr                  ! ]4       ]	EPt                  t]	EPv                  t]	EPx                  t]	EPz                  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]	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]	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]	EP                   Et ]	EP                  Et]	EP                  EtRw Rx lEtRy Rz lEtR{ R| lEtR} R~ lEtR R lEtR R lEtR R lEt	R R lEt
R R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEtR R lEt ! R R]&4      Et]	EP:                  ! E]4       ]zEP<                  Et]zEP>                  Et]zEP@                  Et ]zEPB                  Et!]zEPD                  Et"]zEPF                  Et#]zEPH                  Et$]zEPJ                  Et%]zEPL                  Et& ! R R]&4      Et']	EPP                  ! E]'4       ]	EPR                  Et) ]	EPT                  Et* ]	EPV                  Et+ ]	EPX                  Et, ]	EPZ                  Et- ]	EP\                  Et.  ! R R]&4      Et/]	EP`                  ! E]/4        ! R RE]/4      Et1]	EPd                  ! E]14        ! R RE]14      Et3]	EPh                  ! E]34       R R lEt5R R lEt6R R lEt7R R lEt8R R lEt9R R lEt:R R lEt;R R lEt<R R lEt=R R lEt>R R lEt?R R lEt@R R lEtAR R lEtBR R lEtC]	EP                  EtD]	EP                  EtE]	EP                  EtF]	EP                  EtG]	EP                  EtH]	EP                  EtI]	EP                  EtJ]	EP                  EtKR R lEtLERzR R llEtM ! R R]EP                  4      EtO]	EP                  ! E]O4       R R lEtQR R lEtR ! R R]&4      EtS]	EP                  ! E]S4        ! R RE]S4      EtU]	EP                  ! E]U4       ]	EP                  EtW]	EP                  EtX]	EP                  EtY ! R R]]4      EtZ]	EP                  ! E]Z4        ! R R]&4      Et\]	EP                  ! E]\4       ]	EP                  Et^ ]	EP                  Et_ ]	EP                  Et` ]	EP                  Eta ]	EP                  Etb ]	EP                  Etc  ! R R]&4      Etd]	EP                  ! E]d4       ]	EP                  Etf R R lEtgR R lEth ! R R]&4      Eti]	EP                  ! E]i4       R R lEtkR R lEtl]	EP                  Etm ]	EP                  Etn ]	EP                  Eto ]	EP                  Etp ]	EP                  Etq R R lEtrR R lEts ! R R]&4      Ett]	EP                  ! E]t4       R R lEtvR R lEtwR R lEtxR R lEty ! R R]&4      Etz]	EP                  ! E]z4       ER{R ER  llEt| ! ER ERE]z4      Et}]	EP                  ! E]}4        ! ER ER]&4      Et]	EP                   ! E]4       ]zEP                  Et]zEP                  Et]zEP                  Et ! ER ER]&4      Et]	EP
                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER	 ER
]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP"                  ! E]4        ! ER ERE]4      Et]	EP&                  ! E]4        ! ER ER]&4      Et]	EP*                  ! E]4       ER ER lEtER ER lEtER ER lEtER ER lEtER|ER ER  llEt ! ER! ER"]&4      Et]	EP8                  ! E]4        ! ER# ER$]&4      Et]	EP<                  ! E]4        ! ER% ER&]EP>                  4      Et]	EPB                  ! E]4        ! ER' ER(]&4      Et]	EPF                  ! E]4        ! ER) ER*E]4      Et]	EPJ                  ! E]4        ! ER+ ER,E]4      Et]	EPN                  ! E]4        ! ER- ER.]&4      Et]	EPR                  ! E]4        ! ER/ ER0]&4      Et]	EPV                  ! E]4        ! ER1 ER2]&4      Et]	EPZ                  ! E]4       ]zEP\                  Et ]zEP^                  Et ]zEP`                  Et ]zEPb                  Et ]zEPd                  Et ]zEPf                  Et ]zEPh                  Et ]zEPj                  Et ]zEPl                  Et ]zEPn                  Et ]zEPp                  Et ]zEPr                  Et ]zEPt                  Et ]zEPv                  Et ]zEPx                  Et ]zEPz                  Et ]zEP|                  Et  ! ER3 ER4]&4      Et]	EP                  ! E]4        ! ER5 ER6E]O4      Et]	EP                  ! E]4        ! ER7 ER8E]4      Et]	EP                  ! E]4        ! ER9 ER:]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ER; ER<]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ER= ER> lEt ! ER? ER@]&4      Et]	EP                  ! E]4        ! ERA ERBE]4      Et]	EP                  ! E]4        ! ERC ERDE]4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                   Et  ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP
                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et	]	EP                  Et
]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et]	EP"                  Et]	EP$                  Et]	EP&                  Et]	EP(                  Et]	EP*                  Et]	EP,                  Et]	EP.                  Et]	EP0                  Et]	EP2                  Et]	EP4                  Et ! ERE ERF]&4      Et]	EP8                  ! E]4       ]	EP:                  Et ]	EP<                  Et ]	EP>                  Et ]	EP@                  Et  ]	EPB                  Et! ]	EPD                  Et" ]	EPF                  Et# ]	EPH                  Et$ ]	EPJ                  Et% ]	EPL                  Et&  ! ERG ERH]&4      Et']	EPP                  ! E]'4        ! ERI ERJ]&4      Et)]	EPT                  ! E])4        ! ERK ERLE])4      Et+]	EPX                  ! E]+4        ! ERM ERN]EPZ                  4      Et.]	EP^                  ! E].4       ]	EP`                  Et0 ]	EPb                  Et1 ]	EPd                  Et2 ]	EPf                  Et3 ]	EPh                  Et4 ]	EPj                  Et5  ! ERO ERP]&4      Et6]	EPn                  ! E]64        ! ERQ ERR]&4      Et8]	EPr                  ! E]84        ! ERS ERT]Y4      Et:]	EPv                  ! E]:4       ]	EPx                  Et< ]	EPz                  Et= ]	EP|                  Et> ]	EP~                  Et? ]	EP                  Et@ ]	EP                  EtA  ! ERU ERV]&4      EtB]	EP                  ! E]B4       ]	EP                  EtD ]	EP                  EtE ]	EP                  EtF ]	EP                  EtG ]	EP                  EtH ]	EP                  EtI ]	EP                  EtJ ]	EP                  EtK ]	EP                  EtL ]	EP                  EtM ]	EP                  EtN ]	EP                  EtO ]	EP                  EtP ]	EP                  EtQ ]	EP                  EtR ]	EP                  EtS ]	EP                  EtT ]	EP                  EtU ]	EP                  EtV ]	EP                  EtW ]	EP                  EtX ]	EP                  EtY ]	EP                  EtZ ]	EP                  Et[ ]	EP                  Et\ ]	EP                  Et] ]	EP                  Et^ ]	EP                  Et_ ]	EP                  Et` ]	EP                  Eta ]	EP                  Etb ]	EP                  Etc ]	EP                  Etd ]	EP                  Ete]	EP                  EtfERW ERX lEtgERY ERZ lEth ! ER[ ER\]&4      Eti]	EP                  ! E]i4        ! ER] ER^]&4      Etk]	EP                  ! E]k4       ]	EP                  Etm ]	EP                  Etn ]	EP                  Eto ]	EP                  Etp ]	EP                  Etq ]	EP                  Etr ]	EP                  Ets  ! ER_ ER`]&4      Ett]	EP                  ! E]t4       ]	EP                  Etv ]	EP                  Etw ]	EP                  Etx ]	EP                  Ety ]	EP                  Etz ]	EP                  Et{ ]	EP                  Et| ]	EP                  Et} ]	EP                  Et~ ]	EP                  Et ]	EP                   Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP
                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                   Et ]	EP"                  Et ]	EP$                  Et ]	EP&                  Et ]	EP(                  Et ]	EP*                  Et ]	EP,                  Et ]	EP.                  Et ]	EP0                  Et ]	EP2                  Et ]	EP4                  Et ]	EP6                  Et ]	EP8                  Et ]	EP:                  Et ]	EP<                  Et ]	EP>                  Et ]	EP@                  Et ]	EPB                  Et ]	EPD                  Et ]	EPF                  Et ]	EPH                  Et ]	EPJ                  Et ]	EPL                  Et ]	EPN                  Et ]	EPP                  Et ]	EPR                  Et ]	EPT                  Et ]	EPV                  Et ]	EPX                  Et ]	EPZ                  Et ]	EP\                  Et ]	EP^                  Et ]	EP`                  Et ]	EPb                  Et ]	EPd                  Et ]	EPf                  Et ]	EPh                  Et ]	EPj                  Et ]	EPl                  Et ]	EPn                  Et ]	EPp                  Et ]	EPr                  Et ]	EPt                  Et ]	EPv                  Et ]	EPx                  Et ]	EPz                  Et ]	EP|                  Et ]	EP~                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ERa ERb]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ERc ERd]&4      Et]	EP                  ! E]4        ! ERe ERf]&4      Et]	EP                  ! E]4        ! ERg ERh]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                   Et  ]	EP                  Et ]	EP                  Et]	EP                  Et ]	EP                  Et ]	EP
                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et	 ]	EP                  Et
 ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                   Et ]	EP"                  Et ]	EP$                  Et ]	EP&                  Et ]	EP(                  Et]	EP*                  Et]	EP,                  Et ]	EP.                  Et ]	EP0                  Et ]	EP2                  Et ]	EP4                  Et ]	EP6                  Et ]	EP8                  Et ]	EP:                  Et ]	EP<                  Et ]	EP>                  Et ]	EP@                  Et  ]	EPB                  Et! ]	EPD                  Et" ]	EPF                  Et#  ! ERi ERj]&4      Et$]	EPJ                  ! E]$4       ]	EPL                  Et& ]	EPN                  Et' ]	EPP                  Et( ]	EPR                  Et) ]	EPT                  Et*  ! ERk ERlE]4      Et+]	EPX                  ! E]+4        ! ERm ERn]&4      Et-]	EP\                  ! E]-4        ! ERo ERp]&4      Et/]	EP`                  ! E]/4       ERq ERr lEt1ERs ERt lEt2]	EPf                  Et3 ]	EPh                  Et4 ]	EPj                  Et5 ]	EPl                  Et6 ]	EPn                  Et7ERu ERv lEt8ERw ERx lEt9]	EPt                  Et: ]	EPv                  Et; ]	EPx                  Et< ]	EPz                  Et= ]	EP|                  Et> ]	EP~                  Et? ]	EP                  Et@ ]	EP                  EtA ]	EP                  EtB ]	EP                  EtC ERy ERz lEtDER{ ER| lEtE ! ER} ER~]&4      EtF]	EP                  ! E]F4       ]	EP                  EtH ]	EP                  EtI ]	EP                  EtJ ]	EP                  EtK ER ER lEtLER ER lEtM]	EP                  EtN]	EP                  EtO ]	EP                  EtP ]	EP                  EtQ ]	EP                  EtR ]	EP                  EtS ]	EP                  EtT ]	EP                  EtU ]	EP                  EtV ]	EP                  EtW ]	EP                  EtX ]	EP                  EtY ]	EP                  EtZ ]	EP                  Et[ ]	EP                  Et\ ]	EP                  Et] ]	EP                  Et^ ]	EP                  Et_ ]	EP                  Et` ]	EP                  Eta ]	EP                  Etb ]	EP                  Etc ]	EP                  Etd ]	EP                  Ete ]	EP                  Etf ]	EP                  Etg ]	EP                  Eth ]	EP                  Eti ]	EP                  Etj ]	EP                  Etk ]	EP                  Etl ]	EP                  Etm ]	EP                  Etn ]	EP                  Eto ]	EP                  Etp ]	EP                  Etq ]	EP                  Etr ]	EP                  Ets ]	EP                  Ett ]	EP                  Etu ]	EP                  Etv ]	EP                  Etw ]	EP                  Etx ]	EP                  Ety ]	EP                  Etz ]	EP                  Et{ ]	EP                  Et| ]	EP                  Et} ]	EP                  Et~ ]	EP                  Et ]	EP                   Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP
                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                   Et ]	EP"                  Et ]	EP$                  Et ]	EP&                  Et ]	EP(                  Et]	EP*                  Et ]	EP,                  Et ]	EP.                  Et ]	EP0                  Et ]	EP2                  Et ]	EP4                  Et ]	EP6                  Et ]	EP8                  Et ]	EP:                  Et ]	EP<                  Et ]	EP>                  Et ]	EP@                  Et ]	EPB                  Et ]	EPD                  Et ]	EPF                  Et ]	EPH                  EtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEt ! ER ER]&4      Et]	EPz                  ! E]4        ! ER ER]&4      Et]	EP~                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ER ER]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et  ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ER ER]&4      Et]	EP                  ! E]4       ]	EP                  Et ]	EP                  Et ]	EP                  Et  ! ER ERE]4      Et]	EP                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER ERE]4      Et ]	EP                  ! E] 4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER ER]&4      Et]	EP
                  ! E]4        ! ER ER]EP                  4      Et]	EP                  ! E]4        ! ER ERE]4      Et	]	EP                  ! E]	4        ! ER ER]D4      Et]	EP                  ! E]4        ! ER ERE]4      Et]	EP                  ! E]4        ! ER ER]F4      Et]	EP                   ! E]4       ]	EP"                  Et ]	EP$                  Et ]	EP&                  Et  ! ER ERE]	4      Et]	EP*                  ! E]4        ! ER ER]H4      Et]	EP.                  ! E]4        ! ER ERE]4      Et]	EP2                  ! E]4        ! ER ER]&4      Et]	EP6                  ! E]4        ! ER ERE]4      Et]	EP:                  ! E]4        ! ER ERE]4      Et]	EP>                  ! E]4        ! ER ERE]4      Et ]	EPB                  ! E] 4        ! ER ER]&4      Et"]	EPF                  ! E]"4        ! ER ER]&4      Et$]	EPJ                  ! E]$4       ]	EPL                  Et& ]	EPN                  Et' ]	EPP                  Et( ]	EPR                  Et) ]	EPT                  Et* ]	EPV                  Et+  ! ER ERE]$4      Et,]	EPZ                  ! E],4        ! ER ERE],4      Et.]	EP^                  ! E].4        ! ER ER]&4      Et0]	EPb                  ! E]04       ]	EPd                  Et2]	EPf                  Et3]	EPh                  Et4 ]	EPj                  Et5 ]	EPl                  Et6 ]	EPn                  Et7 ]	EPp                  Et8 ]	EPr                  Et9 ]	EPt                  Et: ]	EPv                  Et; ]	EPx                  Et<  ! ER ER]&4      Et=]	EP|                  ! E]=4       ]	EP~                  Et? ]	EP                  Et@ ]	EP                  EtA ]	EP                  EtB ]	EP                  EtC ER ER lEtDER ER lEtEER ER lEtFER ER lEtGER ER lEtHER ER  lEtIERzER ER llEtJER|ER ER llEtKER ER lEtLER ER lEtMER	 ER
 lEtNER ER lEtOER|ER ER llEtPER ER lEtQER ER lEtRER ER lEtSER ER lEtT ! ER ER]&4      EtU]	EP                  ! E]U4       ]	EP                  EtW ]	EP                  EtX ]	EP                  EtY ]	EP                  EtZ ]	EP                  Et[ ]	EP                  Et\ ]	EP                  Et] ]	EP                  Et^ ]	EP                  Et_ ]	EP                  Et` ]	EP                  Eta ]	EP                  Etb ]	EP                  Etc ]	EP                  Etd ]	EP                  Ete ]	EP                  Etf ER ER lEtgER}ER ER llEthER}ER ER llEtiRR^ E]3ER ER  llEtjER|ER! ER" llEtkER# ER$ lEtlERzER% ER& llEtmER' ER( lEtnER) ER* lEtoER+ ER, lEtpER- ER. lEtq]	EP                  Etr ]	EP                  Ets ]	EP                  Ett ]	EP                  Etu ]	EP                  Etv ]	EP                  Etw ]	EP                  Etx ]	EP                  Ety ]	EP                  Etz ]	EP                  Et{ ]	EP                  Et| ]	EP                  Et} ]	EP                  Et~ ]	EP                  Et ]	E	P                   Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P
                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                  Et ]	E	P                   Et ]	E	P"                  Et ]	E	P$                  Et ]	E	P&                  Et ]	E	P(                  Et ]	E	P*                  Et ]	E	P,                  Et ]	E	P.                  Et ]	E	P0                  Et ]	E	P2                  Et ]	E	P4                  Et ]	E	P6                  Et  ! ER/ ER0]&4      Et]	E	P:                  ! E]4       ]zE	P<                  Et ! ER1 ER2E]4      Et]	E	P@                  ! E]4        ! ER3 ER4]&4      Et]	E	PD                  ! E]4       ]zE	PF                  Et ]zE	PH                  Et ]zE	PJ                  Et ]zE	PL                  Et ]zE	PN                  Et ]zE	PP                  Et ]zE	PR                  Et ]	E	PT                  Et ]	E	PV                  Et  ! ER5 ER6]&4      Et]	E	PZ                  ! E]4        ! ER7 ER8]&4      Et]	E	P^                  ! E]4       ER9 ER: lEt]	E	Pb                  Et]	E	Pd                  Et]	E	Pf                  Et]	E	Ph                  Et]	E	Pj                  Et]	E	Pl                  Et]	E	Pn                  Et]	E	Pp                  Et]	E	Pr                  Et]	E	Pt                  Et]	E	Pv                  Et]	E	Px                  Et]	E	Pz                  Et]	E	P|                  Et]	E	P~                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E	P                  Et]	E
P                   Et ]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P
                  Et]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P                  Et	]	E
P                  Et
]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P                  Et]	E
P                   Et]	E
P"                  Et]	E
P$                  Et]	E
P&                  Et]	E
P(                  Et]	E
P*                  Et]	E
P,                  Et]	E
P.                  Et]	E
P0                  Et]	E
P2                  Et]	E
P4                  Et]	E
P6                  Et]	E
P8                  Et]	E
P:                  Et]	E
P<                  Et]	E
P>                  Et]	E
P@                  Et ]	E
PB                  Et!]	E
PD                  Et"]	E
PF                  Et#]	E
PH                  Et$]	E
PJ                  Et%]	E
PL                  Et&]	E
PN                  Et']	E
PP                  Et(]	E
PR                  Et)]	E
PT                  Et*]	E
PV                  Et+]	E
PX                  Et,]	E
PZ                  Et-]	E
P\                  Et.]	E
P^                  Et/]	E
P`                  Et0]	E
Pb                  Et1]	E
Pd                  Et2]	E
Pf                  Et3]	E
Ph                  Et4]	E
Pj                  Et5]	E
Pl                  Et6]	E
Pn                  Et7]	E
Pp                  Et8]	E
Pr                  Et9]	E
Pt                  Et:]	E
Pv                  Et;]	E
Px                  Et<]	E
Pz                  Et=]	E
P|                  Et>]	E
P~                  Et?]	E
P                  Et@]	E
P                  EtA]	E
P                  EtB]	E
P                  EtC]	E
P                  EtD]	E
P                  EtE]	E
P                  EtF]	E
P                  EtG]	E
P                  EtH]	E
P                  EtI]	E
P                  EtJ]	E
P                  EtK]	E
P                  EtL]	E
P                  EtM]	E
P                  EtN]	E
P                  EtO]	E
P                  EtP]	E
P                  EtQ]	E
P                  EtR]	E
P                  EtS]	E
P                  EtT]	E
P                  EtU]	E
P                  EtV]	E
P                  EtW]	E
P                  EtX]	E
P                  EtY]	E
P                  EtZ]	E
P                  Et[]	E
P                  Et\]	E
P                  Et]]	E
P                  Et^]	E
P                  Et_]	E
P                  Et`]	E
P                  Eta]	E
P                  Etb]	E
P                  Etc]	E
P                  Etd]	E
P                  Ete]	E
P                  Etf]	E
P                  Etg]	E
P                  Eth]	E
P                  Eti]	E
P                  Etj]	E
P                  Etk]	E
P                  Etl]	E
P                  Etm]	E
P                  Etn]	E
P                  Eto]	E
P                  Etp]	E
P                  Etq]	E
P                  Etr]	E
P                  Ets]	E
P                  Ett]	E
P                  Etu]	E
P                  Etv]	E
P                  Etw]	E
P                  Etx]	E
P                  Ety]	E
P                  Etz]	E
P                  Et{]	E
P                  Et|]	E
P                  Et}]	E
P                  Et~]	E
P                  Et]	EP                   Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP
                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et]	EP"                  Et]	EP$                  Et]	EP&                  Et]	EP(                  Et]	EP*                  Et]	EP,                  Et]	EP.                  Et]	EP0                  Et]	EP2                  Et]	EP4                  Et]	EP6                  Et]	EP8                  Et]	EP:                  Et]	EP<                  Et]	EP>                  Et]	EP@                  Et]	EPB                  Et]	EPD                  Et]	EPF                  Et]	EPH                  Et]	EPJ                  Et]	EPL                  Et]	EPN                  Et]	EPP                  Et]	EPR                  Et]	EPT                  Et]	EPV                  Et]	EPX                  Et]	EPZ                  Et]	EP\                  Et]	EP^                  Et]	EP`                  Et]	EPb                  Et]	EPd                  Et]	EPf                  Et]	EPh                  Et]	EPj                  Et]	EPl                  Et]	EPn                  Et]	EPp                  Et]	EPr                  Et]	EPt                  Et]	EPv                  Et]	EPx                  Et]	EPz                  Et]	EP|                  Et]	EP~                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et ]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP
                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et	]	EP                  Et
]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et]	EP"                  Et]	EP$                  Et]	EP&                  Et]	EP(                  Et]	EP*                  Et]	EP,                  Et]	EP.                  Et]	EP0                  Et]	EP2                  Et]	EP4                  Et]	EP6                  Et]	EP8                  Et]	EP:                  Et]	EP<                  Et]	EP>                  Et]	EP@                  Et ]	EPB                  Et!]	EPD                  Et"]	EPF                  Et#]	EPH                  Et$]	EPJ                  Et%]	EPL                  Et&]	EPN                  Et']	EPP                  Et(]	EPR                  Et)]	EPT                  Et*]	EPV                  Et+]	EPX                  Et,]	EPZ                  Et-]	EP\                  Et.]	EP^                  Et/]	EP`                  Et0]	EPb                  Et1]	EPd                  Et2]	EPf                  Et3]	EPh                  Et4]	EPj                  Et5]	EPl                  Et6]	EPn                  Et7]	EPp                  Et8]	EPr                  Et9]	EPt                  Et:]	EPv                  Et;]	EPx                  Et<]	EPz                  Et=]	EP|                  Et>]	EP~                  Et?]	EP                  Et@]	EP                  EtA]	EP                  EtB]	EP                  EtC]	EP                  EtD]	EP                  EtE]	EP                  EtF]	EP                  EtG]	EP                  EtH]	EP                  EtI]	EP                  EtJ]	EP                  EtK]	EP                  EtL]	EP                  EtM]	EP                  EtN]	EP                  EtO]	EP                  EtP]	EP                  EtQ]	EP                  EtR]	EP                  EtS]	EP                  EtT]	EP                  EtU]	EP                  EtV]	EP                  EtW]	EP                  EtX]	EP                  EtY]	EP                  EtZ]	EP                  Et[]	EP                  Et\]	EP                  Et]]	EP                  Et^]	EP                  Et_]	EP                  Et`]	EP                  Eta]	EP                  Etb]	EP                  Etc]	EP                  Etd]	EP                  Ete]	EP                  Etf]	EP                  Etg]	EP                  Eth]	EP                  Eti]	EP                  Etj]	EP                  Etk]	EP                  Etl]	EP                  Etm]	EP                  Etn]	EP                  Eto]	EP                  Etp]	EP                  Etq]	EP                  Etr]	EP                  Ets]	EP                  Ett]	EP                  Etu]	EP                  Etv]	EP                  Etw]	EP                  Etx]	EP                  Ety]	EP                  Etz]	EP                  Et{]	EP                  Et|]	EP                  Et}]	EP                  Et~]	EP                  Et]	EP                   Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP
                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et]	EP"                  Et]	EP$                  Et]	EP&                  Et]	EP(                  Et]	EP*                  Et]	EP,                  Et]	EP.                  Et]	EP0                  Et]	EP2                  Et]	EP4                  Et]	EP6                  Et]	EP8                  Et]	EP:                  Et]	EP<                  Et]	EP>                  Et]	EP@                  Et]	EPB                  Et]	EPD                  Et]	EPF                  Et]	EPH                  Et]	EPJ                  Et]	EPL                  Et]	EPN                  Et]	EPP                  Et]	EPR                  Et]	EPT                  Et]	EPV                  Et]	EPX                  Et]	EPZ                  Et]	EP\                  Et]	EP^                  Et]	EP`                  Et]	EPb                  Et]	EPd                  Et]	EPf                  Et]	EPh                  Et]	EPj                  Et]	EPl                  Et]	EPn                  Et]	EPp                  Et]	EPr                  Et]	EPt                  Et]	EPv                  Et]	EPx                  Et]	EPz                  Et]	EP|                  Et]	EP~                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et ]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP
                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et	]	EP                  Et
]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                  Et]	EP                   Et]	EP"                  Et]	EP$                  Et]	EP&                  Et]	EP(                  Et]	EP*                  Et]	EP,                  Et]	EP.                  Et]	EP0                  Et]	EP2                  Et]	EP4                  Et]	EP6                  Et]	EP8                  Et]	EP:                  Et]	EP<                  Et]	EP>                  Et]	EP@                  Et ]	EPB                  Et!]	EPD                  Et"]	EPF                  Et#]	EPH                  Et$ ! ER; ER<]&4      Et%]	EPL                  ! E]%4       ER= ER> lEt'ER? ER@ lEt(ERA ERB lEt)ERC ERD lEt*ERE ERF lEt+ERG ERH lEt,ERI ERJ lEt-ERK ERL lEt.ERM ERN lEt/ERO ERP lEt0ERQ ERR lEt1ERS ERT lEt2ERU ERV lEt3 ! ERW ERX]&4      Et4]	EPj                  ! E]44       ERY ERZ lEt6ER[ ER\ lEt7ER] ER^ lEt8ER_ ER` lEt9ERa ERb lEt:ERc ERd lEt;ERe ERf lEt<ERg ERh lEt=ERi ERj lEt>ERk ERl lEt?ERm ERn lEt@ERo ERp lEtAERq ERr lEtB ! ERs ERt]&4      EtC]	EP                  ! E]C4       ERu ERv lEtEERw ERx lEtFERy ERz lEtGER{ ER| lEtHER} ER~ lEtIER ER lEtJER ER lEtKER ER lEtLER ER lEtMER ER lEtNER ER lEtOER ER lEtPER ER lEtQ ! ER ER]&4      EtR]	EP                  ! E]R4       ER ER lEtTER ER lEtUER ER lEtVER ER lEtWER ER lEtXER ER lEtYER ER lEtZER ER lEt[ER ER lEt\ER ER lEt]ER ER lEt^ER ER lEt_ER ER lEt` ! ER ER]&4      Eta]	EP                  ! E]a4       ER ER lEtcER ER lEtdER ER lEteER ER lEtfER ER lEtgER ER lEthER ER lEtiER ER lEtjER ER lEtkER ER lEtlER ER lEtmER ER lEtnER ER lEto ! ER ER]&4      Etp]	EP                  ! E]p4       ER ER lEtrER ER lEtsER ER lEttER ER lEtuER ER lEtvER ER lEtwER ER lEtxER ER lEtyER ER lEtzER ER lEt{ER ER lEt|ER ER lEt}ER ER lEt~ ! ER ER]&4      Et]	EP                   ! E]4       ER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEt ! ER ER ]&4      Et]	EP                  ! E]4       ER ER lEtER ER lEtER ER lEtER ER lEtER	 ER
 lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEtER ER lEt ! ER ER]&4      Et]	EP<                  ! E]4       ER ER lEtER ER  lEtER! ER" lEtER# ER$ lEtER% ER& lEtER' ER( lEtER) ER* lEtER+ ER, lEtER- ER. lEtER/ ER0 lEtER1 ER2 lEt ! ER3 ER4]&4      Et]	EPV                  ! E]4       ER5 ER6 lEtER7 ER8 lEtER9 ER: lEtER; ER< lEtER= ER> lEtER? ER@ lEtERA ERB lEtERC ERD lEtERE ERF lEtERG ERH lEtERI ERJ lEtERK ERL lEt ! ERM ERN]&4      Et]	EPr                  ! E]4       ^ RIt]EPt                  ! ]'4       ^ RIt^ REIEt^ RIt^ RItE]7EtE]EtE]Et ! ERO ERPE]4      EtER}ERQ lEth]EPt                  ! ]]]_]6],]F]H]@]P4       ERR ]En        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        E]! E]UEP                  4      E]UEn        ERS EtE]! E]4      E]En         / E]	En        E]! ]	4       FC  EtE]EP                  ERT4      '       g   K   E]ERU,          E]	EP                  E]! ]	E]4      &   KE  	   / E]En        E]! ]	4       FC  EtE]EP                  ERV4      '       g   K   E]ERU,          E]EP                  E]! ]	E]4      &   KE  	  ERW EtE]! E]4      E]	En        E]! E]4      E]En        ERX EtE]! E]4      E]En        ERY EtE]! E]4      E]	En        ERZ ]<En        ER[ ]<En        ER\ ]<En        ER] EtE]! E]4      E]Un        E]! ER^ 4      ]<n        E]! ER_ 4      E]UEn        E]! ER` 4      ]<En        E]! E]UEP                  4      E]UEn        E]! ERa 4      ]<En        E]! E]UEP                  4      E]UEn        E]! ERb 4      ]<En        E]! E]UEP                  4      E]UEn        E]! ERc 4      ]<En        E]! E]UEP                  4      E]UEn        E]! ERd 4      ]<En        E]! E]UEP                  4      E]UEn        E]! ERe 4      ]<En        ERf EtERg EtERh EtERzERi lEtERj EtERk EtERl EtERm Et ! ERn ERo]a4      EtERp EtERq EtERr EtE]! ]	])ERsE]E]'4       E]! ]	]2ERtE]E]4       E]! ]	]4ERuE]E]4       E]! ]	]0ERv]EP                  ]EPZ                  4       E]! ]	]8ERw]EP                  ]64       E]! ]	]:ERxE]	E]EP                  4       R#   ] d	    ^ RIt EnLi ; i(~  a  There are 2 representations of the binary code in the decompiler:

Hex-Rays Decompiler project Copyright (c) 1990-2025 Hex-Rays ALL RIGHTS RESERVED.

* microcode: processor instructions are translated into it and then the decompiler optimizes and transforms it
* ctree: ctree is built from the optimized microcode and represents AST-like tree with C statements and expressions. It can be printed as C code.


Microcode is represented by the following classes:
* mba_t keeps general info about the decompiled code and array of basic blocks. usually mba_t is named 'mba'
* mblock_t a basic block. includes list of instructions
* minsn_t an instruction. contains 3 operands: left, right, and destination
* mop_t an operand. depending on its type may hold various info like a number, register, stack variable, etc.
* mlist_t list of memory or register locations; can hold vast areas of memory and multiple registers. this class is used very extensively in the decompiler. it may represent list of locations accessed by an instruction or even an entire basic block. it is also used as argument of many functions. for example, there is a function that searches for an instruction that refers to a mlist_t.


See [https://hex-rays.com/blog/microcode-in-pictures](https://hex-rays.com/blog/microcode-in-pictures) for a few pictures.
Ctree is represented by:
* cfunc_t keeps general info about the decompiled code, including a pointer to mba_t. deleting cfunc_t will delete mba_t too (however, decompiler returns cfuncptr_t, which is a reference counting object and deletes the underlying function as soon as all references to it go out of scope). cfunc_t has 'body', which represents the decompiled function body as cinsn_t.
* cinsn_t a C statement. can be a compound statement or any other legal C statements (like if, for, while, return, expression-statement, etc). depending on the statement type has pointers to additional info. for example, the 'if' statement has poiner to cif_t, which holds the 'if' condition, 'then' branch, and optionally 'else' branch. Please note that despite of the name cinsn_t we say "statements", not "instructions". For us instructions are part of microcode, not ctree.
* cexpr_t a C expression. is used as part of a C statement, when necessary. cexpr_t has 'type' field, which keeps the expression type.
* citem_t a base class for cinsn_t and cexpr_t, holds common info like the address, label, and opcode.
* cnumber_t a constant 64-bit number. in addition to its value also holds information how to represent it: decimal, hex, or as a symbolic constant (enum member). please note that numbers are represented by another class (mnumber_t) in microcode.


See [https://hex-rays.com/blog/hex-rays-decompiler-primer](https://hex-rays.com/blog/hex-rays-decompiler-primer) for more pictures and more details.
Both microcode and ctree use the following class:
* lvar_t a local variable. may represent a stack or register variable. a variable has a name, type, location, etc. the list of variables is stored in mba->vars.
* lvar_locator_t holds a variable location (vdloc_t) and its definition address.
* vdloc_t describes a variable location, like a register number, a stack offset, or, in complex cases, can be a mix of register and stack locations. very similar to argloc_t, which is used in ida. the differences between argloc_t and vdloc_t are:
* vdloc_t never uses ARGLOC_REG2
* vdloc_t uses micro register numbers instead of processor register numbers
* the stack offsets are never negative in vdloc_t, while in argloc_t there can be negative offsets




The above are the most important classes in this header file. There are many auxiliary classes, please see their definitions in the header file.
See also the description of Virtual Machine used by Microcode.
)annotations)version_info.)_ida_hexraysNc                     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   & CC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_hexrays.py
_swig_reprr   5   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_attrP   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   N   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>.wrapper[   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   X   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/# )   arg1z'TPopupMenu const *'returnNoner$   )formats   "r   __annotate__rF   p   s     ? ?+? ?4 ?r#   c                .    \         P                  ! V 4      # r.   )r    _kludge_force_declare_TPopupMenurB   s   &r   rH   rH   p   s    88>>r#   c                    V ^8  d   QhRRRR/# )rA   rB   'mcallinfo_t'rC   rD   r$   )rE   s   "r   rF   rF   t   s     @ @M @T @r#   c                .    \         P                  ! V 4      # r.   )r   !_kludge_force_declare_mcallinfo_trI   s   &r   rM   rM   t   s    99$??r#   c                    V ^8  d   QhRRRR/# )rA   f'TWidget *'rC   
'vdui_t *'r$   )rE   s   "r   rF   rF   x   s     + +{ +j +r#   c                .    \         P                  ! V 4      # )zxGet the vdui_t instance associated to the TWidget 
        
:param f: pointer to window
:returns: a vdui_t *, or nullptr)r   get_widget_vduirO   s   &r   rS   rS   x   s    
 ''**r#   c                    V ^8  d   QhRRRR/# rA   flagsintrC   boolr$   )rE   s   "r   rF   rF      s     3 3s 3 3r#   c                .    \         P                  ! V 4      # )a   Check that your plugin is compatible with hex-rays decompiler. This function must be called before calling any other decompiler function. 
        
:param flags: reserved, must be 0
:returns: true if the decompiler exists and is compatible with your plugin)r   init_hexrays_plugin)rW   s   &r   r[   r[      s    
 ++E22r#   c               $    V ^8  d   QhRRRRRR/# )rA   map'boundaries_t'key	'cinsn_t'rC   'boundaries_iterator_t'r$   )rE   s   "r   rF   rF      s"     2 2 2i 22r#   c                .    \         P                  ! W4      # )z(Find the specified key in boundaries_t.
)r   boundaries_findr]   r_   s   &&r   rc   rc           ''11r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r^   r_   r`   valz'rangeset_t'rC   ra   r$   )rE   s   "r   rF   rF      s)     9 9> 9	 9 99r#   c                0    \         P                  ! WV4      # )z;Insert new (cinsn_t *, rangeset_t) pair into boundaries_t.
)r   boundaries_insertr]   r_   rg   s   &&&r   ri   ri           ))#C88r#   c                   V ^8  d   QhRR/# rA   rC   rD   r$   )rE   s   "r   rF   rF           . .D .r#   c                 ,    \         P                  ! 4       # )z'Stop working with hex-rays decompiler.
)r   term_hexrays_pluginr$   r#   r   rp   rp           ++--r#   c                     ] tR t^t]! R R RR7      t]tR t]	P                  tR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ lt R0 R1 lt!R2 R3 lt"R4 R5 lt#R6 R7 lt$R8 R9 lt%R: R; lt&R< R= lt'R> R? lt(R@ RA lt)]*PV                  t,]*PZ                  t.]*P^                  t0RBt1RC# )D
hexwarns_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>hexwarns_t.<lambda>       r#   c                	8    V P                   P                  V4      # r.   ru   rw   vs   &&r   rx   ry          AFFJJqMr#   The membership flagdocc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   hexwarns_t_swiginitnew_hexwarns_tr   argss   &*r   __init__hexwarns_t.__init__   "    ((|/J/J0 	r#   c                   V ^8  d   QhRR/# )rA   rC   z'hexwarn_t &'r$   )rE   s   "r   rF   hexwarns_t.__annotate__   s     > > >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_push_backr   s   &*r   	push_backhexwarns_t.push_back       00===r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r           6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_pop_backr   s   &r   pop_backhexwarns_t.pop_back       //55r#   c                   V ^8  d   QhRR/# rA   rC   rX   r$   )rE   s   "r   rF   r           2 2S 2r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_sizer   s   &r   sizehexwarns_t.size       ++D11r#   c                   V ^8  d   QhRR/# rA   rC   rY   r$   )rE   s   "r   rF   r           3 3d 3r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_emptyr   s   &r   emptyhexwarns_t.empty       ,,T22r#   c                    V ^8  d   QhRRRR/# )rA   _idxrX   rC   'hexwarn_t const &'r$   )rE   s   "r   rF   r      s     6 6s 61 6r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_atr   r   s   &&r   athexwarns_t.at   s    ))$55r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r           4 4t 4r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_qclearr   s   &r   qclearhexwarns_t.qclear       --d33r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r      r   r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_clearr   s   &r   clearhexwarns_t.clear   r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r           ; ;d ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_resizer   s   &*r   resizehexwarns_t.resize       --d:T::r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r      s     9 9D 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_growr   s   &*r   growhexwarns_t.grow       ++D8488r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r      s     6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_capacityr   s   &r   capacityhexwarns_t.capacity   r   r#   c                    V ^8  d   QhRRRR/# rA   cntrX   rC   rD   r$   )rE   s   "r   rF   r      s     : :3 :$ :r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_reserver   r   s   &&r   reservehexwarns_t.reserve       ..t99r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r      r   r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_truncater   s   &r   truncatehexwarns_t.truncate   r   r#   c                    V ^8  d   QhRRRR/# )rA   r'hexwarns_t'rC   rD   r$   )rE   s   "r   rF   r           5 5l 5d 5r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_swapr   r   s   &&r   swaphexwarns_t.swap       ++D44r#   c                   V ^8  d   QhRR/# )rA   rC   z'hexwarn_t *'r$   )rE   s   "r   rF   r      s     5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t_extractr   s   &r   extracthexwarns_t.extract       ..t44r#   c               $    V ^8  d   QhRRRRRR/# )rA   s'hexwarn_t'lenrX   rC   rD   r$   )rE   s   "r   rF   r      s!     < < <# < <r#   c                	0    \         P                  ! WV4      # r.   )r   hexwarns_t_injectr   r   r   s   &&&r   injecthexwarns_t.inject   s    --ds;;r#   c                    V ^8  d   QhRRRR/# rA   r   r   rC   rY   r$   )rE   s   "r   rF   r           7 7 7 7r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t___eq__r   s   &&r   __eq__hexwarns_t.__eq__       --d66r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r      r   r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t___ne__r   s   &&r   __ne__hexwarns_t.__ne__   r   r#   c                   V ^8  d   QhRR/# rA   rC   z&'qvector< hexwarn_t >::const_iterator'r$   )rE   s   "r   rF   r      s     : :C :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_beginr   s   &*r   beginhexwarns_t.begin       ,,T9D99r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r      s     8 8A 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_endr   s   &*r   endhexwarns_t.end       **47$77r#   c               $    V ^8  d   QhRRRRRR/# )rA   itr   rw   rC    'qvector< hexwarn_t >::iterator'r$   )rE   s   "r   rF   r      s"     ; ; ; ;,;r#   c                	0    \         P                  ! WV4      # r.   )r   hexwarns_t_insertr   r  rw   s   &&&r   inserthexwarns_t.insert   s    --d::r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r      s     : := :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_eraser   s   &*r   erasehexwarns_t.erase   r	  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r      s     9 9B 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   hexwarns_t_findr   s   &*r   findhexwarns_t.find   r   r#   c                    V ^8  d   QhRRRR/# rA   rw   r   rC   rY   r$   )rE   s   "r   rF   r      s     4 4[ 4D 4r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_hasr   rw   s   &&r   hashexwarns_t.has       **433r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r      s     ; ;K ;4 ;r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_add_uniquer&  s   &&r   
add_uniquehexwarns_t.add_unique       11$::r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r      s     5 5k 5T 5r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t__delr&  s   &&r   _delhexwarns_t._del   r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r           5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   hexwarns_t___len__r   s   &r   __len__hexwarns_t.__len__   r   r#   c                    V ^8  d   QhRRRR/# )rA   irX   rC   r   r$   )rE   s   "r   rF   r      s     < <S <$7 <r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t___getitem__r   r<  s   &&r   __getitem__hexwarns_t.__getitem__       224;;r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r   rC   rD   r$   )rE   s   "r   rF   r      s!     ? ?S ?[ ?D ?r#   c                	0    \         P                  ! WV4      # r.   )r   hexwarns_t___setitem__r   r<  r}   s   &&&r   __setitem__hexwarns_t.__setitem__   s    224A>>r#   c                    V ^8  d   QhRRRR/# )rA   rw   r   rC   rD   r$   )rE   s   "r   rF   r      s     7 7 7t 7r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_appendr&  s   &&r   appendhexwarns_t.append   r   r#   c                    V ^8  d   QhRRRR/# )rA   rw   r   rC   rD   r$   )rE   s   "r   rF   r      r   r#   c                	.    \         P                  ! W4      # r.   )r   hexwarns_t_extendr&  s   &&r   extendhexwarns_t.extend   r   r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_hexwarns_t__swig_destroy__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  
ida_idaapi_qvector_frontfront_qvector_backback_bounded_getitem_iterator__iter__r<   r$   r#   r   rs   rs      s    -/I!#GH $55>623643;96:655<77:8;:94;55<?77%%E##D33Hr#   rs   c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )user_numforms_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_numforms_t.<lambda>	  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r_  	  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   _Keyval'operand_locator_t'rC   'number_format_t &'r$   )rE   s   "r   rF   user_numforms_t.__annotate__  s     > >- >1D >r#   c                	.    \         P                  ! W4      # r.   )r   user_numforms_t_atr   rb  s   &&r   r   user_numforms_t.at  s    ..t==r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   re         7 7S 7r#   c                	.    \         P                  ! V 4      # r.   )r   user_numforms_t_sizer   s   &r   r   user_numforms_t.size      0066r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_numforms_t_swiginitnew_user_numforms_tr   s   &r   r   user_numforms_t.__init__  $    --dL5  5" 	#r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_user_numforms_trT  r<   r$   r#   r   r]  r]    s7    -/I!#GH>7# $::r#   r]  c               $    V ^8  d   QhRRRRRR/# )rA   levelrX   msgstrrC   rD   r$   )rE   s   "r   rF   rF     s!     8 8s 8 8 8r#   c                .    \         P                  ! W4      # r.   )r   debug_hexrays_ctree)rw  rx  s   &&r   r{  r{    s    ++E77r#   c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(])PT                  t+])PX                  t-])P\                  t/RAt0RB# )Cctree_items_ti   c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctree_items_t.<lambda>!  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  !  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   ctree_items_t_swiginitnew_ctree_items_tr   s   &*r   r   ctree_items_t.__init__%  '    ++D,3#3% 	&r#   c                   V ^8  d   QhRR/# )rA   rC   z'citem_t *&'r$   )rE   s   "r   rF   ctree_items_t.__annotate__*       A A Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_push_backr   s   &*r   r   ctree_items_t.push_back*      33D@4@@r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  -       9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_pop_backr   s   &r   r   ctree_items_t.pop_back-      22488r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  0       5 5S 5r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_sizer   s   &r   r   ctree_items_t.size0  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  3       6 6d 6r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_emptyr   s   &r   r   ctree_items_t.empty3  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'citem_t *const &'r$   )rE   s   "r   rF   r  6       9 9s 90 9r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_atr   s   &&r   r   ctree_items_t.at6      ,,T88r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  9       7 7t 7r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_qclearr   s   &r   r   ctree_items_t.qclear9  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  <  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_clearr   s   &r   r   ctree_items_t.clear<  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  ?       > >d >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_resizer   s   &*r   r   ctree_items_t.resize?  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  B       9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_capacityr   s   &r   r   ctree_items_t.capacityB  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  E       = =3 =$ =r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_reserver   s   &&r   r   ctree_items_t.reserveE      11$<<r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  H  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_truncater   s   &r   r   ctree_items_t.truncateH  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'ctree_items_t'rC   rD   r$   )rE   s   "r   rF   r  K       8 8o 8 8r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_swapr   s   &&r   r   ctree_items_t.swapK      ..t77r#   c                   V ^8  d   QhRR/# )rA   rC   'citem_t **'r$   )rE   s   "r   rF   r  N       8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t_extractr   s   &r   r   ctree_items_t.extractN      11$77r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   r  r   rX   rC   rD   r$   )rE   s   "r   rF   r  Q  !     ? ? ?3 ?$ ?r#   c                	0    \         P                  ! WV4      # r.   )r   ctree_items_t_injectr   s   &&&r   r   ctree_items_t.injectQ      00#>>r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r  T       : : :4 :r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t___eq__r   s   &&r   r   ctree_items_t.__eq__T      0099r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  W  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t___ne__r   s   &&r   r  ctree_items_t.__ne__W  r  r#   c                   V ^8  d   QhRR/# rA   rC   z&'qvector< citem_t * >::const_iterator'r$   )rE   s   "r   rF   r  Z       = =C =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_beginr   s   &*r   r  ctree_items_t.beginZ      //<t<<r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  ]       ; ;A ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_endr   s   &*r   r  ctree_items_t.end]  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'qvector< citem_t * >::iterator'rw   	'citem_t'rC   r$   )rE   s   "r   rF   r  `  #     > >9 >i >,>r#   c                	0    \         P                  ! WV4      # r.   )r   ctree_items_t_insertr  s   &&&r   r  ctree_items_t.insert`      001==r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r  d       = == =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_eraser   s   &*r   r  ctree_items_t.erased  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  g       < <B <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ctree_items_t_findr   s   &*r   r   ctree_items_t.findg      ..t;d;;r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   r  j       7 7Y 7$ 7r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_hasr&  s   &&r   r'  ctree_items_t.hasj  r   r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  m       > >I > >r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_add_uniquer&  s   &&r   r-  ctree_items_t.add_uniquem      44T==r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  p       8 8i 84 8r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t__delr&  s   &&r   r3  ctree_items_t._delp  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  s       8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_items_t___len__r   s   &r   r9  ctree_items_t.__len__s  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r  v       ? ?S ?$6 ?r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t___getitem__r?  s   &&r   r@  ctree_items_t.__getitem__v      55d>>r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r  y  &     B BS BY B$ Br#   c                	0    \         P                  ! WV4      # r.   )r   ctree_items_t___setitem__rF  s   &&&r   rG  ctree_items_t.__setitem__y      55dqAAr#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r  |       : :	 :T :r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_appendr&  s   &&r   rL  ctree_items_t.append|  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   ctree_items_t_extendr&  s   &&r   rQ  ctree_items_t.extend  r  r#   r$   N)1r   r   r8   r9   r   r   r   r
   r   r   delete_ctree_items_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r}  r}         -/I!#GH& $88A956976>9=988?::=;>=<7>88?B::%%E##D33Hr#   r}  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )user_labels_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_labels_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/    r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  'int const &'rC   z'_qstring< char > &'r$   )rE   s   "r   rF   user_labels_t.__annotate__  s     < <- <+? <r#   c                	.    \         P                  ! W4      # r.   )r   user_labels_t_atrh  s   &&r   r   user_labels_t.at      ,,T;;r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3    r  r#   c                	.    \         P                  ! V 4      # r.   )r   user_labels_t_sizer   s   &r   r   user_labels_t.size  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_labels_t_swiginitnew_user_labels_tr   s   &r   r   user_labels_t.__init__  $    ++D,3 3  	!r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_user_labels_trT  r<   r$   r#   r   r-  r-    7    -/I!#GH<5! $88r#   r-  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )user_unions_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_unions_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rF    r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  'unsigned long long const &'rC   z'qvector< int > &'r$   )rE   s   "r   rF   user_unions_t.__annotate__  s     < <6 <:L <r#   c                	.    \         P                  ! W4      # r.   )r   user_unions_t_atrh  s   &&r   r   user_unions_t.at  r7  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rJ    r  r#   c                	.    \         P                  ! V 4      # r.   )r   user_unions_t_sizer   s   &r   r   user_unions_t.size  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_unions_t_swiginitnew_user_unions_tr   s   &r   r   user_unions_t.__init__  r@  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_user_unions_trT  r<   r$   r#   r   rD  rD    rB  r#   rD  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )user_cmts_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_cmts_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rZ    r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  'treeloc_t'rC   'citem_cmt_t &'r$   )rE   s   "r   rF   user_cmts_t.__annotate__  s     : :+ : :r#   c                	.    \         P                  ! W4      # r.   )r   user_cmts_t_atrh  s   &&r   r   user_cmts_t.at  s    **499r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r_         3 3S 3r#   c                	.    \         P                  ! V 4      # r.   )r   user_cmts_t_sizer   s   &r   r   user_cmts_t.size  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_cmts_t_swiginitnew_user_cmts_tr   s   &r   r   user_cmts_t.__init__      ))$0L0L0NOr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_user_cmts_trT  r<   r$   r#   r   rX  rX    s6    -/I!#GH:3P#66r#   rX  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )user_iflags_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_iflags_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rq    r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  'citem_locator_t'rC   z'int &'r$   )rE   s   "r   rF   user_iflags_t.__annotate__  s     < <+ <w <r#   c                	.    \         P                  ! W4      # r.   )r   user_iflags_t_atrh  s   &&r   r   user_iflags_t.at  r7  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ru    r  r#   c                	.    \         P                  ! V 4      # r.   )r   user_iflags_t_sizer   s   &r   r   user_iflags_t.size  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_iflags_t_swiginitnew_user_iflags_tr   s   &r   r   user_iflags_t.__init__  r@  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_user_iflags_trT  r<   r$   r#   r   ro  ro    rB  r#   ro  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(])PT                  t+])PX                  t-])P\                  t/RAt0RB# )Ccinsnptrvec_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cinsnptrvec_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cinsnptrvec_t_swiginitnew_cinsnptrvec_tr   s   &*r   r   cinsnptrvec_t.__init__  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cinsn_t *&'r$   )rE   s   "r   rF   cinsnptrvec_t.__annotate__  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_push_backr   s   &*r   r   cinsnptrvec_t.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_pop_backr   s   &r   r   cinsnptrvec_t.pop_back  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_sizer   s   &r   r   cinsnptrvec_t.size  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_emptyr   s   &r   r   cinsnptrvec_t.empty  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'cinsn_t *const &'r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_atr   s   &&r   r   cinsnptrvec_t.at  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_qclearr   s   &r   r   cinsnptrvec_t.qclear  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_clearr   s   &r   r   cinsnptrvec_t.clear  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_resizer   s   &*r   r   cinsnptrvec_t.resize  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_capacityr   s   &r   r   cinsnptrvec_t.capacity  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_reserver   s   &&r   r   cinsnptrvec_t.reserve  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r     r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_truncater   s   &r   r   cinsnptrvec_t.truncate   r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'cinsnptrvec_t'rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_swapr   s   &&r   r   cinsnptrvec_t.swap  r  r#   c                   V ^8  d   QhRR/# )rA   rC   'cinsn_t **'r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t_extractr   s   &r   r   cinsnptrvec_t.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   r  r   rX   rC   rD   r$   )rE   s   "r   rF   r  	  r  r#   c                	0    \         P                  ! WV4      # r.   )r   cinsnptrvec_t_injectr   s   &&&r   r   cinsnptrvec_t.inject	  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t___eq__r   s   &&r   r   cinsnptrvec_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t___ne__r   s   &&r   r  cinsnptrvec_t.__ne__  r  r#   c                   V ^8  d   QhRR/# rA   rC   z&'qvector< cinsn_t * >::const_iterator'r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_beginr   s   &*r   r  cinsnptrvec_t.begin  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_endr   s   &*r   r  cinsnptrvec_t.end  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'qvector< cinsn_t * >::iterator'rw   r`   rC   r$   )rE   s   "r   rF   r    r  r#   c                	0    \         P                  ! WV4      # r.   )r   cinsnptrvec_t_insertr  s   &&&r   r  cinsnptrvec_t.insert  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_eraser   s   &*r   r  cinsnptrvec_t.erase  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsnptrvec_t_findr   s   &*r   r   cinsnptrvec_t.find  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r`   rC   rY   r$   )rE   s   "r   rF   r  "  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_hasr&  s   &&r   r'  cinsnptrvec_t.has"  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  %  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_add_uniquer&  s   &&r   r-  cinsnptrvec_t.add_unique%  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  (  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t__delr&  s   &&r   r3  cinsnptrvec_t._del(  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  +  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsnptrvec_t___len__r   s   &r   r9  cinsnptrvec_t.__len__+  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t___getitem__r?  s   &&r   r@  cinsnptrvec_t.__getitem__.  r  r#   c               $    V ^8  d   QhRRRRRR/# rA   r<  rX   r}   r`   rC   rD   r$   )rE   s   "r   rF   r  1  r  r#   c                	0    \         P                  ! WV4      # r.   )r   cinsnptrvec_t___setitem__rF  s   &&&r   rG  cinsnptrvec_t.__setitem__1  r   r#   c                    V ^8  d   QhRRRR/# rA   rw   r`   rC   rD   r$   )rE   s   "r   rF   r  4  r"  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_appendr&  s   &&r   rL  cinsnptrvec_t.append4  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r  7  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsnptrvec_t_extendr&  s   &&r   rQ  cinsnptrvec_t.extend7  r  r#   r$   N)1r   r   r8   r9   r   r   r   r
   r   r   delete_cinsnptrvec_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r    r+  r#   r  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )eamap_tiA  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   eamap_t.<lambda>B  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  B  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  rI  rC   'cinsnptrvec_t &'r$   )rE   s   "r   rF   eamap_t.__annotate__F  s     6 66 6:K 6r#   c                	.    \         P                  ! W4      # r.   )r   
eamap_t_atrh  s   &&r   r   
eamap_t.atF  s    &&t55r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  I       / /S /r#   c                	.    \         P                  ! V 4      # r.   )r   eamap_t_sizer   s   &r   r   eamap_t.sizeI      ((..r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   eamap_t_swiginitnew_eamap_tr   s   &r   r   eamap_t.__init__L      %%dL,D,D,FGr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_eamap_trT  r<   r$   r#   r   r  r  A  s6    -/I!#GH6/H#22r#   r  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )boundaries_tiT  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   boundaries_t.<lambda>U  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r$  U  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  r`   rC   'rangeset_t &'r$   )rE   s   "r   rF   boundaries_t.__annotate__Y  s     ; ;) ;~ ;r#   c                	.    \         P                  ! W4      # r.   )r   boundaries_t_atrh  s   &&r   r   boundaries_t.atY  s    ++D::r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r(  \       4 4S 4r#   c                	.    \         P                  ! V 4      # r.   )r   boundaries_t_sizer   s   &r   r   boundaries_t.size\  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   boundaries_t_swiginitnew_boundaries_tr   s   &r   r   boundaries_t.__init___  $    **42 2 	 r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_boundaries_trT  r<   r$   r#   r   r"  r"  T  s7    -/I!#GH;4  $77r#   r"  c                     ] tR tRt$ ]! R R RR7      t]tR tR R lt	R	 R
 lt
R R ltR R lt]P                  t]! ]P                   ]P"                  4      tR]R&   ]! ]P(                  ]P*                  4      tR]R&   ]! ]P.                  ]P0                  4      tR]R&   ]! ]P4                  4      tR]R&   ]! ]P8                  ]P:                  4      tR]R&   ]! ]P>                  ]P@                  4      t!R]R&   ]! ]PD                  ]PF                  4      t$R]R&   ]! ]PJ                  ]PL                  4      t'R]R&   ]! ]PP                  ]PR                  4      t*R]R &   ]! ]PV                  ]PX                  4      t-R!]R"&   ]! ]P\                  ]P^                  4      t0R#]R$&   ]! ]Pb                  ]Pd                  4      t3R#]R%&   ]! ]Ph                  ]Pj                  4      t6R#]R&&   ]! ]Pn                  ]Pp                  4      t9R']R(&   R) R* lt:R+ R, lt;R- R. lt<R/ R0 lt=R1 R2 lt>R3 R4 lt?R5 R6 lt@R7 R8 ltAR9 R: ltBR; R< ltCR= R> ltDR? R@ ltERA RB ltFRC RD ltGRE RF ltHRG RH ltIRI RJ ltJRK RL ltKRM RN ltLRO RP ltMRQ RR ltNRS RT ltORU RV ltPRW RX ltQRY RZ ltRR[ R\ ltSR] R^ ltTR_ R` ltURa Rb ltVRc Rd ltWRrRf Rg lltXRh tYRi Rj ltZRk Rl lt[Rm Rn lt\Ro Rp lt]Rqt^Re# )s
cfuncptr_tih  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cfuncptr_t.<lambda>i  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r:  i  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cfuncptr_t_swiginitnew_cfuncptr_tr   s   &*r   r   cfuncptr_t.__init__m  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   cfuncptr_t.__annotate__q  r   r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_resetr   s   &r   resetcfuncptr_t.resetq  r   r#   c                   V ^8  d   QhRR/# rA   rC   'cfunc_t *'r$   )rE   s   "r   rF   rA  t       7 7+ 7r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t___deref__r   s   &r   	__deref__cfuncptr_t.__deref__t  ro  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cfunc_t &'r$   )rE   s   "r   rF   rA  w  s     5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t___ref__r   s   &r   __ref__cfuncptr_t.__ref__w  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA  z  s     8 83 8r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t___ptrval__r   s   &r   
__ptrval__cfuncptr_t.__ptrval__z  r  r#   ida_idaapi.ea_tentry_ea	'mba_t *'mbar`   body'intvec_t &'argidx'ctree_maturity_t'maturity'user_labels_t *'user_labels'user_cmts_t *'	user_cmts'user_numforms_t *'numforms'user_iflags_t *'user_iflags'user_unions_t *'user_unionsrX   refcnt	statebitshdrlines'citem_pointers_t'	treeitemsc                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA         5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_releaser   s   &r   releasecfuncptr_t.release  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     : :T :r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_build_c_treer   s   &r   build_c_treecfuncptr_t.build_c_tree      33D99r#   c               $    V ^8  d   QhRRRRRR/# rA   aulz'allow_unused_labels_t'even_without_debuggerrY   rC   rD   r$   )rE   s   "r   rF   rA    s(     P P1 P$ PPr#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_verifyr   r~  r  s   &&&r   verifycfuncptr_t.verify  s    --d9NOOr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA         7 7$ 7r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_print_dclr   s   &r   	print_dclcfuncptr_t.print_dcl  ro  r#   c                    V ^8  d   QhRRRR/# rA   vp'vc_printer_t'rC   rD   r$   )rE   s   "r   rF   rA    s     < <^ <t <r#   c                	.    \         P                  ! W4      # r.   )r   cfuncptr_t_print_funcr   r  s   &&r   
print_funccfuncptr_t.print_func      11$;;r#   c                    V ^8  d   QhRRRR/# rA   r   	'tinfo_t'rC   rY   r$   )rE   s   "r   rF   rA    s     A A) At Ar#   c                	.    \         P                  ! W4      # r.   )r   cfuncptr_t_get_func_typer   r   s   &&r   get_func_typecfuncptr_t.get_func_type  s    44T@@r#   c                   V ^8  d   QhRR/# rA   rC   z'lvars_t *'r$   )rE   s   "r   rF   rA    rI  r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_lvarsr   s   &r   	get_lvarscfuncptr_t.get_lvars  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    s     > > >r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_stkoff_deltar   s   &r   get_stkoff_deltacfuncptr_t.get_stkoff_delta      77==r#   c                    V ^8  d   QhRRRR/# rA   labelrX   rC   'citem_t *'r$   )rE   s   "r   rF   rA    s     ? ? ?{ ?r#   c                	.    \         P                  ! W4      # r.   )r   cfuncptr_t_find_labelr   r  s   &&r   
find_labelcfuncptr_t.find_label  s    11$>>r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     B BT Br#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_remove_unused_labelsr   s   &r   remove_unused_labelscfuncptr_t.remove_unused_labels      ;;DAAr#   c               $    V ^8  d   QhRRRRRR/# rA   locr]  rtz'cmt_retrieval_type_t'rC   ry  r$   )rE   s   "r   rF   rA    s'     C C C1G C3 Cr#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_get_user_cmtr   r  r  s   &&&r   get_user_cmtcfuncptr_t.get_user_cmt  s    33DrBBr#   c               $    V ^8  d   QhRRRRRR/# rA   r  r]  cmtry  rC   rD   r$   )rE   s   "r   rF   rA    s&     D D D# D Dr#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_set_user_cmtr   r  r  s   &&&r   set_user_cmtcfuncptr_t.set_user_cmt  s    33DsCCr#   c                    V ^8  d   QhRRRR/# rA   r  rt  rC   rX   r$   )rE   s   "r   rF   rA    s     B B#4 B Br#   c                	.    \         P                  ! W4      # r.   )r   cfuncptr_t_get_user_iflagsr   r  s   &&r   get_user_iflagscfuncptr_t.get_user_iflags      66tAAr#   c               $    V ^8  d   QhRRRRRR/# rA   r  rt  iflagsrX   rC   rD   r$   )rE   s   "r   rF   rA    s'     J J#4 Jc JT Jr#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_set_user_iflagsr   r  r  s   &&&r   set_user_iflagscfuncptr_t.set_user_iflags  s    66t&IIr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    s     = = =r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_has_orphan_cmtsr   s   &r   has_orphan_cmtscfuncptr_t.has_orphan_cmts      66t<<r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    s     = = =r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_del_orphan_cmtsr   s   &r   del_orphan_cmtscfuncptr_t.del_orphan_cmts  r  r#   c               $    V ^8  d   QhRRRRRR/# rA   earX  path
'intvec_t'rC   rY   r$   )rE   s   "r   rF   rA    '     P P? P* PPr#   c                	0    \         P                  ! WV4      # r.   )r   #cfuncptr_t_get_user_union_selectionr   r  r  s   &&&r   get_user_union_selection#cfuncptr_t.get_user_union_selection      ??$OOr#   c               $    V ^8  d   QhRRRRRR/# rA   r  rX  r  r  rC   rD   r$   )rE   s   "r   rF   rA    r  r#   c                	0    \         P                  ! WV4      # r.   )r   #cfuncptr_t_set_user_union_selectionr  s   &&&r   set_user_union_selection#cfuncptr_t.set_user_union_selection  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA         > > >r#   c                .    \         P                  ! V 4      # )z5Save user defined labels into the database. 
        )r   cfuncptr_t_save_user_labelsr   s   &r   save_user_labelscfuncptr_t.save_user_labels       77==r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     < <t <r#   c                .    \         P                  ! V 4      # )z7Save user defined comments into the database. 
        )r   cfuncptr_t_save_user_cmtsr   s   &r   save_user_cmtscfuncptr_t.save_user_cmts       55d;;r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     @ @4 @r#   c                .    \         P                  ! V 4      # )z=Save user defined number formats into the database. 
        )r   cfuncptr_t_save_user_numformsr   s   &r   save_user_numformscfuncptr_t.save_user_numforms       99$??r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    r  r#   c                .    \         P                  ! V 4      # )z;Save user defined citem iflags into the database. 
        )r   cfuncptr_t_save_user_iflagsr   s   &r   save_user_iflagscfuncptr_t.save_user_iflags  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    r  r#   c                .    \         P                  ! V 4      # )zESave user defined union field selections into the database. 
        )r   cfuncptr_t_save_user_unionsr   s   &r   save_user_unionscfuncptr_t.save_user_unions  r  r#   c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# rA   linery  rw   rX   is_ctree_linerY   phead'ctree_item_t'pitemptailrC   r$   )rE   s   "r   rF   rA    sA     0 0# 0# 0d 00-06D0HL0r#   c           	     	4    \         P                  ! WVW4WV4      # r.   )r   cfuncptr_t_get_line_itemr   r  rw   r  r  r  r  s   &&&&&&&r   get_line_itemcfuncptr_t.get_line_item  s    44T%0 	0r#   c                   V ^8  d   QhRR/# rA   rC   z'hexwarns_t &'r$   )rE   s   "r   rF   rA    s     : :^ :r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_warningsr   s   &r   get_warningscfuncptr_t.get_warnings  r{  r#   c                   V ^8  d   QhRR/# rA   rC   z'eamap_t &'r$   )rE   s   "r   rF   rA    rI  r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_eamapr   s   &r   	get_eamapcfuncptr_t.get_eamap  ro  r#   c                   V ^8  d   QhRR/# rA   rC   z'boundaries_t &'r$   )rE   s   "r   rF   rA    s     < </ <r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_boundariesr   s   &r   get_boundariescfuncptr_t.get_boundaries      55d;;r#   c                   V ^8  d   QhRR/# rA   rC   z'strvec_t const &'r$   )rE   s   "r   rF   rA    s     < <1 <r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_get_pseudocoder   s   &r   get_pseudocodecfuncptr_t.get_pseudocode  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     @ @4 @r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_refresh_func_ctextr   s   &r   refresh_func_ctextcfuncptr_t.refresh_func_ctext      99$??r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     C Cd Cr#   c                	.    \         P                  ! V 4      # r.   )r    cfuncptr_t_recalc_item_addressesr   s   &r   recalc_item_addresses cfuncptr_t.recalc_item_addresses      <<TBBr#   Nc               $    V ^8  d   QhRRRRRR/# rA   cir  udmz'udt_type_data_t'rC   rY   r$   )rE   s   "r   rF   rA    s(     D D D5F DDr#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_gather_derefsr   rG  rH  s   &&&r   gather_derefscfuncptr_t.gather_derefs  s    44TsCCr#   c                2    \         P                  ! V .VO5!  # af  This method has the following signatures:

    1. find_item_coords(item: citem_t) -> Tuple[int, int]
    2. find_item_coords(item: citem_t, x: int_pointer, y: int_pointer) -> bool

NOTE: The second form is retained for backward-compatibility,
but we strongly recommend using the first.

:param item: The item to find coordinates for in the pseudocode listing)r   cfuncptr_t_find_item_coordsr   s   &*r   find_item_coordscfuncptr_t.find_item_coords  s     77DtDDr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    r   r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_lockedr   s   &r   lockedcfuncptr_t.locked  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t_serializer   s   &r   	serializecfuncptr_t.serialize  ro  r#   c               $    V ^8  d   QhRRRRRR/# rA   r[  'mba_t'bytes'uchar const *'rC   rH  r$   )rE   s   "r   rF   rA    s&     E Ew E E+ Er#   c                	0    \         P                  ! WV4      # r.   )r   cfuncptr_t_deserialize)r   r[  r`  s   &&&r   deserializecfuncptr_t.deserialize  s    224eDDr#   c                   V ^8  d   QhRR/# rA   rC   ry  r$   )rE   s   "r   rF   rA    r6  r#   c                	.    \         P                  ! V 4      # r.   )r   cfuncptr_t___str__r   s   &r   __str__cfuncptr_t.__str__  r   r#   r$   r.   )_r   r   r8   r9   r   r   r   r
   r   rD  rL  rQ  rV  r   delete_cfuncptr_trT  cfuncptr_t_entry_ea_getcfuncptr_t_entry_ea_setrY  __annotations__cfuncptr_t_mba_getcfuncptr_t_mba_setr[  cfuncptr_t_body_getcfuncptr_t_body_setr\  cfuncptr_t_argidx_getr^  cfuncptr_t_maturity_getcfuncptr_t_maturity_setr`  cfuncptr_t_user_labels_getcfuncptr_t_user_labels_setrb  cfuncptr_t_user_cmts_getcfuncptr_t_user_cmts_setrd  cfuncptr_t_numforms_getcfuncptr_t_numforms_setrf  cfuncptr_t_user_iflags_getcfuncptr_t_user_iflags_setrh  cfuncptr_t_user_unions_getcfuncptr_t_user_unions_setrj  cfuncptr_t_refcnt_getcfuncptr_t_refcnt_setrk  cfuncptr_t_statebits_getcfuncptr_t_statebits_setrl  cfuncptr_t_hdrlines_getcfuncptr_t_hdrlines_setrm  cfuncptr_t_treeitems_getcfuncptr_t_treeitems_setro  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r$  r*  r0  r7  r<  rB  rL  rQ  rV  r[  rd  rj  r<   r$   r#   r   r8  r8  h  s   -/I!#GH3758#55 (!E!E!GHo Gl==|		C |??((*D) *#L$F$FGFLG#+L!E!E$GH  G%-l""L$K$K&MK" M!),  ,"G"G"II I$,\!E!E%GH! G%-l""L$K$K&MK" M%-l""L$K$K&MK" M<==|		 FC  lCC--/Is /\AA,,.Hc .$,\  ,"G"G%II! I5:P7<A7>?BCDBJ==PP>
<
@
>
>
0
:7<<@CD
E47E5 5r#   r8  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_history_ti"  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_history_t.<lambda>#  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  #  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_history_t_swiginitnew_qvector_history_tr   s   &*r   r   qvector_history_t.__init__'  '    //l!!7"#'7) 	*r#   c                   V ^8  d   QhRR/# rA   rC   z'history_item_t &'r$   )rE   s   "r   rF   qvector_history_t.__annotate__,  s     E E!3 Er#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_push_backr   s   &*r   r   qvector_history_t.push_back,      77DtDDr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  /       = = =r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_pop_backr   s   &r   r   qvector_history_t.pop_back/  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  2       9 9S 9r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_sizer   s   &r   r   qvector_history_t.size2  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  5       : :d :r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_emptyr   s   &r   r   qvector_history_t.empty5  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'history_item_t const &'r$   )rE   s   "r   rF   r  8  s     = =s =6 =r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_atr   s   &&r   r   qvector_history_t.at8      00<<r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  ;  s     ; ;t ;r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_qclearr   s   &r   r   qvector_history_t.qclear;      44T::r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  >  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_clearr   s   &r   r   qvector_history_t.clear>  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  A       B Bd Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_resizer   s   &*r   r   qvector_history_t.resizeA      44TADAAr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  D  s     @ @D @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_growr   s   &*r   r   qvector_history_t.growD      224?$??r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  G  s     = = =r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_capacityr   s   &r   r   qvector_history_t.capacityG  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  J  s     A A3 A$ Ar#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_reserver   s   &&r   r   qvector_history_t.reserveJ      55d@@r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  M  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_truncater   s   &r   r   qvector_history_t.truncateM  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_history_t'rC   rD   r$   )rE   s   "r   rF   r  P  s     < <) <T <r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_swapr   s   &&r   r   qvector_history_t.swapP  rB  r#   c                   V ^8  d   QhRR/# )rA   rC   z'history_item_t *'r$   )rE   s   "r   rF   r  S  s     < <* <r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t_extractr   s   &r   r   qvector_history_t.extractS  r2  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'history_item_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r  V  s'     C C( Cs Cd Cr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_history_t_injectr   s   &&&r   r   qvector_history_t.injectV  s    44TcBBr#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r  Y       > >+ >t >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t___eq__r   s   &&r   r   qvector_history_t.__eq__Y  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  \  r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t___ne__r   s   &&r   r  qvector_history_t.__ne__\  r
  r#   c                   V ^8  d   QhRR/# rA   rC   z+'qvector< history_item_t >::const_iterator'r$   )rE   s   "r   rF   r  _  s     A AH Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_beginr   s   &*r   r  qvector_history_t.begin_  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  b  s     ? ?F ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_endr   s   &*r   r  qvector_history_t.endb      11$>>>r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   %'qvector< history_item_t >::iterator'r$   )rE   s   "r   rF   r  e  s)     B B) B.> B1Br#   c                	0    \         P                  ! WV4      # r.   )r   qvector_history_t_insertr  s   &&&r   r  qvector_history_t.inserte  s    44TqAAr#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r  i  s     A AB Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_eraser   s   &*r   r  qvector_history_t.erasei  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  l  s     @ @G @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_history_t_findr   s   &*r   r   qvector_history_t.findl  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   r  o  s     ; ;% ; ;r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_hasr&  s   &&r   r'  qvector_history_t.haso  r/  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  r  s     B B, B Br#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_add_uniquer&  s   &&r   r-  qvector_history_t.add_uniquer      88AAr#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  u  s     < <& <$ <r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t__delr&  s   &&r   r3  qvector_history_t._delu  rB  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  x  s     < < <r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_history_t___len__r   s   &r   r9  qvector_history_t.__len__x  r2  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r  {  s     C CS C$< Cr#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t___getitem__r?  s   &&r   r@  qvector_history_t.__getitem__{      99$BBr#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r  ~  s'     F FS F%5 F Fr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_history_t___setitem__rF  s   &&&r   rG  qvector_history_t.__setitem__~  s    99$1EEr#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    s     > >( >D >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_appendr&  s   &&r   rL  qvector_history_t.append  r
  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_history_t_extendr&  s   &&r   rQ  qvector_history_t.extend  r
  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_history_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r  "  s    -/I!#GH* $<<E=9:=;:B@=A=<<C>>A?BA@;B<<CF>>%%E##D33Hr#   r  c                  v    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R t]P                  tRtR# )	history_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   history_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r&    r~   r#   r   r   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   history_t.__annotate__  s     0 0$ 0r#   c                	.    \         P                  ! V 4      # r.   )r   history_t_popr   s   &r   pophistory_t.pop      ))$//r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r)    s     7 7- 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   history_t_topr   s   &*r   tophistory_t.top      ))$666r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rD   r$   )rE   s   "r   rF   r)    s     4 4& 4$ 4r#   c                	.    \         P                  ! W4      # r.   )r   history_t_pushr   r}   s   &&r   pushhistory_t.push  r)  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   history_t_swiginitnew_history_tr   s   &r   r   history_t.__init__      ''l.H.H.JKr#   r$   N)r   r   r8   r9   r   r   r   r
   r,  r2  r9  r   r   delete_history_trT  r<   r$   r#   r   r$  r$    s;    -/I!#GH074L#44r#   r$  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  4      t
R]R&   R R	 ltR
 R ltR R lt]tR t]P"                  tRtR# )cinsn_list_t_iteratori  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cinsn_list_t_iterator.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rD    r~   r#   r   r   'cinsn_t const &'curc                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   "cinsn_list_t_iterator.__annotate__  s     A A Ar#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_iterator___next__r   s   &r   __next__cinsn_list_t_iterator.__next__      ::4@@r#   c                    V ^8  d   QhRRRR/# rA   rw   'cinsn_list_t_iterator'rC   rY   r$   )rE   s   "r   rF   rI         B B/ B4 Br#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_iterator___eq__r&  s   &&r   r   cinsn_list_t_iterator.__eq__  r  r#   c                    V ^8  d   QhRRRR/# rP  r$   )rE   s   "r   rF   rI    rR  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_iterator___ne__r&  s   &&r   r  cinsn_list_t_iterator.__ne__  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cinsn_list_t_iterator_swiginitnew_cinsn_list_t_iteratorr   s   &r   r   cinsn_list_t_iterator.__init__  $    33D,%%;& ;( 	)r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cinsn_list_t_iterator_cur_getrG  ro  rL  r   r  nextr   delete_cinsn_list_t_iteratorrT  r<   r$   r#   r   rB  rB    s^    -/I!#GH%l%%'C	 'ABBD) $@@r#   rB  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, lt]P@                  t]PB                  t]PD                  t#R- t$R. t%R/ t&R0 R1 lt'R2 R3 lt(R4 R5 lt)R6 R7 lt*R8t+R9# ):cinsn_list_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cinsn_list_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   re    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cinsn_list_t_swiginitnew_cinsn_list_tr   s   &*r   r   cinsn_list_t.__init__  '    **42"2$ 	%r#   c                    V ^8  d   QhRRRR/# )rA   rw   'cinsn_list_t'rC   rD   r$   )rE   s   "r   rF   cinsn_list_t.__annotate__       7 7n 7 7r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_swapr&  s   &&r   r   cinsn_list_t.swap  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rn         5 5d 5r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_emptyr   s   &r   r   cinsn_list_t.empty  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rn    r-  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_sizer   s   &r   r   cinsn_list_t.size  r   r#   c                   V ^8  d   QhRR/# rA   rC   rF  r$   )rE   s   "r   rF   rn    s     < <. <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_frontr   s   &*r   rW  cinsn_list_t.front  r  r#   c                   V ^8  d   QhRR/# r}  r$   )rE   s   "r   rF   rn    s     ; ;- ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_backr   s   &*r   rY  cinsn_list_t.back  r   r#   c                   V ^8  d   QhRR/# rA   rC   z*'qlist< cinsn_t >::const_reverse_iterator'r$   )rE   s   "r   rF   rn    s     = =H =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_rbeginr   s   &*r   rbegincinsn_list_t.rbegin  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rn    s     ; ;F ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_rendr   s   &*r   rendcinsn_list_t.rend  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rn    s     = =I = =r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_push_frontr&  s   &&r   
push_frontcinsn_list_t.push_front      33D<<r#   c                   V ^8  d   QhRR/# )rA   rC   'cinsn_t &'r$   )rE   s   "r   rF   rn    s     @ @ @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_push_backr   s   &*r   r   cinsn_list_t.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rn    rt  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_clearr   s   &r   r   cinsn_list_t.clear  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rn    s     9 9$ 9r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_pop_frontr   s   &r   	pop_frontcinsn_list_t.pop_front  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rn    s     8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_pop_backr   s   &r   r   cinsn_list_t.pop_back  r  r#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	rA   posz'qlist< cinsn_t >::iterator'otherrm  firstlastrC   rD   r$   )rE   s   "r   rF   rn    s;     O O6 OO;O$O(,Or#   c                	2    \         P                  ! WW#V4      # r.   )r   cinsn_list_t_splice)r   r  r  r  r  s   &&&&&r   splicecinsn_list_t.splice  s     //5NNr#   c                    V ^8  d   QhRRRR/# rA   rw   rm  rC   rY   r$   )rE   s   "r   rF   rn         9 9 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t___eq__r&  s   &&r   r   cinsn_list_t.__eq__      //88r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rn    r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t___ne__r&  s   &&r   r  cinsn_list_t.__ne__  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rn    s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t___len__r   s   &r   r9  cinsn_list_t.__len__  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   rF  r$   )rE   s   "r   rF   rn    s     > >S >$5 >r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t___getitem__r?  s   &&r   r@  cinsn_list_t.__getitem__  r
  r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   rn    s&     A AS AY A$ Ar#   c                	0    \         P                  ! WV4      # r.   )r   cinsn_list_t___setitem__rF  s   &&&r   rG  cinsn_list_t.__setitem__  s    44Ta@@r#   c                    V ^8  d   QhRRRR/# )rA   r}   r`   rC   rY   r$   )rE   s   "r   rF   rn     s     9 9	 9T 9r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_remover8  s   &&r   removecinsn_list_t.remove   r  r#   c                	    VeS   V P                  4       p\        V P                  4       4       F#  pVP                  V8X  d   Vu # \	        V4       K%  	  R # R # r.   r  ranger   rG  r`  r   itemr  r<  s   &&  r   r   cinsn_list_t.find  sD    B499;'66T>IR ( r#   c                	    VeS   V P                  4       p\        V P                  4       4       F#  pVP                  V8X  d   Vu # \	        V4       K%  	  R # R # r.   r  r  s   &&  r   indexcinsn_list_t.index  sD    B499;'66T>HR ( r#   c                	    V P                  4       p\        V P                  4       4       F"  pW18X  d   VP                  u # \	        V4       K$  	  R # r.   r  )r   r  r  r<  s   &&  r   r   cinsn_list_t.at  s7    ZZ\tyy{#AzvvH $r#   c                   V ^8  d   QhRR/# rA   rC   rQ  r$   )rE   s   "r   rF   rn    s     5 5- 5r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_beginr   s   &r   r  cinsn_list_t.begin  r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rn     s     3 3+ 3r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_list_t_endr   s   &r   r  cinsn_list_t.end   r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rn  #  s     = =5 =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cinsn_list_t_insertr   s   &*r   r  cinsn_list_t.insert#  r  r#   c                    V ^8  d   QhRRRR/# )rA   prQ  rC   rD   r$   )rE   s   "r   rF   rn  &  s     8 8. 8$ 8r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_list_t_eraser   r  s   &&r   r  cinsn_list_t.erase&  r  r#   r$   N),r   r   r8   r9   r   r   r   r
   r   r   delete_cinsn_list_trT  r   r   r   rW  rY  r  r  r  r   r   r  r   r  r   r  r9  r@  rG  r  rU  rV  rX  rZ  r[  r   r  r   r  r  r  r  r<   r$   r#   r   rc  rc    s    -/I!#GH% $77754<;=;=@598O
997>A9%%E##D33H53=8 8r#   rc  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_carg_ti-  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_carg_t.<lambda>.  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  .  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_carg_t_swiginitnew_qvector_carg_tr   s   &*r   r   qvector_carg_t.__init__2  '    ,,T<4 $4& 	'r#   c                   V ^8  d   QhRR/# )rA   rC   z
'carg_t &'r$   )rE   s   "r   rF   qvector_carg_t.__annotate__7       B B Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_push_backr   s   &*r   r   qvector_carg_t.push_back7  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  :       : : :r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_pop_backr   s   &r   r   qvector_carg_t.pop_back:  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  =       6 6S 6r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_sizer   s   &r   r   qvector_carg_t.size=  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  @       7 7d 7r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_emptyr   s   &r   r   qvector_carg_t.empty@  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'carg_t const &'r$   )rE   s   "r   rF   r  C       : :s :. :r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_atr   s   &&r   r   qvector_carg_t.atC      --d99r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  F       8 8t 8r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_qclearr   s   &r   r   qvector_carg_t.qclearF  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  I  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_clearr   s   &r   r   qvector_carg_t.clearI  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  L       ? ?d ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_resizer   s   &*r   r   qvector_carg_t.resizeL  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  O       = =D =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_growr   s   &*r   r   qvector_carg_t.growO  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  R       : : :r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_capacityr   s   &r   r   qvector_carg_t.capacityR  r{  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  U       > >3 >$ >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_reserver   s   &&r   r   qvector_carg_t.reserveU      224==r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  X  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_truncater   s   &r   r   qvector_carg_t.truncateX  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_carg_t'rC   rD   r$   )rE   s   "r   rF   r  [       9 9& 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_swapr   s   &&r   r   qvector_carg_t.swap[  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z
'carg_t *'r$   )rE   s   "r   rF   r  ^       9 9
 9r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t_extractr   s   &r   r   qvector_carg_t.extract^  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'carg_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r  a  &     @ @ @s @d @r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_carg_t_injectr   s   &&&r   r   qvector_carg_t.injecta      11$3??r#   c                    V ^8  d   QhRRRR/# rA   r   r5  rC   rY   r$   )rE   s   "r   rF   r  d       ; ;( ;D ;r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t___eq__r   s   &&r   r   qvector_carg_t.__eq__d  r/  r#   c                    V ^8  d   QhRRRR/# rG  r$   )rE   s   "r   rF   r  g  rH  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t___ne__r   s   &&r   r  qvector_carg_t.__ne__g  r/  r#   c                   V ^8  d   QhRR/# rA   rC   z#'qvector< carg_t >::const_iterator'r$   )rE   s   "r   rF   r  j       > >@ >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_beginr   s   &*r   r  qvector_carg_t.beginj  r   r#   c                   V ^8  d   QhRR/# rQ  r$   )rE   s   "r   rF   r  m       < <> <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_endr   s   &*r   r  qvector_carg_t.endm  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r@  rw   rC   'qvector< carg_t >::iterator'r$   )rE   s   "r   rF   r  p  "     ? ? ?h ?)?r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_carg_t_insertr  s   &&&r   r  qvector_carg_t.insertp      11$A>>r#   c                   V ^8  d   QhRR/# )rA   rC   r\  r$   )rE   s   "r   rF   r  t       > >: >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_eraser   s   &*r   r  qvector_carg_t.eraset  r   r#   c                   V ^8  d   QhRR/# rQ  r$   )rE   s   "r   rF   r  w       = =? =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_carg_t_findr   s   &*r   r   qvector_carg_t.findw  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r@  rC   rY   r$   )rE   s   "r   rF   r  z       8 8X 8 8r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_hasr&  s   &&r   r'  qvector_carg_t.hasz  r  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r  }       ? ?H ? ?r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_add_uniquer&  s   &&r   r-  qvector_carg_t.add_unique}  r  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r         9 9h 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t__delr&  s   &&r   r3  qvector_carg_t._del  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_carg_t___len__r   s   &r   r9  qvector_carg_t.__len__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r         @ @S @$4 @r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t___getitem__r?  s   &&r   r@  qvector_carg_t.__getitem__      66t??r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r@  rC   rD   r$   )rE   s   "r   rF   r    &     C CS CX C Cr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_carg_t___setitem__rF  s   &&&r   rG  qvector_carg_t.__setitem__      66tBBr#   c                    V ^8  d   QhRRRR/# )rA   rw   r@  rC   rD   r$   )rE   s   "r   rF   r         ; ; ;D ;r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_appendr&  s   &&r   rL  qvector_carg_t.append  r/  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r5  rC   rD   r$   )rE   s   "r   rF   r    rH  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_carg_t_extendr&  s   &&r   rQ  qvector_carg_t.extend  r/  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_carg_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r  -      -/I!#GH' $99B:67:87?=:>:99@;;><?>=8?99@C;;%%E##D33Hr#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_ccase_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_ccase_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_ccase_t_swiginitnew_qvector_ccase_tr   s   &*r   r   qvector_ccase_t.__init__  '    --dL5 !%5' 	(r#   c                   V ^8  d   QhRR/# )rA   rC   z'ccase_t &'r$   )rE   s   "r   rF   qvector_ccase_t.__annotate__  s     C C Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_push_backr   s   &*r   r   qvector_ccase_t.push_back      55dBTBBr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_pop_backr   s   &r   r   qvector_ccase_t.pop_back  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rk  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_sizer   s   &r   r   qvector_ccase_t.size  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         8 8d 8r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_emptyr   s   &r   r   qvector_ccase_t.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'ccase_t const &'r$   )rE   s   "r   rF   r    s     ; ;s ;/ ;r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_atr   s   &&r   r   qvector_ccase_t.at      ..t::r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         9 9t 9r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_qclearr   s   &r   r   qvector_ccase_t.qclear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_clearr   s   &r   r   qvector_ccase_t.clear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         @ @d @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_resizer   s   &*r   r   qvector_ccase_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         > >D >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_growr   s   &*r   r   qvector_ccase_t.grow  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_capacityr   s   &r   r   qvector_ccase_t.capacity  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r         ? ?3 ?$ ?r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_reserver   s   &&r   r   qvector_ccase_t.reserve      33D>>r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_truncater   s   &r   r   qvector_ccase_t.truncate  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_ccase_t'rC   rD   r$   )rE   s   "r   rF   r         : :' :4 :r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_swapr   s   &&r   r   qvector_ccase_t.swap  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ccase_t *'r$   )rE   s   "r   rF   r    s     : : :r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t_extractr   s   &r   r   qvector_ccase_t.extract  r{  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   	'ccase_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r    s&     A A	 A At Ar#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccase_t_injectr   s   &&&r   r   qvector_ccase_t.inject      224C@@r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r         < <) <T <r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t___eq__r   s   &&r   r   qvector_ccase_t.__eq__  rB  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t___ne__r   s   &&r   r  qvector_ccase_t.__ne__  rB  r#   c                   V ^8  d   QhRR/# rA   rC   z$'qvector< ccase_t >::const_iterator'r$   )rE   s   "r   rF   r    s     ? ?A ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_beginr   s   &*r   r  qvector_ccase_t.begin  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     = =? =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_endr   s   &*r   r  qvector_ccase_t.end  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   'qvector< ccase_t >::iterator'r$   )rE   s   "r   rF   r    s'     @ @ @y @*@r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccase_t_insertr  s   &&&r   r  qvector_ccase_t.insert      224Q??r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r    s     ? ?; ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_eraser   s   &*r   r  qvector_ccase_t.erase  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     > >@ >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccase_t_findr   s   &*r   r   qvector_ccase_t.find  r   r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   r    s     9 9Y 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_hasr&  s   &&r   r'  qvector_ccase_t.has  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    s     @ @I @ @r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_add_uniquer&  s   &&r   r-  qvector_ccase_t.add_unique  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    s     : :i :4 :r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t__delr&  s   &&r   r3  qvector_ccase_t._del  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         : : :r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccase_t___len__r   s   &r   r9  qvector_ccase_t.__len__  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r    s     A AS A$5 Ar#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t___getitem__r?  s   &&r   r@  qvector_ccase_t.__getitem__      77@@r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r    s&     D DS DY D$ Dr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccase_t___setitem__rF  s   &&&r   rG  qvector_ccase_t.__setitem__      77CCr#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    s     < <	 <T <r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_appendr&  s   &&r   rL  qvector_ccase_t.append  rB  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccase_t_extendr&  s   &&r   rQ  qvector_ccase_t.extend  rB  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_ccase_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r        -/I!#GH( $::C;78;98@>;?;::A<<?=@?>9@::AD<<%%E##D33Hr#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_catchexprs_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_catchexprs_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r8    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_catchexprs_t_swiginitnew_qvector_catchexprs_tr   s   &*r   r   qvector_catchexprs_t.__init__
  s'    224$$:%&*:, 	-r#   c                   V ^8  d   QhRR/# )rA   rC   z'catchexpr_t &'r$   )rE   s   "r   rF   !qvector_catchexprs_t.__annotate__  s     H H Hr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_push_backr   s   &*r   r   qvector_catchexprs_t.push_back  s    ::4G$GGr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?         @ @ @r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_pop_backr   s   &r   r   qvector_catchexprs_t.pop_back  r>  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r?    s     < <S <r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_sizer   s   &r   r   qvector_catchexprs_t.size  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r?         = =d =r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_emptyr   s   &r   r   qvector_catchexprs_t.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'catchexpr_t const &'r$   )rE   s   "r   rF   r?    s     @ @s @3 @r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_atr   s   &&r   r   qvector_catchexprs_t.at  s    33D??r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?    s     > >t >r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_qclearr   s   &r   r   qvector_catchexprs_t.qclear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?  !  rM  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_clearr   s   &r   r   qvector_catchexprs_t.clear!  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?  $  s     E Ed Er#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_resizer   s   &*r   r   qvector_catchexprs_t.resize$  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?  '  s     C CD Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_growr   s   &*r   r   qvector_catchexprs_t.grow'  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r?  *  s     @ @ @r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_capacityr   s   &r   r   qvector_catchexprs_t.capacity*  r>  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r?  -  s     D D3 D$ Dr#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_reserver   s   &&r   r   qvector_catchexprs_t.reserve-  s    88CCr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r?  0  rD  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_truncater   s   &r   r   qvector_catchexprs_t.truncate0  r>  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_catchexprs_t'rC   rD   r$   )rE   s   "r   rF   r?  3  s     ? ?, ? ?r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_swapr   s   &&r   r   qvector_catchexprs_t.swap3  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'catchexpr_t *'r$   )rE   s   "r   rF   r?  6  s     ? ? ?r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t_extractr   s   &r   r   qvector_catchexprs_t.extract6      88>>r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'catchexpr_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r?  9  s&     F F FC F4 Fr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_catchexprs_t_injectr   s   &&&r   r   qvector_catchexprs_t.inject9  s    77EEr#   c                    V ^8  d   QhRRRR/# rA   r   rs  rC   rY   r$   )rE   s   "r   rF   r?  <       A A. A$ Ar#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t___eq__r   s   &&r   r   qvector_catchexprs_t.__eq__<  r%  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r?  ?  r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t___ne__r   s   &&r   r  qvector_catchexprs_t.__ne__?  r%  r#   c                   V ^8  d   QhRR/# rA   rC   z('qvector< catchexpr_t >::const_iterator'r$   )rE   s   "r   rF   r?  B  s     D DE Dr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_beginr   s   &*r   r  qvector_catchexprs_t.beginB      66tCdCCr#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r?  E  s     B BC Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_endr   s   &*r   r  qvector_catchexprs_t.endE  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r}  rw   rC   "'qvector< catchexpr_t >::iterator'r$   )rE   s   "r   rF   r?  H  s'     E E E= E.Er#   c                	0    \         P                  ! WV4      # r.   )r   qvector_catchexprs_t_insertr  s   &&&r   r  qvector_catchexprs_t.insertH  s    77!DDr#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r?  L  s     D D? Dr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_eraser   s   &*r   r  qvector_catchexprs_t.eraseL  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r?  O  s     C CD Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_catchexprs_t_findr   s   &*r   r   qvector_catchexprs_t.findO  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r}  rC   rY   r$   )rE   s   "r   rF   r?  R  s     > >] >d >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_hasr&  s   &&r   r'  qvector_catchexprs_t.hasR  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r?  U  s     E EM ET Er#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_add_uniquer&  s   &&r   r-  qvector_catchexprs_t.add_uniqueU      ;;DDDr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r?  X  s     ? ?m ?t ?r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t__delr&  s   &&r   r3  qvector_catchexprs_t._delX  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r?  [  s     ? ? ?r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_catchexprs_t___len__r   s   &r   r9  qvector_catchexprs_t.__len__[  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   rR  r$   )rE   s   "r   rF   r?  ^  s     F FS F$9 Fr#   c                	.    \         P                  ! W4      # r.   )r    qvector_catchexprs_t___getitem__r?  s   &&r   r@   qvector_catchexprs_t.__getitem__^  s    <<TEEr#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r}  rC   rD   r$   )rE   s   "r   rF   r?  a  s&     I IS I] Id Ir#   c                	0    \         P                  ! WV4      # r.   )r    qvector_catchexprs_t___setitem__rF  s   &&&r   rG   qvector_catchexprs_t.__setitem__a  s    <<TaHHr#   c                    V ^8  d   QhRRRR/# )rA   rw   r}  rC   rD   r$   )rE   s   "r   rF   r?  d  s     A A A Ar#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_appendr&  s   &&r   rL  qvector_catchexprs_t.appendd  r%  r#   c                    V ^8  d   QhRRRR/# )rA   rw   rs  rC   rD   r$   )rE   s   "r   rF   r?  g  r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_catchexprs_t_extendr&  s   &&r   rQ  qvector_catchexprs_t.extendg  r%  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_catchexprs_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r6  r6    s    -/I!#GH- $??H@<=@>=EC@D@??FAADBEDC>E??FIAA%%E##D33Hr#   r6  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_ccatchvec_tiq  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_ccatchvec_t.<lambda>r  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  r  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_ccatchvec_t_swiginitnew_qvector_ccatchvec_tr   s   &*r   r   qvector_ccatchvec_t.__init__v  '    11$##9$%)9+ 	,r#   c                   V ^8  d   QhRR/# )rA   rC   z'ccatch_t &'r$   )rE   s   "r   rF    qvector_ccatchvec_t.__annotate__{  s     G G Gr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_push_backr   s   &*r   r   qvector_ccatchvec_t.push_back{  s    99$FFFr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  ~       ? ? ?r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_pop_backr   s   &r   r   qvector_ccatchvec_t.pop_back~  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     ; ;S ;r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_sizer   s   &r   r   qvector_ccatchvec_t.size  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         < <d <r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_emptyr   s   &r   r   qvector_ccatchvec_t.empty  r2  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'ccatch_t const &'r$   )rE   s   "r   rF   r    s     ? ?s ?0 ?r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_atr   s   &&r   r   qvector_ccatchvec_t.at  s    224>>r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     = =t =r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_qclearr   s   &r   r   qvector_ccatchvec_t.qclear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_clearr   s   &r   r   qvector_ccatchvec_t.clear  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     D Dd Dr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_resizer   s   &*r   r   qvector_ccatchvec_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     B BD Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_growr   s   &*r   r   qvector_ccatchvec_t.grow  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     ? ? ?r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_capacityr   s   &r   r   qvector_ccatchvec_t.capacity  r{  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r    s     C C3 C$ Cr#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_reserver   s   &&r   r   qvector_ccatchvec_t.reserve  s    77BBr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_truncater   s   &r   r   qvector_ccatchvec_t.truncate  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_ccatchvec_t'rC   rD   r$   )rE   s   "r   rF   r    s     > >+ >t >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_swapr   s   &&r   r   qvector_ccatchvec_t.swap  r
  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ccatch_t *'r$   )rE   s   "r   rF   r    s     > > >r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t_extractr   s   &r   r   qvector_ccatchvec_t.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   
'ccatch_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r    s&     E E
 E E Er#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccatchvec_t_injectr   s   &&&r   r   qvector_ccatchvec_t.inject  s    66tDDr#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r         @ @- @ @r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t___eq__r   s   &&r   r   qvector_ccatchvec_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t___ne__r   s   &&r   r  qvector_ccatchvec_t.__ne__  r  r#   c                   V ^8  d   QhRR/# rA   rC   z%'qvector< ccatch_t >::const_iterator'r$   )rE   s   "r   rF   r    s     C CB Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_beginr   s   &*r   r  qvector_ccatchvec_t.begin  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     A A@ Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_endr   s   &*r   r  qvector_ccatchvec_t.end  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   'qvector< ccatch_t >::iterator'r$   )rE   s   "r   rF   r    s'     D D D
 D+Dr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccatchvec_t_insertr  s   &&&r   r  qvector_ccatchvec_t.insert  s    66tCCr#   c                   V ^8  d   QhRR/# )rA   rC   r%  r$   )rE   s   "r   rF   r    s     C C< Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_eraser   s   &*r   r  qvector_ccatchvec_t.erase  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     B BA Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_ccatchvec_t_findr   s   &*r   r   qvector_ccatchvec_t.find  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   r    s     = =Z =4 =r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_hasr&  s   &&r   r'  qvector_ccatchvec_t.has  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r    s     D DJ D$ Dr#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_add_uniquer&  s   &&r   r-  qvector_ccatchvec_t.add_unique      ::4CCr#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r    s     > >j >D >r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t__delr&  s   &&r   r3  qvector_ccatchvec_t._del  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     > > >r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_ccatchvec_t___len__r   s   &r   r9  qvector_ccatchvec_t.__len__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r    s     E ES E$6 Er#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t___getitem__r?  s   &&r   r@  qvector_ccatchvec_t.__getitem__  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r    s&     H HS HZ H4 Hr#   c                	0    \         P                  ! WV4      # r.   )r   qvector_ccatchvec_t___setitem__rF  s   &&&r   rG  qvector_ccatchvec_t.__setitem__  s    ;;DQGGr#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    s     @ @
 @d @r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_appendr&  s   &&r   rL  qvector_ccatchvec_t.append  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_ccatchvec_t_extendr&  s   &&r   rQ  qvector_ccatchvec_t.extend  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_ccatchvec_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r  q  s    -/I!#GH, $>>G?;<?=<DB?C?>>E@@CADCB=D>>EH@@%%E##D33Hr#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#]$PJ                  t&]$PN                  t(]$PR                  t*R7t+R8# )9cblock_posvec_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cblock_posvec_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rW    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cblock_posvec_t_swiginitnew_cblock_posvec_tr   s   &*r   r   cblock_posvec_t.__init__  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cblock_pos_t &'r$   )rE   s   "r   rF   cblock_posvec_t.__annotate__  s     C C!1 Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_push_backr   s   &*r   r   cblock_posvec_t.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_pop_backr   s   &r   r   cblock_posvec_t.pop_back  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^    rk  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_sizer   s   &r   r   cblock_posvec_t.size  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_emptyr   s   &r   r   cblock_posvec_t.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'cblock_pos_t const &'r$   )rE   s   "r   rF   r^    s     ; ;s ;4 ;r#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t_atr   s   &&r   r   cblock_posvec_t.at  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_qclearr   s   &r   r   cblock_posvec_t.qclear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_clearr   s   &r   r   cblock_posvec_t.clear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_resizer   s   &*r   r   cblock_posvec_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_growr   s   &*r   r   cblock_posvec_t.grow  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_capacityr   s   &r   r   cblock_posvec_t.capacity  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t_reserver   s   &&r   r   cblock_posvec_t.reserve  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_truncater   s   &r   r   cblock_posvec_t.truncate  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'cblock_posvec_t'rC   rD   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t_swapr   s   &&r   r   cblock_posvec_t.swap  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cblock_pos_t *'r$   )rE   s   "r   rF   r^    s     : :( :r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t_extractr   s   &r   r   cblock_posvec_t.extract  r{  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'cblock_pos_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r^    s&     A A AS AD Ar#   c                	0    \         P                  ! WV4      # r.   )r   cblock_posvec_t_injectr   s   &&&r   r   cblock_posvec_t.inject  r  r#   c                   V ^8  d   QhRR/# rA   rC   z)'qvector< cblock_pos_t >::const_iterator'r$   )rE   s   "r   rF   r^    s     ? ?F ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_beginr   s   &*r   r  cblock_posvec_t.begin  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r^    s     = =D =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_endr   s   &*r   r  cblock_posvec_t.end  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   #'qvector< cblock_pos_t >::iterator'r$   )rE   s   "r   rF   r^    s'     @ @ @N @/@r#   c                	0    \         P                  ! WV4      # r.   )r   cblock_posvec_t_insertr  s   &&&r   r  cblock_posvec_t.insert  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r^    s     ? ?@ ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   cblock_posvec_t_eraser   s   &*r   r  cblock_posvec_t.erase  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^  !  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_posvec_t___len__r   s   &r   r9  cblock_posvec_t.__len__!  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   ro  r$   )rE   s   "r   rF   r^  $  s     A AS A$: Ar#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t___getitem__r?  s   &&r   r@  cblock_posvec_t.__getitem__$  r%  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r^  '  s&     D DS D^ Dt Dr#   c                	0    \         P                  ! WV4      # r.   )r   cblock_posvec_t___setitem__rF  s   &&&r   rG  cblock_posvec_t.__setitem__'  r*  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r^  *  s     < < <$ <r#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t_appendr&  s   &&r   rL  cblock_posvec_t.append*  rB  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r^  -  r  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_posvec_t_extendr&  s   &&r   rQ  cblock_posvec_t.extend-  rB  r#   r$   N),r   r   r8   r9   r   r   r   r
   r   r   delete_cblock_posvec_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   rU  rU    s    -/I!#GH( $::C;78;98@>;?;::A?=@?:AD<<%%E##D33Hr#   rU  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eui_stroff_ops_ti7  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ui_stroff_ops_t.<lambda>8  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  8  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   ui_stroff_ops_t_swiginitnew_ui_stroff_ops_tr   s   &*r   r   ui_stroff_ops_t.__init__<  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ui_stroff_op_t &'r$   )rE   s   "r   rF   ui_stroff_ops_t.__annotate__A  s     C C!3 Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_push_backr   s   &*r   r   ui_stroff_ops_t.push_backA  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  D  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_pop_backr   s   &r   r   ui_stroff_ops_t.pop_backD  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  G  rk  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_sizer   s   &r   r   ui_stroff_ops_t.sizeG  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  J  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_emptyr   s   &r   r   ui_stroff_ops_t.emptyJ  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'ui_stroff_op_t const &'r$   )rE   s   "r   rF   r  M  s     ; ;s ;6 ;r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_atr   s   &&r   r   ui_stroff_ops_t.atM  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  P  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_qclearr   s   &r   r   ui_stroff_ops_t.qclearP  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  S  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_clearr   s   &r   r   ui_stroff_ops_t.clearS  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  V  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_resizer   s   &*r   r   ui_stroff_ops_t.resizeV  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  Y  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_growr   s   &*r   r   ui_stroff_ops_t.growY  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  \  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_capacityr   s   &r   r   ui_stroff_ops_t.capacity\  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r  _  r  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_reserver   s   &&r   r   ui_stroff_ops_t.reserve_  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  b  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_truncater   s   &r   r   ui_stroff_ops_t.truncateb  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'ui_stroff_ops_t'rC   rD   r$   )rE   s   "r   rF   r  e  r  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_swapr   s   &&r   r   ui_stroff_ops_t.swape  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ui_stroff_op_t *'r$   )rE   s   "r   rF   r  h  s     : :* :r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t_extractr   s   &r   r   ui_stroff_ops_t.extracth  r{  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'ui_stroff_op_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r  k  s'     A A( As Ad Ar#   c                	0    \         P                  ! WV4      # r.   )r   ui_stroff_ops_t_injectr   s   &&&r   r   ui_stroff_ops_t.injectk  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r 	  rC   rY   r$   )rE   s   "r   rF   r  n  r  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t___eq__r   s   &&r   r   ui_stroff_ops_t.__eq__n  rB  r#   c                    V ^8  d   QhRRRR/# r	  r$   )rE   s   "r   rF   r  q  r  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t___ne__r   s   &&r   r  ui_stroff_ops_t.__ne__q  rB  r#   c                   V ^8  d   QhRR/# rA   rC   z+'qvector< ui_stroff_op_t >::const_iterator'r$   )rE   s   "r   rF   r  t  s     ? ?H ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_beginr   s   &*r   r  ui_stroff_ops_t.begint  r  r#   c                   V ^8  d   QhRR/# r	  r$   )rE   s   "r   rF   r  w  s     = =F =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_endr   s   &*r   r  ui_stroff_ops_t.endw  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r		  rw   rC   %'qvector< ui_stroff_op_t >::iterator'r$   )rE   s   "r   rF   r  z  s)     @ @) @.> @1@r#   c                	0    \         P                  ! WV4      # r.   )r   ui_stroff_ops_t_insertr  s   &&&r   r  ui_stroff_ops_t.insertz  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r 	  r$   )rE   s   "r   rF   r  ~  s     ? ?B ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_eraser   s   &*r   r  ui_stroff_ops_t.erase~  r  r#   c                   V ^8  d   QhRR/# r	  r$   )rE   s   "r   rF   r    s     > >G >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ui_stroff_ops_t_findr   s   &*r   r   ui_stroff_ops_t.find  r   r#   c                    V ^8  d   QhRRRR/# rA   rw   r		  rC   rY   r$   )rE   s   "r   rF   r    s     9 9% 9 9r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_hasr&  s   &&r   r'  ui_stroff_ops_t.has  r  r#   c                    V ^8  d   QhRRRR/# r-	  r$   )rE   s   "r   rF   r    s     @ @, @ @r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_add_uniquer&  s   &&r   r-  ui_stroff_ops_t.add_unique  r  r#   c                    V ^8  d   QhRRRR/# r-	  r$   )rE   s   "r   rF   r    s     : :& :$ :r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t__delr&  s   &&r   r3  ui_stroff_ops_t._del  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   ui_stroff_ops_t___len__r   s   &r   r9  ui_stroff_ops_t.__len__  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r    s     A AS A$< Ar#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t___getitem__r?  s   &&r   r@  ui_stroff_ops_t.__getitem__  r%  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r		  rC   rD   r$   )rE   s   "r   rF   r    s'     D DS D%5 D Dr#   c                	0    \         P                  ! WV4      # r.   )r   ui_stroff_ops_t___setitem__rF  s   &&&r   rG  ui_stroff_ops_t.__setitem__  r*  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r		  rC   rD   r$   )rE   s   "r   rF   r    s     < <( <D <r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_appendr&  s   &&r   rL  ui_stroff_ops_t.append  rB  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r 	  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_ops_t_extendr&  s   &&r   rQ  ui_stroff_ops_t.extend  rB  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_ui_stroff_ops_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r  7  r4  r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   ar`   brC   rD   r$   )rE   s   "r   rF   rF     s!     $ $Y $9 $ $r#   c                .    \         P                  ! W4      # r.   )r   qswaprO	  rP	  s   &&r   rR	  rR	    s    a##r#   c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Earray_of_bitsetsi  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   array_of_bitsets.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rW	    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   array_of_bitsets_swiginitnew_array_of_bitsetsr   s   &*r   r   array_of_bitsets.__init__  '    ..t\  6!"&6( 	)r#   c                   V ^8  d   QhRR/# )rA   rC   'bitset_t &'r$   )rE   s   "r   rF   array_of_bitsets.__annotate__       D D Dr#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_push_backr   s   &*r   r   array_of_bitsets.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	         < < <r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_pop_backr   s   &r   r   array_of_bitsets.pop_back  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r`	         8 8S 8r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_sizer   s   &r   r   array_of_bitsets.size  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r`	         9 9d 9r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_emptyr   s   &r   r   array_of_bitsets.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'bitset_t const &'r$   )rE   s   "r   rF   r`	         < <s <0 <r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_atr   s   &&r   r   array_of_bitsets.at      //;;r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	         : :t :r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_qclearr   s   &r   r   array_of_bitsets.qclear  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	    rp	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_clearr   s   &r   r   array_of_bitsets.clear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	         A Ad Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_resizer   s   &*r   r   array_of_bitsets.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	         ? ?D ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_growr   s   &*r   r   array_of_bitsets.grow  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r`	         < < <r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_capacityr   s   &r   r   array_of_bitsets.capacity  r2  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r`	         @ @3 @$ @r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_reserver   s   &&r   r   array_of_bitsets.reserve      44T??r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r`	    rf	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_truncater   s   &r   r   array_of_bitsets.truncate  r2  r#   c                    V ^8  d   QhRRRR/# )rA   r   'array_of_bitsets'rC   rD   r$   )rE   s   "r   rF   r`	         ; ;( ;D ;r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_swapr   s   &&r   r   array_of_bitsets.swap  r/  r#   c                   V ^8  d   QhRR/# )rA   rC   z'bitset_t *'r$   )rE   s   "r   rF   r`	         ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets_extractr   s   &r   r   array_of_bitsets.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   
'bitset_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r`	    &     B B
 B B Br#   c                	0    \         P                  ! WV4      # r.   )r   array_of_bitsets_injectr   s   &&&r   r   array_of_bitsets.inject      33DSAAr#   c                    V ^8  d   QhRRRR/# rA   r   r	  rC   rY   r$   )rE   s   "r   rF   r`	         = =* =d =r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets___eq__r   s   &&r   r   array_of_bitsets.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r	  r$   )rE   s   "r   rF   r`	    r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets___ne__r   s   &&r   r  array_of_bitsets.__ne__  r  r#   c                   V ^8  d   QhRR/# rA   rC   z%'qvector< bitset_t >::const_iterator'r$   )rE   s   "r   rF   r`	         @ @B @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_beginr   s   &*r   r  array_of_bitsets.begin  r  r#   c                   V ^8  d   QhRR/# r	  r$   )rE   s   "r   rF   r`	         > >@ >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_endr   s   &*r   r  array_of_bitsets.end  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r	  rw   rC   'qvector< bitset_t >::iterator'r$   )rE   s   "r   rF   r`	    '     A A A
 A+Ar#   c                	0    \         P                  ! WV4      # r.   )r   array_of_bitsets_insertr  s   &&&r   r  array_of_bitsets.insert      33Da@@r#   c                   V ^8  d   QhRR/# )rA   rC   r	  r$   )rE   s   "r   rF   r`	         @ @< @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_eraser   s   &*r   r  array_of_bitsets.erase  r  r#   c                   V ^8  d   QhRR/# r	  r$   )rE   s   "r   rF   r`	         ? ?A ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_bitsets_findr   s   &*r   r   array_of_bitsets.find  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r	  rC   rY   r$   )rE   s   "r   rF   r`	         : :Z :4 :r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_hasr&  s   &&r   r'  array_of_bitsets.has  r  r#   c                    V ^8  d   QhRRRR/# r	  r$   )rE   s   "r   rF   r`	         A AJ A$ Ar#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_add_uniquer&  s   &&r   r-  array_of_bitsets.add_unique  r%  r#   c                    V ^8  d   QhRRRR/# r	  r$   )rE   s   "r   rF   r`	         ; ;j ;D ;r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets__delr&  s   &&r   r3  array_of_bitsets._del  r/  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r`	         ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_bitsets___len__r   s   &r   r9  array_of_bitsets.__len__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   ru	  r$   )rE   s   "r   rF   r`	          B BS B$6 Br#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets___getitem__r?  s   &&r   r@  array_of_bitsets.__getitem__   r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r	  rC   rD   r$   )rE   s   "r   rF   r`	    &     E ES EZ E4 Er#   c                	0    \         P                  ! WV4      # r.   )r   array_of_bitsets___setitem__rF  s   &&&r   rG  array_of_bitsets.__setitem__      88!DDr#   c                    V ^8  d   QhRRRR/# )rA   rw   r	  rC   rD   r$   )rE   s   "r   rF   r`	         = =
 =d =r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_appendr&  s   &&r   rL  array_of_bitsets.append  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r	  rC   rD   r$   )rE   s   "r   rF   r`	  	  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_bitsets_extendr&  s   &&r   rQ  array_of_bitsets.extend	  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_array_of_bitsetsrT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   rU	  rU	        -/I!#GH) $;;D<89<:9A?<@<;;B==@>A@?:A;;BE==%%E##D33Hr#   rU	  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Emopvec_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mopvec_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r
    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mopvec_t_swiginitnew_mopvec_tr   s   &*r   r   mopvec_t.__init__      &&t\-F-F-MNr#   c                   V ^8  d   QhRR/# )rA   rC   	'mop_t &'r$   )rE   s   "r   rF   mopvec_t.__annotate__  s     < < <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_push_backr   s   &*r   r   mopvec_t.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
         4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_pop_backr   s   &r   r   mopvec_t.pop_back  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
  "       0 0S 0r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_sizer   s   &r   r   mopvec_t.size"  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
  %       1 1d 1r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_emptyr   s   &r   r   mopvec_t.empty%      **400r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'mop_t const &'r$   )rE   s   "r   rF   r
  (  s     4 4s 4o 4r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_atr   s   &&r   r   mopvec_t.at(  s    ''33r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
  +       2 2t 2r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_qclearr   s   &r   r   mopvec_t.qclear+  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
  .  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_clearr   s   &r   r   mopvec_t.clear.  r
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
  1       9 9d 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_resizer   s   &*r   r   mopvec_t.resize1  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
  4       7 7D 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_growr   s   &*r   r   mopvec_t.grow4  r4  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
  7       4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_capacityr   s   &r   r   mopvec_t.capacity7  r   r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r
  :  s     8 83 8$ 8r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_reserver   s   &&r   r   mopvec_t.reserve:      ,,T77r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
  =  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_truncater   s   &r   r   mopvec_t.truncate=  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   
'mopvec_t'rC   rD   r$   )rE   s   "r   rF   r
  @       3 3j 3D 3r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_swapr   s   &&r   r   mopvec_t.swap@      ))$22r#   c                   V ^8  d   QhRR/# rA   rC   	'mop_t *'r$   )rE   s   "r   rF   r
  C  s     3 3	 3r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t_extractr   s   &r   r   mopvec_t.extractC  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'mop_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r
  F  s!     : : :c :T :r#   c                	0    \         P                  ! WV4      # r.   )r   mopvec_t_injectr   s   &&&r   r   mopvec_t.injectF  s    ++DS99r#   c                    V ^8  d   QhRRRR/# rA   r   rG
  rC   rY   r$   )rE   s   "r   rF   r
  I       5 5
 5d 5r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t___eq__r   s   &&r   r   mopvec_t.__eq__I  r   r#   c                    V ^8  d   QhRRRR/# rY
  r$   )rE   s   "r   rF   r
  L  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t___ne__r   s   &&r   r  mopvec_t.__ne__L  r   r#   c                   V ^8  d   QhRR/# rA   rC   z"'qvector< mop_t >::const_iterator'r$   )rE   s   "r   rF   r
  O  s     8 8? 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_beginr   s   &*r   r  mopvec_t.beginO  r  r#   c                   V ^8  d   QhRR/# rc
  r$   )rE   s   "r   rF   r
  R  s     6 6= 6r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_endr   s   &*r   r  mopvec_t.endR      ((555r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rT
  rw   rC   'qvector< mop_t >::iterator'r$   )rE   s   "r   rF   r
  U  s"     9 9 9W 90L 9r#   c                	0    \         P                  ! WV4      # r.   )r   mopvec_t_insertr  s   &&&r   r  mopvec_t.insertU  s    ++Da88r#   c                   V ^8  d   QhRR/# )rA   rC   rm
  r$   )rE   s   "r   rF   r
  X  s     8 89 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_eraser   s   &*r   r  mopvec_t.eraseX  r  r#   c                   V ^8  d   QhRR/# rc
  r$   )rE   s   "r   rF   r
  [  s     7 7> 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mopvec_t_findr   s   &*r   r   mopvec_t.find[  r4  r#   c                    V ^8  d   QhRRRR/# rA   rw   rT
  rC   rY   r$   )rE   s   "r   rF   r
  ^  s     2 2W 2 2r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_hasr&  s   &&r   r'  mopvec_t.has^      ((11r#   c                    V ^8  d   QhRRRR/# rz
  r$   )rE   s   "r   rF   r
  a  s     9 9G 9t 9r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_add_uniquer&  s   &&r   r-  mopvec_t.add_uniquea  r  r#   c                    V ^8  d   QhRRRR/# rz
  r$   )rE   s   "r   rF   r
  d  s     3 3g 3 3r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t__delr&  s   &&r   r3  mopvec_t._deld  rL
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
  g       3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   mopvec_t___len__r   s   &r   r9  mopvec_t.__len__g  r   r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r!
  r$   )rE   s   "r   rF   r
  j  s     : :S :O :r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t___getitem__r?  s   &&r   r@  mopvec_t.__getitem__j  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   rT
  rC   rD   r$   )rE   s   "r   rF   r
  m  s!     = =S =W = =r#   c                	0    \         P                  ! WV4      # r.   )r   mopvec_t___setitem__rF  s   &&&r   rG  mopvec_t.__setitem__m  s    00!<<r#   c                    V ^8  d   QhRRRR/# )rA   rw   rT
  rC   rD   r$   )rE   s   "r   rF   r
  p  s     5 5 54 5r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_appendr&  s   &&r   rL  mopvec_t.appendp  r   r#   c                    V ^8  d   QhRRRR/# )rA   rw   rG
  rC   rD   r$   )rE   s   "r   rF   r
  s  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mopvec_t_extendr&  s   &&r   rQ  mopvec_t.extends  r   r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_mopvec_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r
  r
    s    -/I!#GHO#33<4014219748433:55869872933:=55%%E##D33Hr#   r
  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Emcallargs_ti}  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mcallargs_t.<lambda>~  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r
  ~  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mcallargs_t_swiginitnew_mcallargs_tr   s   &*r   r   mcallargs_t.__init__  &    ))$O1!1# 	$r#   c                   V ^8  d   QhRR/# )rA   rC   z'mcallarg_t &'r$   )rE   s   "r   rF   mcallargs_t.__annotate__  s     ? ? ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_push_backr   s   &*r   r   mcallargs_t.push_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
         7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_pop_backr   s   &r   r   mcallargs_t.pop_back  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
    rd  r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_sizer   s   &r   r   mcallargs_t.size  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
         4 4d 4r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_emptyr   s   &r   r   mcallargs_t.empty  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'mcallarg_t const &'r$   )rE   s   "r   rF   r
    s     7 7s 72 7r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_atr   s   &&r   r   mcallargs_t.at      **466r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
    s     5 5t 5r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_qclearr   s   &r   r   mcallargs_t.qclear  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_clearr   s   &r   r   mcallargs_t.clear  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
         < <d <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_resizer   s   &*r   r   mcallargs_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
    s     : :D :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_growr   s   &*r   r   mcallargs_t.grow  r	  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
    s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_capacityr   s   &r   r   mcallargs_t.capacity  ro  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r
    s     ; ;3 ;$ ;r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_reserver   s   &&r   r   mcallargs_t.reserve      //::r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r
    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_truncater   s   &r   r   mcallargs_t.truncate  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r   'mcallargs_t'rC   rD   r$   )rE   s   "r   rF   r
         6 6m 6t 6r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_swapr   s   &&r   r   mcallargs_t.swap      ,,T55r#   c                   V ^8  d   QhRR/# )rA   rC   z'mcallarg_t *'r$   )rE   s   "r   rF   r
    s     6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t_extractr   s   &r   r   mcallargs_t.extract  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'mcallarg_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r
    s!     = = =3 =$ =r#   c                	0    \         P                  ! WV4      # r.   )r   mcallargs_t_injectr   s   &&&r   r   mcallargs_t.inject  s    ..t<<r#   c                    V ^8  d   QhRRRR/# rA   r   r
  rC   rY   r$   )rE   s   "r   rF   r
         8 8 8 8r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t___eq__r   s   &&r   r   mcallargs_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r
  r$   )rE   s   "r   rF   r
    r
  r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t___ne__r   s   &&r   r  mcallargs_t.__ne__  r  r#   c                   V ^8  d   QhRR/# rA   rC   z''qvector< mcallarg_t >::const_iterator'r$   )rE   s   "r   rF   r
    s     ; ;D ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_beginr   s   &*r   r  mcallargs_t.begin  r   r#   c                   V ^8  d   QhRR/# r
  r$   )rE   s   "r   rF   r
    s     9 9B 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_endr   s   &*r   r  mcallargs_t.end  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r
  rw   rC   !'qvector< mcallarg_t >::iterator'r$   )rE   s   "r   rF   r
    s"     < < <, <-<r#   c                	0    \         P                  ! WV4      # r.   )r   mcallargs_t_insertr  s   &&&r   r  mcallargs_t.insert  s    ..t;;r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r
    s     ; ;> ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_eraser   s   &*r   r  mcallargs_t.erase  r   r#   c                   V ^8  d   QhRR/# r
  r$   )rE   s   "r   rF   r
    s     : :C :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallargs_t_findr   s   &*r   r   mcallargs_t.find  r	  r#   c                    V ^8  d   QhRRRR/# rA   rw   r
  rC   rY   r$   )rE   s   "r   rF   r
    s     5 5\ 5T 5r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_hasr&  s   &&r   r'  mcallargs_t.has  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r
    s     < <L <D <r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_add_uniquer&  s   &&r   r-  mcallargs_t.add_unique  rB  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r
    s     6 6l 6d 6r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t__delr&  s   &&r   r3  mcallargs_t._del  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
         6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   mcallargs_t___len__r   s   &r   r9  mcallargs_t.__len__  r   r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r
  r$   )rE   s   "r   rF   r
    s     = =S =$8 =r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t___getitem__r?  s   &&r   r@  mcallargs_t.__getitem__  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r
  rC   rD   r$   )rE   s   "r   rF   r
    s&     @ @S @\ @T @r#   c                	0    \         P                  ! WV4      # r.   )r   mcallargs_t___setitem__rF  s   &&&r   rG  mcallargs_t.__setitem__  s    33DQ??r#   c                    V ^8  d   QhRRRR/# )rA   rw   r
  rC   rD   r$   )rE   s   "r   rF   r
    s     8 8 8 8r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_appendr&  s   &&r   rL  mcallargs_t.append  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r
  rC   rD   r$   )rE   s   "r   rF   r
    r
  r#   c                	.    \         P                  ! W4      # r.   )r   mcallargs_t_extendr&  s   &&r   rQ  mcallargs_t.extend  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_mcallargs_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r
  r
  }  s    -/I!#GH$ $66?734754<:7;766=88;9<;:5<66=@88%%E##D33Hr#   r
  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#]$PJ                  t&]$PN                  t(]$PR                  t*R7t+R8# )9block_chains_vec_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   block_chains_vec_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r4    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   block_chains_vec_t_swiginitnew_block_chains_vec_tr   s   &*r   r   block_chains_vec_t.__init__  '    00|""8#$(8* 	+r#   c                   V ^8  d   QhRR/# rA   rC   z'block_chains_t &'r$   )rE   s   "r   rF   block_chains_vec_t.__annotate__  s     F F!3 Fr#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_push_backr   s   &*r   r   block_chains_vec_t.push_back      88EEEr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=         > > >r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_pop_backr   s   &r   r   block_chains_vec_t.pop_back  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r=         : :S :r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_sizer   s   &r   r   block_chains_vec_t.size  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r=         ; ;d ;r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_emptyr   s   &r   r   block_chains_vec_t.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'block_chains_t const &'r$   )rE   s   "r   rF   r=    s     > >s >6 >r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t_atr   s   &&r   r   block_chains_vec_t.at      11$==r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=         < <t <r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_qclearr   s   &r   r   block_chains_vec_t.qclear  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=    rM  r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_clearr   s   &r   r   block_chains_vec_t.clear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=         C Cd Cr#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_resizer   s   &*r   r   block_chains_vec_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=         A AD Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_growr   s   &*r   r   block_chains_vec_t.grow  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r=         > > >r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_capacityr   s   &r   r   block_chains_vec_t.capacity  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r=         B B3 B$ Br#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t_reserver   s   &&r   r   block_chains_vec_t.reserve  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r=    rC  r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_truncater   s   &r   r   block_chains_vec_t.truncate  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'block_chains_vec_t'rC   rD   r$   )rE   s   "r   rF   r=         = =* =d =r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t_swapr   s   &&r   r   block_chains_vec_t.swap  r  r#   c                   V ^8  d   QhRR/# rA   rC   'block_chains_t *'r$   )rE   s   "r   rF   r=    s     = =* =r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t_extractr   s   &r   r   block_chains_vec_t.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'block_chains_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r=    s'     D D( Ds Dd Dr#   c                	0    \         P                  ! WV4      # r.   )r   block_chains_vec_t_injectr   s   &&&r   r   block_chains_vec_t.inject      55dsCCr#   c                   V ^8  d   QhRR/# rA   rC   z+'qvector< block_chains_t >::const_iterator'r$   )rE   s   "r   rF   r=     s     B BH Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_beginr   s   &*r   r  block_chains_vec_t.begin   r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r=  #  s     @ @F @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_endr   s   &*r   r  block_chains_vec_t.end#  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   %'qvector< block_chains_t >::iterator'r$   )rE   s   "r   rF   r=  &  s)     C C) C.> C1Cr#   c                	0    \         P                  ! WV4      # r.   )r   block_chains_vec_t_insertr  s   &&&r   r  block_chains_vec_t.insert&      55dBBr#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r=  *  s     B BB Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   block_chains_vec_t_eraser   s   &*r   r  block_chains_vec_t.erase*  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r=  -       = = =r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_vec_t___len__r   s   &r   r9  block_chains_vec_t.__len__-  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   rR  r$   )rE   s   "r   rF   r=  0  s     D DS D$< Dr#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t___getitem__r?  s   &&r   r@  block_chains_vec_t.__getitem__0  r:  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r=  3  s'     G GS G%5 G Gr#   c                	0    \         P                  ! WV4      # r.   )r   block_chains_vec_t___setitem__rF  s   &&&r   rG  block_chains_vec_t.__setitem__3      ::4AFFr#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r=  6  s     ? ?( ?D ?r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t_appendr&  s   &&r   rL  block_chains_vec_t.append6  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   ry  rC   rD   r$   )rE   s   "r   rF   r=  9       ? ?, ? ?r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_vec_t_extendr&  s   &&r   rQ  block_chains_vec_t.extend9  r  r#   r$   N),r   r   r8   r9   r   r   r   r
   r   r   delete_block_chains_vec_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r2  r2    s    -/I!#GH+ $==F>:;><;CA>B>==DB@CB=DG??%%E##D33Hr#   r2  c                  j    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 t
]P                  tRtR# )lvar_mapping_tiC  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_mapping_t.<lambda>D  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  D  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   rb  'lvar_locator_t'rC   'lvar_locator_t &'r$   )rE   s   "r   rF   lvar_mapping_t.__annotate__H  s     = =* =.@ =r#   c                	.    \         P                  ! W4      # r.   )r   lvar_mapping_t_atrh  s   &&r   r   lvar_mapping_t.atH  s    --d<<r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  K  r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_mapping_t_sizer   s   &r   r   lvar_mapping_t.sizeK  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   lvar_mapping_t_swiginitnew_lvar_mapping_tr   s   &r   r   lvar_mapping_t.__init__N  $    ,,T<4 4! 	"r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r   r   delete_lvar_mapping_trT  r<   r$   r#   r   r  r  C  s7    -/I!#GH=6" $99r#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Eqvector_lvar_tiW  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qvector_lvar_t.<lambda>X  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  X  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   qvector_lvar_t_swiginitnew_qvector_lvar_tr   s   &*r   r   qvector_lvar_t.__init__\  r  r#   c                   V ^8  d   QhRR/# rA   rC   
'lvar_t &'r$   )rE   s   "r   rF   qvector_lvar_t.__annotate__a  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_push_backr   s   &*r   r   qvector_lvar_t.push_backa  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  d  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_pop_backr   s   &r   r   qvector_lvar_t.pop_backd  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  g  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_sizer   s   &r   r   qvector_lvar_t.sizeg  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  j  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_emptyr   s   &r   r   qvector_lvar_t.emptyj  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'lvar_t const &'r$   )rE   s   "r   rF   r  m  r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_atr   s   &&r   r   qvector_lvar_t.atm  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  p  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_qclearr   s   &r   r   qvector_lvar_t.qclearp  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  s  r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_clearr   s   &r   r   qvector_lvar_t.clears  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  v  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_resizer   s   &*r   r   qvector_lvar_t.resizev  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  y  r!  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_growr   s   &*r   r   qvector_lvar_t.growy  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  |  r&  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_capacityr   s   &r   r   qvector_lvar_t.capacity|  r{  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r    r+  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_reserver   s   &&r   r   qvector_lvar_t.reserve  r/  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_truncater   s   &r   r   qvector_lvar_t.truncate  r{  r#   c                    V ^8  d   QhRRRR/# )rA   r   'qvector_lvar_t'rC   rD   r$   )rE   s   "r   rF   r    r6  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_swapr   s   &&r   r   qvector_lvar_t.swap  r  r#   c                   V ^8  d   QhRR/# rA   rC   
'lvar_t *'r$   )rE   s   "r   rF   r    r;  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t_extractr   s   &r   r   qvector_lvar_t.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'lvar_t'r   rX   rC   rD   r$   )rE   s   "r   rF   r    rA  r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_lvar_t_injectr   s   &&&r   r   qvector_lvar_t.inject  rE  r#   c                    V ^8  d   QhRRRR/# rA   r   r	  rC   rY   r$   )rE   s   "r   rF   r    rH  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t___eq__r   s   &&r   r   qvector_lvar_t.__eq__  r/  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rH  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t___ne__r   s   &&r   r  qvector_lvar_t.__ne__  r/  r#   c                   V ^8  d   QhRR/# rA   rC   z#'qvector< lvar_t >::const_iterator'r$   )rE   s   "r   rF   r    rR  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_beginr   s   &*r   r  qvector_lvar_t.begin  r   r#   c                   V ^8  d   QhRR/# r"  r$   )rE   s   "r   rF   r    rW  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_endr   s   &*r   r  qvector_lvar_t.end  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   'qvector< lvar_t >::iterator'r$   )rE   s   "r   rF   r    r]  r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_lvar_t_insertr  s   &&&r   r  qvector_lvar_t.insert  ra  r#   c                   V ^8  d   QhRR/# )rA   rC   r+  r$   )rE   s   "r   rF   r    rc  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_eraser   s   &*r   r  qvector_lvar_t.erase  r   r#   c                   V ^8  d   QhRR/# r"  r$   )rE   s   "r   rF   r    rh  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   qvector_lvar_t_findr   s   &*r   r   qvector_lvar_t.find  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   r    rn  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_hasr&  s   &&r   r'  qvector_lvar_t.has  r  r#   c                    V ^8  d   QhRRRR/# r8  r$   )rE   s   "r   rF   r    rs  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_add_uniquer&  s   &&r   r-  qvector_lvar_t.add_unique  r  r#   c                    V ^8  d   QhRRRR/# r8  r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t__delr&  s   &&r   r3  qvector_lvar_t._del  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r}  r#   c                	.    \         P                  ! V 4      # r.   )r   qvector_lvar_t___len__r   s   &r   r9  qvector_lvar_t.__len__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t___getitem__r?  s   &&r   r@  qvector_lvar_t.__getitem__  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	0    \         P                  ! WV4      # r.   )r   qvector_lvar_t___setitem__rF  s   &&&r   rG  qvector_lvar_t.__setitem__  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_appendr&  s   &&r   rL  qvector_lvar_t.append  r/  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r	  rC   rD   r$   )rE   s   "r   rF   r    rH  r#   c                	.    \         P                  ! W4      # r.   )r   qvector_lvar_t_extendr&  s   &&r   rQ  qvector_lvar_t.extend  r/  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_qvector_lvar_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r  r  W  r  r#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Elvar_saved_infos_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_saved_infos_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r\    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   lvar_saved_infos_t_swiginitnew_lvar_saved_infos_tr   s   &*r   r   lvar_saved_infos_t.__init__  r:  r#   c                   V ^8  d   QhRR/# )rA   rC   z'lvar_saved_info_t &'r$   )rE   s   "r   rF   lvar_saved_infos_t.__annotate__  s     F F!6 Fr#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_push_backr   s   &*r   r   lvar_saved_infos_t.push_back  rA  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    rC  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_pop_backr   s   &r   r   lvar_saved_infos_t.pop_back  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rc    rH  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_sizer   s   &r   r   lvar_saved_infos_t.size  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rc    rM  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_emptyr   s   &r   r   lvar_saved_infos_t.empty  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'lvar_saved_info_t const &'r$   )rE   s   "r   rF   rc    s     > >s >9 >r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_atr   s   &&r   r   lvar_saved_infos_t.at  rV  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    rX  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_qclearr   s   &r   r   lvar_saved_infos_t.qclear  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    rM  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_clearr   s   &r   r   lvar_saved_infos_t.clear  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    ra  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_resizer   s   &*r   r   lvar_saved_infos_t.resize  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    rf  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_growr   s   &*r   r   lvar_saved_infos_t.grow  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rc    rk  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_capacityr   s   &r   r   lvar_saved_infos_t.capacity  r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   rc    rp  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_reserver   s   &&r   r   lvar_saved_infos_t.reserve  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rc    rC  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_truncater   s   &r   r   lvar_saved_infos_t.truncate  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'lvar_saved_infos_t'rC   rD   r$   )rE   s   "r   rF   rc    rz  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_swapr   s   &&r   r   lvar_saved_infos_t.swap  r  r#   c                   V ^8  d   QhRR/# )rA   rC   'lvar_saved_info_t *'r$   )rE   s   "r   rF   rc    s     = =- =r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t_extractr   s   &r   r   lvar_saved_infos_t.extract  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   'lvar_saved_info_t'r   rX   rC   rD   r$   )rE   s   "r   rF   rc    s'     D D+ D# D Dr#   c                	0    \         P                  ! WV4      # r.   )r   lvar_saved_infos_t_injectr   s   &&&r   r   lvar_saved_infos_t.inject  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   rc    r  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t___eq__r   s   &&r   r   lvar_saved_infos_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rc    r  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t___ne__r   s   &&r   r  lvar_saved_infos_t.__ne__  r  r#   c                   V ^8  d   QhRR/# rA   rC   z.'qvector< lvar_saved_info_t >::const_iterator'r$   )rE   s   "r   rF   rc   	  s     B BK Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_beginr   s   &*r   r  lvar_saved_infos_t.begin 	  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rc  	  s     @ @I @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_endr   s   &*r   r  lvar_saved_infos_t.end	  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  rw   rC   ('qvector< lvar_saved_info_t >::iterator'r$   )rE   s   "r   rF   rc  	  s)     C C, C1D C4Cr#   c                	0    \         P                  ! WV4      # r.   )r   lvar_saved_infos_t_insertr  s   &&&r   r  lvar_saved_infos_t.insert	  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   rc  
	  s     B BE Br#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_eraser   s   &*r   r  lvar_saved_infos_t.erase
	  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rc  	  s     A AJ Ar#   c                	2    \         P                  ! V .VO5!  # r.   )r   lvar_saved_infos_t_findr   s   &*r   r   lvar_saved_infos_t.find	  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   r  rC   rY   r$   )rE   s   "r   rF   rc  	  s     < <( <D <r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_hasr&  s   &&r   r'  lvar_saved_infos_t.has	  rB  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rc  	  s     C C/ C4 Cr#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_add_uniquer&  s   &&r   r-  lvar_saved_infos_t.add_unique	  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rc  	  s     = =) =T =r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t__delr&  s   &&r   r3  lvar_saved_infos_t._del	  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rc  	  r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_infos_t___len__r   s   &r   r9  lvar_saved_infos_t.__len__	  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   rt  r$   )rE   s   "r   rF   rc  	  s     D DS D$? Dr#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t___getitem__r?  s   &&r   r@  lvar_saved_infos_t.__getitem__	  r:  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   r  rC   rD   r$   )rE   s   "r   rF   rc  	  s'     G GS G%8 GD Gr#   c                	0    \         P                  ! WV4      # r.   )r   lvar_saved_infos_t___setitem__rF  s   &&&r   rG  lvar_saved_infos_t.__setitem__	  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   rc  "	  s     ? ?+ ?t ?r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_appendr&  s   &&r   rL  lvar_saved_infos_t.append"	  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r  rC   rD   r$   )rE   s   "r   rF   rc  %	  r  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_infos_t_extendr&  s   &&r   rQ  lvar_saved_infos_t.extend%	  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_lvar_saved_infos_trT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   rZ  rZ    s    -/I!#GH+ $==F>:;><;CA>B>==D??B@CBA<C==DG??%%E##D33Hr#   rZ  c                  Z   ] tR tRt]! R R RR7      t]tR_R R llt]	P                  tR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 lt R2 R3 lt!R4 R5 lt"R6 R7 lt#R8 R9 lt$R: R; lt%R< R= lt&R> R? lt'R@ RA lt(RB RC lt)RD RE lt*RF RG lt+RH RI lt,RJ RK lt-RL RM lt.RN RO lt/RP RQ lt0RR RS lt1RT RU lt2RV RW lt3RX RY lt4RZ R[ lt5R\ t6R]t7R^# )`Hexrays_Hooksi/	  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   Hexrays_Hooks.<lambda>0	  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  0	  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   _flagsrX   _hkcb_flagsr$   )rE   s   "r   rF   Hexrays_Hooks.__annotate__4	  s     ; ;s ;3 ;r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W1V4      4       R # r.   )r   r  r   Hexrays_Hooks_swiginitnew_Hexrays_Hooks)r   r  r  _selfs   &&& r   r   Hexrays_Hooks.__init__4	  s?    >>]*EE++D,3#[3: 	;r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  =	  s     5 5T 5r#   c                	.    \         P                  ! V 4      # r.   )r   Hexrays_Hooks_hookr   s   &r   hookHexrays_Hooks.hook=	  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  @	  r  r#   c                	.    \         P                  ! V 4      # r.   )r   Hexrays_Hooks_unhookr   s   &r   unhookHexrays_Hooks.unhook@	  ro  r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rA   fc'qflow_chart_t'r[  r_  reachable_blocksr	  decomp_flagsrX   rC   r$   )rE   s   "r   rF   r  C	  s2     
, 
,O 
,' 
,
,"%
,),
,r#   c                2    \         P                  ! WVW44      # )zFlowchart has been generated. 
          
:param fc: (qflow_chart_t *)
:param mba: (mba_t *)
:param reachable_blocks: (bitset_t *)
:param decomp_flags: (int)
:returns: Microcode error code)r   Hexrays_Hooks_flowchart)r   r  r[  r  r   s   &&&&&r   	flowchartHexrays_Hooks.flowchartC	  s     33Dc, 	,r#   c               $    V ^8  d   QhRRRRRR/# )rA   r[  r_  _spsz'stkpnts_t *'rC   rX   r$   )rE   s   "r   rF   r  O	  s&     C C7 C- C3 Cr#   c                0    \         P                  ! WV4      # )zSP change points have been calculated. 
          
:param mba: (mba_t *)
:returns: Microcode error code This event is generated for each inlined range as well.)r   Hexrays_Hooks_stkpnts)r   r[  r  s   &&&r   stkpntsHexrays_Hooks.stkpntsO	      
 11$TBBr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rA   r[  r_  r  r  r  r	  r   rX   rC   r$   )rE   s   "r   rF   r  V	  s2     
, 
,' 
, 
,
,"%
,),
,r#   c                2    \         P                  ! WVW44      # )zProlog analysis has been finished. 
          
:param mba: (mba_t *)
:param fc: (qflow_chart_t *)
:param reachable_blocks: (const bitset_t *)
:param decomp_flags: (int)
:returns: Microcode error code This event is generated for each inlined range as well.)r   Hexrays_Hooks_prolog)r   r[  r  r  r   s   &&&&&r   prologHexrays_Hooks.prologV	  s     00B, 	,r#   c                    V ^8  d   QhRRRR/# rA   r[  r_  rC   rX   r$   )rE   s   "r   rF   r  b	  s     ? ?W ? ?r#   c                .    \         P                  ! W4      # )z^Microcode has been generated. 
          
:param mba: (mba_t *)
:returns: Microcode error code)r   Hexrays_Hooks_microcoder   r[  s   &&r   	microcodeHexrays_Hooks.microcodeb	      
 33D>>r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  i	  s     B B B3 Br#   c                .    \         P                  ! W4      # )zaMicrocode has been preoptimized. 
          
:param mba: (mba_t *)
:returns: Microcode error code)r   Hexrays_Hooks_preoptimizedr  s   &&r   preoptimizedHexrays_Hooks.preoptimizedi	  s    
 66tAAr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  p	       < <' <S <r#   c                .    \         P                  ! W4      # )zrBasic block level optimization has been finished. 
          
:param mba: (mba_t *)
:returns: Microcode error code)r   Hexrays_Hooks_locoptr  s   &&r   locoptHexrays_Hooks.locoptp	      
 00;;r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  w	  s     > >G >s >r#   c                .    \         P                  ! W4      # )zLocal variables: preallocation step begins. 
          
:param mba: (mba_t *) This event may occur several times. Should return: 1 if modified microcode Negative values are Microcode error code)r   Hexrays_Hooks_preallocr  s   &&r   preallocHexrays_Hooks.preallocw	  s     224==r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  }	  r  r#   c                .    \         P                  ! W4      # )zGlobal optimization has been finished. If microcode is modified, MERR_LOOP must be returned. It will cause a complete restart of the optimization. 
          
:param mba: (mba_t *)
:returns: Microcode error code)r   Hexrays_Hooks_glboptr  s   &&r   glboptHexrays_Hooks.glbopt}	  r$  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   ct'control_graph_t *'cfunc	'cfunc_t'gz'simple_graph_t'rC   rX   r$   )rE   s   "r   rF   r  	  s1     M M!4 MY MMMr#   c                0    \         P                  ! WW#4      # )a/  Structure analysis is starting. 
          
:param ct: (control_graph_t *) in/out: control graph
:param cfunc: (cfunc_t *) in: the current function
:param g: (const simple_graph_t *) in: control flow graph
:returns: Microcode error code; MERR_BLOCK means that the analysis has been performed by a plugin)r   Hexrays_Hooks_pre_structural)r   r0  r2  r4  s   &&&&r   pre_structuralHexrays_Hooks.pre_structural	  s     885LLr#   c                    V ^8  d   QhRRRR/# )rA   r0  r1  rC   rX   r$   )rE   s   "r   rF   r  	  s     ? ?0 ?C ?r#   c                .    \         P                  ! W4      # )zQStructural analysis has been finished. 
          
:param ct: (control_graph_t *))r   Hexrays_Hooks_structural)r   r0  s   &&r   
structuralHexrays_Hooks.structural	       44T>>r#   c               $    V ^8  d   QhRRRRRR/# )rA   r2  r3  new_maturityr_  rC   rX   r$   )rE   s   "r   rF   r  	  s(     N Ni N7I NNr#   c                0    \         P                  ! WV4      # )ztCtree maturity level is being changed. 
          
:param cfunc: (cfunc_t *)
:param new_maturity: (ctree_maturity_t))r   Hexrays_Hooks_maturity)r   r2  r@  s   &&&r   r`  Hexrays_Hooks.maturity	  s     224MMr#   c                    V ^8  d   QhRRRR/# )rA   errcoderX   rC   r$   )rE   s   "r   rF   r  	  s     @ @c @S @r#   c                .    \         P                  ! W4      # )z?Internal error has occurred. 
          
:param errcode: (int ))r   Hexrays_Hooks_interr)r   rE  s   &&r   interrHexrays_Hooks.interr	  s     00??r#   c               $    V ^8  d   QhRRRRRR/# )rA   blk
'mblock_t'insn	'minsn_t'rC   rX   r$   )rE   s   "r   rF   r  	  s&     C C: CY C# Cr#   c                0    \         P                  ! WV4      # )zTrying to combine instructions of basic block. 
          
:param blk: (mblock_t *)
:param insn: (minsn_t *) Should return: 1 if combined the current instruction with a preceding one -1 if the instruction should not be combined 0 else)r   Hexrays_Hooks_combine)r   rK  rM  s   &&&r   combineHexrays_Hooks.combine	  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r2  r3  r  r  rC   rX   r$   )rE   s   "r   rF   r  	  s&     F F	 F~ F Fr#   c                0    \         P                  ! WV4      # )zPrinting ctree and generating text. 
          
:param cfunc: (cfunc_t *)
:param vp: (vc_printer_t *) Returns: 1 if text has been generated by the plugin It is forbidden to modify ctree at this event.)r   Hexrays_Hooks_print_func)r   r2  r  s   &&&r   r  Hexrays_Hooks.print_func	  s    
 44T"EEr#   c                    V ^8  d   QhRRRR/# rA   r2  r3  rC   rX   r$   )rE   s   "r   rF   r  	  s     D D) Ds Dr#   c                .    \         P                  ! W4      # )a  Function text has been generated. Plugins may modify the text in cfunc_t::sv. However, it is too late to modify the ctree or microcode. The text uses regular color codes (see lines.hpp) COLOR_ADDR is used to store pointers to ctree items. 
          
:param cfunc: (cfunc_t *))r   Hexrays_Hooks_func_printedr   r2  s   &&r   func_printedHexrays_Hooks.func_printed	  s     66tCCr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  	  s     F FG Fs Fr#   c                .    \         P                  ! W4      # )zTThe optimizer is about to resolve stack addresses. 
          
:param mba: (mba_t *))r   Hexrays_Hooks_resolve_stkaddrsr  s   &&r   resolve_stkaddrsHexrays_Hooks.resolve_stkaddrs	  s     ::4EEr#   c               $    V ^8  d   QhRRRRRR/# )rA   rK  rL  r   r  rC   'PyObject *'r$   )rE   s   "r   rF   r  	  s&     J J* JI J Jr#   c                0    \         P                  ! WV4      # )zAnalyzing a call instruction. 
          
:param blk: (mblock_t *) blk->tail is the call.
:param type: (tinfo_t *) buffer for the output type.)r   Hexrays_Hooks_build_callinfo)r   rK  r   s   &&&r   build_callinfoHexrays_Hooks.build_callinfo	  s    
 88DIIr#   c                    V ^8  d   QhRRRR/# rA   rK  rL  rC   rX   r$   )rE   s   "r   rF   r  	  s     D D* D Dr#   c                .    \         P                  ! W4      # )zbA call instruction has been anallyzed. 
          
:param blk: (mblock_t *) blk->tail is the call.)r   Hexrays_Hooks_callinfo_builtr   rK  s   &&r   callinfo_builtHexrays_Hooks.callinfo_built	  s     88CCr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  	  s     @ @g @ @r#   c                .    \         P                  ! W4      # )zAll calls have been analyzed. 
          
:param mba: (mba_t *) This event is generated immediately after analyzing all calls, before any optimizitions, call unmerging and block merging.)r   Hexrays_Hooks_calls_doner  s   &&r   
calls_doneHexrays_Hooks.calls_done	       44T??r#   c               $    V ^8  d   QhRRRRRR/# )rA   cdg'codegen_t'r   rX   rC   r$   )rE   s   "r   rF   r  	  s!      + S C r#   c                0    \         P                  ! WV4      # )zStarting to inline outlined functions. 
          
:param cdg: (codegen_t *)
:param decomp_flags: (int)
:returns: Microcode error code This is an opportunity to inline other ranges.)r   Hexrays_Hooks_begin_inlining)r   rw  r   s   &&&r   begin_inliningHexrays_Hooks.begin_inlining	  s     88 	r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   rw  rx  rK  rX   mbr'mba_ranges_t'rC   r$   )rE   s   "r   rF   r  	  s/     M M M3 M^ MMr#   c                0    \         P                  ! WW#4      # )zA set of ranges is going to be inlined. 
          
:param cdg: (codegen_t *)
:param blk: (int) the block containing call/jump to inline
:param mbr: (mba_ranges_t *) the range to inline)r   Hexrays_Hooks_inlining_func)r   rw  rK  r~  s   &&&&r   inlining_funcHexrays_Hooks.inlining_func	  s     773LLr#   c               0    V ^8  d   QhRRRRRRRRRRR	R/# )
rA   rw  rx  rK  rX   r~  r  i1i2rC   r$   )rE   s   "r   rF   r  	  s9     
 
 
# 
N 



r#   c                2    \         P                  ! WW#WE4      # )a  A set of ranges got inlined. 
          
:param cdg: (codegen_t *)
:param blk: (int) the block containing call/jump to inline
:param mbr: (mba_ranges_t *) the range to inline
:param i1: (int) blknum of the first inlined block
:param i2: (int) blknum of the last inlined block (excluded))r   Hexrays_Hooks_inlined_func)r   rw  rK  r~  r  r  s   &&&&&&r   inlined_funcHexrays_Hooks.inlined_func	  s     66t# 	r#   c                    V ^8  d   QhRRRR/# rX  r$   )rE   s   "r   rF   r  	  s     H Hi H3 Hr#   c                .    \         P                  ! W4      # )zCollect warning messages from plugins. These warnings will be displayed at the function header, after the user-defined comments. 
          
:param cfunc: (cfunc_t *))r   Hexrays_Hooks_collect_warningsr[  s   &&r   collect_warningsHexrays_Hooks.collect_warnings	  s     ::4GGr#   c                    V ^8  d   QhRRRR/# rA   vu'vdui_t'rC   rX   r$   )rE   s   "r   rF   r  	  s     D D( Dc Dr#   c                .    \         P                  ! W4      # )zFNew pseudocode view has been opened. 
          
:param vu: (vdui_t *))r   Hexrays_Hooks_open_pseudocoder   r  s   &&r   open_pseudocodeHexrays_Hooks.open_pseudocode	  s     99$CCr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  	  s     F FH F Fr#   c                .    \         P                  ! W4      # )zExisting pseudocode view has been reloaded with a new function. Its text has not been refreshed yet, only cfunc and mba pointers are ready. 
          
:param vu: (vdui_t *))r   Hexrays_Hooks_switch_pseudocoder  s   &&r   switch_pseudocodeHexrays_Hooks.switch_pseudocode	       ;;DEEr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  	  s     G GX G Gr#   c                .    \         P                  ! W4      # )zExisting pseudocode text has been refreshed. Adding/removing pseudocode lines is forbidden in this event. 
          
:param vu: (vdui_t *) See also hxe_text_ready, which happens earlier)r    Hexrays_Hooks_refresh_pseudocoder  s   &&r   refresh_pseudocode Hexrays_Hooks.refresh_pseudocode	  s     <<TFFr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  
  s     E E8 Es Er#   c                .    \         P                  ! W4      # )zBPseudocode view is being closed. 
          
:param vu: (vdui_t *))r   Hexrays_Hooks_close_pseudocoder  s   &&r   close_pseudocodeHexrays_Hooks.close_pseudocode
  s     ::4DDr#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r  r  key_coderX   shift_staterC   r$   )rE   s   "r   rF   r  
  s(      8 s   r#   c                2    \         P                  ! WVV4      # )zKeyboard has been hit. 
          
:param vu: (vdui_t *)
:param key_code: (int) VK_...
:param shift_state: (int) Should return: 1 if the event has been handled)r   Hexrays_Hooks_keyboard)r   r  r  r  s   &&&&r   keyboardHexrays_Hooks.keyboard
  s     224X 	r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  
  s     @ @h @# @r#   c                .    \         P                  ! W4      # )zMouse right click. Use hxe_populating_popup instead, in case you want to add items in the popup menu. 
          
:param vu: (vdui_t *))r   Hexrays_Hooks_right_clickr  s   &&r   right_clickHexrays_Hooks.right_click
  s     55d??r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  r  rX   rC   r$   )rE   s   "r   rF   r  
  s&     N Nx Nc NS Nr#   c                0    \         P                  ! WV4      # )z~Mouse double click. 
          
:param vu: (vdui_t *)
:param shift_state: (int) Should return: 1 if the event has been handled)r   Hexrays_Hooks_double_click)r   r  r  s   &&&r   double_clickHexrays_Hooks.double_click
  s    
 66tMMr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  !
  s     ; ; ;S ;r#   c                .    \         P                  ! W4      # )z}Current cursor position has been changed. (for example, by left-clicking or using keyboard)

          
:param vu: (vdui_t *))r   Hexrays_Hooks_curposr  s   &&r   curposHexrays_Hooks.curpos!
      
 00::r#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   rd  r$   )rE   s   "r   rF   r  (
  s     @ @h @, @r#   c                .    \         P                  ! W4      # )zCreate a hint for the current item. 
          
:param vu: (vdui_t *)
:returns: 0: continue collecting hints with other subscribers
:returns: 1: stop collecting hints)r   Hexrays_Hooks_create_hintr  s   &&r   create_hintHexrays_Hooks.create_hint(
  s     55d??r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  0
  s     ? ?X ? ?r#   c                .    \         P                  ! W4      # )zDecompiled text is ready. 
          
:param vu: (vdui_t *) This event can be used to modify the output text (sv). Obsolete. Please use hxe_func_printed instead.)r   Hexrays_Hooks_text_readyr  s   &&r   
text_readyHexrays_Hooks.text_ready0
  r>  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   widgetrP   popup_handlez'TPopupMenu *'r  r  rC   rX   r$   )rE   s   "r   rF   r  6
  s+      { $(+r#   c                0    \         P                  ! WW#4      # )zPopulating popup menu. We can add menu items now. 
          
:param widget: (TWidget *)
:param popup_handle: (TPopupMenu *)
:param vu: (vdui_t *))r   Hexrays_Hooks_populating_popup)r   r  r  r  s   &&&&r   populating_popupHexrays_Hooks.populating_popup6
  s     ::4 	r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rA   r  r  r}   r  r   ry  is_user_namerY   rC   rX   r$   )rE   s   "r   rF   r  @
  s1     	  	 H 	  	  	 	 !	 r#   c                2    \         P                  ! WVW44      # )zLocal variable got renamed. 
          
:param vu: (vdui_t *)
:param v: (lvar_t *)
:param name: (const char *)
:param is_user_name: (bool) Please note that it is possible to read/write user settings for lvars directly from the idb.)r   Hexrays_Hooks_lvar_name_changed)r   r  r}   r   r  s   &&&&&r   lvar_name_changedHexrays_Hooks.lvar_name_changed@
  s     ;;Da  	 r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  r  r}   r  tinfor  rC   rX   r$   )rE   s   "r   rF   r  K
  s/     P PH P P) PPr#   c                0    \         P                  ! WW#4      # )zLocal variable type got changed. 
          
:param vu: (vdui_t *)
:param v: (lvar_t *)
:param tinfo: (const tinfo_t *) Please note that it is possible to read/write user settings for lvars directly from the idb.)r   Hexrays_Hooks_lvar_type_changed)r   r  r}   r  s   &&&&r   lvar_type_changedHexrays_Hooks.lvar_type_changedK
  s     ;;DaOOr#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  r  r}   r  r  ry  rC   rX   r$   )rE   s   "r   rF   r  T
  s.     M M8 M Ms Mc Mr#   c                0    \         P                  ! WW#4      # )zLocal variable comment got changed. 
          
:param vu: (vdui_t *)
:param v: (lvar_t *)
:param cmt: (const char *) Please note that it is possible to read/write user settings for lvars directly from the idb.)r   Hexrays_Hooks_lvar_cmt_changed)r   r  r}   r  s   &&&&r   lvar_cmt_changedHexrays_Hooks.lvar_cmt_changedT
  s     ::4QLLr#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r  r  frmr  torC   rX   r$   )rE   s   "r   rF   r  \
  s)      x h H r#   c                0    \         P                  ! WW#4      # )zLocal variable mapping got changed. 
          
:param vu: (vdui_t *)
:param to: (lvar_t *) Please note that it is possible to read/write user settings for lvars directly from the idb.)r   "Hexrays_Hooks_lvar_mapping_changed)r   r  r  r  s   &&&&r   lvar_mapping_changed"Hexrays_Hooks.lvar_mapping_changed\
  s     >>t 	r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r2  r3  r  r]  r  ry  rC   rX   r$   )rE   s   "r   rF   r  e
  s.     M M M M3 M# Mr#   c                0    \         P                  ! WW#4      # )zuComment got changed. 
          
:param cfunc: (cfunc_t *)
:param loc: (const treeloc_t *)
:param cmt: (const char *))r   Hexrays_Hooks_cmt_changed)r   r2  r  r  s   &&&&r   cmt_changedHexrays_Hooks.cmt_changede
  s     55d3LLr#   c               $    V ^8  d   QhRRRRRR/# )rA   r[  r_  reqmat'mba_maturity_t'rC   rX   r$   )rE   s   "r   rF   r  m
  s'     J J J1A JS Jr#   c                0    \         P                  ! WV4      # )zMaturity level of an MBA was changed. 
          
:param mba: (mba_t *)
:param reqmat: (mba_maturity_t) requested maturity level
:returns: Microcode error code)r   Hexrays_Hooks_mba_maturity)r   r[  r  s   &&&r   mba_maturityHexrays_Hooks.mba_maturitym
  s     66t&IIr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_Hexrays_Hooksweakrefproxyr   s   &r   
__disown__Hexrays_Hooks.__disown__u
  /    		))$/}}T""r#   r$   N       )8r   r   r8   r9   r   r   r   r
   r   r   delete_Hexrays_HooksrT  r  r  r  r	  r  r  r  r"  r(  r-  r7  r<  r`  rH  rQ  r  r\  ra  rg  rn  rs  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r<   r$   r#   r   r  r  /	  s   -/I!#GH; $8857
,C
,?B<><M?N@CFDFJD@M
HDFGE@N;@?	 PMMJ#r#   r  c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'void *'r$   )rE   s   "r   rF   rF   
       , , ,x ,r#   c                .    \         P                  ! V 4      # r.   )r   hexrays_allocr   s   &r   r  r  
      %%d++r#   c                    V ^8  d   QhRRRR/# )rA   ptrr  rC   rD   r$   )rE   s   "r   rF   rF   
  s     * *h *$ *r#   c                .    \         P                  ! V 4      # r.   )r   hexrays_freer	  s   &r   r  r  
  s    $$S))r#   c                    V ^8  d   QhRRRR/# rA   r   rX   rC   'uvlr_t'r$   )rE   s   "r   rF   rF   
  r  r#   c                .    \         P                  ! V 4      # r.   )r   max_vlr_valuer  s   &r   r  r  
  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF   
       - - - -r#   c                .    \         P                  ! V 4      # r.   )r   min_vlr_svaluer  s   &r   r  r  
      &&t,,r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF   
  r  r#   c                .    \         P                  ! V 4      # r.   )r   max_vlr_svaluer  s   &r   r  r  
  r  r#   c                    V ^8  d   QhRRRR/# rA   cmpop	'cmpop_t'rC   rY   r$   )rE   s   "r   rF   rF   
  s     1 1Y 1$ 1r#   c                .    \         P                  ! V 4      # r.   )r   is_unsigned_cmpopr  s   &r   r  r  
  s    ))%00r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF   
       / /9 / /r#   c                .    \         P                  ! V 4      # r.   )r   is_signed_cmpopr   s   &r   r$  r$  
      ''..r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF   
       0 0I 0 0r#   c                .    \         P                  ! V 4      # r.   )r   is_cmpop_with_eqr   s   &r   r)  r)  
      ((//r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF   
  s     3 3y 3D 3r#   c                .    \         P                  ! V 4      # r.   )r   is_cmpop_without_eqr   s   &r   r-  r-  
  s    ++E22r#   c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)RC RD lt*REt+RF# )Gvalrng_ti
  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   valrng_t.<lambda>
  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r1  
  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   valrng_t_swiginitnew_valrng_tr   s   &*r   r   valrng_t.__init__
  r	
  r#   c                    V ^8  d   QhRRRR/# )rA   r   
'valrng_t'rC   rD   r$   )rE   s   "r   rF   valrng_t.__annotate__
  rH
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_swapr   s   &&r   r   valrng_t.swap
  rL
  r#   c                    V ^8  d   QhRRRR/# rA   r   r8  rC   rY   r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___eq__r   s   &&r   r   valrng_t.__eq__
  r   r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___ne__r   s   &&r   r  valrng_t.__ne__
  r   r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___lt__r   s   &&r   __lt__valrng_t.__lt__
  r   r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___gt__r   s   &&r   __gt__valrng_t.__gt__
  r   r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___le__r   s   &&r   __le__valrng_t.__le__
  r   r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t___ge__r   s   &&r   __ge__valrng_t.__ge__
  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r8  rC   rX   r$   )rE   s   "r   rF   r9  
       6 6 6s 6r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_comparer   s   &&r   comparevalrng_t.compare
  r
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9  
  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_set_noner   s   &r   set_nonevalrng_t.set_none
  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9  
       3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_set_allr   s   &r   set_allvalrng_t.set_all
  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9  
  rf  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_set_unkr   s   &r   set_unkvalrng_t.set_unk
  r   r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rD   r$   )rE   s   "r   rF   r9  
  s     5 5 5D 5r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_set_eqr8  s   &&r   set_eqvalrng_t.set_eq
  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   cmpr  _valuer  rC   rD   r$   )rE   s   "r   rF   r9  
  s&     @ @9 @h @$ @r#   c                	0    \         P                  ! WV4      # r.   )r   valrng_t_set_cmp)r   rv  rw  s   &&&r   set_cmpvalrng_t.set_cmp
  s    ,,T??r#   c                    V ^8  d   QhRRRR/# )rA   new_sizerX   rC   rY   r$   )rE   s   "r   rF   r9  
  s     A AC A4 Ar#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_reduce_size)r   r}  s   &&r   reduce_sizevalrng_t.reduce_size
  s    00@@r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
       = =
 =d =r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_intersect_withr   s   &&r   intersect_withvalrng_t.intersect_with
  r  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r9  
       9 9J 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_unite_withr   s   &&r   
unite_withvalrng_t.unite_with
  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9  
  rf  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_inverser   s   &r   inversevalrng_t.inverse
  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9  
  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_emptyr   s   &r   r   valrng_t.empty
  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9  
       6 64 6r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_all_valuesr   s   &r   
all_valuesvalrng_t.all_values
  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9  
  r  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_is_unknownr   s   &r   
is_unknownvalrng_t.is_unknown
  r   r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rY   r$   )rE   s   "r   rF   r9  
  s     2 2X 2 2r#   c                	.    \         P                  ! W4      # r.   )r   valrng_t_hasr8  s   &&r   r'  valrng_t.has
  r~
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9  
  r&
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t__printr   s   &r   _printvalrng_t._print
  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r9  
  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_dstrr   s   &r   dstrvalrng_t.dstr
  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9          ? ?D ?r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_cvt_to_single_valuer   s   &r   cvt_to_single_valuevalrng_t.cvt_to_single_value   r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9    r  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_cvt_to_cmpr   s   &r   
cvt_to_cmpvalrng_t.cvt_to_cmp  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r9    r9
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_get_sizer   s   &r   get_sizevalrng_t.get_size  r   r#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   r9  	  s     5 5( 5r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_max_valuer   s   &r   	max_valuevalrng_t.max_value	  r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r9         6 68 6r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_min_svaluer   s   &r   
min_svaluevalrng_t.min_svalue  r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r9    r  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t_max_svaluer   s   &r   
max_svaluevalrng_t.max_svalue  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9         5 5$ 5r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t__registerr   s   &r   	_registervalrng_t._register  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r9    r4
  r#   c                	.    \         P                  ! V 4      # r.   )r   valrng_t__deregisterr   s   &r   _deregistervalrng_t._deregister  ro  r#   r$   N),r   r   r8   r9   r   r   r   r
   r   r   delete_valrng_trT  r   r   r  rI  rN  rS  rX  r^  rc  ri  rn  rs  rz  r  r  r  r  r   r  r  r'  r  r  r  r  r  r  r  r  r  r  r<   r$   r#   r   r/  r/  
  s    -/I!#GHO#33355555564335@A=93166220?6456657 7r#   r/  c                    V ^8  d   QhRRRR/# )rA   maymust'maymust_t'rC   rY   r$   )rE   s   "r   rF   rF      s     / /; /$ /r#   c                .    \         P                  ! V 4      # r.   )r   is_may_access)r  s   &r   r  r     s    %%g..r#   c               $    V ^8  d   QhRRRRRR/# )rA   code
'merror_t'r[  r_  rC   ry  r$   )rE   s   "r   rF   rF     s!     3 3* 37 3c 3r#   c                .    \         P                  ! W4      # )zGet textual description of an error code 
        
:param code: Microcode error code
:param mba: the microcode array
:returns: the error address)r   get_merror_desc)r  r[  s   &&r   r  r    s     ''22r#   c                  2   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R
&    R tR R lt]P*                  tRtR# )hexrays_failure_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   hexrays_failure_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   r  r  rX  erreary  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   hexrays_failure_t_swiginitnew_hexrays_failure_tr   s   &*r   r   hexrays_failure_t.__init__  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   hexrays_failure_t.__annotate__  r  r#   c                	.    \         P                  ! V 4      # r.   )r   hexrays_failure_t_descr   s   &r   deschexrays_failure_t.desc  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   hexrays_failure_t_code_gethexrays_failure_t_code_setr  ro  hexrays_failure_t_errea_gethexrays_failure_t_errea_setr  hexrays_failure_t_str_gethexrays_failure_t_str_setry  r   r  delete_hexrays_failure_trT  r<   r$   r#   r   r  r    s    -/I!#GH G G//1D* 1%l##\%M%MOE? O>>..0C 0*9#<<r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R tR	 R
 lt]P                  tRtR# )vd_failure_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vd_failure_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   'hexrays_failure_t'hfc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   vd_failure_t_swiginitnew_vd_failure_tr   s   &*r   r   vd_failure_t.__init__  rk  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   vd_failure_t.__annotate__  r-  r#   c                	.    \         P                  ! V 4      # r.   )r   vd_failure_t_descr   s   &r   r  vd_failure_t.desc  r   r#   r$   N)r   r   r8   r9   r   r   r   r
   r   vd_failure_t_hf_getvd_failure_t_hf_setr  ro  r   r  delete_vd_failure_trT  r<   r$   r#   r   r  r    sS    -/I!#GH&|'G'G((*B *%4#77r#   r  c                  X    ] tR tRt]! R R RR7      t]tR R lt]	P                  tRtR	# )
vd_interr_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vd_interr_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   r  rX  bufry  r$   )rE   s   "r   rF   vd_interr_t.__annotate__  s     & &? & &r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   vd_interr_t_swiginitnew_vd_interr_t)r   r  r  s   &&&r   r   vd_interr_t.__init__  s&    ))$O11% 	&r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   delete_vd_interr_trT  r<   r$   r#   r   r  r    s-    -/I!#GH& $66r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   mcode	'mcode_t'including_callsrY   rC   r$   )rE   s   "r   rF   rF   6  s&     G G) Gd Gd Gr#   c                .    \         P                  ! W4      # )a  Must an instruction with the given opcode be the last one in a block? Such opcodes are called closing opcodes. 
        
:param mcode: instruction opcode
:param including_calls: should m_call/m_icall be considered as the closing opcodes? If this function returns true, the opcode cannot appear in the middle of a block. Calls are a special case: unknown calls (is_unknown_call) are considered as closing opcodes.)r   must_mcode_close_block)r  r!  s   &&r   r#  r#  6  s    
 ..uFFr#   c                    V ^8  d   QhRRRR/# rA   r  r   rC   rY   r$   )rE   s   "r   rF   rF   >  s     5 5 5d 5r#   c                .    \         P                  ! V 4      # )a  May opcode be propagated? Such opcodes can be used in sub-instructions (nested instructions) There is a handful of non-propagatable opcodes, like jumps, ret, nop, etc All other regular opcodes are propagatable and may appear in a nested instruction. 
        )r   is_mcode_propagatabler  s   &r   r'  r'  >  s     --e44r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   D  r"  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_addsubr(  s   &r   r+  r+  D  r%  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   H       - - -d -r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_xdsur(  s   &r   r/  r/  H      %%e,,r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   L       , ,	 ,T ,r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_setr(  s   &r   r4  r4  L      $$U++r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   P  r-  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_set1r(  s   &r   r8  r8  P  r0  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   T  s     + +y +D +r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_j1r(  s   &r   r;  r;  T  s    ##E**r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   X       . .) .t .r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_jcondr(  s   &r   r?  r?  X      &&u--r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   \       ; ;y ;D ;r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_convertible_to_jmpr(  s   &r   rD  rD  \      33E::r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   `  rB  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_convertible_to_setr(  s   &r   rH  rH  `  rE  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   d  r-  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_callr(  s   &r   rK  rK  d  r0  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   h  r2  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_fpur(  s   &r   rN  rN  h  r5  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   l  s     4 4	 4T 4r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_commutativer(  s   &r   rQ  rQ  l  s    ,,U33r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF   p  r=  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_shiftr(  s   &r   rT  rT  p  r@  r#   c                    V ^8  d   QhRRRR/# rA   opr   rC   rY   r$   )rE   s   "r   rF   rF   t  r2  r#   c                .    \         P                  ! V 4      # r.   )r   is_mcode_divmodrW  s   &r   rY  rY  t  s    ''++r#   c                    V ^8  d   QhRRRR/# rV  r$   )rE   s   "r   rF   rF   x  r-  r#   c                .    \         P                  ! V 4      # r.   )r   has_mcode_seloffrZ  s   &r   r]  r]  x  s    ((,,r#   c                    V ^8  d   QhRRRR/# rA   r  r   rC   r$   )rE   s   "r   rF   rF   |       ' '9 '	 'r#   c                .    \         P                  ! V 4      # r.   )r   set2jcndr  s   &r   rb  rb  |        &&r#   c                    V ^8  d   QhRRRR/# r_  r$   )rE   s   "r   rF   rF     r`  r#   c                .    \         P                  ! V 4      # r.   )r   jcnd2setrc  s   &r   rg  rg    rd  r#   c                    V ^8  d   QhRRRR/# r_  r$   )rE   s   "r   rF   rF     s     4 4	 4Y 4r#   c                .    \         P                  ! V 4      # r.   )r   negate_mcode_relationrc  s   &r   rj  rj    s    --d33r#   c                    V ^8  d   QhRRRR/# r_  r$   )rE   s   "r   rF   rF     s     2 2i 29 2r#   c                .    \         P                  ! V 4      # r.   )r   swap_mcode_relationrc  s   &r   rm  rm    s    ++D11r#   c                    V ^8  d   QhRRRR/# r_  r$   )rE   s   "r   rF   rF     s     / /9 /	 /r#   c                .    \         P                  ! V 4      # r.   )r   get_signed_mcoderc  s   &r   rp  rp    s    ((..r#   c                    V ^8  d   QhRRRR/# r_  r$   )rE   s   "r   rF   rF     s     1 1Y 1) 1r#   c                .    \         P                  ! V 4      # r.   )r   get_unsigned_mcoderc  s   &r   rs  rs    s    **400r#   c                    V ^8  d   QhRRRR/# rA   r  r   rC   rY   r$   )rE   s   "r   rF   rF     r=  r#   c                .    \         P                  ! V 4      # r.   )r   is_signed_mcoderc  s   &r   rw  rw    s    ''--r#   c                    V ^8  d   QhRRRR/# ru  r$   )rE   s   "r   rF   rF     r'  r#   c                .    \         P                  ! V 4      # r.   )r   is_unsigned_mcoderc  s   &r   rz  rz    s    ))$//r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   rF     r'  r#   c                .    \         P                  ! V 4      # r.   )r   mcode_modifies_dr(  s   &r   r}  r}    r*  r#   c                  :   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P0                  tRtR# )operand_locator_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   operand_locator_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   rX  r  rX   opnumc                    V ^8  d   QhRRRR/# )rA   _earX  _opnumrX   r$   )rE   s   "r   rF   operand_locator_t.__annotate__  s     0 0O 0S 0r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   operand_locator_t_swiginitnew_operand_locator_t)r   r  r  s   &&&r   r   operand_locator_t.__init__  s'    //l!!7""%7/ 	0r#   c                    V ^8  d   QhRRRR/# rA   r   rc  rC   rY   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___eq__r   s   &&r   r   operand_locator_t.__eq__  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___ne__r   s   &&r   r  operand_locator_t.__ne__  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___lt__r   s   &&r   rI  operand_locator_t.__lt__  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___gt__r   s   &&r   rN  operand_locator_t.__gt__  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___le__r   s   &&r   rS  operand_locator_t.__le__  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t___ge__r   s   &&r   rX  operand_locator_t.__ge__  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   rc  rC   rX   r$   )rE   s   "r   rF   r    s     ? ?, ? ?r#   c                	.    \         P                  ! W4      # r.   )r   operand_locator_t_comparer   s   &&r   r^  operand_locator_t.compare  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   operand_locator_t_ea_getoperand_locator_t_ea_setr  ro  operand_locator_t_opnum_getoperand_locator_t_opnum_setr  r   r   r  rI  rN  rS  rX  r^  delete_operand_locator_trT  r<   r$   r#   r   r  r    s    -/I!#GH"<#H#H--/B /,BB002E3 20>>>>>>?#<<r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    ]! ]P8                  ]P:                  4      tR]R&    R,R R lltR R lt R R lt!R R lt"R R lt#R R lt$R R lt%R  R! lt&R" R# lt'R$ R% lt(R& R' lt)R( R) lt*]PV                  t,R*t-R+# )-number_format_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   number_format_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   z	'flags_t'flags32'char'r  props'uchar'serial
org_nbytesry  	type_namez'flags64_t'rW   c                   V ^8  d   QhRR/# rA   r  rX   r$   )rE   s   "r   rF   number_format_t.__annotate__  s     ) )s )r#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   number_format_t_swiginitnew_number_format_tr   r  s   &&r   r   number_format_t.__init__  s'    --dL5  &5( 	)r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     < <# <r#   c                .    \         P                  ! V 4      # )z2Get number radix 
        
:returns: 2,8,10, or 16)r   number_format_t_get_radixr   s   &r   	get_radixnumber_format_t.get_radix       55d;;r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         ; ; ;r#   c                .    \         P                  ! V 4      # )zcIs number representation fixed? Fixed representation cannot be modified by the decompiler 
        )r   number_format_t_is_fixedr   s   &r   is_fixednumber_format_t.is_fixed       44T::r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         9 9t 9r#   c                .    \         P                  ! V 4      # )zIs a hexadecimal number?
)r   number_format_t_is_hexr   s   &r   is_hexnumber_format_t.is_hex       22488r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                .    \         P                  ! V 4      # )zIs a decimal number?
)r   number_format_t_is_decr   s   &r   is_decnumber_format_t.is_dec  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                .    \         P                  ! V 4      # )zIs a octal number?
)r   number_format_t_is_octr   s   &r   is_octnumber_format_t.is_oct  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         : : :r#   c                .    \         P                  ! V 4      # )zIs a symbolic constant?
)r   number_format_t_is_enumr   s   &r   is_enumnumber_format_t.is_enum       33D99r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                .    \         P                  ! V 4      # )zIs a character constant?
)r   number_format_t_is_charr   s   &r   is_charnumber_format_t.is_char  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         < <$ <r#   c                .    \         P                  ! V 4      # )zIs a structure field offset?
)r   number_format_t_is_stroffr   s   &r   	is_stroffnumber_format_t.is_stroff  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  $  r  r#   c                .    \         P                  ! V 4      # )zIs a number?
)r   number_format_t_is_numopr   s   &r   is_numopnumber_format_t.is_numop$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  )  s     G GT Gr#   c                .    \         P                  ! V 4      # )zDoes the number need to be negated or bitwise negated? Returns true if the user requested a negation but it is not done yet 
        )r   $number_format_t_needs_to_be_invertedr   s   &r   needs_to_be_inverted$number_format_t.needs_to_be_inverted)  s     @@FFr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  .  s     E E4 Er#   c                	.    \         P                  ! V 4      # r.   )r   "number_format_t_has_unmutable_typer   s   &r   has_unmutable_type"number_format_t.has_unmutable_type.      >>tDDr#   r$   Nr  ).r   r   r8   r9   r   r   r   r
   r   number_format_t_flags32_getnumber_format_t_flags32_setr  ro  number_format_t_opnum_getnumber_format_t_opnum_setr  number_format_t_props_getnumber_format_t_props_setr  number_format_t_serial_getnumber_format_t_serial_setr  number_format_t_org_nbytes_getnumber_format_t_org_nbytes_setr  number_format_t_type_name_getnumber_format_t_type_name_setr  number_format_t_flags_getnumber_format_t_flags_setrW   r   r  r  r  r  r  r  r  r  r  r  r  delete_number_format_trT  r<   r$   r#   r   r  r    sv   -/I!#GH!,"J"J002GY 2\CC..0E6 0\CC..0E6 0|FF//1FG 1!,&&&&(J (lHH224Is 4 ","H"H..0E; 0)<;
9
9
9
:
:
<
;
G
E#::r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&    R
 R ltR t]P$                  tR tRtR# )vd_printer_tiH  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vd_printer_t.<lambda>I  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  I  r~   r#   r   r   ry  tmpbufrX   rm  c               $    V ^8  d   QhRRRRRR/# rA   indentrX   rE   ry  rC   r$   )rE   s   "r   rF   vd_printer_t.__annotate__S  s&     F FS F# F Fr#   c                	0    \         P                  ! WV4      # r.   )r   vd_printer_t__printr   r  rE   s   &&&r   r  vd_printer_t._printS  s    //fEEr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   vd_printer_t_swiginitnew_vd_printer_tr   r  s   & r   r   vd_printer_t.__init__V  =    >>\)EE**42"2$ 	%r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_vd_printer_tr  r  r   s   &r   r  vd_printer_t.__disown___  /    		((.}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   vd_printer_t_tmpbuf_getvd_printer_t_tmpbuf_setr  ro  vd_printer_t_hdrlines_getvd_printer_t_hdrlines_setrm  r  r   delete_vd_printer_trT  r  r<   r$   r#   r   r  r  H  s    -/I!#GH<??,,.FC .\CC..0Hc 0F% $77#r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R lt]P$                  tR tRtR# )vc_printer_tih  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vc_printer_t.<lambda>i  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r2  i  r~   r#   r   r   z'cfunc_t const *'funcr  lastcharc                   V ^8  d   QhRR/# )rA   rO   r3  r$   )rE   s   "r   rF   vc_printer_t.__annotate__u  s     ( () (r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W!4      4       R # r.   )r   r0  r   vc_printer_t_swiginitnew_vc_printer_t)r   rO   r  s   && r   r   vc_printer_t.__init__u  s=    >>\)EE**42"2' 	(r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r7  }  s     8 8 8r#   c                .    \         P                  ! V 4      # )zAre we generating one-line text representation? 
        
:returns: `true` if the output will occupy one line without line breaks)r   vc_printer_t_onelinerr   s   &r   onelinervc_printer_t.oneliner}       11$77r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_vc_printer_tr  r  r   s   &r   r  vc_printer_t.__disown__  r)  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   vc_printer_t_func_getvc_printer_t_func_setr4  ro  vc_printer_t_lastchar_getvc_printer_t_lastchar_setr5  r   r?  delete_vc_printer_trT  r  r<   r$   r#   r   r0  r0  h  s    -/I!#GH&|'I'I**,D
 , F F..0Hf 0(8
 $77#r#   r0  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R lt]! R 4      tRtR# )qstring_printer_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   qstring_printer_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rM    r~   r#   r   r   rY   	with_tagsry  r   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   qstring_printer_t.__annotate__  s&     K KS K# K Kr#   c                	0    \         P                  ! WV4      # r.   )r   qstring_printer_t__printr  s   &&&r   r  qstring_printer_t._print  s    44T6JJr#   c                    V ^8  d   QhRRRR/# )rA   rO   r3  tagsrY   r$   )rE   s   "r   rF   rQ    s     , ,) ,4 ,r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   qstring_printer_t_swiginitnew_qstring_printer_t)r   rO   rV  s   &&&r   r   qstring_printer_t.__init__  s'    //l!!7""#7+ 	,r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rQ    s     : :c :r#   c                	.    \         P                  ! V 4      # r.   )r   qstring_printer_t_get_sr   s   &r   get_sqstring_printer_t.get_s  r{  r#   c                	"    V P                  4       # r.   )r^  r   s   &r   rx   rM    
    djjlr#   r$   N)r   r   r8   r9   r   r   r   r
   r   qstring_printer_t_with_tags_getqstring_printer_t_with_tags_setrO  ro  qstring_printer_t_s_getqstring_printer_t_s_setr   r  r   r^  r<   r$   r#   r   rK  rK    s    -/I!#GH|KK446It 6l::L!As !K,:*+Ar#   rK  c                    V ^8  d   QhRRRR/# )rA   tifr  rC   ry  r$   )rE   s   "r   rF   rF     s     " "i "3 "r#   c                .    \         P                  ! V 4      # )zjPrint the specified type info. This function can be used from a debugger by typing "tif->dstr()" 
        )r   r  rg  s   &r   r  r    s     S!!r#   c                    V ^8  d   QhRRRR/# )rA   r	  z'type_t const *'rC   rY   r$   )rE   s   "r   rF   rF     s     - -) -T -r#   c                .    \         P                  ! V 4      # )zHVerify a type string. 
        
:returns: true if type string is correct)r   is_type_correctr  s   &r   rl  rl    s     '',,r#   c                    V ^8  d   QhRRRR/# )rA   rg  r  rC   rY   r$   )rE   s   "r   rF   rF     s     * *i *4 *r#   c                .    \         P                  ! V 4      # )zIs a small structure or union? 
        
:returns: true if the type is a small UDT (user defined type). Small UDTs fit into a register (or pair or registers) as a rule.)r   is_small_udtri  s   &r   ro  ro         $$S))r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF     s     . .) .t .r#   c                .    \         P                  ! V 4      # )zxIs definitely a non-boolean type? 
        
:returns: true if the type is a non-boolean type (non bool and well defined))r   is_nonbool_typer   s   &r   rs  rs    s     ''--r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF     s     + +y +D +r#   c                .    \         P                  ! V 4      # )zIIs a boolean type? 
        
:returns: true if the type is a boolean type)r   is_bool_typert  s   &r   rw  rw         $$T**r#   c                    V ^8  d   QhRRRR/# rA   tz'type_t'rC   rY   r$   )rE   s   "r   rF   rF     s     + +x +4 +r#   c                .    \         P                  ! V 4      # )zIs a pointer or array type?
)r   is_ptr_or_arrayr{  s   &r   r}  r}         ''**r#   c                    V ^8  d   QhRRRR/# rz  r$   )rE   s   "r   rF   rF     s     " "h "$ "r#   c                .    \         P                  ! V 4      # )z'Is a pointer, array, or function type?
)r   is_pafr~  s   &r   r  r    s     q!!r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rF     s     - - -d -r#   c                .    \         P                  ! V 4      # )z3Is struct/union/enum definition (not declaration)?
)r   is_inplace_defrt  s   &r   r  r    s     &&t,,r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   rF     s     / /9 / /r#   c                .    \         P                  ! V 4      # )zCalculate number of partial subtypes. 
        
:returns: number of partial subtypes. The bigger is this number, the uglier is the type.)r   partial_type_numrt  s   &r   r  r    s     ((..r#   c                    V ^8  d   QhRRRR/# )rA   widthrX   rC   r  r$   )rE   s   "r   rF   rF     s     . .# . .r#   c                .    \         P                  ! V 4      # )zGet a type of a floating point value with the specified width 
        
:param width: width of the desired type
:returns: type info object)r   get_float_type)r  s   &r   r  r    s    
 &&u--r#   c               $    V ^8  d   QhRRRRRR/# )rA   srcwidthrX   sign'type_sign_t'rC   r  r$   )rE   s   "r   rF   rF     s'     G GS G GGr#   c                .    \         P                  ! W4      # )zCreate a type info by width and sign. Returns a simple type (examples: int, short) with the given width and sign. 
        
:param srcwidth: size of the type in bytes
:param sign: sign of the type)r   get_int_type_by_width_and_sign)r  r  s   &&r   r  r    s     66xFFr#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   r  r$   )rE   s   "r   rF   rF     s     + +s +i +r#   c                .    \         P                  ! V 4      # )aD  Create a partial type info by width. Returns a partially defined type (examples: _DWORD, _BYTE) with the given width. 
        
:param size: size of the type in bytes. Must be a power of 2 (1, 2, 4, 8, 16). For non-power-of-2 sizes, returns an empty tinfo_t. Use make_valid_size() to round up arbitrary sizes before calling.)r   get_unk_typer  s   &r   r  r    rx  r#   c               $    V ^8  d   QhRRRRRR/# )rA   ptrsizerX   isfprY   rC   r  r$   )rE   s   "r   rF   rF     s!     5 53 5d 5i 5r#   c                .    \         P                  ! W4      # )zuGenerate a dummy pointer type 
        
:param ptrsize: size of pointed object
:param isfp: is floating point object?)r   dummy_ptrtype)r  r  s   &&r   r  r    s    
 %%g44r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   r$   )rE   s   "r   rF   rF     s     + +y +I +r#   c                .    \         P                  ! V 4      # )zCreate a pointer type. This function performs the following conversion: "type" -> "type*" 
        
:param type: object type.
:returns: "type*". for example, if 'char' is passed as the argument,)r   make_pointerrt  s   &r   r  r    s    
 $$T**r#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   rF     s     . .I .r#   c                 *    \         P                  ! V !  # )aC  This function has the following signatures:

    0. create_typedef(name: str) -> tinfo_t
    1. create_typedef(n: int) -> tinfo_t

# 0: create_typedef(name: str) -> tinfo_t

Create a reference to a named type. 
        
:returns: type which refers to the specified name. For example, if name is "DWORD", the type info which refers to "DWORD" is created.

# 1: create_typedef(n: int) -> tinfo_t

Create a reference to an ordinal type. 
        
:returns: type which refers to the specified ordinal. For example, if n is 1, the type info which refers to ordinal type 1 is created.
)r   create_typedefr   s   *r   r  r    s    $ &&--r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   idrX   rg  r  guess'type_source_t'rC   rY   r$   )rE   s   "r   rF   rF   -  s(     1 1 19 1_ 1 1r#   c                0    \         P                  ! WV4      # )zGet a global type. Global types are types of addressable objects and struct/union/enum types 
        
:param id: address or id of the object
:param tif: buffer for the answer
:param guess: what kind of types to consider
:returns: success)r   get_type)r  rg  r  s   &&&r   r  r  -  s       %00r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rA   r  rX   rg  r  sourcer  forcerY   rC   r$   )rE   s   "r   rF   rF   7  s0     	9 	9 	99 	9o 	9d 	9	9r#   c                0    \         P                  ! WW#4      # )a  Set a global type. 
        
:param id: address or id of the object
:param tif: new type info
:param source: where the type comes from
:param force: true means to set the type as is, false means to merge the new type with the possibly existing old type info.
:returns: success)r   set_type)r  rg  r  r  s   &&&&r   r  r  7  s       &88r#   c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P*                  tRtR# )vdloc_tiC  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vdloc_t.<lambda>D  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  D  r~   r#   r   r   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   vdloc_t.__annotate__H  r  r#   c                	.    \         P                  ! V 4      # r.   )r   vdloc_t_reg1r   s   &r   reg1vdloc_t.reg1H  r  r#   c                    V ^8  d   QhRRRR/# rA   r1rX   rC   rD   r$   )rE   s   "r   rF   r  K  s     8 8C 84 8r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t__set_reg1r   r  s   &&r   	_set_reg1vdloc_t._set_reg1K      --d77r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  N  s     7 73 7$ 7r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t_set_reg1r  s   &&r   set_reg1vdloc_t.set_reg1N      ,,T66r#   c                    V ^8  d   QhRRRR/# rA   r   	'vdloc_t'rC   rY   r$   )rE   s   "r   rF   r  Q       4 4	 4T 4r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___eq__r   s   &&r   r   vdloc_t.__eq__Q  r)  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  T  r  r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___ne__r   s   &&r   r  vdloc_t.__ne__T  r)  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  W  r  r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___lt__r   s   &&r   rI  vdloc_t.__lt__W  r)  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  Z  r  r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___gt__r   s   &&r   rN  vdloc_t.__gt__Z  r)  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  ]  r  r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___le__r   s   &&r   rS  vdloc_t.__le__]  r)  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  `  r  r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t___ge__r   s   &&r   rX  vdloc_t.__ge__`  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r  c       5 5 5c 5r#   c                	.    \         P                  ! W4      # r.   )r   vdloc_t_comparer   s   &&r   r^  vdloc_t.comparec  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   mbr_  r   rX   rC   rY   r$   )rE   s   "r   rF   r  f  s&     A Aw Ac AT Ar#   c                	0    \         P                  ! WV4      # r.   )r   vdloc_t_is_aliasable)r   r  r   s   &&&r   is_aliasablevdloc_t.is_aliasablef  s    004@@r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   vdloc_t_swiginitnew_vdloc_tr   s   &r   r   vdloc_t.__init__i  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r  r  r  r   r  rI  rN  rS  rX  r^  r  r   r   delete_vdloc_trT  r<   r$   r#   r   r  r  C  sd    -/I!#GH/874444445AH#22r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   r  r  nbytesrX   rC   ry  r$   )rE   s   "r   rF   rF   q  s!     1 1Y 1 1s 1r#   c                .    \         P                  ! W4      # )z^Print vdloc. Since vdloc does not always carry the size info, we pass it as NBYTES.. 
        )r   print_vdloc)r  r  s   &&r   r  r  q  s     ##C00r#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	rA   loc1r  w1rX   loc2w2rC   rY   r$   )rE   s   "r   rF   rF   w  s/     < <) < <I <3 <$ <r#   c                0    \         P                  ! WW#4      # )zDo two arglocs overlap?
)r   arglocs_overlap)r  r  r  r  s   &&&&r   r  r  w  s     ''$;;r#   c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt ]PB                  t"R+t#R,# )-lvar_locator_ti}  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_locator_t.<lambda>~  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  ~  r~   r#   r   r   r  locationrX  defeac                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   lvar_locator_t_swiginitnew_lvar_locator_tr   s   &*r   r   lvar_locator_t.__init__  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   lvar_locator_t.__annotate__  s     < <3 <r#   c                .    \         P                  ! V 4      # )zGet offset of the varialbe in the stack frame. 
        
:returns: a non-negative value for stack variables. The value is an offset from the bottom of the stack frame in terms of vd-offsets. negative values mean error (not a stack variable))r   lvar_locator_t_get_stkoffr   s   &r   
get_stkofflvar_locator_t.get_stkoff  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
         9 9 9r#   c                .    \         P                  ! V 4      # )z%Is variable located on one register?
)r   lvar_locator_t_is_reg1r   s   &r   is_reg1lvar_locator_t.is_reg1  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
    r  r#   c                .    \         P                  ! V 4      # )z&Is variable located on two registers?
)r   lvar_locator_t_is_reg2r   s   &r   is_reg2lvar_locator_t.is_reg2  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
         < <4 <r#   c                .    \         P                  ! V 4      # )z$Is variable located on register(s)?
)r   lvar_locator_t_is_reg_varr   s   &r   
is_reg_varlvar_locator_t.is_reg_var  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
    r  r#   c                .    \         P                  ! V 4      # )z"Is variable located on the stack?
)r   lvar_locator_t_is_stk_varr   s   &r   
is_stk_varlvar_locator_t.is_stk_var  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r
    s     > >T >r#   c                .    \         P                  ! V 4      # )zIs variable scattered?
)r   lvar_locator_t_is_scatteredr   s   &r   is_scatteredlvar_locator_t.is_scattered  r  r#   c                   V ^8  d   QhRR/# rA   rC   'mreg_t'r$   )rE   s   "r   rF   r
         : : :r#   c                .    \         P                  ! V 4      # )z)Get the register number of the variable.
)r   lvar_locator_t_get_reg1r   s   &r   get_reg1lvar_locator_t.get_reg1  r  r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   r
    r-  r#   c                .    \         P                  ! V 4      # )zGGet the number of the second register (works only for ALOC_REG2 lvars)
)r   lvar_locator_t_get_reg2r   s   &r   get_reg2lvar_locator_t.get_reg2  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'scattered_aloc_t &'r$   )rE   s   "r   rF   r
    s     ? ?2 ?r#   c                .    \         P                  ! V 4      # )z*Get information about scattered variable.
)r   lvar_locator_t_get_scatteredr   s   &r   get_scatteredlvar_locator_t.get_scattered       88>>r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___eq__r   s   &&r   r   lvar_locator_t.__eq__  r/  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___ne__r   s   &&r   r  lvar_locator_t.__ne__  r/  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___lt__r   s   &&r   rI  lvar_locator_t.__lt__  r/  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___gt__r   s   &&r   rN  lvar_locator_t.__gt__  r/  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___le__r   s   &&r   rS  lvar_locator_t.__le__  r/  r#   c                    V ^8  d   QhRRRR/# r>  r$   )rE   s   "r   rF   r
    rH  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t___ge__r   s   &&r   rX  lvar_locator_t.__ge__  r/  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r
    s     < <) <S <r#   c                	.    \         P                  ! W4      # r.   )r   lvar_locator_t_comparer   s   &&r   r^  lvar_locator_t.compare  rB  r#   r$   N)$r   r   r8   r9   r   r   r   r
   r   lvar_locator_t_location_getlvar_locator_t_location_setr  ro  lvar_locator_t_defea_getlvar_locator_t_defea_setr  r   r  r  r  r  r#  r(  r0  r5  r:  r   r  rI  rN  rS  rX  r^  delete_lvar_locator_trT  r<   r$   r#   r   r  r  }  s    -/I!#GH"<#K#K002Hi 2%l&K&K--/E? /'<9
9
<
<
>
:
:
?
;;;;;;<#99r#   r  c                     ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    ]! ]	P                  ]	P                  4      tR]R	&    ]! ]	P"                  ]	P$                  4      tR
]R&    ]! ]	P(                  ]	P*                  4      tR]R&    ]! ]	P.                  ]	P0                  4      tR]R&    ]! ]	P4                  ]	P6                  4      tR]R&    R R ltR R ltR R ltR R lt R R lt!R R lt"R R lt#R R  lt$R! R" lt%R# R$ lt&R% R& lt'R' R( lt(R) R* lt)R+ R, lt*R- R. lt+R/ R0 lt,R1 R2 lt-R3 R4 lt.R5 R6 lt/R7 R8 lt0R9 R: lt1R; R< lt2R= R> lt3R? R@ lt4RA RB lt5RC RD lt6RE RF lt7RG RH lt8RI RJ lt9RK RL lt:RM RN lt;RO RP lt<RQ RR lt=RS RT lt>RU RV lt?RW RX lt@RY RZ ltAR[ R\ ltBR] R^ ltCR_ R` ltDRa Rb ltERc Rd ltFRe Rf ltGRg Rh ltHRi Rj ltIRk Rl ltJRm Rn ltKRo Rp ltLRq Rr ltMRs Rt ltNRu Rv ltORw Rx ltPRy Rz ltQR{ R| ltRR} R~ ltSR R ltTR R ltUR R ltVR R ltWR R ltXR R ltYR R ltZR R lt[R R lt\R R lt]R R lt^R R lt_R R lt`R R ltaR R ltbR R ltcR R ltdR R lteR R ltfR R ltgR R lthR R ltiR R ltjRR R lltkRR R lltlR R ltmRR R lltnRR R lltoR R ltp]	P                  trRtsR# )lvar_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rb    r~   r#   r   r   c                	    \        R 4      hzNo constructor definedr   r   r   kwargss   &*,r   r   lvar_t.__init__      566r#   ry  r   r  r  rg  rX   r  defblk'uint64'divisorc                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   lvar_t.__annotate__  s     . .T .r#   c                .    \         P                  ! V 4      # )z"Is the variable used in the code?
)r   lvar_t_usedr   s   &r   usedlvar_t.used       ''--r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro         / /d /r#   c                .    \         P                  ! V 4      # )zHas the variable a type?
)r   lvar_t_typedr   s   &r   typedlvar_t.typed       ((..r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro          3 3$ 3r#   c                .    \         P                  ! V 4      # )zKHave corresponding microregs been replaced by references to this variable?
)r   lvar_t_mreg_doner   s   &r   	mreg_donelvar_t.mreg_done        ,,T22r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro         7 7d 7r#   c                .    \         P                  ! V 4      # )z$Does the variable have a nice name?
)r   lvar_t_has_nice_namer   s   &r   has_nice_namelvar_t.has_nice_name       0066r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  
  s     : : :r#   c                .    \         P                  ! V 4      # )z&Do we know the width of the variable?
)r   lvar_t_is_unknown_widthr   s   &r   is_unknown_widthlvar_t.is_unknown_width
  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro    r  r#   c                .    \         P                  ! V 4      # )z"Has any user-defined information?
)r   lvar_t_has_user_infor   s   &r   has_user_infolvar_t.has_user_info  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro    r  r#   c                .    \         P                  ! V 4      # )zHas user-defined name?
)r   lvar_t_has_user_namer   s   &r   has_user_namelvar_t.has_user_name  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro    r  r#   c                .    \         P                  ! V 4      # )zHas user-defined type?
)r   lvar_t_has_user_typer   s   &r   has_user_typelvar_t.has_user_type  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro    r  r#   c                .    \         P                  ! V 4      # )zIs the function result?
)r   lvar_t_is_result_varr   s   &r   is_result_varlvar_t.is_result_var  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  #       4 44 4r#   c                .    \         P                  ! V 4      # )zIs the function argument?
)r   lvar_t_is_arg_varr   s   &r   
is_arg_varlvar_t.is_arg_var#       --d33r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  (       5 5D 5r#   c                .    \         P                  ! V 4      # )zIs fake return variable?
)r   lvar_t_is_fake_varr   s   &r   is_fake_varlvar_t.is_fake_var(       ..t44r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  -       ; ;$ ;r#   c                .    \         P                  ! V 4      # )zIs overlapped variable?
)r   lvar_t_is_overlapped_varr   s   &r   is_overlapped_varlvar_t.is_overlapped_var-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  2  s     9 9 9r#   c                .    \         P                  ! V 4      # )zUsed by a fpu insn?
)r   lvar_t_is_floating_varr   s   &r   is_floating_varlvar_t.is_floating_var2  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  7       8 8t 8r#   c                .    \         P                  ! V 4      # )z9Is spoiled var? (meaningful only during lvar allocation)
)r   lvar_t_is_spoiled_varr   s   &r   is_spoiled_varlvar_t.is_spoiled_var7       11$77r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  <       6 6T 6r#   c                .    \         P                  ! V 4      # )z'Variable type should not be a pointer.
)r   lvar_t_is_noptr_varr   s   &r   is_noptr_varlvar_t.is_noptr_var<       //55r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  A  r  r#   c                .    \         P                  ! V 4      # )z#Other variable(s) map to this var?
)r   lvar_t_is_mapdst_varr   s   &r   is_mapdst_varlvar_t.is_mapdst_varA  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  F  r  r#   c                .    \         P                  ! V 4      # )z-Is 'this' argument of a C++ member function?
)r   lvar_t_is_thisargr   s   &r   
is_thisarglvar_t.is_thisargF  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  K  r  r#   c                .    \         P                  ! V 4      # )zIs a split variable?
)r   lvar_t_is_split_varr   s   &r   is_split_varlvar_t.is_split_varK  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  P  r  r#   c                .    \         P                  ! V 4      # )z!Has a register name? (like _RAX)
)r   lvar_t_has_regnamer   s   &r   has_regnamelvar_t.has_regnameP  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  U  s     0 0t 0r#   c                .    \         P                  ! V 4      # )z:Is variable used in an instruction translated into __asm?
)r   lvar_t_in_asmr   s   &r   in_asmlvar_t.in_asmU       ))$//r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  Z  r  r#   c                .    \         P                  ! V 4      # )z@Is a dummy argument (added to fill a hole in the argument list)
)r   lvar_t_is_dummy_argr   s   &r   is_dummy_arglvar_t.is_dummy_argZ  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  _  r}  r#   c                .    \         P                  ! V 4      # )zBIs a local variable? (local variable cannot be an input argument)
)r   lvar_t_is_notargr   s   &r   	is_notarglvar_t.is_notarg_  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  d  r  r#   c                .    \         P                  ! V 4      # )z;Was the variable automatically mapped to another variable?
)r   lvar_t_is_automappedr   s   &r   is_automappedlvar_t.is_automappedd  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  i  r  r#   c                .    \         P                  ! V 4      # )z'Was the address of the variable taken?
)r   lvar_t_is_used_byrefr   s   &r   is_used_byreflvar_t.is_used_byrefi  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  n  r  r#   c                .    \         P                  ! V 4      # )z7Was declared as __unused by the user? See CVAR_UNUSED.
)r   lvar_t_is_decl_unusedr   s   &r   is_decl_unusedlvar_t.is_decl_unusedn  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  s  r}  r#   c                .    \         P                  ! V 4      # )z"Is lvar mapped to several chains.
)r   lvar_t_is_sharedr   s   &r   	is_sharedlvar_t.is_shareds  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  x  r  r#   c                .    \         P                  ! V 4      # )z0Was lvar transformed from a scattered argument?
)r   lvar_t_was_scattered_argr   s   &r   was_scattered_arglvar_t.was_scattered_argx  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ro  }  r}  r#   c                .    \         P                  ! V 4      # )z+Is it forbidden to propagate the variable?
)r   lvar_t_is_nopropr   s   &r   	is_noproplvar_t.is_noprop}  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         2 2 2r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_usedr   s   &r   set_usedlvar_t.set_used  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         4 44 4r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clear_usedr   s   &r   
clear_usedlvar_t.clear_used  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         3 3$ 3r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_typedr   s   &r   	set_typedlvar_t.set_typed  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         7 7d 7r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_non_typedr   s   &r   set_non_typedlvar_t.set_non_typed  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_user_infor   s   &r   clr_user_infolvar_t.clr_user_info  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_user_namer   s   &r   set_user_namelvar_t.set_user_name  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_user_typer   s   &r   set_user_typelvar_t.set_user_type  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_user_typer   s   &r   clr_user_typelvar_t.clr_user_type  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_user_namer   s   &r   clr_user_namelvar_t.clr_user_name  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_mreg_doner   s   &r   set_mreg_donelvar_t.set_mreg_done  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_mreg_doner   s   &r   clr_mreg_donelvar_t.clr_mreg_done  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         ; ;$ ;r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_unknown_widthr   s   &r   set_unknown_widthlvar_t.set_unknown_width  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rH  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_unknown_widthr   s   &r   clr_unknown_widthlvar_t.clr_unknown_width  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         5 5D 5r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_arg_varr   s   &r   set_arg_varlvar_t.set_arg_var  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_arg_varr   s   &r   clr_arg_varlvar_t.clr_arg_var  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         6 6T 6r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_fake_varr   s   &r   set_fake_varlvar_t.set_fake_var  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r^  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_fake_varr   s   &r   clr_fake_varlvar_t.clr_fake_var  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         < <4 <r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_overlapped_varr   s   &r   set_overlapped_varlvar_t.set_overlapped_var  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    ri  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_overlapped_varr   s   &r   clr_overlapped_varlvar_t.clr_overlapped_var  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         : : :r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_floating_varr   s   &r   set_floating_varlvar_t.set_floating_var  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rt  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_floating_varr   s   &r   clr_floating_varlvar_t.clr_floating_var  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_spoiled_varr   s   &r   set_spoiled_varlvar_t.set_spoiled_var  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_spoiled_varr   s   &r   clr_spoiled_varlvar_t.clr_spoiled_var  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro         8 8t 8r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_mapdst_varr   s   &r   set_mapdst_varlvar_t.set_mapdst_var  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_mapdst_varr   s   &r   clr_mapdst_varlvar_t.clr_mapdst_var  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_noptr_varr   s   &r   set_noptr_varlvar_t.set_noptr_var  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_noptr_varr   s   &r   clr_noptr_varlvar_t.clr_noptr_var  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_thisargr   s   &r   set_thisarglvar_t.set_thisarg  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_thisargr   s   &r   clr_thisarglvar_t.clr_thisarg  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_split_varr   s   &r   set_split_varlvar_t.set_split_var  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_split_varr   s   &r   clr_split_varlvar_t.clr_split_var  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_dummy_argr   s   &r   set_dummy_arglvar_t.set_dummy_arg  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_dummy_argr   s   &r   clr_dummy_arglvar_t.clr_dummy_arg  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_notargr   s   &r   
set_notarglvar_t.set_notarg  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_notargr   s   &r   
clr_notarglvar_t.clr_notarg  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_automappedr   s   &r   set_automappedlvar_t.set_automapped  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_automappedr   s   &r   clr_automappedlvar_t.clr_automapped  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_used_byrefr   s   &r   set_used_byreflvar_t.set_used_byref  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_used_byrefr   s   &r   clr_used_byreflvar_t.clr_used_byref  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_decl_unusedr   s   &r   set_decl_unusedlvar_t.set_decl_unused  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_decl_unusedr   s   &r   clr_decl_unusedlvar_t.clr_decl_unused  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_sharedr   s   &r   
set_sharedlvar_t.set_shared  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro     r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_sharedr   s   &r   
clr_sharedlvar_t.clr_shared   r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rH  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_scattered_argr   s   &r   set_scattered_arglvar_t.set_scattered_arg  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    rH  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_scattered_argr   s   &r   clr_scattered_arglvar_t.clr_scattered_arg  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro  	  r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_set_nopropr   s   &r   
set_noproplvar_t.set_noprop	  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   ro    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_t_clr_nopropr   s   &r   
clr_noproplvar_t.clr_noprop  r   r#   c                    V ^8  d   QhRRRR/# rA   r}   r  rC   rY   r$   )rE   s   "r   rF   ro    s     7 7H 7 7r#   c                .    \         P                  ! W4      # )zDo variables overlap?
)r   lvar_t_has_commonr8  s   &&r   
has_commonlvar_t.has_common       --d66r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  width2	'asize_t'rC   rY   r$   )rE   s   "r   rF   ro    s&     E E) EY E$ Er#   c                0    \         P                  ! WV4      # )z7Does the variable overlap with the specified location?
)r   lvar_t_has_common_bit)r   r  r
  s   &&&r   has_common_bitlvar_t.has_common_bit  s     11$VDDr#   c                   V ^8  d   QhRR/# )rA   rC   z'tinfo_t &'r$   )rE   s   "r   rF   ro    s     . .[ .r#   c                .    \         P                  ! V 4      # )zGet variable type.
)r   lvar_t_typer   s   &r   r   lvar_t.type  rt  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r{  r  may_change_thisargrY   rC   r$   )rE   s   "r   rF   ro    s'     M Mi MT MMr#   c                0    \         P                  ! WV4      # )z}Check if the variable accept the specified type. Some types are forbidden (void, function types, wrong arrays, etc) 
        )r   lvar_t_accepts_type)r   r{  r  s   &&&r   accepts_typelvar_t.accepts_type  s     //9KLLr#   c               $    V ^8  d   QhRRRRRR/# )rA   r{  r  may_failrY   rC   r$   )rE   s   "r   rF   ro  $  s&     D Dy DD D$ Dr#   c                0    \         P                  ! WV4      # )a  Set variable type Note: this function does not modify the idb, only the lvar instance in the memory. For permanent changes see modify_user_lvars() Also, the variable type is not considered as final by the decompiler and may be modified later by the type derivation. In some cases set_final_var_type() may work better, but it does not do persistent changes to the database neither. 
        
:param t: new type
:param may_fail: if false and type is bad, interr
:returns: success)r   lvar_t_set_lvar_type)r   r{  r  s   &&&r   set_lvar_typelvar_t.set_lvar_type$  s     00(CCr#   c                    V ^8  d   QhRRRR/# )rA   r{  r  rC   rD   r$   )rE   s   "r   rF   ro  ,  s     @ @Y @$ @r#   c                .    \         P                  ! W4      # )zSet final variable type.
)r   lvar_t_set_final_lvar_type)r   r{  s   &&r   set_final_lvar_typelvar_t.set_final_lvar_type,  s     66t??r#   c               $    V ^8  d   QhRRRRRR/# )rA   wrX   	svw_flagsrC   rY   r$   )rE   s   "r   rF   ro  1  s&     A A3 A3 AD Ar#   c                0    \         P                  ! WV4      # )a  Change the variable width. We call the variable size 'width', it is represents the number of bytes. This function may change the variable type using set_lvar_type(). 
        
:param w: new width
:param svw_flags: combination of SVW_... bits
:returns: success)r   lvar_t_set_width)r   r&  r'  s   &&&r   	set_widthlvar_t.set_width1  s     ,,Ti@@r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r[  r_  lst	'mlist_t'pad_if_scatteredrY   rC   rD   r$   )rE   s   "r   rF   ro  9  s*      w Y r#   c                0    \         P                  ! WW#4      # )zAppend local variable to mlist. 
        
:param mba: ptr to the current mba_t
:param lst: list to append to
:param pad_if_scattered: if true, append padding bytes in case of scattered lvar)r   lvar_t_append_list)r   r[  r-  r/  s   &&&&r   append_listlvar_t.append_list9  s     ..t#  	r#   c                    V ^8  d   QhRRRR/# )rA   r[  r_  rC   rY   r$   )rE   s   "r   rF   ro  C  s     ; ; ;4 ;r#   c                .    \         P                  ! W4      # )zIs the variable aliasable? 
        
:param mba: ptr to the current mba_t Aliasable variables may be modified indirectly (through a pointer))r   lvar_t_is_aliasabler  s   &&r   r  lvar_t.is_aliasableC  s     //::r#   r$   NFr  )tr   r   r8   r9   r   r   r   r   r
   r   lvar_t_name_getlvar_t_name_setr   ro  lvar_t_cmt_getlvar_t_cmt_setr  lvar_t_tif_getlvar_t_tif_setrg  lvar_t_width_getlvar_t_width_setr  lvar_t_defblk_getlvar_t_defblk_setrk  lvar_t_divisor_getlvar_t_divisor_setrm  rr  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r  r  r"  r'  r,  r1  r6  r;  r@  rE  rK  rP  rV  r[  ra  rf  rl  rq  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r#  r*  r2  r  delete_lvar_trT  r<   r$   r#   r   r`  r`    s   -/I!#G7H55|D# 33\C l99<C ,77E3 <99<FC  !@!@'')GX ).
/
3
7
:
7
7
7
7
4
5
;
9
8
6
7
4
6
5
0
6
3
7
7
8
3
;
3
24377777777;;5566<<::9988775577774488889944;;447
E
.
MD@
A;
 $11r#   r`  c                      ] tR tRt]! R R RR7      t]tR R ltRR R	 llt	R
 R lt
R R ltRR R lltR t]P                  tRtR# )lvars_tiQ  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvars_t.<lambda>R  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rI  R  r~   r#   r   r   c               $    V ^8  d   QhRRRRRR/# )rA   arglocr  _sizerX   rC   r$   )rE   s   "r   rF   lvars_t.__annotate__V  s&     I Ii I Is Ir#   c                0    \         P                  ! WV4      # )zFind an input variable at the specified location. 
        
:param argloc: variable location
:param _size: variable size in bytes
:returns: -1 if failed, otherwise an index into 'vars')r   lvars_t_find_input_lvar)r   rL  rM  s   &&&r   find_input_lvarlvars_t.find_input_lvarV  s     33D%HHr#   c               $    V ^8  d   QhRRRRRR/# )rA   regrX   rM  rC   r$   )rE   s   "r   rF   rN  ^  s&     E E# Ec Es Er#   c                0    \         P                  ! WV4      # )zFind an input register variable. 
        
:param reg: register to find
:param _size: variable size in bytes
:returns: -1 if failed, otherwise an index into 'vars')r   lvars_t_find_input_reg)r   rT  rM  s   &&&r   find_input_reglvars_t.find_input_reg^  s     224eDDr#   c               $    V ^8  d   QhRRRRRR/# )rA   spoffrX   r  rC   r$   )rE   s   "r   rF   rN  f  s&     D D DS DC Dr#   c                0    \         P                  ! WV4      # )zFind a stack variable at the specified location. 
        
:param spoff: offset from the minimal sp
:param width: variable size in bytes
:returns: -1 if failed, otherwise an index into 'vars')r   lvars_t_find_stkvar)r   rZ  r  s   &&&r   find_stkvarlvars_t.find_stkvarf  s     //UCCr#   c                    V ^8  d   QhRRRR/# )rA   llr  rC   r  r$   )rE   s   "r   rF   rN  n  s     3 3' 3: 3r#   c                .    \         P                  ! W4      # )zzFind a variable at the specified location. 
        
:param ll: variable location
:returns: pointer to variable or nullptr)r   lvars_t_find)r   r`  s   &&r   r   lvars_t.findn  s    
 ((22r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r  r  r  rX   rk  rC   r$   )rE   s   "r   rF   rN  u  s.     M M) MC M M3 Mr#   c                0    \         P                  ! WW#4      # )zFind a variable at the specified location. 
        
:param location: variable location
:param width: variable size in bytes
:param defblk: definition block of the lvar. -1 means any block
:returns: -1 if failed, otherwise an index into 'vars')r   lvars_t_find_lvar)r   r  r  rk  s   &&&&r   	find_lvarlvars_t.find_lvaru  s     --deLLr#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   lvars_t_swiginitnew_lvars_tr   s   &r   r   lvars_t.__init__~  r  r#   r$   Nr  )r   r   r8   r9   r   r   r   r
   rQ  rW  r]  r   rg  r   r   delete_lvars_trT  r<   r$   r#   r   rG  rG  Q  sI    -/I!#GHIED3MH#22r#   rG  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    R R ltR R ltR R ltR R ltR R lt R R lt!R R lt"R R  lt#R! R" lt$R# R$ lt%R% R& lt&R' R( lt'R) R* lt(R+ R, lt)R- R. lt*R/ R0 lt+R1 R2 lt,R3 R4 lt-R5 R6 lt.R7 R8 lt/R9 R: lt0R; t1]Pd                  t3R<t4R=# )>lvar_saved_info_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_saved_info_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rt    r~   r#   r   r   r  r`  ry  r   r  r   r  	'ssize_t'r   rX   rW   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   lvar_saved_info_t.__annotate__  r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_has_infor   s   &r   has_infolvar_saved_info_t.has_info  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_info_t___eq__r   s   &&r   r   lvar_saved_info_t.__eq__  r
  r#   c                    V ^8  d   QhRRRR/# r~  r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_saved_info_t___ne__r   s   &&r   r  lvar_saved_info_t.__ne__  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    s     < < <r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_is_keptr   s   &r   is_keptlvar_saved_info_t.is_kept  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    s     ? ?4 ?r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_clear_keepr   s   &r   
clear_keeplvar_saved_info_t.clear_keep  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_set_keepr   s   &r   set_keeplvar_saved_info_t.set_keep  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_is_split_lvarr   s   &r   is_split_lvarlvar_saved_info_t.is_split_lvar  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx         C Ct Cr#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_set_split_lvarr   s   &r   set_split_lvar lvar_saved_info_t.set_split_lvar  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_clr_split_lvarr   s   &r   clr_split_lvar lvar_saved_info_t.clr_split_lvar  rD  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_is_noptr_lvarr   s   &r   is_noptr_lvarlvar_saved_info_t.is_noptr_lvar  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_set_noptr_lvarr   s   &r   set_noptr_lvar lvar_saved_info_t.set_noptr_lvar  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_clr_noptr_lvarr   s   &r   clr_noptr_lvar lvar_saved_info_t.clr_noptr_lvar  rD  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_saved_info_t_is_nomap_lvarr   s   &r   is_nomap_lvarlvar_saved_info_t.is_nomap_lvar  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_set_nomap_lvarr   s   &r   set_nomap_lvar lvar_saved_info_t.set_nomap_lvar  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_clr_nomap_lvarr   s   &r   clr_nomap_lvar lvar_saved_info_t.clr_nomap_lvar  rD  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_is_unused_lvarr   s   &r   is_unused_lvar lvar_saved_info_t.is_unused_lvar  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx         D D Dr#   c                	.    \         P                  ! V 4      # r.   )r   !lvar_saved_info_t_set_unused_lvarr   s   &r   set_unused_lvar!lvar_saved_info_t.set_unused_lvar      ==dCCr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   !lvar_saved_info_t_clr_unused_lvarr   s   &r   clr_unused_lvar!lvar_saved_info_t.clr_unused_lvar  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r    lvar_saved_info_t_is_noprop_lvarr   s   &r   is_noprop_lvar lvar_saved_info_t.is_noprop_lvar  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   !lvar_saved_info_t_set_noprop_lvarr   s   &r   set_noprop_lvar!lvar_saved_info_t.set_noprop_lvar  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rx    r  r#   c                	.    \         P                  ! V 4      # r.   )r   !lvar_saved_info_t_clr_noprop_lvarr   s   &r   clr_noprop_lvar!lvar_saved_info_t.clr_noprop_lvar  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   lvar_saved_info_t_swiginitnew_lvar_saved_info_tr   s   &r   r   lvar_saved_info_t.__init__  s$    //l!!7" 7$ 	%r#   r$   N)5r   r   r8   r9   r   r   r   r
   r   lvar_saved_info_t_ll_getlvar_saved_info_t_ll_setr`  ro  lvar_saved_info_t_name_getlvar_saved_info_t_name_setr   lvar_saved_info_t_type_getlvar_saved_info_t_type_setr   lvar_saved_info_t_cmt_getlvar_saved_info_t_cmt_setr  lvar_saved_info_t_size_getlvar_saved_info_t_size_setr   lvar_saved_info_t_flags_getlvar_saved_info_t_flags_setrW   r{  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   delete_lvar_saved_info_trT  r<   r$   r#   r   rr  rr    s   -/I!#GH#L$I$I--/B /@@//1D# 1|FF//1D) 1>>..0C 0|FF//1D) 1,BB002E3 2=>><?=BCCBCCBCCCDDCDD% $<<r#   rr  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR
]R&    R R ltR R ltR R ltR R ltR R ltR t]P8                  tRtR# )lvar_uservec_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_uservec_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   r  lvvec'lvar_mapping_t'lmapsrX   stkoff_delta	ulv_flagsc                    V ^8  d   QhRRRR/# )rA   r   'lvar_uservec_t'rC   rD   r$   )rE   s   "r   rF   lvar_uservec_t.__annotate__  r6  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_uservec_t_swapr   s   &&r   r   lvar_uservec_t.swap  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r     r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_uservec_t_clearr   s   &r   r   lvar_uservec_t.clear  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r     r  r#   c                	.    \         P                  ! V 4      # r.   )r   lvar_uservec_t_emptyr   s   &r   r   lvar_uservec_t.empty  ro  r#   c                    V ^8  d   QhRRRR/# )rA   vlocr  rC   r  r$   )rE   s   "r   rF   r     s      A A. A2G Ar#   c                .    \         P                  ! W4      # )z'find saved user settings for given var
)r   lvar_uservec_t_find_info)r   r  s   &&r   	find_infolvar_uservec_t.find_info  s     44T@@r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rD   r$   )rE   s   "r   rF   r   !  s     > >8 >t >r#   c                .    \         P                  ! W4      # )z&Preserve user settings for given var.
)r   lvar_uservec_t_keep_infor8  s   &&r   	keep_infolvar_uservec_t.keep_info!  s     44T==r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   lvar_uservec_t_swiginitnew_lvar_uservec_tr   s   &r   r   lvar_uservec_t.__init__&  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   lvar_uservec_t_lvvec_getlvar_uservec_t_lvvec_setr  ro  lvar_uservec_t_lmaps_getlvar_uservec_t_lmaps_setr  lvar_uservec_t_stkoff_delta_getlvar_uservec_t_stkoff_delta_setr  lvar_uservec_t_ulv_flags_getlvar_uservec_t_ulv_flags_setr  r   r   r   r  r  r   delete_lvar_uservec_trT  r<   r$   r#   r   r  r    s    -/I!#GH"*<  ,"G"G#IE I&|  ,"G"GIE I '''')L# )lGG113Is 3977A
>
" $99r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   lvinfr  func_earX  rC   rY   r$   )rE   s   "r   rF   rF   2  s)     C C&6 CCCr#   c                .    \         P                  ! W4      # )zRestore user defined local variable settings in the database. 
        
:param lvinf: ptr to output buffer
:param func_ea: entry address of the function
:returns: success)r   restore_user_lvar_settings)r%  r&  s   &&r   r(  r(  2  s     225BBr#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  r%  r  rC   rD   r$   )rE   s   "r   rF   rF   <  s(     @ @_ @=M @@r#   c                .    \         P                  ! W4      # )zSave user defined local variable settings into the database. 
        
:param func_ea: entry address of the function
:param lvinf: user-specified info about local variables)r   save_user_lvar_settings)r&  r%  s   &&r   r+  r+  <  s     //??r#   c                  d    ] tR tRt]! R R RR7      t]t]P                  t
R R ltR tR	 tR
tR# )user_lvar_modifier_tiE  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_lvar_modifier_t.<lambda>F  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/  F  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   r%  r  rC   rY   r$   )rE   s   "r   rF   !user_lvar_modifier_t.__annotate__K  s     K K"2 Kd Kr#   c                .    \         P                  ! W4      # )z6Modify lvar settings. Returns: true-modified 
        )r   !user_lvar_modifier_t_modify_lvars)r   r%  s   &&r   modify_lvars!user_lvar_modifier_t.modify_lvarsK  s     ==dJJr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r-  r   user_lvar_modifier_t_swiginitnew_user_lvar_modifier_tr#  s   & r   r   user_lvar_modifier_t.__init__P  s>    >>11EE224$$:%%*:, 	-r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_user_lvar_modifier_tr  r  r   s   &r   r  user_lvar_modifier_t.__disown__X  s/    		006}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_user_lvar_modifier_trT  r5  r   r  r<   r$   r#   r   r-  r-  E  s6    -/I!#GH#??K
-#r#   r-  c               $    V ^8  d   QhRRRRRR/# )rA   rY  rX  mlvz'user_lvar_modifier_t'rC   rY   r$   )rE   s   "r   rF   rF   a  s#     9 9 96L 99r#   c                .    \         P                  ! W4      # )zModify saved local variable settings. 
        
:param entry_ea: function start address
:param mlv: local variable modifier
:returns: true if modified variables)r   modify_user_lvars)rY  r@  s   &&r   rB  rB  a  s     ))(88r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r&  rX  	mli_flags'uint'infor  rC   rY   r$   )rE   s   "r   rF   rF   k  s0     H H? Hv HHHr#   c                0    \         P                  ! WV4      # )a  Modify saved local variable settings of one variable. 
        
:param func_ea: function start address
:param mli_flags: bits that specify which attrs defined by INFO are to be set
:param info: local variable info attrs
:returns: true if modified, false if invalid MLI_FLAGS passed)r   modify_user_lvar_info)r&  rD  rF  s   &&&r   rH  rH  k  s     --g$GGr#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   outr  r&  rX  varnamery  rC   rY   r$   )rE   s   "r   rF   rF     s*     ; ;% ; ;# ;;r#   c                0    \         P                  ! WV4      # )a  Find a variable by name. 
        
:param out: output buffer for the variable locator
:param func_ea: function start address
:param varname: variable name
:returns: success Since VARNAME is not always enough to find the variable, it may decompile the function.)r   locate_lvar)rJ  r&  rK  s   &&&r   rM  rM    s     ##C'::r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r&  rX  oldnamery  newnamerC   rY   r$   )rE   s   "r   rF   rF     s(     ? ? ?3 ? ? ?r#   c                0    \         P                  ! WV4      # )a  Rename a local variable. 
        
:param func_ea: function start address
:param oldname: old name of the variable
:param newname: new name of the variable
:returns: success This is a convenience function. For bulk renaming consider using modify_user_lvars.)r   rename_lvar)r&  rO  rP  s   &&&r   rR  rR    s     ##Gg>>r#   c                  <   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P2                  tRtR# )udcall_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   udcall_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rV    r~   r#   r   r   ry  r   r  rg  c                    V ^8  d   QhRRRR/# rA   r   
'udcall_t'rC   rY   r$   )rE   s   "r   rF   udcall_t.__annotate__  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___eq__r   s   &&r   r   udcall_t.__eq__  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r[    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___ne__r   s   &&r   r  udcall_t.__ne__  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r[    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___lt__r   s   &&r   rI  udcall_t.__lt__  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r[    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___gt__r   s   &&r   rN  udcall_t.__gt__  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r[    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___le__r   s   &&r   rS  udcall_t.__le__  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r[    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t___ge__r   s   &&r   rX  udcall_t.__ge__  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   rZ  rC   rX   r$   )rE   s   "r   rF   r[    r[  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_t_comparer   s   &&r   r^  udcall_t.compare  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r[    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   udcall_t_emptyr   s   &r   r   udcall_t.empty  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   udcall_t_swiginitnew_udcall_tr   s   &r   r   udcall_t.__init__      &&t\-F-F-HIr#   r$   N)r   r   r8   r9   r   r   r   r
   r   udcall_t_name_getudcall_t_name_setr   ro  udcall_t_tif_getudcall_t_tif_setrg  r   r  rI  rN  rS  rX  r^  r   r   delete_udcall_trT  r<   r$   r#   r   rT  rT    s    -/I!#GH77D# l;;\C 55555561J#33r#   rT  c               $    V ^8  d   QhRRRRRR/# )rA   udcalls'udcall_map_t *'r&  rX  rC   rY   r$   )rE   s   "r   rF   rF     s)     E E(8 EEEr#   c                .    \         P                  ! W4      # )zRestore user defined function calls from the database. 
        
:param udcalls: ptr to output buffer
:param func_ea: entry address of the function
:returns: success)r   restore_user_defined_calls)r  r&  s   &&r   r  r    s     227DDr#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  r  z'udcall_map_t const &'rC   rD   r$   )rE   s   "r   rF   rF     s(     B B_ BB"Br#   c                .    \         P                  ! W4      # )zSave user defined local function calls into the database. 
        
:param func_ea: entry address of the function
:param udcalls: user-specified info about user defined function calls)r   save_user_defined_calls)r&  r  s   &&r   r  r    s     //AAr#   c               (    V ^8  d   QhRRRRRRRR/# )rA   udcrZ  declry  silentrY   rC   r$   )rE   s   "r   rF   rF     s(     ; ; ;3 ; ; ;r#   c                0    \         P                  ! WV4      # )zConvert function type declaration into internal structure 
        
:param udc: - pointer to output structure
:param decl: - function type declaration
:param silent: - if TRUE: do not show warning in case of incorrect type
:returns: success)r   parse_user_call)r  r  r  s   &&&r   r  r    s     ''6::r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rZ  rw  rx  rC   r  r$   )rE   s   "r   rF   rF     s!     7 7j 7{ 7j 7r#   c                .    \         P                  ! W4      # )ztry to generate user-defined call for an instruction 
        
:returns: Microcode error code code: MERR_OK - user-defined call generated else - error (MERR_INSN == inacceptable udc.tif))r   convert_to_user_call)r  rw  s   &&r   r  r    s     ,,S66r#   c                  p    ] tR tRt]! R R RR7      t]t]P                  t
R R ltR R	 ltR
 tR tRtR# )microcode_filter_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   microcode_filter_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   rw  rx  rC   rY   r$   )rE   s   "r   rF   microcode_filter_t.__annotate__  s     @ @ @ @r#   c                .    \         P                  ! W4      # )zGcheck if the filter object is to be applied 
        
:returns: success)r   microcode_filter_t_matchr   rw  s   &&r   matchmicrocode_filter_t.match  ru  r#   c                    V ^8  d   QhRRRR/# rA   rw  rx  rC   r  r$   )rE   s   "r   rF   r    s     @ @ @
 @r#   c                .    \         P                  ! W4      # zgenerate microcode for an instruction 
        
:returns: MERR_... code: MERR_OK - user-defined microcode generated, go to the next instruction MERR_INSN - not generated - the caller should try the standard way else - error)r   microcode_filter_t_applyr  s   &&r   applymicrocode_filter_t.apply  ru  r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   microcode_filter_t_swiginitnew_microcode_filter_tr#  s   & r   r   microcode_filter_t.__init__  s>    >>//EE00|""8##(8* 	+r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_microcode_filter_tr  r  r   s   &r   r  microcode_filter_t.__disown__  s/    		..t4}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_microcode_filter_trT  r  r  r   r  r<   r$   r#   r   r  r    s<    -/I!#GH#==@@+#r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   filterz'microcode_filter_t'installrY   rC   r$   )rE   s   "r   rF   rF     s(     B B%9 BD BBr#   c                .    \         P                  ! W4      # )zregister/unregister non-standard microcode generator 
        
:param filter: - microcode generator object
:param install: - TRUE - register the object, FALSE - unregister
:returns: success)r   install_microcode_filter)r  r  s   &&r   r  r    s     00AAr#   c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R lt]P                  tR R ltR tR tRtR# )udc_filter_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   udc_filter_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   udc_filter_t.__annotate__  s     7 7 7r#   c                .    \         P                  ! V 4      # )zfCleanup the filter This function properly clears type information associated to this filter. 
        )r   udc_filter_t_cleanupr   s   &r   cleanupudc_filter_t.cleanup  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r     s     : : : :r#   c                .    \         P                  ! W4      # )zHreturn true if the filter object should be applied to given instruction
)r   udc_filter_t_matchr  s   &&r   r  udc_filter_t.match        ..t99r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  %  s     : : :
 :r#   c                .    \         P                  ! W4      # r  )r   udc_filter_t_applyr  s   &&r   r  udc_filter_t.apply%  s     ..t99r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  +  rt  r#   c                	.    \         P                  ! V 4      # r.   )r   udc_filter_t_emptyr   s   &r   r   udc_filter_t.empty+  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  .  s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   udc_filter_t_installr   s   &r   r  udc_filter_t.install.  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  1       6 6t 6r#   c                	.    \         P                  ! V 4      # r.   )r   udc_filter_t_remover   s   &r   r  udc_filter_t.remove1  r   r#   c                    V ^8  d   QhRRRR/# )rA   r  ry  rC   rY   r$   )rE   s   "r   rF   r  5  s     : : : :r#   c                	.    \         P                  ! W4      # r.   )r   udc_filter_t_init)r   r  s   &&r   initudc_filter_t.init5  r  r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   udc_filter_t_swiginitnew_udc_filter_tr#  s   & r   r   udc_filter_t.__init__8  r%  r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_udc_filter_tr  r  r   s   &r   r  udc_filter_t.__disown__@  r)  r#   r$   N)r   r   r8   r9   r   r   r   r
   r  r  r  r   r  r  r   delete_udc_filter_trT  r  r   r  r<   r$   r#   r   r  r    sS    -/I!#GH7
:
:576#77:%#r#   r  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)RC RD lt*RLRE RF llt+RG RH lt,]t-RI t.RJt/RK# )Mbitset_tiI  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   bitset_t.<lambda>J  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  J  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   bitset_t_swiginitnew_bitset_tr   s   &*r   r   bitset_t.__init__N  r	
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r	  rC   rD   r$   )rE   s   "r   rF   bitset_t.__annotate__R  rH
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_swapr   s   &&r   r   bitset_t.swapR  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   mr	  rC   r_	  r$   )rE   s   "r   rF   r  U  s     3 3j 3L 3r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_copyr   r  s   &&r   r1   bitset_t.copyU  rL
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  X       6 64 6r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. add(bit: int) -> bool
    1. add(bit: int, width: int) -> bool
    2. add(ml: const bitset_t &) -> bool

# 0: add(bit: int) -> bool


# 1: add(bit: int, width: int) -> bool


# 2: add(ml: const bitset_t &) -> bool

)r   bitset_t_addr   s   &*r   addbitset_t.addX        ((555r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  j  r  r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. sub(bit: int) -> bool
    1. sub(bit: int, width: int) -> bool
    2. sub(ml: const bitset_t &) -> bool

# 0: sub(bit: int) -> bool


# 1: sub(bit: int, width: int) -> bool


# 2: sub(ml: const bitset_t &) -> bool

)r   bitset_t_subr   s   &*r   subbitset_t.subj  r  r#   c                    V ^8  d   QhRRRR/# )rA   maxbitrX   rC   rY   r$   )rE   s   "r   rF   r  |  s     : :S :D :r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_cut_atr   r  s   &&r   cut_atbitset_t.cut_at|  s    ++D99r#   c                    V ^8  d   QhRRRR/# )rA   shiftrX   rC   rD   r$   )rE   s   "r   rF   r         = = =t =r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_shift_down)r   r  s   &&r   
shift_downbitset_t.shift_down      //<<r#   c                    V ^8  d   QhRRRR/# )rA   bitrX   rC   rY   r$   )rE   s   "r   rF   r    s     4 4s 4d 4r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_has)r   r  s   &&r   r'  bitset_t.has      ((33r#   c               $    V ^8  d   QhRRRRRR/# rA   r  rX   r  rC   rY   r$   )rE   s   "r   rF   r    !     ? ?3 ?s ?d ?r#   c                	0    \         P                  ! WV4      # r.   )r   bitset_t_has_allr   r  r  s   &&&r   has_allbitset_t.has_all      ,,T>>r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	0    \         P                  ! WV4      # r.   )r   bitset_t_has_anyr  s   &&&r   has_anybitset_t.has_any  r"  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_dstrr   s   &r   r  bitset_t.dstr  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_emptyr   s   &r   r   bitset_t.empty  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     8 8S 8r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. count() -> int
    1. count(bit: int) -> int

# 0: count() -> int


# 1: count(bit: int) -> int

)r   bitset_t_countr   s   &*r   countbitset_t.count       **47$77r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_lastr   s   &r   r  bitset_t.last  r.  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_clearr   s   &r   r   bitset_t.clear  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r  rX   rC   rD   r$   )rE   s   "r   rF   r    s     B BS BD Br#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_fill_with_onesr	  s   &&r   fill_with_onesbitset_t.fill_with_ones  s    33DAAr#   c                    V ^8  d   QhRRRR/# rA   mlr	  rC   rY   r$   )rE   s   "r   rF   r         : :Z :4 :r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_has_commonr   rE  s   &&r   r  bitset_t.has_common      //99r#   c                    V ^8  d   QhRRRR/# rD  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_intersectrI  s   &&r   	intersectbitset_t.intersect      ..t88r#   c                    V ^8  d   QhRRRR/# rD  r$   )rE   s   "r   rF   r    s     < <z <T <r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_is_subset_ofrI  s   &&r   is_subset_ofbitset_t.is_subset_of  r  r#   c                    V ^8  d   QhRRRR/# rD  r$   )rE   s   "r   rF   r    s     8 8: 8 8r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_includesrI  s   &&r   includesbitset_t.includes  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r	  rC   rY   r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___eq__r   s   &&r   r   bitset_t.__eq__  r   r#   c                    V ^8  d   QhRRRR/# r]  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___ne__r   s   &&r   r  bitset_t.__ne__  r   r#   c                    V ^8  d   QhRRRR/# r]  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___lt__r   s   &&r   rI  bitset_t.__lt__  r   r#   c                    V ^8  d   QhRRRR/# r]  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___gt__r   s   &&r   rN  bitset_t.__gt__  r   r#   c                    V ^8  d   QhRRRR/# r]  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___le__r   s   &&r   rS  bitset_t.__le__  r   r#   c                    V ^8  d   QhRRRR/# r]  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t___ge__r   s   &&r   rX  bitset_t.__ge__  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r	  rC   rX   r$   )rE   s   "r   rF   r    r[  r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_comparer   s   &&r   r^  bitset_t.compare  r
  r#   c                    V ^8  d   QhRRRR/# )rA   nrX   rC   'bitset_t::iterator'r$   )rE   s   "r   rF   r    s     3 3c 31 3r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_itatr   rz  s   &&r   itatbitset_t.itat  rL
  r#   c                   V ^8  d   QhRR/# rA   rC   r{  r$   )rE   s   "r   rF   r    s     1 1* 1r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_beginr   s   &r   r  bitset_t.begin  r
  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     / /( /r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_endr   s   &r   r  bitset_t.end  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         1 1c 1r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_frontr   s   &r   rW  bitset_t.front  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   bitset_t_backr   s   &r   rY  bitset_t.back  r.  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  
'iterator'rz  rX   rC   rD   r$   )rE   s   "r   rF   r    s!     5 5Z 5C 5T 5r#   c                	0    \         P                  ! WV4      # r.   )r   bitset_t_incr   r  rz  s   &&&r   incbitset_t.inc  s    ((!44r#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   rX   r$   )rE   s   "r   rF   r    s     3 3j 3C 3r#   c                	.    \         P                  ! W4      # r.   )r   bitset_t_itv)r   r  s   &&r   itvbitset_t.itv      ((22r#   c              #  	   "   V P                  4       p\        V P                  4       4       F'  pV P                  V4      x  V P	                  V4       K)  	  R # 5ir.   )r  r  r3  r  r  )r   r  r<  s   &  r   r[  bitset_t.__iter__  s>     ZZ\tzz|$A((2,HHRL %s   AAr$   Nrm  )0r   r   r8   r9   r   r   r   r
   r   r   delete_bitset_trT  r   r1   r  r  r
  r  r'  r   r&  r  r   r3  r  r   rA  r  rO  rU  rZ  r   r  rI  rN  rS  rX  r^  r  r  r  rW  rY  r  r  r9  r[  r<   r$   r#   r   r  r  I  s    -/I!#GHO#33336$6$:=4??01801B:9<8555555631/1053Gr#   r  c                      ] tR tRt]! R R RR7      t]tRR R lltR R	 lt	R
 R lt
R R lt]P                  tRtR# )iteratori  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   iterator.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                   V ^8  d   QhRR/# )rA   rz  rX   r$   )rE   s   "r   rF   iterator.__annotate__  s     K K# Kr#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   iterator_swiginitnew_iteratorr~  s   &&r   r   iterator.__init__  s    &&t\-F-Fq-IJr#   c                    V ^8  d   QhRRRR/# rA   rz  r  rC   rY   r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   iterator___eq__r~  s   &&r   r   iterator.__eq__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   iterator___ne__r~  s   &&r   r  iterator.__ne__  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   iterator___ref__r   s   &r   rQ  iterator.__ref__  r   r#   r$   Nrn  )r   r   r8   r9   r   r   r   r
   r   r   r  rQ  r   delete_iteratorrT  r<   r$   r#   r   r  r    s;    -/I!#GHK553#33r#   r  c                  R    ] tR tRt]! R R RR7      t]tR t]	P                  tRtR# )	node_bitset_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   node_bitset_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   node_bitset_t_swiginitnew_node_bitset_tr   s   &*r   r   node_bitset_t.__init__  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   delete_node_bitset_trT  r<   r$   r#   r   r  r    s-    -/I!#GH& $88r#   r  c                  R    ] tR tRt]! R R RR7      t]tR t]	P                  tRtR# )	array_of_node_bitset_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   array_of_node_bitset_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   array_of_node_bitset_t_swiginitnew_array_of_node_bitset_tr   s   &r   r   array_of_node_bitset_t.__init__  $    44T<&&<' <) 	*r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   delete_array_of_node_bitset_trT  r<   r$   r#   r   r  r    s-    -/I!#GH* $AAr#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R1R	 R
 lltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt R+ R, lt!R- R. lt"]PF                  t$R/t%R0# )2ivl_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ivl_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   rl  offr   c                    V ^8  d   QhRRRR/# )rA   _offrl  rM  r$   )rE   s   "r   rF   ivl_t.__annotate__'  s     O OX O Or#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   ivl_t_swiginit	new_ivl_t)r   r  rM  s   &&&r   r   ivl_t.__init__'  s    ##D,*@*@*MNr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  *       . .d .r#   c                	.    \         P                  ! V 4      # r.   )r   ivl_t_emptyr   s   &r   r   ivl_t.empty*      ''--r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  -  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ivl_t_validr   s   &r   validivl_t.valid-  r  r#   c                   V ^8  d   QhRR/# rA   rC   rl  r$   )rE   s   "r   rF   r  0  s     , ,H ,r#   c                	.    \         P                  ! V 4      # r.   )r   	ivl_t_endr   s   &r   r  	ivl_t.end0  s    %%d++r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  3  s     - -X -r#   c                	.    \         P                  ! V 4      # r.   )r   
ivl_t_lastr   s   &r   r  
ivl_t.last3      &&t,,r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  6  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ivl_t_clearr   s   &r   r   ivl_t.clear6  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r  9       - -S -r#   c                	.    \         P                  ! V 4      # r.   )r   
ivl_t_dstrr   s   &r   r  
ivl_t.dstr9  r  r#   c                    V ^8  d   QhRRRR/# rA   r   'ivl_t'rC   rY   r$   )rE   s   "r   rF   r  <  s     ; ; ;D ;r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_extend_to_coverr   s   &&r   extend_to_coverivl_t.extend_to_cover<  r/  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   r  ?       5 57 5d 5r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_intersectr   s   &&r   rO  ivl_t.intersect?  r   r#   c                    V ^8  d   QhRRRR/# rA   ivlr  rC   rY   r$   )rE   s   "r   rF   r  B  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_overlapr   r
  s   &&r   overlapivl_t.overlapB  s    ))$44r#   c                    V ^8  d   QhRRRR/# r	  r$   )rE   s   "r   rF   r  E  s     6 6G 6t 6r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_includesr  s   &&r   rZ  ivl_t.includesE  s    **455r#   c                    V ^8  d   QhRRRR/# )rA   off2rl  rC   rY   r$   )rE   s   "r   rF   r  H  s     7 7X 7 7r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_contains)r   r  s   &&r   containsivl_t.containsH  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  K       2 2 24 2r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___eq__r   s   &&r   r   ivl_t.__eq__K  r~
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  N  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___ne__r   s   &&r   r  ivl_t.__ne__N  r~
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  Q  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___lt__r   s   &&r   rI  ivl_t.__lt__Q  r~
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  T  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___gt__r   s   &&r   rN  ivl_t.__gt__T  r~
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  W  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___le__r   s   &&r   rS  ivl_t.__le__W  r~
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  Z  r  r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t___ge__r   s   &&r   rX  ivl_t.__ge__Z  r~
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r  ]       3 3 3C 3r#   c                	.    \         P                  ! W4      # r.   )r   ivl_t_comparer   s   &&r   r^  ivl_t.compare]  rL
  r#   r$   Nr  r  )&r   r   r8   r9   r   r   r   r
   r   ivl_t_off_getivl_t_off_setr  ro  ivl_t_size_getivl_t_size_setr   r   r   r  r  r  r   r  r  rO  r  rZ  r  r   r  rI  rN  rS  rX  r^  delete_ivl_trT  r<   r$   r#   r   r  r    s    -/I!#GH\77C l99<D( O..,-.-;55672222223#00r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   ]! ]P                   ]P"                  4      tR]R
&   R t]P(                  tRtR# )ivl_with_name_tie  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ivl_with_name_t.<lambda>f  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rA  f  r~   r#   r   r   r  r
  ry  wholepartc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ivl_with_name_t_swiginitnew_ivl_with_name_tr   s   &r   r   ivl_with_name_t.__init__p  rt  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   ivl_with_name_t_ivl_getivl_with_name_t_ivl_setr
  ro  ivl_with_name_t_whole_getivl_with_name_t_whole_setrC  ivl_with_name_t_part_getivl_with_name_t_part_setrD  r   delete_ivl_with_name_trT  r<   r$   r#   r   r?  r?  e  s    -/I!#GHL@@,,.C .,@@..0E3 0>>--/D# /# $::r#   r?  c                  d    ] tR tRt]! R R RR7      t]tR R ltR t	]
P                  tR	 tR
tR# )ivlset_visitor_tiy  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ivlset_visitor_t.<lambda>z  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rS  z  r~   r#   r   r   c                    V ^8  d   QhRRRR/# )rA   r
  r  rC   rX   r$   )rE   s   "r   rF   ivlset_visitor_t.__annotate__~  s     B BW B Br#   c                	.    \         P                  ! W4      # r.   )r   ivlset_visitor_t_visit_ivlr  s   &&r   	visit_ivlivlset_visitor_t.visit_ivl~  r  r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   rQ  r   ivlset_visitor_t_swiginitnew_ivlset_visitor_tr#  s   & r   r   ivlset_visitor_t.__init__  >    >>--EE..t\  6!!&6( 	)r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_ivlset_visitor_tr  r  r   s   &r   r  ivlset_visitor_t.__disown__  /    		,,T2}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   rY  r   r   delete_ivlset_visitor_trT  r  r<   r$   r#   r   rQ  rQ  y  s8    -/I!#GHB) $;;#r#   rQ  c                     ] tR tRt]! R R RR7      t]tR tR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 lt R7 R8 lt!R9 R: lt"R; R< lt#R= R> lt$R? R@ lt%RA RB lt&]'PP                  t)RCt*RD# )Eivlset_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ivlset_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rh    r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   ivlset_t_swiginitnew_ivlset_tr   s   &*r   r   ivlset_t.__init__  r	
  r#   c                    V ^8  d   QhRRRR/# )rA   r   
'ivlset_t'rC   rD   r$   )rE   s   "r   rF   ivlset_t.__annotate__  rH
  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_swapr   s   &&r   r   ivlset_t.swap  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   idxrX   rC   'ivl_t const &'r$   )rE   s   "r   rF   rp    s     7 7# 7 7r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_getivlr   ru  s   &&r   getivlivlset_t.getivl  s    ++D66r#   c                   V ^8  d   QhRR/# rA   rC   rv  r$   )rE   s   "r   rF   rp    s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_lastivlr   s   &r   lastivlivlset_t.lastivl  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_nivlsr   s   &r   nivlsivlset_t.nivls  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_emptyr   s   &r   r   ivlset_t.empty  r
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rp    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_clearr   s   &r   r   ivlset_t.clear  r
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rp    r&
  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_qclearr   s   &r   r   ivlset_t.qclear  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_all_valuesr   s   &r   r  ivlset_t.all_values  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rp    s     : :t :r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_set_all_valuesr   s   &r   set_all_valuesivlset_t.set_all_values  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    s     ? ?D ?r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. single_value() -> bool
    1. single_value(v: uint64) -> bool

# 0: single_value() -> bool


# 1: single_value(v: uint64) -> bool

)r   ivlset_t_single_valuer   s   &*r   single_valueivlset_t.single_value  s     11$>>>r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r  r#   c                2    \         P                  ! V .VO5!  # )a=  This function has the following signatures:

    0. add(ivl: const ivl_t &) -> bool
    1. add(ea: ida_idaapi.ea_t, size: asize_t) -> bool
    2. add(ivs: const ivlset_t &) -> bool

# 0: add(ivl: const ivl_t &) -> bool


# 1: add(ea: ida_idaapi.ea_t, size: asize_t) -> bool


# 2: add(ivs: const ivlset_t &) -> bool

)r   ivlset_t_addr   s   &*r   r  ivlset_t.add  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   ivsro  maskr  rC   rY   r$   )rE   s   "r   rF   rp    s&     @ @Z @w @$ @r#   c                	0    \         P                  ! WV4      # r.   )r   ivlset_t_addmasked)r   r  r  s   &&&r   	addmaskedivlset_t.addmasked  s    ..t$??r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r  r#   c                2    \         P                  ! V .VO5!  # )a=  This function has the following signatures:

    0. sub(ivl: const ivl_t &) -> bool
    1. sub(ea: ida_idaapi.ea_t, size: asize_t) -> bool
    2. sub(ivs: const ivlset_t &) -> bool

# 0: sub(ivl: const ivl_t &) -> bool


# 1: sub(ea: ida_idaapi.ea_t, size: asize_t) -> bool


# 2: sub(ivs: const ivlset_t &) -> bool

)r   ivlset_t_subr   s   &*r   r  ivlset_t.sub  r  r#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   rp    s     1 1i 1r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_countr   s   &r   r3  ivlset_t.count  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    s     = =$ =r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. has_common(ivs: const ivlset_t &) -> bool
    1. has_common(ivl: const ivl_t &, strict: bool=false) -> bool

# 0: has_common(ivs: const ivlset_t &) -> bool


# 1: has_common(ivl: const ivl_t &, strict: bool=false) -> bool

)r   ivlset_t_has_commonr   s   &*r   r  ivlset_t.has_common  s     //<t<<r#   c                    V ^8  d   QhRRRR/# )rA   r  rl  rC   rY   r$   )rE   s   "r   rF   rp    s     9 9H 9 9r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_containsr   r  s   &&r   r  ivlset_t.contains      --d88r#   c                    V ^8  d   QhRRRR/# rA   r  ro  rC   rY   r$   )rE   s   "r   rF   rp    r  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_includesr   r  s   &&r   rZ  ivlset_t.includes  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rp    rF  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_intersectr  s   &&r   rO  ivlset_t.intersect  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rp    r  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_is_subset_ofr  s   &&r   rU  ivlset_t.is_subset_of  r  r#   c                    V ^8  d   QhRRRR/# rA   r   ro  rC   rY   r$   )rE   s   "r   rF   rp    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t___lt__r   s   &&r   rI  ivlset_t.__lt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rp    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t___gt__r   s   &&r   rN  ivlset_t.__gt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rp    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t___le__r   s   &&r   rS  ivlset_t.__le__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rp    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t___ge__r   s   &&r   rX  ivlset_t.__ge__  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   ro  rC   rX   r$   )rE   s   "r   rF   rp    r[  r#   c                	.    \         P                  ! W4      # r.   )r   ivlset_t_comparer   s   &&r   r^  ivlset_t.compare  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r/
  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ivlset_t___eq__r   s   &*r   r   ivlset_t.__eq__  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rp    r/
  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   ivlset_t___ne__r   s   &*r   r  ivlset_t.__ne__  r   r#   c                   V ^8  d   QhRR/# rA   rC   z'ivlset_t::iterator'r$   )rE   s   "r   rF   rp    s     8 81 8r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. begin() -> const_iterator
    1. begin() -> iterator

# 0: begin() -> const_iterator


# 1: begin() -> iterator

)r   ivlset_t_beginr   s   &*r   r  ivlset_t.begin  r5  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rp  +  s     6 6/ 6r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. end() -> const_iterator
    1. end() -> iterator

# 0: end() -> const_iterator


# 1: end() -> iterator

)r   ivlset_t_endr   s   &*r   r  ivlset_t.end+  s     ((555r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rp  9  r&
  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t__printr   s   &r   r  ivlset_t._print9  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rp  <  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   ivlset_t_dstrr   s   &r   r  ivlset_t.dstr<  r.  r#   r$   N)+r   r   r8   r9   r   r   r   r
   r   r   rz  r  r  r   r   r   r  r  r  r  r  r  r3  r  r  rZ  rO  rU  rI  rN  rS  rX  r^  r   r  r  r  r  r  r   delete_ivlset_trT  r<   r$   r#   r   rf  rf    s    -/I!#GHO37311126:?6$@6$1=99:=55556998620#33r#   rf  c                  ^    ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	tR
# )rlist_tiD  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   rlist_t.<lambda>E  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  E  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   rlist_t_swiginitnew_rlist_tr   s   &*r   r   rlist_t.__init__I      %%dL,D,Dd,KLr#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rlist_t.__annotate__M  r  r#   c                	.    \         P                  ! V 4      # r.   )r   rlist_t_dstrr   s   &r   r  rlist_t.dstrM  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   delete_rlist_trT  r  r<   r$   r#   r   r  r  D  s6    -/I!#GHM#22/ /r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt R+ R, lt!R- R. lt"R/ R0 lt#R1 R2 lt$R3 R4 lt%R5 R6 lt&R7 R8 lt'R9 R: lt(]PR                  t*R;t+R<# )=mlist_tiT  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mlist_t.<lambda>U  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  U  r~   r#   r   r   	'rlist_t'rT  ro  memc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mlist_t_swiginitnew_mlist_tr   s   &*r   r   mlist_t.__init__]  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r.  rC   rD   r$   )rE   s   "r   rF   mlist_t.__annotate__`       2 2i 24 2r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_swapr   s   &&r   r   mlist_t.swap`  r~
  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX  r   r  rC   rY   r$   )rE   s   "r   rF   r  c  s!     ; ; ;	 ;T ;r#   c                	0    \         P                  ! WV4      # r.   )r   mlist_t_addmem)r   r  r   s   &&&r   addmemmlist_t.addmemc  s    **4T::r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  f  s     5 54 5r#   c                2    \         P                  ! V .VO5!  # )am  This function has the following signatures:

    0. add(r: mreg_t, size: int) -> bool
    1. add(r: const rlist_t &) -> bool
    2. add(ivl: const ivl_t &) -> bool
    3. add(lst: const mlist_t &) -> bool

# 0: add(r: mreg_t, size: int) -> bool


# 1: add(r: const rlist_t &) -> bool


# 2: add(ivl: const ivl_t &) -> bool


# 3: add(lst: const mlist_t &) -> bool

)r   mlist_t_addr   s   &*r   r  mlist_t.addf  s    ( ''4t44r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  |  s     5 54 5r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. sub(r: mreg_t, size: int) -> bool
    1. sub(ivl: const ivl_t &) -> bool
    2. sub(lst: const mlist_t &) -> bool

# 0: sub(r: mreg_t, size: int) -> bool


# 1: sub(ivl: const ivl_t &) -> bool


# 2: sub(lst: const mlist_t &) -> bool

)r   mlist_t_subr   s   &*r   r  mlist_t.sub|  s      ''4t44r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r    s     0 0i 0r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t_countr   s   &r   r3  mlist_t.count  r.  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         1 1t 1r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t__printr   s   &r   r  mlist_t._print  r
  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t_dstrr   s   &r   r  mlist_t.dstr  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         0 0d 0r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t_emptyr   s   &r   r   mlist_t.empty  r.  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r8  r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t_clearr   s   &r   r   mlist_t.clear  r.  r#   c                    V ^8  d   QhRRRR/# rA   r   r,  rC   rY   r$   )rE   s   "r   rF   r    s     1 1X 1 1r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_hasr   s   &&r   r'  mlist_t.has      ''00r#   c               $    V ^8  d   QhRRRRRR/# rA   r   r,  r   rX   rC   rY   r$   )rE   s   "r   rF   r    !     ; ; ; ; ;r#   c                	0    \         P                  ! WV4      # r.   )r   mlist_t_has_allr   r   r   s   &&&r   r   mlist_t.has_all      ++DT::r#   c               $    V ^8  d   QhRRRRRR/# rG  r$   )rE   s   "r   rF   r    rH  r#   c                	0    \         P                  ! WV4      # r.   )r   mlist_t_has_anyrK  s   &&&r   r&  mlist_t.has_any  rM  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         5 54 5r#   c                	.    \         P                  ! V 4      # r.   )r   mlist_t_has_memoryr   s   &r   
has_memorymlist_t.has_memory  r   r#   c                    V ^8  d   QhRRRR/# rA   r-  r.  rC   rY   r$   )rE   s   "r   rF   r    s     : :i :4 :r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_has_commonr   r-  s   &&r   r  mlist_t.has_common  r   r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r         8 8I 8 8r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_includesr\  s   &&r   rZ  mlist_t.includes  rA
  r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r         9 9Y 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_intersectr\  s   &&r   rO  mlist_t.intersect  r  r#   c                    V ^8  d   QhRRRR/# rY  r$   )rE   s   "r   rF   r    s     < <	 <T <r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_is_subset_ofr\  s   &&r   rU  mlist_t.is_subset_of  s    00;;r#   c                    V ^8  d   QhRRRR/# rA   r   r.  rC   rY   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___eq__r   s   &&r   r   mlist_t.__eq__  r)  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___ne__r   s   &&r   r  mlist_t.__ne__  r)  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___lt__r   s   &&r   rI  mlist_t.__lt__  r)  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___gt__r   s   &&r   rN  mlist_t.__gt__  r)  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___le__r   s   &&r   rS  mlist_t.__le__  r)  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t___ge__r   s   &&r   rX  mlist_t.__ge__  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r.  rC   rX   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   mlist_t_comparer   s   &&r   r^  mlist_t.compare  r   r#   r$   N),r   r   r8   r9   r   r   r   r
   r   mlist_t_reg_getmlist_t_reg_setrT  ro  mlist_t_mem_getmlist_t_mem_setr  r   r   r   r  r  r3  r  r  r   r   r'  r   r&  rV  r  rZ  rO  rU  r   r  rI  rN  rS  rX  r^  delete_mlist_trT  r<   r$   r#   r   r  r  T  s    -/I!#GHl::LC |;;\C M2;5,5$01/001;;5:89<4444445#22r#   r  c                   V ^8  d   QhRR/# )rA   rC   z'mlist_t const &'r$   )rE   s   "r   rF   rF     s     ( (' (r#   c                 ,    \         P                  ! 4       # )ax  Get list of temporary registers. Tempregs are temporary registers that are used during code generation. They do not map to regular processor registers. They are used only to store temporary values during execution of one instruction. Tempregs may not be used to pass a value from one block to another. In other words, at the end of a block all tempregs must be dead. 
        )r   get_temp_regsr$   r#   r   r  r         %%''r#   c                    V ^8  d   QhRRRR/# rA  r$   )rE   s   "r   rF   rF     s     # #x #4 #r#   c                .    \         P                  ! V 4      # )a  Is a kernel register? Kernel registers are temporary registers that can be used freely. They may be used to store values that cross instruction or basic block boundaries. Kernel registers do not map to regular processor registers. See also mba_t::alloc_kreg() 
        )r   is_kreg)r   s   &r   r  r    s     ""r#   c                    V ^8  d   QhRRRR/# )rA   rT  rX   rC   r,  r$   )rE   s   "r   rF   rF     s     & &# & &r#   c                .    \         P                  ! V 4      # )zMap a processor register to a microregister. 
        
:param reg: processor register number
:returns: microregister register id or mr_none)r   reg2mreg)rT  s   &r   r  r    s    
   %%r#   c               $    V ^8  d   QhRRRRRR/# )rA   rT  r,  r  rX   rC   r$   )rE   s   "r   rF   rF     s!     - -( -3 -# -r#   c                .    \         P                  ! W4      # )zMap a microregister to a processor register. 
        
:param reg: microregister number
:param width: size of microregister in bytes
:returns: processor register id or -1)r   mreg2reg)rT  r  s   &&r   r  r    s       ,,r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   rT  r,  r  rX   udr  rC   ry  r$   )rE   s   "r   rF   rF     s(     6 6x 6 6 6# 6r#   c                0    \         P                  ! WV4      # )a  Get the microregister name. 
        
:param reg: microregister number
:param width: size of microregister in bytes. may be bigger than the real register size.
:param ud: reserved, must be nullptr
:returns: width of the printed register. this value may be less than the WIDTH argument.)r   get_mreg_name)rT  r  r  s   &&&r   r  r    s     %%c"55r#   c                  |    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
]P                  tR tR tRtR# )	optinsn_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   optinsn_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c               (    V ^8  d   QhRRRRRRRR/# )rA   rK  rL  insrN  optflagsrX   rC   r$   )rE   s   "r   rF   optinsn_t.__annotate__  s.     E E
 E Ec ES Er#   c                0    \         P                  ! WW#4      # )a  Optimize an instruction. 
        
:param blk: current basic block. maybe nullptr, which means that the instruction must be optimized without context
:param ins: instruction to optimize; it is always a top-level instruction. the callback may not delete the instruction but may convert it into nop (see mblock_t::make_nop). to optimize sub-instructions, visit them using minsn_visitor_t. sub-instructions may not be converted into nop but can be converted to "mov x,x". for example: add x,0,x => mov x,x this callback may change other instructions in the block, but should do this with care, e.g. to no break the propagation algorithm if called with OPTI_NO_LDXOPT.
:param optflags: combination of optimization flags bits
:returns: number of changes made to the instruction. if after this call the instruction's use/def lists have changed, you must mark the block level lists as dirty (see mark_lists_dirty))r   optinsn_t_func)r   rK  r  r  s   &&&&r   r4  optinsn_t.func  s     **4cDDr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   optinsn_t_installr   s   &r   r  optinsn_t.install  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         3 3t 3r#   c                	.    \         P                  ! V 4      # r.   )r   optinsn_t_remover   s   &r   r  optinsn_t.remove  r   r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   optinsn_t_swiginitnew_optinsn_tr#  s   & r   r   optinsn_t.__init__  s5    >>Y&EE''l.H.H.O 	r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_optinsn_tr  r  r   s   &r   r  optinsn_t.__disown__  s/    		%%d+}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r4  r  r  r   delete_optinsn_trT  r   r  r<   r$   r#   r   r  r    s@    -/I!#GHE43#44#r#   r  c                  |    ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
]P                  tR tR tRtR# )
optblock_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   optblock_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c                    V ^8  d   QhRRRR/# rj  r$   )rE   s   "r   rF   optblock_t.__annotate__!  s     7 7
 7c 7r#   c                .    \         P                  ! W4      # )a  Optimize a block. This function usually performs the optimizations that require analyzing the entire block and/or its neighbors. For example it can recognize patterns and perform conversions like: b0: b0: ... ... jnz x, 0, @b2 => jnz x, 0, @b2 b1: b1: add x, 0, y mov x, y ... ... 
        
:param blk: Basic block to optimize as a whole.
:returns: number of changes made to the block. See also mark_lists_dirty.)r   optblock_t_funcrm  s   &&r   r4  optblock_t.func!      
 ++D66r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  (  rq  r#   c                	.    \         P                  ! V 4      # r.   )r   optblock_t_installr   s   &r   r  optblock_t.install(  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  +  r   r#   c                	.    \         P                  ! V 4      # r.   )r   optblock_t_remover   s   &r   r  optblock_t.remove+  r   r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   optblock_t_swiginitnew_optblock_tr#  s   & r   r   optblock_t.__init__/  s8    >>Z'EE((|/J/J0 	r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_optblock_tr  r  r   s   &r   r  optblock_t.__disown__7  s/    		&&t,}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r4  r  r  r   delete_optblock_trT  r   r  r<   r$   r#   r   r  r    s?    -/I!#GH754#55#r#   r  c                  <   ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&   ]! ]	P                  ]	P                  4      tR	]R
&   RR R lltRR R lltR R ltR R ltR R ltR R ltR R ltR R R lltR R ltRtR# )!simple_graph_ti@  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   simple_graph_t.<lambda>A  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  A  r~   r#   r   r   c                	    \        R 4      hz*No constructor defined - class is abstractrf  rg  s   &*,r   r   simple_graph_t.__init__D      IJJr#   ry  titlerY   colored_gdl_edgesc               $    V ^8  d   QhRRRRRR/# )rA   domin'array_of_node_bitset_t'postrY   rC   rD   r$   )rE   s   "r   rF   simple_graph_t.__annotate__M  s$      (@ r#   c                	0    \         P                  ! WV4      # r.   )r   !simple_graph_t_compute_dominators)r   r  r  s   &&&r   compute_dominators!simple_graph_t.compute_dominatorsM  s    ==d4  	r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  r  idominr  r  rY   rC   rD   r$   )rE   s   "r   rF   r  R  s,     ! !2J !!"&!04!r#   c                	2    \         P                  ! V WV4      # r.   )r   +simple_graph_t_compute_immediate_dominators)r   r  r  r  s   &&&&r   compute_immediate_dominators+simple_graph_t.compute_immediate_dominatorsR  s    GG4! 	!r#   c                    V ^8  d   QhRRRR/# )rA   pre'node_ordering_t'rC   rX   r$   )rE   s   "r   rF   r  W  s     K K(9 KS Kr#   c                	.    \         P                  ! W4      # r.   )r   #simple_graph_t_depth_first_preorder)r   r  s   &&r   depth_first_preorder#simple_graph_t.depth_first_preorderW  s    ??JJr#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   rX   r$   )rE   s   "r   rF   r  Z  s     M M*; Ms Mr#   c                	.    \         P                  ! W4      # r.   )r   $simple_graph_t_depth_first_postorder)r   r  s   &&r   depth_first_postorder$simple_graph_t.depth_first_postorderZ  s    @@LLr#   c                   V ^8  d   QhRR/# rA   rC   z'simple_graph_t::iterator'r$   )rE   s   "r   rF   r  ]  s     7 70 7r#   c                	.    \         P                  ! V 4      # r.   )r   simple_graph_t_beginr   s   &r   r  simple_graph_t.begin]  ro  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  `  s     5 5. 5r#   c                	.    \         P                  ! V 4      # r.   )r   simple_graph_t_endr   s   &r   r  simple_graph_t.end`  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  c  s     7 7c 7r#   c                	.    \         P                  ! V 4      # r.   )r   simple_graph_t_frontr   s   &r   rW  simple_graph_t.frontc  ro  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  z'simple_graph_t::iterator &'rz  rX   rC   rD   r$   )rE   s   "r   rF   r  f  s"     ; ;1 ;c ;t ;r#   c                	0    \         P                  ! WV4      # r.   )r   simple_graph_t_incr  s   &&&r   r  simple_graph_t.incf  s    ..t::r#   c                    V ^8  d   QhRRRR/# )rA   noderX   rC   r$   )rE   s   "r   rF   r  i  s     < < < <r#   c                	.    \         P                  ! W4      # r.   )r   simple_graph_t_goup)r   r  s   &&r   goupsimple_graph_t.goupi  rz	  r#   r$   Nr8  rm  )r   r   r8   r9   r   r   r   r   r
   r   simple_graph_t_title_getsimple_graph_t_title_setr  ro  $simple_graph_t_colored_gdl_edges_get$simple_graph_t_colored_gdl_edges_setr  r  r  r  r  r  r  rW  r  r  r<   r$   r#   r   r  r  @  s    -/I!#GKH,??--/E3 /&|,,l,,.t .
!
KM757;< <r#   r  c                  t   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   ]! ]P                   ]P"                  4      tR
]R&   ]! ]P&                  ]P(                  4      tR
]R&   RR R llt]P.                  tR tRtR# )op_parent_info_tip  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   op_parent_info_t.<lambda>q  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  q  r~   r#   r   r   rZ  r[  'mblock_t *'rK  'minsn_t *'topinscurinsNc               $    V ^8  d   QhRRRRRR/# rA   _mbar_  _blkrL  _topinsrN  r$   )rE   s   "r   rF   op_parent_info_t.__annotate__}  s"     > >W > >>r#   c           	     	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! WAW#4      4       R # r.   )r   r  r   op_parent_info_t_swiginitnew_op_parent_info_tr   r#  r$  r%  r  s   &&&& r   r   op_parent_info_t.__init__}  s@    >>--EE..t\  6!!&d6= 	>r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_op_parent_info_tr  r  r   s   &r   r  op_parent_info_t.__disown__  rc  r#   r$   NNN)r   r   r8   r9   r   r   r   r
   r   op_parent_info_t_mba_getop_parent_info_t_mba_setr[  ro  op_parent_info_t_blk_getop_parent_info_t_blk_setrK  op_parent_info_t_topins_getop_parent_info_t_topins_setr  op_parent_info_t_curins_getop_parent_info_t_curins_setr   r   delete_op_parent_info_trT  r  r<   r$   r#   r   r  r  p  s    -/I!#GHlCC--/C / !F!F--/C /"<#K#K002FK 2"<#K#K002FK 2> $;;#r#   r  c                  n    ] tR tRt]! R R RR7      t]tRR R lltR	 R
 lt	]
P                  tR tRtR# )minsn_visitor_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   minsn_visitor_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r<    r~   r#   r   r   Nc               $    V ^8  d   QhRRRRRR/# r"  r$   )rE   s   "r   rF   minsn_visitor_t.__annotate__  s"     = =W = ==r#   c           	     	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! WAW#4      4       R # r.   )r   r:  r   minsn_visitor_t_swiginitnew_minsn_visitor_tr*  s   &&&& r   r   minsn_visitor_t.__init__  s?    >>_,EE--dL5  %T5< 	=r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r?    s     > >C >r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_visitor_t_visit_minsnr   s   &r   visit_minsnminsn_visitor_t.visit_minsn  r  r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_minsn_visitor_tr  r  r   s   &r   r  minsn_visitor_t.__disown__  /    		++D1}}T""r#   r$   r/  )r   r   r8   r9   r   r   r   r
   r   rG  r   delete_minsn_visitor_trT  r  r<   r$   r#   r   r:  r:    s5    -/I!#GH=>#::#r#   r:  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    RR	 R
 lltR R lt]P                  tR tRtR# )mop_visitor_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mop_visitor_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rQ    r~   r#   r   r   rY   pruneNc               $    V ^8  d   QhRRRRRR/# r"  r$   )rE   s   "r   rF   mop_visitor_t.__annotate__  s"     ; ;W ; ;;r#   c           	     	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! WAW#4      4       R # r.   )r   rO  r   mop_visitor_t_swiginitnew_mop_visitor_tr*  s   &&&& r   r   mop_visitor_t.__init__  s?    >>]*EE++D,3#43: 	;r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   rW  rT
  r   r  	is_targetrY   rC   rX   r$   )rE   s   "r   rF   rU    s.     O OG O9 O O Or#   c                	0    \         P                  ! WW#4      # r.   )r   mop_visitor_t_visit_mop)r   rW  r   r[  s   &&&&r   	visit_mopmop_visitor_t.visit_mop  s    33DdNNr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_mop_visitor_tr  r  r   s   &r   r  mop_visitor_t.__disown__  r  r#   r$   r/  )r   r   r8   r9   r   r   r   r
   r   mop_visitor_t_prune_getmop_visitor_t_prune_setrS  ro  r   r^  delete_mop_visitor_trT  r  r<   r$   r#   r   rO  rO    s]    -/I!#GH<??,,.E4 .;O#88#r#   rO  c                  d    ] tR tRt]! R R RR7      t]t]P                  t
R R ltR tR	 tR
tR# )scif_visitor_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   scif_visitor_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ri    r~   r#   r   r   c               $    V ^8  d   QhRRRRRR/# )rA   r   rT
  r  rX   rC   r$   )rE   s   "r   rF   scif_visitor_t.__annotate__  s&     H H Hc HS Hr#   c                	0    \         P                  ! WV4      # r.   )r   scif_visitor_t_visit_scif_mop)r   r   r  s   &&&r   visit_scif_mopscif_visitor_t.visit_scif_mop  s    99$3GGr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   rg  r   scif_visitor_t_swiginitnew_scif_visitor_tr#  s   & r   r   scif_visitor_t.__init__  s=    >>^+EE,,T<4$4& 	'r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_scif_visitor_tr  r  r   s   &r   r  scif_visitor_t.__disown__  s/    		**40}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_scif_visitor_trT  ro  r   r  r<   r$   r#   r   rg  rg    s6    -/I!#GH#99H'#r#   rg  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   ]! ]P                   ]P"                  4      tR	]R
&   ]! ]P&                  ]P(                  4      tR]R&   ]! ]P,                  ]P.                  4      tR	]R&    ]P2                  tR R ltR tR tRtR# )mlist_mop_visitor_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mlist_mop_visitor_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r|    r~   r#   r   r   r  r  r   rY   changedz'mlist_t *'listrS  c                    V ^8  d   QhRRRR/# )rA   rW  rT
  rC   rX   r$   )rE   s   "r   rF    mlist_mop_visitor_t.__annotate__  s     D DG Ds Dr#   c                	.    \         P                  ! W4      # r.   )r   mlist_mop_visitor_t_visit_mopr   rW  s   &&r   r^  mlist_mop_visitor_t.visit_mop  s    99$CCr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   rz  r   mlist_mop_visitor_t_swiginitnew_mlist_mop_visitor_tr#  s   & r   r   mlist_mop_visitor_t.__init__  s>    >>00EE11$##9$$)9+ 	,r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_mlist_mop_visitor_tr  r  r   s   &r   r  mlist_mop_visitor_t.__disown__  s/    		//5}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   mlist_mop_visitor_t_topins_getmlist_mop_visitor_t_topins_setr  ro  mlist_mop_visitor_t_curins_getmlist_mop_visitor_t_curins_setr   mlist_mop_visitor_t_changed_getmlist_mop_visitor_t_changed_setr~  mlist_mop_visitor_t_list_getmlist_mop_visitor_t_list_setr  mlist_mop_visitor_t_prune_getmlist_mop_visitor_t_prune_setrS  delete_mlist_mop_visitor_trT  r^  r   r  r<   r$   r#   r   rz  rz    s    -/I!#GH"<&&&&(FK ( #<&&&&(FK ( \II446GT 6 !J!J113D+ 3<EE224E4 4#>>D,#r#   rz  c                  |   ] tR tRt$ ]! R R RR7      t]t]! ]P                  4      t
R]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                  ]P                   4      tR]R
&    R tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P8                  tRtR# ) 
lvar_ref_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   lvar_ref_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   'mba_t *const'r[  rX   r  ru  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   lvar_ref_t_swiginitnew_lvar_ref_tr   s   &*r   r   lvar_ref_t.__init__  r   r#   c                    V ^8  d   QhRRRR/# rA   r   'lvar_ref_t'rC   rY   r$   )rE   s   "r   rF   lvar_ref_t.__annotate__   r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___eq__r   s   &&r   r   lvar_ref_t.__eq__   r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  #  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___ne__r   s   &&r   r  lvar_ref_t.__ne__#  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  &  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___lt__r   s   &&r   rI  lvar_ref_t.__lt__&  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  )  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___gt__r   s   &&r   rN  lvar_ref_t.__gt__)  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  ,  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___le__r   s   &&r   rS  lvar_ref_t.__le__,  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  /  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t___ge__r   s   &&r   rX  lvar_ref_t.__ge__/  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r  2       8 8 8 8r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t_comparer   s   &&r   r^  lvar_ref_t.compare2  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   r  5  r   r#   c                	.    \         P                  ! W4      # r.   )r   lvar_ref_t_swapr   s   &&r   r   lvar_ref_t.swap5  r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  8  s     1 1J 1r#   c                .    \         P                  ! V 4      # )z"Retrieve the referenced variable.
)r   lvar_ref_t_varr   s   &r   varlvar_ref_t.var8       **400r#   r$   N)r   r   r8   r9   r   r   r   r
   r   lvar_ref_t_mba_getr[  ro  lvar_ref_t_off_getlvar_ref_t_off_setr  lvar_ref_t_idx_getlvar_ref_t_idx_setru  r   r   r  rI  rN  rS  rX  r^  r   r  delete_lvar_ref_trT  r<   r$   r#   r   r  r    s    -/I!#GH"<#B#BCCC77C 77C 777777851 $55r#   r  c                  @   ] tR tRt$ ]! R R RR7      t]t]! ]P                  4      t
R]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R R llt]P2                  tRtR# )!stkvar_ref_tiu  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   stkvar_ref_t.<lambda>v  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  v  r~   r#   r   r   r  r[  rX   r  c                    V ^8  d   QhRRRR/# )rA   r  r_  orX   r$   )rE   s   "r   rF   stkvar_ref_t.__annotate__  s     $ $' $c $r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   stkvar_ref_t_swiginitnew_stkvar_ref_t)r   r  r  s   &&&r   r   stkvar_ref_t.__init__  s'    **422# 	$r#   c                    V ^8  d   QhRRRR/# rA   r   'stkvar_ref_t'rC   rY   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___eq__r   s   &&r   r   stkvar_ref_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___ne__r   s   &&r   r  stkvar_ref_t.__ne__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___lt__r   s   &&r   rI  stkvar_ref_t.__lt__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___gt__r   s   &&r   rN  stkvar_ref_t.__gt__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___le__r   s   &&r   rS  stkvar_ref_t.__le__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t___ge__r   s   &&r   rX  stkvar_ref_t.__ge__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r    s     : : :3 :r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t_comparer   s   &&r   r^  stkvar_ref_t.compare  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   r    ro  r#   c                	.    \         P                  ! W4      # r.   )r   stkvar_ref_t_swapr   s   &&r   r   stkvar_ref_t.swap  r   r#   Nc               $    V ^8  d   QhRRRRRR/# rA   rH  'udm_t'p_idaoffz
'uval_t *'rC   rv  r$   )rE   s   "r   rF   r    s'     I Ig Ij IIr#   c                0    \         P                  ! WV4      # zRetrieve the referenced stack variable. 
        
:param udm: stkvar, may be nullptr
:param p_idaoff: if specified, will hold IDA stkoff after the call.
:returns: index of stkvar in the frame or -1)r   stkvar_ref_t_get_stkvarr   rH  r  s   &&&r   
get_stkvarstkvar_ref_t.get_stkvar  s     33DxHHr#   r$   NN)r   r   r8   r9   r   r   r   r
   r   stkvar_ref_t_mba_getr[  ro  stkvar_ref_t_off_getstkvar_ref_t_off_setr  r   r   r  rI  rN  rS  rX  r^  r   r  delete_stkvar_ref_trT  r<   r$   r#   r   r  r  u  s    -/I!#GH"<#D#DECE99<C $999999:7I $77r#   r  c                  0   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    RR R llt]P(                  tRtR# )scif_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   scif_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   rZ  r[  ry  r   r  r   Nc               $    V ^8  d   QhRRRRRR/# )rA   r#  r_  rg  r  rz  ry  r$   )rE   s   "r   rF   scif_t.__annotate__  s!      W 9  r#   c                	^    \         P                  ! V \         P                  ! VW#4      4       R # r.   )r   scif_t_swiginit
new_scif_t)r   r#  rg  rz  s   &&&&r   r   scif_t.__init__  s$    $$T<+B+B4, 	r#   r$   r.   )r   r   r8   r9   r   r   r   r
   r   scif_t_mba_getscif_t_mba_setr[  ro  scif_t_name_getscif_t_name_setr   scif_t_type_getscif_t_type_setr   r   delete_scif_trT  r<   r$   r#   r   r  r    s    -/I!#GHl99<C 55|D# |;;\D)  $11r#   r  c                  <   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 tR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P2                  tRtR# )	mnumber_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mnumber_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r$    r~   r#   r   r   rl  r   	org_valuec                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mnumber_t_swiginitnew_mnumber_tr   s   &*r   r   mnumber_t.__init__  s    ''l.H.H$.O 	r#   c                    V ^8  d   QhRRRR/# rA   r   'mnumber_t'rC   rY   r$   )rE   s   "r   rF   mnumber_t.__annotate__       6 6 6t 6r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___eq__r   s   &&r   r   mnumber_t.__eq__  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r.    r/  r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___ne__r   s   &&r   r  mnumber_t.__ne__  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r.    r/  r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___lt__r   s   &&r   rI  mnumber_t.__lt__  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r.    r/  r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___gt__r   s   &&r   rN  mnumber_t.__gt__  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r.    r/  r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___le__r   s   &&r   rS  mnumber_t.__le__  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r.    r/  r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t___ge__r   s   &&r   rX  mnumber_t.__ge__  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r-  rC   rX   r$   )rE   s   "r   rF   r.         7 7 7 7r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t_comparer   s   &&r   r^  mnumber_t.compare  r   r#   c                    V ^8  d   QhRRRR/# )rA   val64rl  rC   rD   r$   )rE   s   "r   rF   r.    s     @ @( @d @r#   c                	.    \         P                  ! W4      # r.   )r   mnumber_t_update_value)r   rM  s   &&r   update_valuemnumber_t.update_value  s    224??r#   r$   N)r   r   r8   r9   r   r   r   r
   r   mnumber_t_value_getmnumber_t_value_setr   ro  mnumber_t_org_value_getmnumber_t_org_value_setr&  r   r   r  rI  rN  rS  rX  r^  rP  delete_mnumber_trT  r<   r$   r#   r   r"  r"    s    -/I!#GH|??((*E8 *"<#G#G,,.Ix .6666667@#44r#   r"  c                  p   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" t]P:                  tR#tR$# )%	fnumber_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   fnumber_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rZ    r~   r#   r   r   z'fpvalue_t'fnumrX   r  c                   V ^8  d   QhRR/# )rA   rC   z
'uint16 *'r$   )rE   s   "r   rF   fnumber_t.__annotate__  s     ? ?: ?r#   c                	.    \         P                  ! V 4      # r.   )r   fnumber_t_dereference_uint16r   s   &r   dereference_uint16fnumber_t.dereference_uint16  r{  r#   c                   V ^8  d   QhRR/# )rA   rC   z'uint16 const *'r$   )rE   s   "r   rF   r^    s     E E)9 Er#   c                	.    \         P                  ! V 4      # r.   )r   "fnumber_t_dereference_const_uint16r   s   &r   dereference_const_uint16"fnumber_t.dereference_const_uint16  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   fnumber_t__printr   s   &r   r  fnumber_t._print  r   r#   c                    V ^8  d   QhRRRR/# rA   r   'fnumber_t'rC   rY   r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___eq__r   s   &&r   r   fnumber_t.__eq__  r
  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___ne__r   s   &&r   r  fnumber_t.__ne__  r
  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___lt__r   s   &&r   rI  fnumber_t.__lt__  r
  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___gt__r   s   &&r   rN  fnumber_t.__gt__  r
  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___le__r   s   &&r   rS  fnumber_t.__le__  r
  r#   c                    V ^8  d   QhRRRR/# rm  r$   )rE   s   "r   rF   r^    r/  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t___ge__r   s   &&r   rX  fnumber_t.__ge__  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   rn  rC   rX   r$   )rE   s   "r   rF   r^    rH  r#   c                	.    \         P                  ! W4      # r.   )r   fnumber_t_comparer   s   &&r   r^  fnumber_t.compare  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^    s     9 9S 9r#   c                	.    \         P                  ! V 4      # r.   )r   fnumber_t_calc_max_expr   s   &r   calc_max_expfnumber_t.calc_max_exp  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^    r  r#   c                	.    \         P                  ! V 4      # r.   )r   fnumber_t_is_nanr   s   &r   is_nanfnumber_t.is_nan  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   fnumber_t_swiginitnew_fnumber_tr   s   &r   r   fnumber_t.__init__   r?  r#   r$   N) r   r   r8   r9   r   r   r   r
   r   fnumber_t_fnum_getfnumber_t_fnum_setr\  ro  fnumber_t_nbytes_getfnumber_t_nbytes_setr  ra  rf  r  r   r  rI  rN  rS  rX  r^  r  r  r   delete_fnumber_trT  r<   r$   r#   r   rX  rX    s    -/I!#GH !@!@'')D+ )<<<lFC ?E3666666793L#44r#   rX  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# lt R$ R% lt!R& R' lt"R( R) lt#R* t$R+ R, lt%]PL                  t'R- R. lt(R/ R0 lt)R1 R2 lt*R3 R4 lt+R5 R6 lt,R7 R8 lt-R9 R: lt.R; R< lt/R= R> lt0R? R@ lt1RA RB lt2RC RD lt3RE RF lt4RG RH lt5RI RJ lt6ERARK RL llt7RM RN lt8RO RP lt9RQ RR lt:RS RT lt;RU RV lt<RW RX lt=RY RZ lt>R[ R\ lt?R] R^ lt@R_ R` ltARa Rb ltBRc Rd ltCRe Rf ltDRg Rh ltERi Rj ltFRk Rl ltGRm Rn ltHRo Rp ltIRq Rr ltJRs Rt ltKRu Rv ltLRw Rx ltMRy Rz ltNR{ R| ltOR} R~ ltPR R ltQR R ltRERBR R lltSR R ltTR R ltUR R ltVR R ltWR R ltXR R ltYR R ltZR R lt[R R lt\R R lt]ERCR R llt^R R lt_R R lt`R R ltaR R ltbR R ltcERDR R lltdERDR R llteR R ltfR R ltgR R lthR R ltiERER R lltjR R ltkR R ltlR R ltmR R ltnR R ltoR R ltpR R ltq]r3R R llts]r3R R llttERFR R lltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|R t}]! ]{R 4      t R R lt~R R ltR R lt]! ]4      tR tR tR tR tR tR tR tR t]! ]4      tR R ltR R lt]R 4       t]EP                  R 4       tR R ltR R lt]R 4       t]EP                  R 4       tR R ltR R lt]R 4       t]EP                  R 4       tR R ltR R lt]R 4       t]EP                  R 4       tR R ltER  ER lt]ER 4       t]EP                  ER 4       tER ER ltER ER lt]ER 4       t]EP                  ER	 4       tER
 ER ltER ER lt]ER 4       t]EP                  ER 4       tER ER ltER ER lt]ER 4       t]EP                  ER 4       tER ER ltER ER lt]ER 4       t]EP                  ER 4       tER ER ltER ER lt]ER  4       t]EP                  ER! 4       tER" ER# ltER$ ER% lt]ER& 4       t]EP                  ER' 4       tER( ER) ltER* ER+ lt]ER, 4       t]EP                  ER- 4       tER. ER/ ltER0 ER1 lt]ER2 4       t]EP                  ER3 4       tER4 ER5 ltER6 ER7 lt]ER8 4       t]EP                  ER9 4       tER: ER; ltER< ER= lt]ER> 4       t]EP                  ER? 4       tER@tR# (G  mop_tiC  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mop_t.<lambda>D  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  D  r~   r#   r   r   'mopt_t'r{  z'uint8'opropsz'uint16'valnumrX   r   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   mop_t.__annotate__W       8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_set_impptr_doner   s   &r   set_impptr_donemop_t.set_impptr_doneW  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  Z       0 0 0r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_set_udtr   s   &r   set_udtmop_t.set_udtZ  r.  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  ]       6 6d 6r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_set_undef_valr   s   &r   set_undef_valmop_t.set_undef_val]  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  `       4 4D 4r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_set_lowaddrr   s   &r   set_lowaddrmop_t.set_lowaddr`  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  c  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_set_for_abir   s   &r   set_for_abimop_t.set_for_abic  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  f       7 7t 7r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_impptr_doner   s   &r   is_impptr_donemop_t.is_impptr_donef  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  i       / /t /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_udtr   s   &r   is_udtmop_t.is_udti  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  l       : :$ :r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_probably_floatingr   s   &r   probably_floatingmop_t.probably_floatingl  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  o       5 5T 5r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_undef_valr   s   &r   is_undef_valmop_t.is_undef_valo  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  r       3 34 3r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_lowaddrr   s   &r   
is_lowaddrmop_t.is_lowaddrr  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  u  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_for_abir   s   &r   
is_for_abimop_t.is_for_abiu  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  x  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_ccflagsr   s   &r   
is_ccflagsmop_t.is_ccflagsx  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  {       1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_pcvalr   s   &r   is_pcvalmop_t.is_pcval{  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  ~  s     > >d >r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_glbaddr_from_fixupr   s   &r   is_glbaddr_from_fixupmop_t.is_glbaddr_from_fixup~  r  r#   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mop_t_swiginit	new_mop_tr   s   &*r   r   mop_t.__init__      ##D,*@*@$*GHr#   c                    V ^8  d   QhRRRR/# )rA   roprT
  rC   r
  r$   )rE   s   "r   rF   r    s     4 4' 4Y 4r#   c                	.    \         P                  ! W4      # r.   )r   mop_t_assignr   r  s   &&r   assignmop_t.assign  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         - -T -r#   c                	.    \         P                  ! V 4      # r.   )r   
mop_t_zeror   s   &r   zero
mop_t.zero  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  rT
  rC   rD   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   
mop_t_swapr  s   &&r   r   
mop_t.swap  s    &&t11r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_eraser   s   &r   r  mop_t.erase  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     < <D <r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_erase_but_keep_sizer   s   &r   erase_but_keep_sizemop_t.erase_but_keep_size  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mop_t__printr   s   &*r   r  mop_t._print  rk
  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   
mop_t_dstrr   s   &r   r  
mop_t.dstr  r  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r[  r_  r-  r.  fullsizerX   rC   rY   r$   )rE   s   "r   rF   r    s/     N NW N9 N NNr#   c                0    \         P                  ! WW#4      # )zCreate operand from mlist_t. Example: if LST contains 4 bits for R0.4, our operand will be (t=mop_r, r=R0, size=4) 
        
:param mba: pointer to microcode
:param lst: list of locations
:param fullsize: mba->fullsize
:returns: success)r   mop_t_create_from_mlist)r   r[  r-  r  s   &&&&r   create_from_mlistmop_t.create_from_mlist  s     33DsMMr#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r[  r_  r  ro  r  rX   rC   rY   r$   )rE   s   "r   rF   r    s/     O Og OJ O# OOr#   c                0    \         P                  ! WW#4      # )zCreate operand from ivlset_t. Example: if IVS contains [glbvar..glbvar+4), our operand will be (t=mop_v, g=&glbvar, size=4) 
        
:param mba: pointer to microcode
:param ivs: set of memory intervals
:param fullsize: mba->fullsize
:returns: success)r   mop_t_create_from_ivlset)r   r[  r  r  s   &&&&r   create_from_ivlsetmop_t.create_from_ivlset  s     44TNNr#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r[  r_  r  r  rM  rX   rC   rD   r$   )rE   s   "r   rF   r    s/     K KW K9 KS KKr#   c                0    \         P                  ! WW#4      # )a!  Create operand from vdloc_t. Example: if LOC contains (type=ALOC_REG1, r=R0), our operand will be (t=mop_r, r=R0, size=_SIZE) 
        
:param mba: pointer to microcode
:param loc: location
:param _size: operand size Note: this function cannot handle scattered locations.
:returns: success)r   mop_t_create_from_vdloc)r   r[  r  rM  s   &&&&r   create_from_vdlocmop_t.create_from_vdloc  s     33DsJJr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rA   r[  r_  r   ry  r   r  r  r  rC   rD   r$   )rE   s   "r   rF   r    s2     
 
w 
c 

!
%)
r#   c                2    \         P                  ! WW#V4      # )ad  Create operand from scattered vdloc_t. Example: if LOC is (ALOC_DIST, {EAX.4, EDX.4}) and TYPE is _LARGE_INTEGER, our operand will be (t=mop_sc, scif={EAX.4, EDX.4}) 
        
:param mba: pointer to microcode
:param name: name of the operand, if available
:param type: type of the operand, must be present
:param loc: a scattered location
:returns: success)r   !mop_t_create_from_scattered_vdloc)r   r[  r   r   r  s   &&&&&r   create_from_scattered_vdloc!mop_t.create_from_scattered_vdloc  s     ==d 	r#   c                    V ^8  d   QhRRRR/# rA   r  rN  rC   rD   r$   )rE   s   "r   rF   r    s     < <) <t <r#   c                .    \         P                  ! W4      # )a%  Create operand from an instruction. This function creates a nested instruction that can be used as an operand. Example: if m="add x,y,z", our operand will be (t=mop_d,d=m). The destination operand of 'add' (z) is lost. 
        
:param m: instruction to embed into operand. may not be nullptr.)r   mop_t_create_from_insnr  s   &&r   create_from_insnmop_t.create_from_insn       224;;r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     ; ;4 ;r#   c                2    \         P                  ! V .VO5!  # )a  Create an integer constant operand. 
        
:param _value: value to store in the operand
:param _size: size of the value in bytes (1,2,4,8)
:param _ea: address of the processor instruction that made the value
:param opnum: operand number of the processor instruction)r   mop_t_make_numberr   s   &*r   make_numbermop_t.make_number  s     --d:T::r#   c                    V ^8  d   QhRRRR/# )rA   r`  z'void const *'rC   rY   r$   )rE   s   "r   rF   r    s     : : :$ :r#   c                .    \         P                  ! W4      # )zCreate a floating point constant operand. 
        
:param bytes: pointer to the floating point value as used by the current processor (e.g. for x86 it must be in IEEE 754)
:returns: success)r   mop_t_make_fpnum)r   r`  s   &&r   
make_fpnummop_t.make_fpnum  s    
 ,,T99r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     9 9 9r#   c                2    \         P                  ! V .VO5!  # )a   This function has the following signatures:

    0. _make_reg(reg: mreg_t) -> None
    1. _make_reg(reg: mreg_t, _size: int) -> None

# 0: _make_reg(reg: mreg_t) -> None

Create a register operand without erasing previous data. 
        

# 1: _make_reg(reg: mreg_t, _size: int) -> None

)r   mop_t__make_regr   s   &*r   	_make_regmop_t._make_reg  s     ++D8488r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    s     8 8 8r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. make_reg(reg: mreg_t) -> None
    1. make_reg(reg: mreg_t, _size: int) -> None

# 0: make_reg(reg: mreg_t) -> None

Create a register operand.


# 1: make_reg(reg: mreg_t, _size: int) -> None

)r   mop_t_make_regr   s   &*r   make_regmop_t.make_reg  s     **47$77r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r[  r_  ru  rX   r  rC   rD   r$   )rE   s   "r   rF   r    s.     B Bg BC Bc Bt Br#   c                0    \         P                  ! WW#4      # )a  Create a local variable operand. 
        
:param mba: pointer to microcode
:param idx: index into mba->vars
:param off: offset from the beginning of the variable Note: this function does not erase the previous contents of the operand; call erase() if necessary)r   mop_t__make_lvar)r   r[  ru  r  s   &&&&r   
_make_lvarmop_t._make_lvar  s     ,,TAAr#   c                    V ^8  d   QhRRRR/# rA   r  rX  rC   rD   r$   )rE   s   "r   rF   r    s     7 7_ 7 7r#   c                .    \         P                  ! W4      # )zCreate a global variable operand without erasing previous data. 
        
:param ea: address of the variable Note: this function does not erase the previous contents of the operand; call erase() if necessary)r   mop_t__make_gvarr   r  s   &&r   
_make_gvarmop_t._make_gvar  s     ,,T66r#   c                    V ^8  d   QhRRRR/# rS  r$   )rE   s   "r   rF   r    s     6 6O 6t 6r#   c                .    \         P                  ! W4      # z"Create a global variable operand.
)r   mop_t_make_gvarrV  s   &&r   	make_gvarmop_t.make_gvar  s     ++D55r#   c               $    V ^8  d   QhRRRRRR/# rA   r[  r_  r  rX   rC   rD   r$   )rE   s   "r   rF   r    s!     ? ? ?c ?T ?r#   c                0    \         P                  ! WV4      # )zCreate a stack variable operand. 
        
:param mba: pointer to microcode
:param off: decompiler stkoff Note: this function does not erase the previous contents of the operand; call erase() if necessary)r   mop_t__make_stkvarr   r[  r  s   &&&r   _make_stkvarmop_t._make_stkvar  s    
 ..t#>>r#   c               $    V ^8  d   QhRRRRRR/# r`  r$   )rE   s   "r   rF   r    s!     > >w >S >D >r#   c                	0    \         P                  ! WV4      # r.   )r   mop_t_make_stkvarrc  s   &&&r   make_stkvarmop_t.make_stkvar  s    --d==r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   loregrX   hireghalfsizerC   rD   r$   )rE   s   "r   rF   r    s.     N N3 Ns Nc NT Nr#   c                0    \         P                  ! WW#4      # )zCreate pair of registers. 
        
:param loreg: register holding the low part of the value
:param hireg: register holding the high part of the value
:param halfsize: the size of each of loreg/hireg)r   mop_t_make_reg_pair)r   rl  rm  rn  s   &&&&r   make_reg_pairmop_t.make_reg_pair  s     //UMMr#   c                    V ^8  d   QhRRRR/# rA   r  rN  rC   rD   r$   )rE   s   "r   rF   r    s      i 4 r#   c                    TpV P                  V P                  \        8H  R4       \        P                  ! W4      pV P                  VR4       V# )a  Create a nested instruction without erasing previous data. 
        
:param ins: pointer to the instruction to encapsulate into the operand Note: this function does not erase the previous contents of the operand; call erase() if necessary See also create_from_insn, which is higher levelself.t == mop_zT)_ensure_condr{  mop_zr   mop_t__make_insn_acquire_ownershipr   r  r  rg   s   &&  r   
_make_insnmop_t._make_insn  sG     $&&E/+<=++D64(
r#   c                    V ^8  d   QhRRRR/# rt  r$   )rE   s   "r   rF   r  )  s      Y $ r#   c                    TpV P                  V P                  \        8H  R4       \        P                  ! W4      pV P                  VR4       V# )zCreate a nested instruction.
rv  T)rw  r{  rx  r   mop_t_make_insnrz  r{  s   &&  r   	make_insnmop_t.make_insn)  sG     $&&E/+<=**454(
r#   c                    V ^8  d   QhRRRR/# rA   blknumrX   rC   rD   r$   )rE   s   "r   rF   r  2  s     = =3 =$ =r#   c                .    \         P                  ! W4      # )zCreate a block reference operand without erasing previous data. 
        
:param blknum: block number Note: this function does not erase the previous contents of the operand; call erase() if necessary)r   mop_t__make_blkrefr   r  s   &&r   _make_blkrefmop_t._make_blkref2  s     ..t<<r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  8  s     < <# < <r#   c                .    \         P                  ! W4      # r[  )r   mop_t_make_blkrefr  s   &&r   make_blkrefmop_t.make_blkref8  s     --d;;r#   c                    V ^8  d   QhRRRR/# )rA   r   ry  rC   rD   r$   )rE   s   "r   rF   r  =       : : :t :r#   c                .    \         P                  ! W4      # )zCreate a helper operand. A helper operand usually keeps a built-in function name like "va_start" It is essentially just an arbitrary identifier without any additional info. 
        )r   mop_t_make_helperr   r   s   &&r   make_helpermop_t.make_helper=       --d99r#   c                    V ^8  d   QhRRRR/# )rA   ry  rC   rD   r$   )rE   s   "r   rF   r  B  r  r#   c                .    \         P                  ! W4      # )z"Create a constant string operand.
)r   mop_t__make_strlit)r   ry  s   &&r   _make_strlitmop_t._make_strlitB  r  r#   c                    V ^8  d   QhRRRR/# )rA   firK   rC   rD   r$   )rE   s   "r   rF   r  G  s       $ r#   c                    TpV P                  V P                  \        8H  R4       \        P                  ! W4      pV P                  VR4       V# )zCreate a call info operand without erasing previous data. 
        
:param fi: callinfo Note: this function does not erase the previous contents of the operand; call erase() if necessaryrv  T)rw  r{  rx  r   mop_t__make_callinforz  )r   r  r  rg   s   &&  r   _make_callinfomop_t._make_callinfoG  sG     $&&E/+<=//94(
r#   c                    V ^8  d   QhRRRR/# )rA   _cases
'mcases_t'rC   rD   r$   )rE   s   "r   rF   r  Q  s      *  r#   c                    TpV P                  V P                  \        8H  R4       \        P                  ! W4      pV P                  VR4       V# )zCreate a 'switch cases' operand without erasing previous data. Note: this function does not erase the previous contents of the operand; call erase() if necessary 
        rv  T)rw  r{  rx  r   mop_t__make_casesrz  )r   r  r  rg   s   &&  r   _make_casesmop_t._make_casesQ  sG     $&&E/+<=,,T:4(
r#   c                    V ^8  d   QhRRRR/# )rA   _pair'mop_pair_t'rC   rD   r$   )rE   s   "r   rF   r  Z  s        r#   c                    TpV P                  V P                  \        8H  R4       \        P                  ! W4      pV P                  VR4       V# )zCreate a pair operand without erasing previous data. Note: this function does not erase the previous contents of the operand; call erase() if necessary 
        rv  T)rw  r{  rx  r   mop_t__make_pairrz  )r   r  r  rg   s   &&  r   
_make_pairmop_t._make_pairZ  sG     $&&E/+<=++D84(
r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  c  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_emptyr   s   &r   r   mop_t.emptyc  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  f       2 2$ 2r#   c                .    \         P                  ! V 4      # )zIs a global variable?
)r   mop_t_is_glbvarr   s   &r   	is_glbvarmop_t.is_glbvarf       ++D11r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  k  r  r#   c                .    \         P                  ! V 4      # )zIs a stack variable?
)r   mop_t_is_stkvarr   s   &r   	is_stkvarmop_t.is_stkvark  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  p  s     6 6d 6r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. is_reg() -> bool
    1. is_reg(_r: mreg_t) -> bool
    2. is_reg(_r: mreg_t, _size: int) -> bool

# 0: is_reg() -> bool

Is a register operand? See also get_mreg_name() 
        

# 1: is_reg(_r: mreg_t) -> bool

Is the specified register?


# 2: is_reg(_r: mreg_t, _size: int) -> bool

Is the specified register of the specified size?

)r   mop_t_is_regr   s   &*r   is_regmop_t.is_regp  s    , ((555r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         3 34 3r#   c                .    \         P                  ! V 4      # )zIs a list of arguments?
)r   mop_t_is_arglistr   s   &r   
is_arglistmop_t.is_arglist  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     . .d .r#   c                .    \         P                  ! V 4      # )zIs a condition code?
)r   mop_t_is_ccr   s   &r   is_ccmop_t.is_cc  rt  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     : :$ :r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. is_bit_reg() -> bool
    1. is_bit_reg(reg: mreg_t) -> bool

# 0: is_bit_reg() -> bool


# 1: is_bit_reg(reg: mreg_t) -> bool

Is a bit register? This includes condition codes and eventually other bit registers 
        
)r   mop_t_is_bit_regr   s   &*r   
is_bit_regmop_t.is_bit_reg  s     ,,T9D99r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     0 0 0r#   c                .    \         P                  ! V 4      # )zIs a kernel register?
)r   mop_t_is_kregr   s   &r   r  mop_t.is_kreg  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     9 9 9r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. is_mblock() -> bool
    1. is_mblock(serial: int) -> bool

# 0: is_mblock() -> bool

Is a block reference?


# 1: is_mblock(serial: int) -> bool

Is a block reference to the specified block?

)r   mop_t_is_mblockr   s   &*r   	is_mblockmop_t.is_mblock  s      ++D8488r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     5 5T 5r#   c                .    \         P                  ! V 4      # )zIs a scattered operand?
)r   mop_t_is_scatteredr   s   &r   r(  mop_t.is_scattered  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     : :$ :r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. is_glbaddr() -> bool
    1. is_glbaddr(ea: ida_idaapi.ea_t) -> bool

# 0: is_glbaddr() -> bool

Is address of a global memory cell?


# 1: is_glbaddr(ea: ida_idaapi.ea_t) -> bool

Is address of the specified global memory cell?

)r   mop_t_is_glbaddrr   s   &*r   
is_glbaddrmop_t.is_glbaddr  s      ,,T9D99r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                .    \         P                  ! V 4      # )z Is address of a stack variable?
)r   mop_t_is_stkaddrr   s   &r   
is_stkaddrmop_t.is_stkaddr  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     7 7t 7r#   c                2    \         P                  ! V .VO5!  # )zThis function has the following signatures:

    0. is_insn() -> bool
    1. is_insn(code: mcode_t) -> bool

# 0: is_insn() -> bool

Is a sub-instruction?


# 1: is_insn(code: mcode_t) -> bool

Is a sub-instruction with the specified opcode?

)r   mop_t_is_insnr   s   &*r   is_insnmop_t.is_insn  s      ))$666r#   c                    V ^8  d   QhRRRR/# rA   include_ldx_and_divsrY   rC   r$   )rE   s   "r   rF   r    s     O OT O4 Or#   c                .    \         P                  ! W4      # )ziHas any side effects? 
        
:param include_ldx_and_divs: consider ldx/div/mod as having side effects?)r   mop_t_has_side_effectsr   r  s   &&r   has_side_effectsmop_t.has_side_effects  s     224NNr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     ? ?t ?r#   c                .    \         P                  ! V 4      # )z6Is it possible for the operand to use aliased memory?
)r   mop_t_may_use_aliased_memoryr   s   &r   may_use_aliased_memorymop_t.may_use_aliased_memory  r<  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         - -T -r#   c                .    \         P                  ! V 4      # )zAre the possible values of the operand only 0 and 1? This function returns true for 0/1 constants, bit registers, the result of 'set' insns, etc. 
        )r   
mop_t_is01r   s   &r   is01
mop_t.is01       &&t,,r#   c                    V ^8  d   QhRRRR/# rA   r  rX   rC   rY   r$   )rE   s   "r   rF   r         F FC F4 Fr#   c                .    \         P                  ! W4      # )a  Does the high part of the operand consist of the sign bytes? 
        
:param nbytes: number of bytes that were sign extended. the remaining size-nbytes high bytes must be sign bytes Example: is_sign_extended_from(xds.4(op.1), 1) -> true because the high 3 bytes are certainly sign bits)r   mop_t_is_sign_extended_fromr   r  s   &&r   is_sign_extended_frommop_t.is_sign_extended_from       77EEr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                .    \         P                  ! W4      # )a  Does the high part of the operand consist of zero bytes? 
        
:param nbytes: number of bytes that were zero extended. the remaining size-nbytes high bytes must be zero Example: is_zero_extended_from(xdu.8(op.1), 2) -> true because the high 6 bytes are certainly zero)r   mop_t_is_zero_extended_fromr  s   &&r   is_zero_extended_frommop_t.is_zero_extended_from  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX   	is_signedrY   rC   r$   )rE   s   "r   rF   r    s&     L Ls Lt Lt Lr#   c                0    \         P                  ! WV4      # )zADoes the high part of the operand consist of zero or sign bytes?
)r   mop_t_is_extended_from)r   r  r  s   &&&r   is_extended_frommop_t.is_extended_from  s     224KKr#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rT
  eqflagsrX   rC   rY   r$   )rE   s   "r   rF   r    s&     A Ag A At Ar#   c                0    \         P                  ! WV4      # )zCompare operands. This is the main comparison function for operands. 
        
:param rop: operand to compare with
:param eqflags: combination of comparison bits bits)r   mop_t_equal_mops)r   r  r  s   &&&r   
equal_mopsmop_t.equal_mops  s    
 ,,T@@r#   c                    V ^8  d   QhRRRR/# rA   r  rT
  rC   rY   r$   )rE   s   "r   rF   r         4 4' 4T 4r#   c                	.    \         P                  ! W4      # r.   )r   mop_t___eq__r  s   &&r   r   mop_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   r    r"  r#   c                	.    \         P                  ! W4      # r.   )r   mop_t___ne__r  s   &&r   r  mop_t.__ne__  r  r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   r    r"  r#   c                	.    \         P                  ! W4      # r.   )r   mop_t___lt__r  s   &&r   rI  mop_t.__lt__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  rT
  rC   rX   r$   )rE   s   "r   rF   r    s     8 8g 8 8r#   c                	.    \         P                  ! W4      # r.   )r   mop_t_lexcomparer  s   &&r   
lexcomparemop_t.lexcompare  rA
  r#   Nc               (    V ^8  d   QhRRRRRRRR/# )	rA   mv'mop_visitor_t'r   r  r[  rY   rC   rX   r$   )rE   s   "r   rF   r    s0     I Io IY II!$Ir#   c                0    \         P                  ! WW#4      # )zVisit the operand and all its sub-operands. This function visits the current operand as well. 
        
:param mv: visitor object
:param type: operand type
:param is_target: is a destination operand?)r   mop_t_for_all_ops)r   r4  r   r[  s   &&&&r   for_all_opsmop_t.for_all_ops  s     --dHHr#   c                    V ^8  d   QhRRRR/# )rA   svz'scif_visitor_t'rC   rX   r$   )rE   s   "r   rF   r  $  s     F F,< F Fr#   c                .    \         P                  ! W4      # )a  Visit all sub-operands of a scattered operand. This function does not visit the current operand, only its sub-operands. All sub-operands are synthetic and are destroyed after the visitor. This function works only with scattered operands. 
        
:param sv: visitor object)r   mop_t_for_all_scattered_submops)r   r;  s   &&r   for_all_scattered_submopsmop_t.for_all_scattered_submops$  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  rY   rC   rl  r$   )rE   s   "r   rF   r  *  s     9 9t 9x 9r#   c                .    \         P                  ! W4      # )zRetrieve value of a constant integer operand. These functions can be called only for mop_n operands. See is_constant() that can be called on any operand. 
        )r   mop_t_valuer   r  s   &&r   r   mop_t.value*  s     ''88r#   c                   V ^8  d   QhRR/# rA   rC   z'int64'r$   )rE   s   "r   rF   r  /  s     5 5W 5r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_signed_valuer   s   &r   signed_valuemop_t.signed_value/  r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  2  s     7 7x 7r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_unsigned_valuer   s   &r   unsigned_valuemop_t.unsigned_value2  ro  r#   c                    V ^8  d   QhRRRR/# )rA   rg   rl  rC   rD   r$   )rE   s   "r   rF   r  5  s     @ @h @$ @r#   c                	.    \         P                  ! W4      # r.   )r   mop_t_update_numop_value)r   rg   s   &&r   update_numop_valuemop_t.update_numop_value5  r	  r#   c                    V ^8  d   QhRRRR/# )rA   r  rY   rC   r$   )rE   s   "r   rF   r  8  s     ? ?T ?$ ?r#   c                .    \         P                  ! W4      # )zRetrieve value of a constant integer operand. 
        
:param is_signed: should treat the value as signed
:returns: true if the operand is mop_n)r   mop_t_is_constantrC  s   &&r   is_constantmop_t.is_constant8  s    
 --d>>r#   c               $    V ^8  d   QhRRRRRR/# )rA   rz  rl  r  rY   rC   r$   )rE   s   "r   rF   r  ?  s&     B BX B$ Bt Br#   c                	0    \         P                  ! WV4      # r.   )r   mop_t_is_equal_to)r   rz  r  s   &&&r   is_equal_tomop_t.is_equal_to?  s    --dyAAr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  B  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_zeror   s   &r   is_zeromop_t.is_zeroB  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  E  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_oner   s   &r   is_onemop_t.is_oneE  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  H       = =T =r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_positive_constantr   s   &r   is_positive_constantmop_t.is_positive_constantH  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  K  rj  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t_is_negative_constantr   s   &r   is_negative_constantmop_t.is_negative_constantK  r  r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r  N  s'     B Bg Bj BBr#   c                0    \         P                  ! WV4      # r  )r   mop_t_get_stkvarr  s   &&&r   r  mop_t.get_stkvarN  s     ,,TAAr#   c                    V ^8  d   QhRRRR/# )rA   p_vdoffz
'sval_t *'rC   rY   r$   )rE   s   "r   rF   r  W  s     < <* < <r#   c                .    \         P                  ! W4      # )zGet the referenced stack offset. This function can also handle mop_sc if it is entirely mapped into a continuous stack region. 
        
:param p_vdoff: the output buffer
:returns: success)r   mop_t_get_stkoff)r   ry  s   &&r   r  mop_t.get_stkoffW  s    
 ,,T;;r#   c                    V ^8  d   QhRRRR/# )rA   r  r   rC   r  r$   )rE   s   "r   rF   r  ^  s     7 7Y 7+ 7r#   c                .    \         P                  ! W4      # )zGet subinstruction of the operand. If the operand has a subinstruction with the specified opcode, return it. 
        
:param code: desired opcode
:returns: pointer to the instruction or nullptr)r   mop_t_get_insn)r   r  s   &&r   get_insnmop_t.get_insn^      
 **466r#   c                    V ^8  d   QhRRRR/# rA   r  rX   rC   rY   r$   )rE   s   "r   rF   r  e  s     = =3 =$ =r#   c                .    \         P                  ! W4      # )zMake the low part of the operand. This function takes into account the memory endianness (byte sex) 
        
:param width: the desired size of the operand part in bytes
:returns: success)r   mop_t_make_low_halfr   r  s   &&r   make_low_halfmop_t.make_low_halfe      
 //<<r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  l  s     > >C >4 >r#   c                .    \         P                  ! W4      # )zMake the high part of the operand. This function takes into account the memory endianness (byte sex) 
        
:param width: the desired size of the operand part in bytes
:returns: success)r   mop_t_make_high_halfr  s   &&r   make_high_halfmop_t.make_high_halfl  s    
 00==r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  s  s     ? ?S ?D ?r#   c                .    \         P                  ! W4      # )zMake the first part of the operand. This function does not care about the memory endianness 
        
:param width: the desired size of the operand part in bytes
:returns: success)r   mop_t_make_first_halfr  s   &&r   make_first_halfmop_t.make_first_halfs  s    
 11$>>r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  z  s     @ @c @T @r#   c                .    \         P                  ! W4      # )zMake the second part of the operand. This function does not care about the memory endianness 
        
:param width: the desired size of the operand part in bytes
:returns: success)r   mop_t_make_second_halfr  s   &&r   make_second_halfmop_t.make_second_halfz  s    
 224??r#   c                    V ^8  d   QhRRRR/# )rA   offsetrX   rC   rY   r$   )rE   s   "r   rF   r    s     : : :t :r#   c                .    \         P                  ! W4      # )ab  Shift the operand. This function shifts only the beginning of the operand. The operand size will be changed. Examples: shift_mop(AH.1, -1) -> AX.2 shift_mop(qword_00000008.8, 4) -> dword_0000000C.4 shift_mop(xdu.8(op.4), 4) -> #0.4 shift_mop(#0x12345678.4, 3) -> #12.1 
        
:param offset: shift count (the number of bytes to shift)
:returns: success)r   mop_t_shift_mop)r   r  s   &&r   	shift_mopmop_t.shift_mop  s    
 ++D99r#   c               $    V ^8  d   QhRRRRRR/# )rA   nsizerX   sideff'side_effect_t'rC   rY   r$   )rE   s   "r   rF   r    s'     C C Co CCr#   c                0    \         P                  ! WV4      # )a?  Change the operand size. Examples: change_size(AL.1, 2) -> AX.2 change_size(qword_00000008.8, 4) -> dword_00000008.4 change_size(xdu.8(op.4), 4) -> op.4 change_size(#0x12345678.4, 1) -> #0x78.1 
        
:param nsize: new operand size
:param sideff: may modify the database because of the size change?
:returns: success)r   mop_t_change_size)r   r  r  s   &&&r   change_sizemop_t.change_size  s     --d6BBr#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   rY   r$   )rE   s   "r   rF   r    s     < </ < <r#   c                	.    \         P                  ! W4      # r.   )r   mop_t_double_size)r   r  s   &&r   double_sizemop_t.double_size      --d;;r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   rK  rL  r2  rN  moved_calls'bool *'rC   rY   r$   )rE   s   "r   rF   r    s*     	 	 	) 		&*	r#   c                2    \         P                  ! WVV4      # )a  Move subinstructions with side effects out of the operand. If we decide to delete an instruction operand, it is a good idea to call this function. Alternatively we should skip such operands by calling mop_t::has_side_effects() For example, if we transform: jnz x, x, @blk => goto @blk then we must call this function before deleting the X operands. 
        
:param blk: current block
:param top: top level instruction that contains our operand
:param moved_calls: pointer to the boolean that will track if all side effects get handled correctly. must be false initially.
:returns: false failed to preserve a side effect, it is not safe to delete the operand true no side effects or successfully preserved them)r   mop_t_preserve_side_effects)r   rK  r2  r  s   &&&&r   preserve_side_effectsmop_t.preserve_side_effects  s     773 	r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  r   r  rX  newsizerX   rC   rD   r$   )rE   s   "r   rF   r    s0     K KI K? KKKr#   c                0    \         P                  ! WW#4      # )a=  Apply a unary opcode to the operand. 
        
:param mcode: opcode to apply. it must accept 'l' and 'd' operands but not 'r'. examples: m_low/m_high/m_xds/m_xdu
:param ea: value of minsn_t::ea for the newly created insruction
:param newsize: new operand size Example: apply_ld_mcode(m_low) will convert op => low(op))r   mop_t_apply_ld_mcode)r   r  r  r  s   &&&&r   apply_ld_mcodemop_t.apply_ld_mcode  s     00bJJr#   c               $    V ^8  d   QhRRRRRR/# rA   r  rX  r  rX   rC   rD   r$   )rE   s   "r   rF   r    !     ? ?O ?c ?T ?r#   c                	0    \         P                  ! WV4      # r.   )r   mop_t_apply_xdur   r  r  s   &&&r   	apply_xdumop_t.apply_xdu      ++Dg>>r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r    r  r#   c                	0    \         P                  ! WV4      # r.   )r   mop_t_apply_xdsr  s   &&&r   	apply_xdsmop_t.apply_xds  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         2 2$ 2r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__registerr   s   &r   r  mop_t._register  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__deregisterr   s   &r   r  mop_t._deregister  r   r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r         / /x /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_tr   s   &r   _get_tmop_t._get_t  r  r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rD   r$   )rE   s   "r   rF   r    s     2 2 2D 2r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_tr8  s   &&r   _set_tmop_t._set_t  r~
  r#   c                	l    V P                   \        39  d   \        V : R V P                   : R24      hR# )z
 has type ; cannot be modifiedT)r{  rx  r   r   s   &r   _ensure_no_tmop_t._ensure_no_t  s.    66% D  r#   c                	T    V P                  4       ;'       d    V P                  V4      # r.   )r  r  r8  s   &&r   rx   r    s     ):):)<)O)OQ)Or#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    s     : :# :r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t___dbg_get_meminfor   s   &r   __dbg_get_meminfomop_t.__dbg_get_meminfo  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     B B# Br#   c                	.    \         P                  ! V 4      # r.   )r   mop_t___dbg_get_registered_kindr   s   &r   __dbg_get_registered_kindmop_t.__dbg_get_registered_kind  r  r#   c                   V ^8  d   QhRR/# rA   rC   rd  r$   )rE   s   "r   rF   r    s     0 0 0r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__obj_idr   s   &r   _obj_idmop_t._obj_id  r.  r#   c                	:    V'       g   \        R V,          4      hR# zCondition "%s" not verifiedTr   r   okcond_strs   &&&r   rw  mop_t._ensure_cond      9HDEEr#   c                	L    V'       d   Ve   \        V : RV: RV: R24      hR# Nz already owns attribute "z" (z); cannot be modifiedTr  r   r  attrattr_is_acquireds   &&&&r   _ensure_no_objmop_t._ensure_no_obj  '    tQ ! ! r#   c                	N    VP                   '       g   \        R V,          4      hR# z)%s is already owned, and cannot be reusedNr   r   r8  s   &&r   _ensure_ownership_transferrable%mop_t._ensure_ownership_transferrable  !    yyyG!KLL r#   c                	    V'       dY   VeU   \        V\        P                  4      '       g5   V P                  V4       RVn        \        VRR 4      pV'       d   V! 4        R# NFr  Tr   rU  integer_typesr  r   r   r   r}   acquirederegs   &&& r   rz  mop_t._acquire_ownership  L    q}Z:M. .003AIA}d3Er#   c                	\    V P                   '       d   R V n         V P                  4        R# R# FNr   r  r   s   &r   _maybe_disown_and_deregister"mop_t._maybe_disown_and_deregister  #    <<< DL r#   c                	\    V P                   '       d   Q hR V n         V P                  4        R# TNr   r  r   s   &r   _own_and_registermop_t._own_and_register  "    <<<r#   c                	    \        V\        \        34      '       g   Q hVP                  4        V P	                  V4       R # r.   r   cexpr_tcinsn_tr  _replace_byr   r  s   &&r   
replace_bymop_t.replace_by  4    !gw/0000	&&(r#   c                	    V P                  4       pV P                  4       p. ROV,          pV: RV P                  : RV: R2# (not owned)z
 [thisown=z, owned by IDAPython as=])r(  r8  r   r  cblock_tmba_tr  minsn_tr  r  r/  r  )_mop_t__dbg_get_meminfo_mop_t__dbg_get_registered_kindr   r   cpprkind	rkind_strs   &   r   _meminfomop_t._meminfo  M    $$&..066;=	 ?B4GD  	 r#   c                   V ^8  d   QhRR/# )rA   rC   z'mnumber_t *'r$   )rE   s   "r   rF   r         1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_nnnr   s   &r   _get_nnnmop_t._get_nnn  r
  r#   c                    V ^8  d   QhRRRR/# )rA   _vr-  rC   rD   r$   )rE   s   "r   rF   r         5 5; 5$ 5r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_nnnr   r=  s   &&r   _set_nnnmop_t._set_nnn      **444r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_nr:  r   s   &r   nnn	mop_t.nnn  s    "&&&E/t}};t;r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_nrG  T)rw  r{  rF  r  r:  rz  rB  r   r   s   &&r   rG  rH    s}      52C  P P%%dmmoud P P))%6P P;?==;O	Pr#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   r    s     / /{ /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_dr   s   &r   _get_dmop_t._get_d  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  rN  rC   rD   r$   )rE   s   "r   rF   r    s     3 3 3d 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_drA  s   &&r   _set_dmop_t._set_d  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_drO  r   s   &r   dmop_t.d       $%t{{}9T9r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_drX  T)rw  r{  rW  r  rO  rz  rT  rJ  s   &&r   rX  rY    }      52C  N N%%dkkmS$ N N))%6N N;?;;u;M	Nr#   c                   V ^8  d   QhRR/# )rA   rC   z'stkvar_ref_t *'r$   )rE   s   "r   rF   r  !  s     / /' /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_sr   s   &r   _get_smop_t._get_s!  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r  rC   rD   r$   )rE   s   "r   rF   r  $       3 3 34 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_srA  s   &&r   _set_smop_t._set_s$  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_Sr`  r   s   &r   r   mop_t.s'  rZ  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_Sr   T)rw  r{  ri  r  r`  rz  rf  rJ  s   &&r   r   rj  +  r\  r#   c                   V ^8  d   QhRR/# )rA   rC   z'mcallinfo_t *'r$   )rE   s   "r   rF   r  1       / / /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_fr   s   &r   _get_fmop_t._get_f1  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  rK   rC   rD   r$   )rE   s   "r   rF   r  4  s     3 3 3$ 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_frA  s   &&r   _set_fmop_t._set_f4  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_frp  r   s   &r   rO   mop_t.f7  rZ  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_frO   T)rw  r{  rx  r  rp  rz  ru  rJ  s   &&r   rO   ry  ;  r\  r#   c                   V ^8  d   QhRR/# )rA   rC   z'lvar_ref_t *'r$   )rE   s   "r   rF   r  A       / /~ /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_lr   s   &r   _get_lmop_t._get_lA  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r  rC   rD   r$   )rE   s   "r   rF   r  D       3 3 3 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_lrA  s   &&r   _set_lmop_t._set_lD  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_lr  r   s   &r   lmop_t.lG  rZ  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_lr  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r  K  r\  r#   c                   V ^8  d   QhRR/# )rA   rC   z'mop_addr_t *'r$   )rE   s   "r   rF   r  Q  r|  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_ar   s   &r   _get_amop_t._get_aQ  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  'mop_addr_t'rC   rD   r$   )rE   s   "r   rF   r  T  r  r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_arA  s   &&r   _set_amop_t._set_aT  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_ar  r   s   &r   rO	  mop_t.aW  rZ  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_arO	  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   rO	  r  [  r\  r#   c                   V ^8  d   QhRR/# )rA   rC   z'mcases_t *'r$   )rE   s   "r   rF   r  a  s     / /| /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_cr   s   &r   _get_cmop_t._get_ca  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r  rC   rD   r$   )rE   s   "r   rF   r  d  s     3 3 3t 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_crA  s   &&r   _set_cmop_t._set_cd  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_cr  r   s   &r   cmop_t.cg  rZ  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_cr  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r  k  r\  r#   c                   V ^8  d   QhRR/# rA   rC   z'fnumber_t *'r$   )rE   s   "r   rF   r  q  r7  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_fpcr   s   &r   _get_fpcmop_t._get_fpcq  r
  r#   c                    V ^8  d   QhRRRR/# rA   r=  rn  rC   rD   r$   )rE   s   "r   rF   r  t  r>  r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_fpcrA  s   &&r   _set_fpcmop_t._set_fpct  rD  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_fnr  r   s   &r   fpc	mop_t.fpcw  s    "&&&F"2t}}<<r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_fnr  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r  {  s~      6!13E  P P%%dmmoud P P))%6P P;?==;O	Pr#   c                   V ^8  d   QhRR/# )rA   rC   z'mop_pair_t *'r$   )rE   s   "r   rF   r    s     2 2. 2r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_pairr   s   &r   	_get_pairmop_t._get_pair  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r  rC   rD   r$   )rE   s   "r   rF   r    s     6 6L 6D 6r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_pairrA  s   &&r   	_set_pairmop_t._set_pair      ++D55r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_pr  r   s   &r   pair
mop_t.pair  s    #'66U?t~~<<r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_pr  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r    sy      52C   %%dnn&6  ))%6 ;?>>% <	r#   c                   V ^8  d   QhRR/# )rA   rC   z
'scif_t *'r$   )rE   s   "r   rF   r    s     2 2* 2r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_scifr   s   &r   	_get_scifmop_t._get_scif  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  z'scif_t'rC   rD   r$   )rE   s   "r   rF   r    s     6 6H 6 6r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_scifrA  s   &&r   	_set_scifmop_t._set_scif  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_scr  r   s   &r   scif
mop_t.scif  s    #'66V#3t~~==r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_scr  T)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r    sz      6!13E   %%dnn&6  ))%6 ;?>>% <	r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_rr   s   &r   _get_rmop_t._get_r  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r    s     3 3 3T 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_rrA  s   &&r   _set_rmop_t._set_r  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_rr  r   s   &r   r   mop_t.r  rZ  r#   c                	z    V P                  V P                  \        8H  R 4      ;'       d    V P                  V4      # )zself.t == mop_r)rw  r{  r  r  rJ  s   &&r   r   r    8      52C  % %++e$	%r#   c                   V ^8  d   QhRR/# rA   rC   rX  r$   )rE   s   "r   rF   r    rm  r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_gr   s   &r   _get_gmop_t._get_g  r  r#   c                    V ^8  d   QhRRRR/# rA   r=  rX  rC   rD   r$   )rE   s   "r   rF   r    s     3 3 3D 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_grA  s   &&r   _set_gmop_t._set_g  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_vr  r   s   &r   r4  mop_t.g  rZ  r#   c                	z    V P                  V P                  \        8H  R 4      ;'       d    V P                  V4      # )zself.t == mop_v)rw  r{  r  r  rJ  s   &&r   r4  r    r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     / /s /r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_br   s   &r   _get_bmop_t._get_b  r  r#   c                    V ^8  d   QhRRRR/# rA   r=  rX   rC   rD   r$   )rE   s   "r   rF   r    s     3 3 3 3r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_brA  s   &&r   _set_bmop_t._set_b  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_br  r   s   &r   rP	  mop_t.b  rZ  r#   c                	z    V P                  V P                  \        8H  R 4      ;'       d    V P                  V4      # )zself.t == mop_b)rw  r{  r  r  rJ  s   &&r   rP	  r    r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    s     2 2# 2r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_cstrr   s   &r   	_get_cstrmop_t._get_cstr  r   r#   c                    V ^8  d   QhRRRR/# rA   r=  ry  rC   rD   r$   )rE   s   "r   rF   r    s     6 6C 64 6r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_cstrrA  s   &&r   	_set_cstrmop_t._set_cstr  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_strr  r   s   &r   cstr
mop_t.cstr  s    #'66W#4t~~>$>r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_strr  F)rw  r{  r  r  r  rz  r  rJ  s   &&r   r  r    s{      7!24G   %%dnn&6  ))%7 <@NN=	r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    s     4 4C 4r#   c                	.    \         P                  ! V 4      # r.   )r   mop_t__get_helperr   s   &r   _get_helpermop_t._get_helper  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    s     8 8c 8T 8r#   c                	.    \         P                  ! W4      # r.   )r   mop_t__set_helperrA  s   &&r   _set_helpermop_t._set_helper  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )r{  mop_hr  r   s   &r   helpermop_t.helper  s     %)VVu_t!>$>r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.t == mop_hr$  F)rw  r{  r#  r  r  rz  r   rJ  s   &&r   r$  r%    s~      52C   %%d&6&6&8(E  ))%7 <@<L<L=	r#   r   r  r8  )NFTr
  r.   )r   r   r8   r9   r   r   r   r
   r   mop_t_t_getmop_t_t_setr{  ro  mop_t_oprops_getmop_t_oprops_setr  mop_t_valnum_getmop_t_valnum_setr  mop_t_size_getmop_t_size_setr   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   delete_mop_trT  r  r   r  r  r  r  r!  r&  r+  r0  r6  r<  rA  rF  rK  rP  rW  r]  rd  ri  rq  r|  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r(  r  r  r  r  r  r  r  r  r  r  r   r  rI  r1  r8  r>  r   rI  rN  rS  rX  r]  rb  rg  rm  rr  r  r  r  r  r  r  r  r  WITH_SIDEFFr  r  r  r  r  r  r  r  r  r  r  r-  r.  r  obj_idrw  r  r  rz  r  r  r#  r3  meminfor:  rB  rG  setterrO  rT  rX  r`  rf  r   rp  ru  rO   r  r  r  r  r  rO	  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r4  r  r  rP	  r  r  r  r  r   r$  r<   r$   r#   r   r  r  C  s   -/I!#GH<33\5M5MNAxN|<<lFG  = =|		FH 44lD# 806447/:53331>I4#00-2.<6-NOK
<;:9 8 B B76
?>N=<
:
:
.2
2
603
.
: 0
9$5
:$3
7$O O?
-
FFL
A4448I IF9
57@? ?B B0/==B B<7=>?@: ?J C 3> <	 	K??24/2
 	O 	
A:B0gF
M


  x G15 < < 	ZZP P
/3 : : XXN N
/3 : : XXN N
/3 : : XXN N
/3 : : XXN N
/3 : : XXN N
/3 : : XXN N
15 = = 	ZZP P
26 = = 
[[ 26 > > 
[[ /3 : : XX% %/3 : : XX% %/3 : : XX% %26 ? ? 
[[ 48 ? ? ]] r#   r  c               $    V ^8  d   QhRRRRRR/# )rA   rO	  rT
  rP	  rC   rX   r$   )rE   s   "r   rF   rF     s!     ) )' )g ) )r#   c                .    \         P                  ! W4      # r.   )r   r1  rS	  s   &&r   r1  r1    s    ""1((r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    R	 t]P"                  tR
tR# )
mop_pair_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mop_pair_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r;    r~   r#   r   r   rT
  lophopc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   mop_pair_t_swiginitnew_mop_pair_tr   s   &r   r   mop_pair_t.__init__      ((|/J/J/LMr#   r$   N)r   r   r8   r9   r   r   r   r
   r   mop_pair_t_lop_getmop_pair_t_lop_setr=  ro  mop_pair_t_hop_getmop_pair_t_hop_setr>  r   delete_mop_pair_trT  r<   r$   r#   r   r9  r9    sx    -/I!#GHL;;\C L;;\C N#55r#   r9  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 tR
 R lt]P$                  tRtR# )
mop_addr_ti$  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mop_addr_t.<lambda>%  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rL  %  r~   r#   r   r   rX   insizeoutsizec                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mop_addr_t_swiginitnew_mop_addr_tr   s   &*r   r   mop_addr_t.__init__-  r   r#   c                    V ^8  d   QhRRRR/# )rA   rar  rC   rX   r$   )rE   s   "r   rF   mop_addr_t.__annotate__1  s     < <\ <S <r#   c                	.    \         P                  ! W4      # r.   )r   mop_addr_t_lexcompare)r   rU  s   &&r   r1  mop_addr_t.lexcompare1  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   mop_addr_t_insize_getmop_addr_t_insize_setrN  ro  mop_addr_t_outsize_getmop_addr_t_outsize_setrO  r   r1  delete_mop_addr_trT  r<   r$   r#   r   rJ  rJ  $  ss    -/I!#GH<==|		 FC  L??++-GS -<#55r#   rJ  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    R tR R ltR R ltR R ltR R ltRR R lltRR R llt]P@                  t!Rt"R# ) 
mcallarg_ti9  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mcallarg_t.<lambda>:  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rb  :  r~   r#   r   r   rX  r  r  r   ry  r   
'argloc_t'rL  rX   rW   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mcallarg_t_swiginitnew_mcallarg_tr   s   &*r   r   mcallarg_t.__init__R  r   r#   c                    V ^8  d   QhRRRR/# )rA   rW  rT
  rC   rD   r$   )rE   s   "r   rF   mcallarg_t.__annotate__V  s     : :7 :d :r#   c                	.    \         P                  ! W4      # r.   )r   mcallarg_t_copy_mopr  s   &&r   copy_mopmcallarg_t.copy_mopV  rK  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rj  Y  r   r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallarg_t__printr   s   &*r   r  mcallarg_t._printY  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rj  \  r   r#   c                	.    \         P                  ! V 4      # r.   )r   mcallarg_t_dstrr   s   &r   r  mcallarg_t.dstr\  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rj  _  s     ? ?$ ?r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. set_regarg(mr: mreg_t, sz: int, tif: const tinfo_t &) -> None
    1. set_regarg(mr: mreg_t, tif: const tinfo_t &) -> None
    2. set_regarg(mr: mreg_t, dt: char, sign: type_sign_t=type_unsigned) -> None

# 0: set_regarg(mr: mreg_t, sz: int, tif: const tinfo_t &) -> None


# 1: set_regarg(mr: mreg_t, tif: const tinfo_t &) -> None


# 2: set_regarg(mr: mreg_t, dt: char, sign: type_sign_t=type_unsigned) -> None

)r   mcallarg_t_set_regargr   s   &*r   
set_regargmcallarg_t.set_regarg_  s      11$>>>r#   c               (    V ^8  d   QhRRRRRRRR/# rA   rg   rX   val_earX  opnorC   rD   r$   )rE   s   "r   rF   rj  q  s.     I IC I I I Ir#   c                	0    \         P                  ! WW#4      # r.   )r   mcallarg_t_make_intr   rg   r~  r  s   &&&&r   make_intmcallarg_t.make_intq  s    //6HHr#   c               (    V ^8  d   QhRRRRRRRR/# r}  r$   )rE   s   "r   rF   rj  t  s.     J JS J/ J J$ Jr#   c                	0    \         P                  ! WW#4      # r.   )r   mcallarg_t_make_uintr  s   &&&&r   	make_uintmcallarg_t.make_uintt  s    00FIIr#   r$   Nr  )#r   r   r8   r9   r   r   r   r
   r   mcallarg_t_ea_getmcallarg_t_ea_setr  ro  mcallarg_t_type_getmcallarg_t_type_setr   mcallarg_t_name_getmcallarg_t_name_setr   mcallarg_t_argloc_getmcallarg_t_argloc_setrL  mcallarg_t_flags_getmcallarg_t_flags_setrW   r   rm  r  r  rz  r  r  delete_mcallarg_trT  r<   r$   r#   r   r`  r`  9  s   -/I!#GH"<#A#A&&(B (|??((*D) *99<D# !,"D"D**,FJ ,,;;\E3 :;2?$IJ#55r#   r`  c                  B   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    ]! ]P8                  ]P:                  4      tR]R&    ]! ]P>                  ]P@                  4      t!R]R&    ]! ]PD                  ]PF                  4      t$R]R&    ]! ]PJ                  ]PL                  4      t'R]R&    ]! ]PP                  ]PR                  4      t*R]R&    ]! ]PV                  ]PX                  4      t-R]R&    ]! ]P\                  ]P^                  4      t0R]R&    ]! ]Pb                  ]Pd                  4      t3R]R&    ]! ]Ph                  ]Pj                  4      t6R]R&    ]! ]Pn                  ]Pp                  4      t9R]R&    ]! ]Pt                  ]Pv                  4      t<R ]R!&    R" t=R# R$ lt>R% R& lt?R' R( lt@R) R* ltAR+ R, ltBR- R. ltC]P                  tER/tFR0# )1mcallinfo_ti	  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mcallinfo_t.<lambda>
  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  
  r~   r#   r   r   rX  calleerX   
solid_argscall_spdstkargs_top'callcnv_t'ccr
  r   rG
  retregsr  return_typerd  return_arglocr.  return_regsspoiled	pass_regsro  visible_memory	dead_regsrW   'funcrole_t'rolez'type_attrs_t'	fti_attrsc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mcallinfo_t_swiginitnew_mcallinfo_tr   s   &*r   r   mcallinfo_t.__init__X  r
  r#   c                    V ^8  d   QhRRRR/# )rA   rO   rK   rC   rX   r$   )rE   s   "r   rF   mcallinfo_t.__annotate__\  s     < <M <S <r#   c                	.    \         P                  ! W4      # r.   )r   mcallinfo_t_lexcomparer   rO   s   &&r   r1  mcallinfo_t.lexcompare\  rB  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  _  s     = =Y =$ =r#   c                	.    \         P                  ! W4      # r.   )r   mcallinfo_t_set_typer  s   &&r   r  mcallinfo_t.set_type_  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r  b  s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   mcallinfo_t_get_typer   s   &r   r  mcallinfo_t.get_typeb  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  e  s     8 8$ 8r#   c                	.    \         P                  ! V 4      # r.   )r   mcallinfo_t_is_varargr   s   &r   	is_varargmcallinfo_t.is_vararge  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  h  r
  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   mcallinfo_t__printr   s   &*r   r  mcallinfo_t._printh  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r  k  rd  r#   c                	.    \         P                  ! V 4      # r.   )r   mcallinfo_t_dstrr   s   &r   r  mcallinfo_t.dstrk  r   r#   r$   N)Gr   r   r8   r9   r   r   r   r
   r   mcallinfo_t_callee_getmcallinfo_t_callee_setr  ro  mcallinfo_t_solid_args_getmcallinfo_t_solid_args_setr  mcallinfo_t_call_spd_getmcallinfo_t_call_spd_setr  mcallinfo_t_stkargs_top_getmcallinfo_t_stkargs_top_setr  mcallinfo_t_cc_getmcallinfo_t_cc_setr  mcallinfo_t_args_getmcallinfo_t_args_setr   mcallinfo_t_retregs_getmcallinfo_t_retregs_setr  mcallinfo_t_return_type_getmcallinfo_t_return_type_setr  mcallinfo_t_return_argloc_getmcallinfo_t_return_argloc_setr  mcallinfo_t_return_regs_getmcallinfo_t_return_regs_setr  mcallinfo_t_spoiled_getmcallinfo_t_spoiled_setr  mcallinfo_t_pass_regs_getmcallinfo_t_pass_regs_setr  mcallinfo_t_visible_memory_getmcallinfo_t_visible_memory_setr  mcallinfo_t_dead_regs_getmcallinfo_t_dead_regs_setr  mcallinfo_t_flags_getmcallinfo_t_flags_setrW   mcallinfo_t_role_getmcallinfo_t_role_setr  mcallinfo_t_fti_attrs_getmcallinfo_t_fti_attrs_setr  r   r1  r  r  r  r  r  delete_mcallinfo_trT  r<   r$   r#   r   r  r  	  s   -/I!#GH&|'J'J++-FO -|FF//1J 1\BB--/Hc / H H002K 2|>>'')B )"<#D#D))+D- +"<#G#G,,.GZ .%l##\%M%MOK O (%%|%%!'M: '%l##\%M%MOK O!,"F"F,,.GY .#L$J$J..0Iy 0!),&&&&"(NJ (#L$J$J..0Iy 0 ,<<lE3 !,"C"C))+D, + (!!<#I#I!KI~ K$<=78<3#66r#   r  c                  |   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ t]P<                  tR%t R&# )'mcases_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mcases_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   z'casevec_t'valuesr  targetsc                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   mcases_t.__annotate__  rH
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t_swapr   s   &&r   r   mcases_t.swap  rL
  r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___eq__r   s   &&r   r   mcases_t.__eq__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___ne__r   s   &&r   r  mcases_t.__ne__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___lt__r   s   &&r   rI  mcases_t.__lt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___gt__r   s   &&r   rN  mcases_t.__gt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___le__r   s   &&r   rS  mcases_t.__le__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t___ge__r   s   &&r   rX  mcases_t.__ge__  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r    r[  r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t_comparer   s   &&r   r^  mcases_t.compare  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcases_t_emptyr   s   &r   r   mcases_t.empty  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcases_t_sizer   s   &r   r   mcases_t.size  r.  r#   c                    V ^8  d   QhRRRR/# rA   r   rX   rC   rD   r$   )rE   s   "r   rF   r    s     5 5 5t 5r#   c                	.    \         P                  ! W4      # r.   )r   mcases_t_resizer   r   s   &&r   r   mcases_t.resize  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r&
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcases_t__printr   s   &r   r  mcases_t._print  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mcases_t_dstrr   s   &r   r  mcases_t.dstr  r.  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   mcases_t_swiginitnew_mcases_tr   s   &r   r   mcases_t.__init__  r  r#   r$   N)!r   r   r8   r9   r   r   r   r
   r   mcases_t_values_getmcases_t_values_setr  ro  mcases_t_targets_getmcases_t_targets_setr  r   r   r  rI  rN  rS  rX  r^  r   r   r   r  r  r   delete_mcases_trT  r<   r$   r#   r   r  r    s    -/I!#GH"<#C#C((*FK *"<#D#D))+GZ +3555555610520J#33r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt R+ R, lt!R- R. lt"R/ R0 lt#]PH                  t%R1t&R2# )3voff_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   voff_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r8    r~   r#   r   r   rX   r  r  r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   voff_t_swiginit
new_voff_tr   s   &*r   r   voff_t.__init__      $$T<+B+BD+IJr#   c               $    V ^8  d   QhRRRRRR/# )rA   _typer  r  rX   rC   rD   r$   )rE   s   "r   rF   voff_t.__annotate__  s!     : : : : :r#   c                	0    \         P                  ! WV4      # r.   )r   
voff_t_set)r   r@  r  s   &&&r   r    
voff_t.set  s    &&tD99r#   c                    V ^8  d   QhRRRR/# )rA   stkoffrX   rC   rD   r$   )rE   s   "r   rF   rA    s     < < < <r#   c                	.    \         P                  ! W4      # r.   )r   voff_t_set_stkoff)r   rF  s   &&r   
set_stkoffvoff_t.set_stkoff  r  r#   c                    V ^8  d   QhRRRR/# )rA   mregr,  rC   rD   r$   )rE   s   "r   rF   rA    s     7 7H 7 7r#   c                	.    \         P                  ! W4      # r.   )r   voff_t_set_reg)r   rL  s   &&r   set_regvoff_t.set_reg  r
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rA    s     / /d /r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_undefr   s   &r   undefvoff_t.undef  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    s     1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_definedr   s   &r   definedvoff_t.defined  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA         0 0t 0r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_is_regr   s   &r   r  voff_t.is_reg  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_is_stkoffr   s   &r   	is_stkoffvoff_t.is_stkoff  r   r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   rA    s     1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_get_regr   s   &r   get_regvoff_t.get_reg  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rA    s     4 43 4r#   c                	.    \         P                  ! V 4      # r.   )r   voff_t_get_stkoffr   s   &r   r  voff_t.get_stkoff  r   r#   c                    V ^8  d   QhRRRR/# )rA   deltarX   rC   rD   r$   )rE   s   "r   rF   rA    s     4 4 4 4r#   c                	.    \         P                  ! W4      # r.   )r   
voff_t_inc)r   ro  s   &&r   r  
voff_t.inc      &&t33r#   c                    V ^8  d   QhRRRR/# )rA   r  rX   rC   'voff_t'r$   )rE   s   "r   rF   rA    s     4 4 4 4r#   c                	.    \         P                  ! W4      # r.   )r   
voff_t_addr  s   &&r   r  
voff_t.add  rs  r#   c                    V ^8  d   QhRRRR/# rA   r   ru  rC   rX   r$   )rE   s   "r   rF   rA    s     1 1h 1# 1r#   c                	.    \         P                  ! W4      # r.   )r   voff_t_diffr   s   &&r   diffvoff_t.diff  rE  r#   c                    V ^8  d   QhRRRR/# rA   r   ru  rC   rY   r$   )rE   s   "r   rF   rA         3 3 3D 3r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___eq__r   s   &&r   r   voff_t.__eq__  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___ne__r   s   &&r   r  voff_t.__ne__  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___lt__r   s   &&r   rI  voff_t.__lt__  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rA  
  r  r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___gt__r   s   &&r   rN  voff_t.__gt__
  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___le__r   s   &&r   rS  voff_t.__le__  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rA    r  r#   c                	.    \         P                  ! W4      # r.   )r   voff_t___ge__r   s   &&r   rX  voff_t.__ge__  rL
  r#   c                    V ^8  d   QhRRRR/# rz  r$   )rE   s   "r   rF   rA         4 4 4S 4r#   c                	.    \         P                  ! W4      # r.   )r   voff_t_comparer   s   &&r   r^  voff_t.compare  r)  r#   r$   N)'r   r   r8   r9   r   r   r   r
   r   voff_t_off_getvoff_t_off_setr  ro  voff_t_type_getvoff_t_type_setr   r   r    rI  rO  rT  rY  r  rc  rh  r  r  r  r}  r   r  rI  rN  rS  rX  r^  delete_voff_trT  r<   r$   r#   r   r6  r6    s    -/I!#GH33\C l::LD( K:<7/103144413333334#11r#   r6  c                  n   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R tR	 R
 ltR-R R lltR-R R lltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt]P>                  t R+t!R,# ).vivl_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vivl_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   rX   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   vivl_t_swiginit
new_vivl_tr   s   &*r   r   vivl_t.__init__$  r>  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   vivl_t.__annotate__'  s     4 44 4r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. set(_type: mopt_t, _off: int, _size: int=0) -> None
    1. set(voff: const voff_t &, _size: int) -> None

# 0: set(_type: mopt_t, _off: int, _size: int=0) -> None


# 1: set(voff: const voff_t &, _size: int) -> None

)r   
vivl_t_setr   s   &*r   r    
vivl_t.set'  s     &&t3d33r#   c               $    V ^8  d   QhRRRRRR/# )rA   rF  rX   szrC   rD   r$   )rE   s   "r   rF   r  5  s&     @ @ @# @4 @r#   c                	0    \         P                  ! WV4      # r.   )r   vivl_t_set_stkoff)r   rF  r  s   &&&r   rI  vivl_t.set_stkoff5  s    --dB??r#   c               $    V ^8  d   QhRRRRRR/# )rA   rL  r,  r  rX   rC   rD   r$   )rE   s   "r   rF   r  8  s!     ; ;H ;# ;4 ;r#   c                	0    \         P                  ! WV4      # r.   )r   vivl_t_set_reg)r   rL  r  s   &&&r   rO  vivl_t.set_reg8  s    **4r::r#   c                    V ^8  d   QhRRRR/# rA   r   'vivl_t'rC   rY   r$   )rE   s   "r   rF   r  ;  s     < < <T <r#   c                .    \         P                  ! W4      # )zaExtend a value interval using another value interval of the same type 
        
:returns: success)r   vivl_t_extend_to_coverr   s   &&r   r  vivl_t.extend_to_cover;  r8  r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rX   r$   )rE   s   "r   rF   r  A  s     6 68 6s 6r#   c                .    \         P                  ! W4      # )z^Intersect value intervals the same type 
        
:returns: size of the resulting intersection)r   vivl_t_intersectr   s   &&r   rO  vivl_t.intersectA       ,,T55r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  G  s     4 4 4T 4r#   c                .    \         P                  ! W4      # )z Do two value intervals overlap?
)r   vivl_t_overlapr   s   &&r   r  vivl_t.overlapG  s     **433r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  L  s     5 5( 5d 5r#   c                .    \         P                  ! W4      # )z)Does our value interval include another?
)r   vivl_t_includesr   s   &&r   rZ  vivl_t.includesL  s     ++D44r#   c                    V ^8  d   QhRRRR/# )rA   voff2ru  rC   rY   r$   )rE   s   "r   rF   r  Q  s     9 9h 9$ 9r#   c                .    \         P                  ! W4      # )z<Does our value interval contain the specified value offset?
)r   vivl_t_contains)r   r  s   &&r   r  vivl_t.containsQ  s     ++D88r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  V  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t___ne__r   s   &&r   r  vivl_t.__ne__V  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  Y  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t___lt__r   s   &&r   rI  vivl_t.__lt__Y  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  \  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t___gt__r   s   &&r   rN  vivl_t.__gt__\  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  _  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t___le__r   s   &&r   rS  vivl_t.__le___  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  b  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t___ge__r   s   &&r   rX  vivl_t.__ge__b  rL
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  e  r  r#   c                	.    \         P                  ! W4      # r.   )r   vivl_t_comparer   s   &&r   r^  vivl_t.comparee  r)  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  h  r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   vivl_t___eq__r   s   &*r   r   vivl_t.__eq__h  r4  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  k  r\  r#   c                	.    \         P                  ! V 4      # r.   )r   vivl_t__printr   s   &r   r  vivl_t._printk  r.  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r  n  s     . .S .r#   c                	.    \         P                  ! V 4      # r.   )r   vivl_t_dstrr   s   &r   r  vivl_t.dstrn  r  r#   r$   Nr  )"r   r   r8   r9   r   r   r   r
   r   vivl_t_size_getvivl_t_size_setr   ro  r   r    rI  rO  r  rO  r  rZ  r  r  rI  rN  rS  rX  r^  r   r  r  delete_vivl_trT  r<   r$   r#   r   r  r    s    -/I!#GH55|D# K4@;<64
5
9
33333470.#11r#   r  c                  F   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    ]! ]P                   ]P"                  4      tR	]R
&    R tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% lt R& R' lt!R( R) lt"R* R+ lt#R, R- lt$R. R/ lt%R0 R1 lt&R2 R3 lt'R4 R5 lt(R6 R7 lt)R8 R9 lt*R: R; lt+]PX                  t-R<t.R=# )>chain_tiv  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   chain_t.<lambda>w  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  w  r~   r#   r   r   rX   r  varnumr  rW   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   chain_t_swiginitnew_chain_tr   s   &*r   r   chain_t.__init__  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   	'chain_t'rC   rD   r$   )rE   s   "r   rF   chain_t.__annotate__  s     7 79 7 7r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_set_valuer   s   &&r   	set_valuechain_t.set_value  r   r#   c                   V ^8  d   QhRR/# )rA   rC   z'voff_t const &'r$   )rE   s   "r   rF   r    s     . .$ .r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_keyr   s   &r   r_   chain_t.key  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         4 4$ 4r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_initedr   s   &r   	is_initedchain_t.is_inited  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r/  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_regr   s   &r   r  chain_t.is_reg  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_stkoffr   s   &r   rc  chain_t.is_stkoff  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         6 6D 6r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_replacedr   s   &r   is_replacedchain_t.is_replaced  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         8 8d 8r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_overlappedr   s   &r   is_overlappedchain_t.is_overlapped  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         2 2 2r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_faker   s   &r   is_fakechain_t.is_fake  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_passregr   s   &r   
is_passregchain_t.is_passreg  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r*  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_is_termr   s   &r   is_termchain_t.is_term  r   r#   c                    V ^8  d   QhRRRR/# rA   rP	  rY   rC   rD   r$   )rE   s   "r   rF   r    s     8 8D 8D 8r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_set_initedr   rP	  s   &&r   
set_initedchain_t.set_inited  r  r#   c                    V ^8  d   QhRRRR/# r:  r$   )rE   s   "r   rF   r    s     : :d :d :r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_set_replacedr=  s   &&r   set_replacedchain_t.set_replaced  r  r#   c                    V ^8  d   QhRRRR/# r:  r$   )rE   s   "r   rF   r    s     < < < <r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_set_overlappedr=  s   &&r   set_overlappedchain_t.set_overlapped  rB  r#   c                    V ^8  d   QhRRRR/# r:  r$   )rE   s   "r   rF   r    s     6 6$ 6$ 6r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_set_termr=  s   &&r   set_termchain_t.set_term  r
  r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   r    s     2 2 2r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_get_regr   s   &r   rh  chain_t.get_reg  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     5 53 5r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_get_stkoffr   s   &r   r  chain_t.get_stkoff  r   r#   c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   r         5 5 5d 5r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_overlapr   s   &&r   r  chain_t.overlap  r   r#   c                    V ^8  d   QhRRRR/# rX  r$   )rE   s   "r   rF   r    s     6 6) 6t 6r#   c                	.    \         P                  ! W4      # r.   )r   chain_t_includesr   s   &&r   rZ  chain_t.includes  r
  r#   c                   V ^8  d   QhRR/# )rA   rC   z'voff_t const'r$   )rE   s   "r   rF   r         1 1~ 1r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_endoffr   s   &r   endoffchain_t.endoff  r
  r#   c                    V ^8  d   QhRRRR/# rX  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   chain_t___lt__r   s   &&r   rI  chain_t.__lt__  r)  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r/  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t__printr   s   &r   r  chain_t._print  r
  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_dstrr   s   &r   r  chain_t.dstr  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r[  r_  r  r.  rC   rD   r$   )rE   s   "r   rF   r    s&     A Aw Ai A4 Ar#   c                0    \         P                  ! WV4      # )zEAppend the contents of the chain to the specified list of locations.
)r   chain_t_append_list)r   r[  r  s   &&&r   r2  chain_t.append_list  s     //4@@r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         7 7T 7r#   c                	.    \         P                  ! V 4      # r.   )r   chain_t_clear_varnumr   s   &r   clear_varnumchain_t.clear_varnum  ro  r#   r$   N)/r   r   r8   r9   r   r   r   r
   r   chain_t_width_getchain_t_width_setr  ro  chain_t_varnum_getchain_t_varnum_setr  chain_t_flags_getchain_t_flags_setrW   r   r	  r_   r  r  rc  r!  r'  r-  r2  r7  r>  rC  rH  rM  rh  r  r  rZ  re  rI  r  r  r2  r{  delete_chain_trT  r<   r$   r#   r   r  r  v  s   -/I!#GH,88,E3 <::LFC l<<lE7 M7.414682528:<62556141/A
7#22r#   r  c                      ] tR tRt]! R R RR7      t]tRR R lltRR R	 llt	R
 R lt
R R ltR R ltR t]P                  tRtR# )block_chains_ti  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   block_chains_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   c               $    V ^8  d   QhRRRRRR/# )rA   rT  r,  r  rX   rC   'chain_t *'r$   )rE   s   "r   rF   block_chains_t.__annotate__  s&     K K K# K; Kr#   c                0    \         P                  ! WV4      # )zrGet chain for the specified register 
        
:param reg: register number
:param width: size of register in bytes)r   block_chains_t_get_reg_chain)r   rT  r  s   &&&r   get_reg_chainblock_chains_t.get_reg_chain      
 88EJJr#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX   r  rC   r  r$   )rE   s   "r   rF   r    s&     K K KS Kk Kr#   c                0    \         P                  ! WV4      # )zvGet chain for the specified stack offset 
        
:param off: stack offset
:param width: size of stack value in bytes)r   block_chains_t_get_stk_chain)r   r  r  s   &&&r   get_stk_chainblock_chains_t.get_stk_chain  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r    s     B B Br#   c                2    \         P                  ! V .VO5!  # )at  This function has the following signatures:

    0. get_chain(k: const voff_t &, width: int=1) -> const chain_t *
    1. get_chain(k: const voff_t &, width: int=1) -> chain_t *
    2. get_chain(ch: const chain_t &) -> const chain_t *
    3. get_chain(ch: const chain_t &) -> chain_t *

# 0: get_chain(k: const voff_t &, width: int=1) -> const chain_t *

Get chain for the specified value offset. 
        

# 1: get_chain(k: const voff_t &, width: int=1) -> chain_t *


# 2: get_chain(ch: const chain_t &) -> const chain_t *

Get chain similar to the specified chain 
        

# 3: get_chain(ch: const chain_t &) -> chain_t *

)r   block_chains_t_get_chainr   s   &*r   	get_chainblock_chains_t.get_chain  s    0 44TADAAr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_t__printr   s   &r   r  block_chains_t._print  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   block_chains_t_dstrr   s   &r   r  block_chains_t.dstr  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   block_chains_t_swiginitnew_block_chains_tr   s   &r   r   block_chains_t.__init__  r  r#   r$   Nrm  )r   r   r8   r9   r   r   r   r
   r  r  r  r  r  r   r   delete_block_chains_trT  r<   r$   r#   r   r  r    sI    -/I!#GHKKB486" $99r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]P                  tR R	 ltR
 tR tRtR# )chain_visitor_ti'  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   chain_visitor_t.<lambda>(  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  (  r~   r#   r   r   r  parentc               $    V ^8  d   QhRRRRRR/# )rA   nblockrX   chr  rC   r$   )rE   s   "r   rF   chain_visitor_t.__annotate__1  s&     J J# J9 J Jr#   c                	0    \         P                  ! WV4      # r.   )r   chain_visitor_t_visit_chain)r   r  r  s   &&&r   visit_chainchain_visitor_t.visit_chain1  s    77bIIr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   chain_visitor_t_swiginitnew_chain_visitor_tr#  s   & r   r   chain_visitor_t.__init__4  s=    >>_,EE--dL5  %5' 	(r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_chain_visitor_tr  r  r   s   &r   r  chain_visitor_t.__disown__<  rL  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   chain_visitor_t_parent_getchain_visitor_t_parent_setr  ro  delete_chain_visitor_trT  r  r   r  r<   r$   r#   r   r  r  '  s_    -/I!#GH!),""L$K$K"MF M#::J(#r#   r  c                      ] tR tRt]! R R RR7      t]t]P                  t
R R ltR R	 ltR
 R ltR R ltR R ltR tRtR# )graph_chains_tiE  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   graph_chains_t.<lambda>F  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r  F  r~   r#   r   r   c               $    V ^8  d   QhRRRRRR/# )rA   cv'chain_visitor_t'	gca_flagsrX   rC   r$   )rE   s   "r   rF   graph_chains_t.__annotate__K  s'     O O!2 Os Oc Or#   c                0    \         P                  ! WV4      # )z^Visit all chains 
        
:param cv: chain visitor
:param gca_flags: combination of GCA_ bits)r   graph_chains_t_for_all_chains)r   r  r  s   &&&r   for_all_chainsgraph_chains_t.for_all_chainsK  s    
 99$INNr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  R  s     ; ;$ ;r#   c                .    \         P                  ! V 4      # )zAre the chains locked? It is a good idea to lock the chains before using them. This ensures that they won't be recalculated and reallocated during the use. See the chain_keeper_t class for that. 
        )r   graph_chains_t_is_lockedr   s   &r   	is_lockedgraph_chains_t.is_lockedR  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  W  r  r#   c                .    \         P                  ! V 4      # )zLock the chains.
)r   graph_chains_t_acquirer   s   &r   r  graph_chains_t.acquireW  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  \  r  r#   c                .    \         P                  ! V 4      # )zUnlock the chains.
)r   graph_chains_t_releaser   s   &r   rt  graph_chains_t.release\  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'graph_chains_t'rC   rD   r$   )rE   s   "r   rF   r  a  r6  r#   c                	.    \         P                  ! W4      # r.   )r   graph_chains_t_swapr   s   &&r   r   graph_chains_t.swapa  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   graph_chains_t_swiginitnew_graph_chains_tr   s   &r   r   graph_chains_t.__init__d  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_graph_chains_trT  r  r  r  rt  r   r   r<   r$   r#   r   r  r  E  sE    -/I!#GH#99O;
9
9
9"r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR
]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    ]! ]P8                  ]P:                  4      tR]R&    ]! ]P>                  ]P@                  4      t!R]R&    R R lt"R R lt#R R lt$R R lt%R R lt&R R lt'R R  lt(R! R" lt)R# R$ lt*R% R& lt+R' R( lt,R) R* lt-R+ R, lt.R- R. lt/R/ R0 lt0R1 R2 lt1R3 R4 lt2R5 R6 lt3R7 R8 lt4R9 R: lt5R; R< lt6R= R> lt7R? R@ lt8RA RB lt9RC RD lt:RE RF lt;RG RH lt<RI RJ lt=RK RL lt>RM RN lt?RO RP lt@RQ RR ltARS RT ltBRU RV ltCRW RX ltDRY RZ ltER[ R\ ltFR] R^ ltGR_ R` ltHRa Rb ltIRc Rd ltJRe Rf ltKRg Rh ltLRi Rj ltMRk Rl ltNRm Rn ltORo Rp ltPRq tQRr Rs ltRRt Ru ltSRv Rw ltTRx Ry ltURRz R{ lltVRR| R} lltWR~ R ltXR R ltYR R ltZR R lt[R R lt\R R lt]RR R llt^R R lt_R R lt`RR R lltaRR R lltbRR R lltcR R ltdR R lteR R ltfR R ltgR R lthR R ltiR R ltjR R ltk]l3R R lltmR R ltnR R ltoR R ltpR R ltqR R ltrR R ltsR R lttR R ltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|]! ]|4      t}R t~R tR tR tR tR tR tR t]! ]4      t]EP                  tRtR# )r,  i~  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   minsn_t.<lambda>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r    r~   r#   r   r   r   opcoderX   ipropsr  r`  prevrX  r  rT
  r  r   rX  c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   minsn_t.__annotate__  r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_optionalr   s   &r   is_optionalminsn_t.is_optional  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_combinedr   s   &r   is_combinedminsn_t.is_combined  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_farcallr   s   &r   
is_farcallminsn_t.is_farcall  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         : : :r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_cleaning_popr   s   &r   is_cleaning_popminsn_t.is_cleaning_pop  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_extstxr   s   &r   	is_extstxminsn_t.is_extstx  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_tailcallr   s   &r   is_tailcallminsn_t.is_tailcall  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_fpinsnr   s   &r   	is_fpinsnminsn_t.is_fpinsn  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_assertr   s   &r   	is_assertminsn_t.is_assert  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_persistentr   s   &r   is_persistentminsn_t.is_persistent  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_wild_matchr   s   &r   is_wild_matchminsn_t.is_wild_match  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_propagatabler   s   &r   is_propagatableminsn_t.is_propagatable  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_ignlowsrcr   s   &r   is_ignlowsrcminsn_t.is_ignlowsrc  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         9 9t 9r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_inverted_jxr   s   &r   is_inverted_jxminsn_t.is_inverted_jx  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_was_noret_icallr   s   &r   was_noret_icallminsn_t.was_noret_icall  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_multimovr   s   &r   is_multimovminsn_t.is_multimov  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_combinabler   s   &r   is_combinableminsn_t.is_combinable  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_was_splitr   s   &r   	was_splitminsn_t.was_split  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_mbarrierr   s   &r   is_mbarrierminsn_t.is_mbarrier  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_was_unmergedr   s   &r   was_unmergedminsn_t.was_unmerged  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_was_unpairedr   s   &r   was_unpairedminsn_t.was_unpaired  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_optionalr   s   &r   set_optionalminsn_t.set_optional  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_combinedr   s   &r   clr_combinedminsn_t.clr_combined  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_farcallr   s   &r   set_farcallminsn_t.set_farcall  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r         ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_cleaning_popr   s   &r   set_cleaning_popminsn_t.set_cleaning_pop  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_extstxr   s   &r   
set_extstxminsn_t.set_extstx  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_tailcallr   s   &r   set_tailcallminsn_t.set_tailcall  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_tailcallr   s   &r   clr_tailcallminsn_t.clr_tailcall  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_fpinsnr   s   &r   
set_fpinsnminsn_t.set_fpinsn  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_fpinsnr   s   &r   
clr_fpinsnminsn_t.clr_fpinsn  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_assertr   s   &r   
set_assertminsn_t.set_assert  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rS  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_assertr   s   &r   
clr_assertminsn_t.clr_assert  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r     r+   r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_persistentr   s   &r   set_persistentminsn_t.set_persistent   r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r+   r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_wild_matchr   s   &r   set_wild_matchminsn_t.set_wild_match  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rc   r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_propagatabler   s   &r   clr_propagatableminsn_t.clr_propagatable  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  	  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_ignlowsrcr   s   &r   set_ignlowsrcminsn_t.set_ignlowsrc	  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_ignlowsrcr   s   &r   clr_ignlowsrcminsn_t.clr_ignlowsrc  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_inverted_jxr   s   &r   set_inverted_jxminsn_t.set_inverted_jx  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_noret_icallr   s   &r   set_noret_icallminsn_t.set_noret_icall  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_noret_icallr   s   &r   clr_noret_icallminsn_t.clr_noret_icall  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_multimovr   s   &r   set_multimovminsn_t.set_multimov  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_multimovr   s   &r   clr_multimovminsn_t.clr_multimov  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r+   r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_combinabler   s   &r   set_combinableminsn_t.set_combinable  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  !  r+   r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_clr_combinabler   s   &r   clr_combinableminsn_t.clr_combinable!  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  $  rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_mbarrierr   s   &r   set_mbarrierminsn_t.set_mbarrier$  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  '  rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_set_unmergedr   s   &r   set_unmergedminsn_t.set_unmerged'  ro  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r  *       < < <t <r#   c                	.    \         P                  ! W4      # r.   )r   minsn_t_set_split_sizer"  s   &&r   set_split_sizeminsn_t.set_split_size*  rB  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  -  s     9 9s 9r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_get_split_sizer   s   &r   get_split_sizeminsn_t.get_split_size-  r  r#   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   minsn_t_swiginitnew_minsn_tr   s   &*r   r   minsn_t.__init__0  r  r#   c                    V ^8  d   QhRRRR/# r3  r$   )rE   s   "r   rF   r  3       2 2i 24 2r#   c                .    \         P                  ! W4      # )zSwap two instructions. The prev/next fields are not modified by this function because it would corrupt the doubly linked list. 
        )r   minsn_t_swapr  s   &&r   r   minsn_t.swap3       ((11r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  8  r$  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   minsn_t__printr   s   &*r   r  minsn_t._print8  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r  ;  s     / /S /r#   c                .    \         P                  ! V 4      # )z6Get displayable text without tags in a static buffer.
)r   minsn_t_dstrr   s   &r   r  minsn_t.dstr;  r{  r#   c                    V ^8  d   QhRRRR/# )rA   new_earX  rC   rD   r$   )rE   s   "r   rF   r  @  s     : :o : :r#   c                .    \         P                  ! W4      # )zYChange the instruction address. This function modifies subinstructions as well. 
        )r   minsn_t_setaddr)r   r   s   &&r   setaddrminsn_t.setaddr@  s     ++D99r#   c                    V ^8  d   QhRRRR/# )rA   r  rX   rC   r$   )rE   s   "r   rF   r  E  s     B Bc Bs Br#   c                .    \         P                  ! W4      # )a  Optimize one instruction without context. This function does not have access to the instruction context (the previous and next instructions in the list, the block number, etc). It performs only basic optimizations that are available without this info. 
        
:param optflags: combination of optimization flags bits
:returns: number of changes, 0-unchanged See also mblock_t::optimize_insn())r   minsn_t_optimize_solo)r   r  s   &&r   optimize_solominsn_t.optimize_soloE  s    
 11$AAr#   c               0    V ^8  d   QhRRRRRRRRRR	R
R	/# )rA   rK  rL  r2  rN  r  converted_callz'ea_t *'r  rX   rC   r$   )rE   s   "r   rF   r  L  s:     & &J &Y &&#+&7:&@C&r#   c                2    \         P                  ! WW#WE4      # )zaOptimize instruction in its context. Do not use this function, use mblock_t::optimize() 
        )r   minsn_t_optimize_subtree)r   rK  r2  r  r   r  s   &&&&&&r   optimize_subtreeminsn_t.optimize_subtreeL  s     44T& 	&r#   c                    V ^8  d   QhRRRR/# rA   r4  r5  rC   rX   r$   )rE   s   "r   rF   r  S  s     : :o : :r#   c                .    \         P                  ! W4      # )zVisit all instruction operands. This function visits subinstruction operands as well. 
        
:param mv: operand visitor
:returns: non-zero value returned by mv.visit_mop() or zero)r   minsn_t_for_all_opsr   r4  s   &&r   r8  minsn_t.for_all_opsS      
 //99r#   c                    V ^8  d   QhRRRR/# rA   r4  z'minsn_visitor_t'rC   rX   r$   )rE   s   "r   rF   r  Z  s     < < 1 <S <r#   c                .    \         P                  ! W4      # )zVisit all instructions. This function visits the instruction itself and all its subinstructions. 
        
:param mv: instruction visitor
:returns: non-zero value returned by mv.visit_mop() or zero)r   minsn_t_for_all_insnsr!  s   &&r   for_all_insnsminsn_t.for_all_insnsZ  s    
 11$;;r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r  a       4 4$ 4r#   c                .    \         P                  ! V 4      # )zConvert instruction to nop. This function erases all info but the prev/next fields. In most cases it is better to use mblock_t::make_nop(), which also marks the block lists as dirty. 
        )r   minsn_t__make_nopr   s   &r   	_make_nopminsn_t._make_nopa  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rN  r  rX   rC   rY   r$   )rE   s   "r   rF   r  f  s&     B BY B B Br#   c                0    \         P                  ! WV4      # )zCompare instructions. This is the main comparison function for instructions. 
        
:param m: instruction to compare with
:param eqflags: combination of comparison bits bits)r   minsn_t_equal_insns)r   r  r  s   &&&r   equal_insnsminsn_t.equal_insnsf  s    
 //AAr#   c                    V ^8  d   QhRRRR/# )rA   rirN  rC   rY   r$   )rE   s   "r   rF   r  m  rY  r#   c                	.    \         P                  ! W4      # r.   )r   minsn_t___lt__r   r!  s   &&r   rI  minsn_t.__lt__m  rD  r#   c                    V ^8  d   QhRRRR/# )rA   r!  rN  rC   rX   r$   )rE   s   "r   rF   r  p  s     9 9Y 9# 9r#   c                	.    \         P                  ! W4      # r.   )r   minsn_t_lexcomparer!  s   &&r   r1  minsn_t.lexcomparep  rQ  r#   c                    V ^8  d   QhRRRR/# rV   r$   )rE   s   "r   rF   r  s  s     ? ?3 ?D ?r#   c                .    \         P                  ! W4      # )zMIs a non-returing call? 
        
:param flags: combination of NORET_... bits)r   minsn_t_is_noret_call)r   rW   s   &&r   is_noret_callminsn_t.is_noret_calls  s     11$>>r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r  y       : : :r#   c                .    \         P                  ! V 4      # )zIs an unknown call? Unknown calls are calls without the argument list (mcallinfo_t). Usually the argument lists are determined by mba_t::analyze_calls(). Unknown calls exist until the MMAT_CALLS maturity level. See also mblock_t::is_call_block 
        )r   minsn_t_is_unknown_callr   s   &r   is_unknown_callminsn_t.is_unknown_cally  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   ry  rC   rY   r$   )rE   s   "r   rF   r  ~  s     : :c :T :r#   c                .    \         P                  ! W4      # )zIs a helper call with the specified name? Helper calls usually have well-known function names (see Well known function names) but they may have any other name. The decompiler does not assume any special meaning for non-well-known names. 
        )r   minsn_t_is_helperr  s   &&r   	is_helperminsn_t.is_helper~  r  r#   c                    V ^8  d   QhRRRR/# )rA   with_helpersrY   rC   r  r$   )rE   s   "r   rF   r    s     B Bd BK Br#   c                .    \         P                  ! W4      # )zFind a call instruction. Check for the current instruction and its subinstructions. 
        
:param with_helpers: consider helper calls as well?)r   minsn_t_find_callr   r2!  s   &&r   	find_callminsn_t.find_call  s     --dAAr#   c                    V ^8  d   QhRRRR/# )rA   r2!  rY   rC   r$   )rE   s   "r   rF   r    s     F F$ F Fr#   c                .    \         P                  ! W4      # )z%Does the instruction contain a call?
)r   minsn_t_contains_callr5!  s   &&r   contains_callminsn_t.contains_call  s     11$EEr#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r    s      T 4 r#   c                .    \         P                  ! W4      # )zDoes the instruction have a side effect? 
        
:param include_ldx_and_divs: consider ldx/div/mod as having side effects? stx is always considered as having side effects. Apart from ldx/std only call may have side effects.)r   minsn_t_has_side_effectsr  s   &&r   r  minsn_t.has_side_effects  s     44T  	r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r    s     3 3 3r#   c                .    \         P                  ! V 4      # )z!Get the function role of a call.
)r   minsn_t_get_roler   s   &r   get_roleminsn_t.get_role  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_memcpyr   s   &r   	is_memcpyminsn_t.is_memcpy  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_memsetr   s   &r   	is_memsetminsn_t.is_memset  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_allocar   s   &r   	is_allocaminsn_t.is_alloca  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_bswapr   s   &r   is_bswapminsn_t.is_bswap  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_readflagsr   s   &r   is_readflagsminsn_t.is_readflags  ro  r#   c                    V ^8  d   QhRRRR/# r%  r$   )rE   s   "r   rF   r         A AY A$ Ar#   c                .    \         P                  ! W4      # )zDoes the instruction have the specified opcode? This function searches subinstructions as well. 
        
:param mcode: opcode to search for.)r   minsn_t_contains_opcoder   r  s   &&r   contains_opcodeminsn_t.contains_opcode  s     33D@@r#   c                    V ^8  d   QhRRRR/# )rA   r  r   rC   r  r$   )rE   s   "r   rF   r    s     = = =k =r#   c                .    \         P                  ! W4      # )z_Find a (sub)insruction with the specified opcode. 
        
:param mcode: opcode to search for.)r   minsn_t_find_opcoderc!  s   &&r   find_opcodeminsn_t.find_opcode  s     //<<r#   c                    V ^8  d   QhRRRR/# )rA   rW  r   rC   r  r$   )rE   s   "r   rF   r    s     : :i : :r#   c                .    \         P                  ! W4      # )zFind an operand that is a subinsruction with the specified opcode. This function checks only the 'l' and 'r' operands of the current insn. 
        
:param op: opcode to search for
:returns: &l or &r or nullptr)r   minsn_t_find_ins_opr  s   &&r   find_ins_opminsn_t.find_ins_op  r!  r#   c                   V ^8  d   QhRR/# rN
  r$   )rE   s   "r   rF   r    s     6 6I 6r#   c                .    \         P                  ! V 4      # )zFind a numeric operand of the current instruction. This function checks only the 'l' and 'r' operands of the current insn. 
        
:returns: &l or &r or nullptr)r   minsn_t_find_num_opr   s   &r   find_num_opminsn_t.find_num_op       //55r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    r/  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_movr   s   &r   is_movminsn_t.is_mov  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    rx  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_is_like_mover   s   &r   is_like_moveminsn_t.is_like_move  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     5 54 5r#   c                .    \         P                  ! V 4      # )ztDoes the instruction modify its 'd' operand? Some instructions (e.g. m_stx) do not modify the 'd' operand. 
        )r   minsn_t_modifies_dr   s   &r   
modifies_dminsn_t.modifies_d  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r    s     < <$ <r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t_modifies_pair_mopr   s   &r   modifies_pair_mopminsn_t.modifies_pair_mop  r2  r#   c               $    V ^8  d   QhRRRRRR/# )rA   m1rN  m2rC   rY   r$   )rE   s   "r   rF   r    s!     = =Y =I = =r#   c                0    \         P                  ! WV4      # )a:  Is the instruction in the specified range of instructions? 
        
:param m1: beginning of the range in the doubly linked list
:param m2: end of the range in the doubly linked list (excluded, may be nullptr) This function assumes that m1 and m2 belong to the same basic block and they are top level instructions.)r   minsn_t_is_between)r   r!  r!  s   &&&r   
is_betweenminsn_t.is_between  s    
 ..t<<r#   c                    V ^8  d   QhRRRR/# )rA   r  rN  rC   rY   r$   )rE   s   "r   rF   r    s     6 6) 6t 6r#   c                .    \         P                  ! W4      # )znIs the instruction after the specified one? 
        
:param m: the instruction to compare against in the list)r   minsn_t_is_afterr  s   &&r   is_afterminsn_t.is_after  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         A At Ar#   c                .    \         P                  ! V 4      # )z:Is it possible for the instruction to use aliased memory?
)r   minsn_t_may_use_aliased_memoryr   s   &r   r  minsn_t.may_use_aliased_memory       ::4@@r#   c                    V ^8  d   QhRRRR/# )rA   rP	  z'bytevec_t *'rC   rX   r$   )rE   s   "r   rF   r    s     7 7= 7C 7r#   c                .    \         P                  ! W4      # )z}Serialize an instruction 
        
:param b: the output buffer
:returns: the serialization format that was used to store info)r   minsn_t_serializer=  s   &&r   r[  minsn_t.serialize  s    
 --d66r#   c               $    V ^8  d   QhRRRRRR/# )rA   r`  ra  format_versionrX   rC   rY   r$   )rE   s   "r   rF   r    s&     M M M# M Mr#   c                0    \         P                  ! WV4      # )zDeserialize an instruction 
        
:param bytes: pointer to serialized data
:param format_version: serialization format version. this value is returned by minsn_t::serialize()
:returns: success)r   minsn_t_deserialize)r   r`  r!  s   &&&r   rd  minsn_t.deserialize  s     //^LLr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t__registerr   s   &r   r  minsn_t._register  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t__deregisterr   s   &r   r  minsn_t._deregister  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r         < <# <r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t___dbg_get_meminfor   s   &r   r  minsn_t.__dbg_get_meminfo  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r         D D# Dr#   c                	.    \         P                  ! V 4      # r.   )r   !minsn_t___dbg_get_registered_kindr   s   &r   r  !minsn_t.__dbg_get_registered_kind  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r         2 2 2r#   c                	.    \         P                  ! V 4      # r.   )r   minsn_t__obj_idr   s   &r   r  minsn_t._obj_id  r   r#   c                	:    V'       g   \        R V,          4      hR# r  r  r  s   &&&r   rw  minsn_t._ensure_cond   r  r#   c                	L    V'       d   Ve   \        V : RV: RV: R24      hR# r  r  r  s   &&&&r   r  minsn_t._ensure_no_obj   r  r#   c                	N    VP                   '       g   \        R V,          4      hR# r  r  r8  s   &&r   r  'minsn_t._ensure_ownership_transferrable   r  r#   c                	    V'       dY   VeU   \        V\        P                  4      '       g5   V P                  V4       RVn        \        VRR 4      pV'       d   V! 4        R# r	  r
  r  s   &&& r   rz  minsn_t._acquire_ownership   r  r#   c                	\    V P                   '       d   R V n         V P                  4        R# R# r  r  r   s   &r   r  $minsn_t._maybe_disown_and_deregister   r  r#   c                	\    V P                   '       d   Q hR V n         V P                  4        R# r  r  r   s   &r   r  minsn_t._own_and_register    r  r#   c                	    \        V\        \        34      '       g   Q hVP                  4        V P	                  V4       R # r.   r  r"  s   &&r   r#  minsn_t.replace_by%   r%  r#   c                	    V P                  4       pV P                  4       p. ROV,          pV: RV P                  : RV: R2# r'  )_minsn_t__dbg_get_meminfo!_minsn_t__dbg_get_registered_kindr   r/  s   &   r   r3  minsn_t._meminfo*   r5  r#   r'  Nr  )rA   r8  )r   r   r8   r9   r   r   r   r
   r   minsn_t_opcode_getminsn_t_opcode_setr  ro  minsn_t_iprops_getminsn_t_iprops_setr  minsn_t_next_getminsn_t_next_setr`  minsn_t_prev_getminsn_t_prev_setr  minsn_t_ea_getminsn_t_ea_setr  minsn_t_l_getminsn_t_l_setr  minsn_t_r_getminsn_t_r_setr   minsn_t_d_getminsn_t_d_setrX  r  r  r  r    r   r
   r   r   r   r   r#   r(   r.   r3   r8   r=   rB   rG   rL   rQ   rV   r[   r`   rf   rk   rp   ru   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r8  r
!  r!  r!  rI  r1  r$!  r*!  r/!  r6!  r;!  r  rD!  rI!  rN!  rS!  rX!  r]!  rd!  ri!  m_noprn!  rs!  ry!  r~!  r!  r!  r!  r!  r  r[  rd  r  r  r!  r!  r  r3  rw  r  r  rz  r  r  r#  r3  r4  delete_minsn_trT  r<   r$   r#   r   r,  r,  ~  sf   -/I!#GH !@!@'')FI )<::LFC  !>!>%%'D+ ' !>!>%%'D+ '"<#>#>##%B %,44lAw ,44lAw ,44lAw 665:464488:79:684677776;577555599;88:::779977<9M2
8/
:
B&:<4
B59?:
:
BF
3
44437A= ). :6175
<=6A
7M46<D2gF
M


  x G#22r#   r,  c                    V ^8  d   QhRRRR/# rA   r  rN  rC   r  r$   )rE   s   "r   rF   rF           * *i *; *r#   c                .    \         P                  ! V 4      # )zSkip assertions forward.
)r   getf_reginsnr  s   &r   r!  r!          $$S))r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   rF      r!  r#   c                .    \         P                  ! V 4      # )zSkip assertions backward.
)r   getb_reginsnr!  s   &r   r!  r!     r!  r#   c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R?R
 R lltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& t]tR' R( lt R) R* lt!R+ R, lt"R- R. lt#R/ R0 lt$R1 R2 lt%R3 R4 lt&R5 R6 lt'R7 R8 lt(R9 R: lt)R; R< lt*]PV                  t,R=t-R># )@
intval64_ti   c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   intval64_t.<lambda>   rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r!     r~   r#   r   r   rl  rg   rX   r   c                    V ^8  d   QhRRRR/# )rA   r}   rl  _srX   r$   )rE   s   "r   rF   intval64_t.__annotate__   s      ( # r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   intval64_t_swiginitnew_intval64_t)r   r}   r!  s   &&&r   r   intval64_t.__init__   s"    ((|/J/J0 	r#   c                   V ^8  d   QhRR/# rF  r$   )rE   s   "r   rF   r!     s     2 2W 2r#   c                	.    \         P                  ! V 4      # r.   )r   intval64_t_svalr   s   &r   svalintval64_t.sval   r   r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r!     s     2 2X 2r#   c                	.    \         P                  ! V 4      # r.   )r   intval64_t_uvalr   s   &r   uvalintval64_t.uval   r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r!     r   r#   c                	.    \         P                  ! V 4      # r.   )r   intval64_t__printr   s   &r   r  intval64_t._print   r   r#   c                    V ^8  d   QhRRRR/# rA   r  'intval64_t'rC   rY   r$   )rE   s   "r   rF   r!     r   r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___eq__r"  s   &&r   r   intval64_t.__eq__   r   r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r!     r   r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___ne__r"  s   &&r   r  intval64_t.__ne__   r   r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r!     r   r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___lt__r"  s   &&r   rI  intval64_t.__lt__   r   r#   c                    V ^8  d   QhRRRR/# rA   	target_szrX   rC   r"  r$   )rE   s   "r   rF   r!          = =c =\ =r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_sextr   r"  s   &&r   sextintval64_t.sext       ++D<<r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r!     r"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_zextr"  s   &&r   zextintval64_t.zext   r"  r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r!     s     < <S <L <r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_lowr"  s   &&r   lowintval64_t.low   s    **4;;r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r!     r"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_highr"  s   &&r   highintval64_t.high   r"  r#   c                    V ^8  d   QhRRRR/# rA   r  r"  rC   r$   )rE   s   "r   rF   r!          8 8 8 8r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___add__r"  s   &&r   __add__intval64_t.__add__   r  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     r-"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___sub__r"  s   &&r   __sub__intval64_t.__sub__   r  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     r-"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___mul__r"  s   &&r   __mul__intval64_t.__mul__   r  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   intval64_t___truediv__r   s   &*r   __truediv__intval64_t.__truediv__   r  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!          5 5l 5l 5r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_sdivr"  s   &&r   sdivintval64_t.sdiv   r   r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     r-"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___mod__r"  s   &&r   __mod__intval64_t.__mod__   r  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     rA"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_smodr"  s   &&r   smodintval64_t.smod   r   r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!          ; ;L ;L ;r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___lshift__r"  s   &&r   
__lshift__intval64_t.__lshift__   r/  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     rQ"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___rshift__r"  s   &&r   
__rshift__intval64_t.__rshift__   r/  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     s     4 4\ 4\ 4r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t_sarr"  s   &&r   sarintval64_t.sar   r)  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     s     7 7 7 7r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___or__r"  s   &&r   __or__intval64_t.__or__   r   r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     r-"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___and__r"  s   &&r   __and__intval64_t.__and__   r  r#   c                    V ^8  d   QhRRRR/# r,"  r$   )rE   s   "r   rF   r!     r-"  r#   c                	.    \         P                  ! W4      # r.   )r   intval64_t___xor__r"  s   &&r   __xor__intval64_t.__xor__   r  r#   c                   V ^8  d   QhRR/# rA   rC   r"  r$   )rE   s   "r   rF   r!     s     5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   intval64_t___neg__r   s   &r   __neg__intval64_t.__neg__   r   r#   c                   V ^8  d   QhRR/# rp"  r$   )rE   s   "r   rF   r!  !  s     8 8< 8r#   c                	.    \         P                  ! V 4      # r.   )r   intval64_t___invert__r   s   &r   
__invert__intval64_t.__invert__!  r  r#   r$   Nr  ).r   r   r8   r9   r   r   r   r
   r   intval64_t_val_getintval64_t_val_setrg   ro  intval64_t_size_getintval64_t_size_setr   r   r!  r!  r  r   r  rI  r"  r"  r$"  r)"  r0"  r5"  r:"  r>"  __div__rD"  rI"  rN"  rT"  rY"  r^"  rc"  rh"  rm"  rs"  rx"  delete_intval64_trT  r<   r$   r#   r   r!  r!     s    -/I!#GH\<<lC 99<D# 224777==<=888@G585;;478858#55r#   r!  c                      ] tR tRt]! R R RR7      t]t]P                  t
R R ltRR	 R
 lltR R ltRR R lltR R ltR tR tRtR# )int64_emulator_ti
!  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   int64_emulator_t.<lambda>!  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r"  !  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   moprT
  rC   r"  r$   )rE   s   "r   rF   int64_emulator_t.__annotate__!  s     F F FL Fr#   c                	.    \         P                  ! W4      # r.   )r   int64_emulator_t_get_mop_valuer   r"  s   &&r   get_mop_valueint64_emulator_t.get_mop_value!  s    ::4EEr#   Nc               (    V ^8  d   QhRRRRRRRR/# )	rA   rJ  r"  r"  rT
  vf'vd_failure_t'rC   rY   r$   )rE   s   "r   rF   r"  !  s0     L Ll L LL#Lr#   c                	0    \         P                  ! WW#4      # r.   )r   int64_emulator_t__mop_value)r   rJ  r"  r"  s   &&&&r   
_mop_valueint64_emulator_t._mop_value!  s    773KKr#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r"  !  s     B BW B Br#   c                	.    \         P                  ! W4      # r.   )r   int64_emulator_t_mop_valuer"  s   &&r   	mop_valueint64_emulator_t.mop_value!  r  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   rJ  r"  rM  rN  r"  r"  rC   rY   r$   )rE   s   "r   rF   r"  !  s0     O O OI OO#Or#   c                	0    \         P                  ! WW#4      # r.   )r   int64_emulator_t__minsn_value)r   rJ  rM  r"  s   &&&&r   _minsn_valueint64_emulator_t._minsn_value!  s    99$TNNr#   c                    V ^8  d   QhRRRR/# )rA   rM  rN  rC   r"  r$   )rE   s   "r   rF   r"  !  s     E E	 E\ Er#   c                	.    \         P                  ! W4      # r.   )r   int64_emulator_t_minsn_value)r   rM  s   &&r   minsn_valueint64_emulator_t.minsn_value!  s    88DDr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r"  r   int64_emulator_t_swiginitnew_int64_emulator_tr#  s   & r   r   int64_emulator_t.__init__!!  r_  r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_int64_emulator_tr  r  r   s   &r   r  int64_emulator_t.__disown__)!  rc  r#   r$   r.   )r   r   r8   r9   r   r   r   r
   r   delete_int64_emulator_trT  r"  r"  r"  r"  r"  r   r  r<   r$   r#   r   r"  r"  
!  sN    -/I!#GH#;;FLBOE)#r#   r"  c                  F   ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    ]! ]	P                  ]	P                  4      tR]R	&    ]! ]	P"                  ]	P$                  4      tR
]R&    ]! ]	P(                  ]	P*                  4      tR]R&    ]! ]	P.                  ]	P0                  4      tR]R&    ]! ]	P4                  ]	P6                  4      tR]R&    ]! ]	P:                  ]	P<                  4      tR]R&    ]! ]	P@                  ]	PB                  4      t"R]R&    ]! ]	PF                  ]	PH                  4      t%R
]R&    ]! ]	PL                  ]	PN                  4      t(R]R&    ]! ]	PR                  ]	PT                  4      t+R]R&    ]! ]	PX                  ]	PZ                  4      t.R]R&    ]! ]	P^                  ]	P`                  4      t1R]R&    ]! ]	Pd                  ]	Pf                  4      t4R]R&    ]! ]	Pj                  ]	Pl                  4      t7R]R&    ]! ]	Pp                  ]	Pr                  4      t:R]R&    ]! ]	Pv                  ]	Px                  4      t=R
]R&    ]! ]	P|                  ]	P~                  4      t@R
]R&    ]! ]	P                  ]	P                  4      tCR
]R &    ]! ]	P                  ]	P                  4      tFR!]R"&    ]! ]	P                  ]	P                  4      tIR!]R#&    R$ R% ltJR& R' ltKR( R) ltLR* R+ ltMR, R- ltNR. R/ ltOR0 R1 ltPR2 R3 ltQR4 R5 ltRR6 R7 ltSR8 R9 ltT]	P                  tVR: R; ltWR< R= ltXR> R? ltYR@ RA ltZRB RC lt[RD RE lt\RF RG lt]RH RI lt^RJ RK lt_RL RM lt`RN RO ltaRP RQ ltbRR RS ltcRT RU ltdRV RW lteRX RY ltfRZ R[ ltgR\ R] lthR^ R_ ltiR` Ra ltjRb Rc ltkRd Re ltlRf Rg ltmRh Ri ltnRj Rk ltoRl Rm ltpRn Ro ltqRp Rq ltrRr Rs ltsRt Ru lttRv Rw ltuRx Ry ltvRz R{ ltwR| R} ltxR~ R ltyR tzR t{Rt|R# )mblock_tiG!  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mblock_t.<lambda>H!  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r"  H!  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   mblock_t.__init__K!  rj  r#   r  nextbprevbrX   rW   rX  startr  r  headtailrZ  r[  r  z'mblock_type_t'r   r.  dead_at_startmustbusemaybusemustbdefmaybdefdnumaxbsp
minbstkref
minbargrefr  predsetsuccsetc                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   mblock_t.__annotate__!       < < <r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_mark_lists_dirtyr   s   &r   mark_lists_dirtymblock_t.mark_lists_dirty!  r2  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r"  !  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_request_propagationr   s   &r   request_propagationmblock_t.request_propagation!  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  s     = =$ =r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_needs_propagationr   s   &r   needs_propagationmblock_t.needs_propagation!  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r"  !  r"  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_request_demote64r   s   &r   request_demote64mblock_t.request_demote64!  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  r4
  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_lists_dirtyr   s   &r   lists_dirtymblock_t.lists_dirty!  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  r4
  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_lists_readyr   s   &r   lists_readymblock_t.lists_ready!  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  s     < < <r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_make_lists_readyr   s   &r   make_lists_readymblock_t.make_lists_ready!  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !       1 1c 1r#   c                .    \         P                  ! V 4      # )z"Get number of block predecessors.
)r   mblock_t_npredr   s   &r   npredmblock_t.npred!  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  r"  r#   c                .    \         P                  ! V 4      # )z Get number of block successors.
)r   mblock_t_nsuccr   s   &r   nsuccmblock_t.nsucc!  r  r#   c                    V ^8  d   QhRRRR/# rA   rz  rX   rC   r$   )rE   s   "r   rF   r"  !       3 3c 3S 3r#   c                	.    \         P                  ! W4      # r.   )r   mblock_t_predr~  s   &&r   predmblock_t.pred!  rL
  r#   c                    V ^8  d   QhRRRR/# r"  r$   )rE   s   "r   rF   r"  !  r"  r#   c                	.    \         P                  ! W4      # r.   )r   mblock_t_succr~  s   &&r   succmblock_t.succ!  rL
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  !  r
  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_emptyr   s   &r   r   mblock_t.empty!  r
  r#   c                    V ^8  d   QhRRRR/# rA   r  z'vd_printer_t'rC   rD   r$   )rE   s   "r   rF   r"  !  s     6 6 64 6r#   c                	.    \         P                  ! W4      # r.   )r   mblock_t__printr  s   &&r   r  mblock_t._print!  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r"  !  s     0 0T 0r#   c                .    \         P                  ! V 4      # )zZDump block info. This function is useful for debugging, see mba_t::dump for info 
        )r   mblock_t_dumpr   s   &r   dumpmblock_t.dump!  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  ry  rC   rD   r$   )rE   s   "r   rF   r"  !  r  r#   c                	.    \         P                  ! W4      # r.   )r   mblock_t_dump_block)r   r  s   &&r   
dump_blockmblock_t.dump_block!  r  r#   c                    V ^8  d   QhRRRR/# r3  r$   )rE   s   "r   rF   r"  !  s     : :Y :$ :r#   c                .    \         P                  ! W4      # )zzVerify an instruction. This function will generate an internal error if something is wrong with the instruction. 
        )r   mblock_t_verify_insnr  s   &&r   verify_insnmblock_t.verify_insn!  s     0099r#   c               $    V ^8  d   QhRRRRRR/# )rA   nmrN  omrC   r  r$   )rE   s   "r   rF   r"  !  s!     	 	I 	9 	 	r#   c                X    \         P                  ! WV4      pTpVP                  4        V# )a#  Insert instruction into the doubly linked list 
        
:param nm: new instruction
:param om: existing instruction, part of the doubly linked list if nullptr, then the instruction will be inserted at the beginning of the list NM will be inserted immediately after OM
:returns: pointer to NM)r   mblock_t_insert_into_blockr  )r   r#  r#  rg   mns   &&&  r   insert_into_blockmblock_t.insert_into_block!  s,     55dC
'')
r#   c                    V ^8  d   QhRRRR/# )rA   r  rN  rC   r  r$   )rE   s   "r   rF   r"  !  s     	 	9 	 	r#   c                f    Tp\         P                  ! W4      pV'       d   VP                  4        V# )zRemove instruction from the doubly linked list 
        
:param m: instruction to remove The removed instruction is not deleted, the caller gets its ownership
:returns: pointer to the next instruction)r   mblock_t_remove_from_blockr  )r   r  r#  rg   s   &&  r   remove_from_blockmblock_t.remove_from_block!  s-    
 55d>  "
r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   r"  !  s     = = 1 =S =r#   c                .    \         P                  ! W4      # )zVisit all instructions. This function visits subinstructions too. 
        
:param mv: instruction visitor
:returns: zero or the value returned by mv.visit_insn() See also mba_t::for_all_topinsns())r   mblock_t_for_all_insnsr!  s   &&r   r
!  mblock_t.for_all_insns!      
 224<<r#   c                    V ^8  d   QhRRRR/# r !  r$   )rE   s   "r   rF   r"  !  s     ; ;o ; ;r#   c                .    \         P                  ! W4      # )zVisit all operands. This function visit subinstruction operands too. 
        
:param mv: operand visitor
:returns: zero or the value returned by mv.visit_mop())r   mblock_t_for_all_opsr!  s   &&r   r8  mblock_t.for_all_ops!  r  r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rA   r  r.  r  rN  r  mmvz'mlist_mop_visitor_t'rC   rX   r$   )rE   s   "r   rF   r"   "  s8     	K 	K 	K	 	Ky 	K"	K&)	Kr#   c                2    \         P                  ! WW#V4      # )a  Visit all operands that use LIST. 
        
:param list: ptr to the list of locations. it may be modified: parts that get redefined by the instructions in [i1,i2) will be deleted.
:param i1: starting instruction. must be a top level insn.
:param i2: ending instruction (excluded). must be a top level insn.
:param mmv: operand visitor
:returns: zero or the value returned by mmv.visit_mop())r   mblock_t_for_all_uses)r   r  r  r  r.#  s   &&&&&r   for_all_usesmblock_t.for_all_uses "  s     11$bcJJr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  s     @ @S @r#   c                2    \         P                  ! V .VO5!  # )a  Optimize one instruction in the context of the block. 
        
:param m: pointer to a top level instruction
:param optflags: combination of optimization flags bits
:returns: number of changes made to the block This function may change other instructions in the block too. However, it will not destroy top level instructions (it may convert them to nop's). This function performs only intrablock modifications. See also minsn_t::optimize_solo())r   mblock_t_optimize_insnr   s   &*r   optimize_insnmblock_t.optimize_insn"  s     224?$??r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  s     : :s :r#   c                .    \         P                  ! V 4      # )zOptimize a basic block. Usually there is no need to call this function explicitly because the decompiler will call it itself if optinsn_t::func or optblock_t::func return non-zero. 
        
:returns: number of changes made to the block)r   mblock_t_optimize_blockr   s   &r   optimize_blockmblock_t.optimize_block"       33D99r#   c                    V ^8  d   QhRRRR/# )rA   
kill_deadsrY   rC   rX   r$   )rE   s   "r   rF   r"  "  s     C Cd Cc Cr#   c                .    \         P                  ! W4      # )zBuild def-use lists and eliminate deads. 
        
:param kill_deads: do delete dead instructions?
:returns: the number of eliminated instructions Better mblock_t::call make_lists_ready() rather than this function.)r   mblock_t_build_lists)r   r?#  s   &&r   build_listsmblock_t.build_lists"  s    
 00BBr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"   "  s     A Ac Ar#   c                .    \         P                  ! V 4      # )a  Remove a jump at the end of the block if it is useless. This function preserves any side effects when removing a useless jump. Both conditional and unconditional jumps are handled (and jtbl too). This function deletes useless jumps, not only replaces them with a nop. (please note that \optimize_insn does not handle useless jumps). 
        
:returns: number of changes made to the block)r   mblock_t_optimize_useless_jumpr   s   &r   optimize_useless_jumpmblock_t.optimize_useless_jump "  s     ::4@@r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r"  &"  s     B Bt Br#   c                2    \         P                  ! V .VO5!  # )a  Append use-list of an operand. This function calculates list of locations that may or must be used by the operand and appends it to LIST. 
        
:param list: ptr to the output buffer. we will append to it.
:param op: operand to calculate the use list of
:param maymust: should we calculate 'may-use' or 'must-use' list? see maymust_t for more details.
:param mask: if only part of the operand should be considered, a bitmask can be used to specify which part. example: op=AX,mask=0xFF means that we will consider only AL.)r   mblock_t_append_use_listr   s   &*r   append_use_listmblock_t.append_use_list&"  s     44TADAAr#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  r.  rW  rT
  r  r  rC   rD   r$   )rE   s   "r   rF   r"  /"  s0     N NI N7 NNNr#   c                0    \         P                  ! WW#4      # )af  Append def-list of an operand. This function calculates list of locations that may or must be modified by the operand and appends it to LIST. 
        
:param list: ptr to the output buffer. we will append to it.
:param op: operand to calculate the def list of
:param maymust: should we calculate 'may-def' or 'must-def' list? see maymust_t for more details.)r   mblock_t_append_def_list)r   r  rW  r  s   &&&&r   append_def_listmblock_t.append_def_list/"  s     44TMMr#   c               $    V ^8  d   QhRRRRRR/# rA   r  rN  r  r  rC   r.  r$   )rE   s   "r   rF   r"  8"  &     H H) Hk HY Hr#   c                0    \         P                  ! WV4      # )aj  Build use-list of an instruction. This function calculates list of locations that may or must be used by the instruction. Examples: "ldx ds.2, eax.4, ebx.4", may-list: all aliasable memory "ldx ds.2, eax.4, ebx.4", must-list: empty Since LDX uses EAX for indirect access, it may access any aliasable memory. On the other hand, we cannot tell for sure which memory cells will be accessed, this is why the must-list is empty. 
        
:param ins: instruction to calculate the use list of
:param maymust: should we calculate 'may-use' or 'must-use' list? see maymust_t for more details.
:returns: the calculated use-list)r   mblock_t_build_use_listr   r  r  s   &&&r   build_use_listmblock_t.build_use_list8"       33DwGGr#   c               $    V ^8  d   QhRRRRRR/# rT#  r$   )rE   s   "r   rF   r"  @"  rU#  r#   c                0    \         P                  ! WV4      # )an  Build def-list of an instruction. This function calculates list of locations that may or must be modified by the instruction. Examples: "stx ebx.4, ds.2, eax.4", may-list: all aliasable memory "stx ebx.4, ds.2, eax.4", must-list: empty Since STX uses EAX for indirect access, it may modify any aliasable memory. On the other hand, we cannot tell for sure which memory cells will be modified, this is why the must-list is empty. 
        
:param ins: instruction to calculate the def list of
:param maymust: should we calculate 'may-def' or 'must-def' list? see maymust_t for more details.
:returns: the calculated def-list)r   mblock_t_build_def_listrX#  s   &&&r   build_def_listmblock_t.build_def_list@"  r[#  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  H"  s     : :t :r#   c                2    \         P                  ! V .VO5!  # )a  Is the list used by the specified instruction range? 
        
:param list: list of locations. LIST may be modified by the function: redefined locations will be removed from it.
:param i1: starting instruction of the range (must be a top level insn)
:param i2: end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block.
:param maymust: should we search in 'may-access' or 'must-access' mode?)r   mblock_t_is_usedr   s   &*r   is_usedmblock_t.is_usedH"  s     ,,T9D99r#   c                   V ^8  d   QhRR/# rL  r$   )rE   s   "r   rF   r"  Q"  s     A Ak Ar#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. find_first_use(list: mlist_t *, i1: const minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> const minsn_t *
    1. find_first_use(list: mlist_t *, i1: minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> minsn_t *

# 0: find_first_use(list: mlist_t *, i1: const minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> const minsn_t *

Find the first insn that uses the specified list in the insn range. 
        
:returns: pointer to such instruction or nullptr. Upon return LIST will contain only locations not redefined by insns [i1..result]

# 1: find_first_use(list: mlist_t *, i1: minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> minsn_t *

)r   mblock_t_find_first_user   s   &*r   find_first_usemblock_t.find_first_useQ"  s     33D@4@@r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  b"  s     ? ?D ?r#   c                2    \         P                  ! V .VO5!  # )a  Is the list redefined by the specified instructions? 
        
:param list: list of locations to check.
:param i1: starting instruction of the range (must be a top level insn)
:param i2: end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block.
:param maymust: should we search in 'may-access' or 'must-access' mode?)r   mblock_t_is_redefinedr   s   &*r   is_redefinedmblock_t.is_redefinedb"  s     11$>>>r#   c                   V ^8  d   QhRR/# rL  r$   )rE   s   "r   rF   r"  k"  s     D D Dr#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. find_redefinition(list: const mlist_t &, i1: const minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> const minsn_t *
    1. find_redefinition(list: const mlist_t &, i1: minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> minsn_t *

# 0: find_redefinition(list: const mlist_t &, i1: const minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> const minsn_t *

Find the first insn that redefines any part of the list in the insn range. 
        
:returns: pointer to such instruction or nullptr.

# 1: find_redefinition(list: const mlist_t &, i1: minsn_t *, i2: const minsn_t *, maymust: maymust_t=MAY_ACCESS) -> minsn_t *

)r   mblock_t_find_redefinitionr   s   &*r   find_redefinitionmblock_t.find_redefinitionk"  s     66tCdCCr#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r  rN  r  r  rC   rY   r$   )rE   s   "r   rF   r"  |"  s/     I II I9 I) IIr#   c                0    \         P                  ! WW#4      # )a  Is the right hand side of the instruction redefined the insn range? "right hand side" corresponds to the source operands of the instruction. 
        
:param ins: instruction to consider
:param i1: starting instruction of the range (must be a top level insn)
:param i2: end instruction of the range (must be a top level insn) i2 is excluded from the range. it can be specified as nullptr. i1 and i2 must belong to the same block.)r   mblock_t_is_rhs_redefined)r   r  r  r  s   &&&&r   is_rhs_redefinedmblock_t.is_rhs_redefined|"  s     55dHHr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rA   rW  rT
  r  'minsn_t **'mendrN  fdflagsrX   rC   r  r$   )rE   s   "r   rF   r"  "  s2     
 
g 
| 


#.
r#   c                2    \         P                  ! WW#V4      # )a  Find the instruction that accesses the specified operand. This function search inside one block. 
        
:param op: operand to search for
:param parent: ptr to ptr to a top level instruction. in: denotes the beginning of the search range. out: denotes the parent of the found instruction.
:param mend: end instruction of the range (must be a top level insn) mend is excluded from the range. it can be specified as nullptr. parent and mend must belong to the same block.
:param fdflags: combination of bits for mblock_t::find_access bits
:returns: the instruction that accesses the operand. this instruction may be a sub-instruction. to find out the top level instruction, check out *parent. nullptr means 'not found'.)r   mblock_t_find_access)r   rW  r  r|#  r}#  s   &&&&&r   find_accessmblock_t.find_access"  s     006 	r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# rA   rW  rT
  p_i1r{#  r  rN  r}#  rX   rC   r  r$   )rE   s   "r   rF   r"  "  8     K K7 K, KI KK#Kr#   c                	2    \         P                  ! WW#V4      # r.   )r   mblock_t_find_defr   rW  r#  r  r}#  s   &&&&&r   find_defmblock_t.find_def"      --d'JJr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r#  r$   )rE   s   "r   rF   r"  "  r#  r#   c                	2    \         P                  ! WW#V4      # r.   )r   mblock_t_find_user#  s   &&&&&r   find_usemblock_t.find_use"  r#  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  s     @ @T @r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. get_valranges(res: valrng_t *, vivl: const vivl_t &, vrflags: int) -> bool
    1. get_valranges(res: valrng_t *, vivl: const vivl_t &, m: const minsn_t *, vrflags: int) -> bool

# 0: get_valranges(res: valrng_t *, vivl: const vivl_t &, vrflags: int) -> bool

Find possible values for a block. 
        

# 1: get_valranges(res: valrng_t *, vivl: const vivl_t &, m: const minsn_t *, vrflags: int) -> bool

Find possible values for an instruction. 
        
)r   mblock_t_get_valrangesr   s   &*r   get_valrangesmblock_t.get_valranges"  s      224?$??r#   c                    V ^8  d   QhRRRR/# r3  r$   )rE   s   "r   rF   r"  "  s     7 7) 7t 7r#   c                .    \         P                  ! W4      # )zErase the instruction (convert it to nop) and mark the lists dirty. This is the recommended function to use because it also marks the block use-def lists dirty. 
        )r   mblock_t_make_nopr  s   &&r   make_nopmblock_t.make_nop"  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  s     ; ; ;r#   c                .    \         P                  ! V 4      # )zCalculate number of regular instructions in the block. Assertions are skipped by this function. 
        
:returns: Number of non-assertion instructions in the block.)r   mblock_t_get_reginsn_qtyr   s   &r   get_reginsn_qtymblock_t.get_reginsn_qty"       44T::r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  r/
  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_call_blockr   s   &r   is_call_blockmblock_t.is_call_block"  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  s     ; ; ;r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_unknown_callr   s   &r   r*!  mblock_t.is_unknown_call"  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  rf  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_nwayr   s   &r   is_nwaymblock_t.is_nway"  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_branchr   s   &r   	is_branchmblock_t.is_branch"  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "       @ @T @r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_simple_goto_blockr   s   &r   is_simple_goto_blockmblock_t.is_simple_goto_block"  r>  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r"  "  r#  r#   c                	.    \         P                  ! V 4      # r.   )r   mblock_t_is_simple_jcnd_blockr   s   &r   is_simple_jcnd_blockmblock_t.is_simple_jcnd_block"  r>  r#   c              #  	n   "   V P                    F   pV P                  P                  V4      x  K"  	  R # 5ir.   )r"  r[  
get_mblockr   sers   & r   predsmblock_t.preds"  (     <<C((%%c**     35c              #  	n   "   V P                    F   pV P                  P                  V4      x  K"  	  R # 5ir.   )r"  r[  r#  r#  s   & r   succsmblock_t.succs"  r#  r#  r$   N)}r   r   r8   r9   r   r   r   r   r
   r   mblock_t_nextb_getmblock_t_nextb_setr"  ro  mblock_t_prevb_getmblock_t_prevb_setr"  mblock_t_flags_getmblock_t_flags_setrW   mblock_t_start_getmblock_t_start_setr"  mblock_t_end_getmblock_t_end_setr  mblock_t_head_getmblock_t_head_setr"  mblock_t_tail_getmblock_t_tail_setr"  mblock_t_mba_getmblock_t_mba_setr[  mblock_t_serial_getmblock_t_serial_setr  mblock_t_type_getmblock_t_type_setr   mblock_t_dead_at_start_getmblock_t_dead_at_start_setr"  mblock_t_mustbuse_getmblock_t_mustbuse_setr"  mblock_t_maybuse_getmblock_t_maybuse_setr"  mblock_t_mustbdef_getmblock_t_mustbdef_setr"  mblock_t_maybdef_getmblock_t_maybdef_setr"  mblock_t_dnu_getmblock_t_dnu_setr"  mblock_t_maxbsp_getmblock_t_maxbsp_setr"  mblock_t_minbstkref_getmblock_t_minbstkref_setr"  mblock_t_minbargref_getmblock_t_minbargref_setr"  mblock_t_predset_getmblock_t_predset_setr"  mblock_t_succset_getmblock_t_succset_setr"  r"  r"  r"  r"  r"  r"  r"  r"  r"  r"  r"  delete_mblock_trT  r   r  r#  r#  r#  r#  r"#  r
!  r8  r1#  r6#  r;#  rB#  rG#  rL#  rQ#  rY#  r_#  rd#  ri#  rn#  rs#  rx#  r#  r#  r#  r#  r#  r#  r#  r*!  r#  r#  r#  r#  r#  r#  r<   r$   r#   r   r"  r"  G!  sZ   -/I!#G7H"<#B#B'')E< )"<#B#B'')E< ),99<E3 %l&E&E'')E? )#L$A$A%%'C ' !?!?&&(D+ ( !?!?&&(D+ (l;;\C <;;\FC $\%C%C&&(D/ ('""L$K$K MM9 M"<#E#E**,Hi ,!,"C"C))+GY +"<#E#E**,Hi ,!,"C"C))+GY +l;;\C <;;\FC |CC,,.J .|CC,,.J ."<#D#D))+GZ +"<#D#D))+GZ +<?=<77<1
1
33#33160
=:
		=;	K@:CABNHH:A"?D"I
KK@$7
;9;35@@++r#   r"  c                  z   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    R R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P6                  tRtR# )	hexwarn_ti#  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   hexwarn_t.<lambda>#  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r#  #  r~   r#   r   r   rX  r  z
'warnid_t'r  ry  textc                    V ^8  d   QhRRRR/# rA   r   r   rC   rY   r$   )rE   s   "r   rF   hexwarn_t.__annotate__#  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___eq__r   s   &&r   r   hexwarn_t.__eq__#  r
  r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r#  #  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___ne__r   s   &&r   r  hexwarn_t.__ne__#  r
  r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r#  #  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___lt__r   s   &&r   rI  hexwarn_t.__lt__#  r
  r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r#  #  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___gt__r   s   &&r   rN  hexwarn_t.__gt__#  r
  r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r#  #  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___le__r   s   &&r   rS  hexwarn_t.__le__#  r
  r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   r#  #  r/  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t___ge__r   s   &&r   rX  hexwarn_t.__ge__#  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r   rC   rX   r$   )rE   s   "r   rF   r#  #  rH  r#   c                	.    \         P                  ! W4      # r.   )r   hexwarn_t_comparer   s   &&r   r^  hexwarn_t.compare#  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   hexwarn_t_swiginitnew_hexwarn_tr   s   &r   r   hexwarn_t.__init__#  r?  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   hexwarn_t_ea_gethexwarn_t_ea_setr  ro  hexwarn_t_id_gethexwarn_t_id_setr  hexwarn_t_text_gethexwarn_t_text_setr#  r   r  rI  rN  rS  rX  r^  r   delete_hexwarn_trT  r<   r$   r#   r   r#  r#  #  s    -/I!#GH"<#@#@%%'B 'l;;\B
 88,D# 6666667L#44r#   r#  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R lt]P,                  tRtR# )mba_ranges_ti4$  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mba_ranges_t.<lambda>5$  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r'$  5$  r~   r#   r   r   
'func_t *'pfnz'rangevec_t'rangesc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   mba_ranges_t_swiginitnew_mba_ranges_tr   s   &*r   r   mba_ranges_t.__init__A$  rk  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   mba_ranges_t.__annotate__E$  s     5 5o 5r#   c                	.    \         P                  ! V 4      # r.   )r   mba_ranges_t_startr   s   &r   r"  mba_ranges_t.startE$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1$  H$  rt  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_ranges_t_emptyr   s   &r   r   mba_ranges_t.emptyH$  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1$  K$  rt  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_ranges_t_clearr   s   &r   r   mba_ranges_t.clearK$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1$  N$  s     : :4 :r#   c                	.    \         P                  ! V 4      # r.   )r   mba_ranges_t_is_snippetr   s   &r   
is_snippetmba_ranges_t.is_snippetN$  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1$  Q$       = =d =r#   c                	.    \         P                  ! V 4      # r.   )r   mba_ranges_t_is_fragmentedr   s   &r   is_fragmentedmba_ranges_t.is_fragmentedQ$  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   mba_ranges_t_pfn_getmba_ranges_t_pfn_setr*$  ro  mba_ranges_t_ranges_getmba_ranges_t_ranges_setr+$  r   r"  r   r   r@$  rF$  delete_mba_ranges_trT  r<   r$   r#   r   r%$  r%$  4$  s    -/I!#GH|@@))+C +#L$H$H,,.FL .%555:=#77r#   r%$  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 R ltR R ltR R ltR R ltR t]P*                  tRtR# )mba_range_iterator_tiY$  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mba_range_iterator_t.<lambda>Z$  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rP$  Z$  r~   r#   r   r   z'range_chunk_iterator_t'riiz'func_tail_iterator_t'fiic                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   !mba_range_iterator_t.__annotate__d$  s     B B4 Br#   c                	.    \         P                  ! V 4      # r.   )r   mba_range_iterator_t_is_snippetr   s   &r   r@$  mba_range_iterator_t.is_snippetd$  r  r#   c                    V ^8  d   QhRRRR/# )rA   r~  r  rC   rY   r$   )rE   s   "r   rF   rU$  g$  s     @ @~ @ @r#   c                	.    \         P                  ! W4      # r.   )r   mba_range_iterator_t_set)r   r~  s   &&r   r    mba_range_iterator_t.setg$  r	  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rU$  j$  s     < <T <r#   c                	.    \         P                  ! V 4      # r.   )r   mba_range_iterator_t_nextr   s   &r   r`  mba_range_iterator_t.nextj$  r2  r#   c                   V ^8  d   QhRR/# )rA   rC   z'range_t const &'r$   )rE   s   "r   rF   rU$  m$  s     = =' =r#   c                	.    \         P                  ! V 4      # r.   )r   mba_range_iterator_t_chunkr   s   &r   chunkmba_range_iterator_t.chunkm$  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   mba_range_iterator_t_swiginitnew_mba_range_iterator_tr   s   &r   r   mba_range_iterator_t.__init__p$  $    224$$:% :' 	(r#   r$   N)r   r   r8   r9   r   r   r   r
   r   mba_range_iterator_t_rii_getmba_range_iterator_t_rii_setrR$  ro  mba_range_iterator_t_fii_getmba_range_iterator_t_fii_setrS$  r@$  r    r`  rd$  r   delete_mba_range_iterator_trT  r<   r$   r#   r   rN$  rN$  Y$  s    -/I!#GH$,\$$l&O&O%
C	! 
 #+<$$l&O&O#
C	 
B@<=( $??r#   rN$  c                     ] tR tRt$ ]! R R RR7      tR t]tR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 lt R7 R8 lt!R9 R: lt"R; R< lt#R= R> lt$R? R@ lt%RA RB lt&RC RD lt'RE RF lt(RG RH lt)RI RJ lt*RK RL lt+RM RN lt,RO RP lt-RQ RR lt.RS RT lt/RU RV lt0RW RX lt1RY RZ lt2R[ R\ lt3R] R^ lt4R_ R` lt5Ra Rb lt6Rc Rd lt7Re Rf lt8Rg Rh lt9Ri Rj lt:Rk Rl lt;Rm Rn lt<Ro Rp lt=]! ]>P~                  ]>P                  4      tARq]BRr&   ]! ]>P                  ]>P                  4      tERs]BRt&   ]! ]>P                  ]>P                  4      tHRs]BRu&   ]! ]>P                  ]>P                  4      tKRs]BRv&   ]! ]>P                  ]>P                  4      tNRw]BRx&    ]! ]>P                  ]>P                  4      tQRw]BRy&    ]! ]>P                  ]>P                  4      tTRz]BR{&    ]! ]>P                  ]>P                  4      tWRw]BR|&    ]! ]>P                  ]>P                  4      tZRw]BR}&    ]! ]>P                  ]>P                  4      t]Rw]BR~&    ]! ]>P                  ]>P                  4      t`Rw]BR&    ]! ]>P                  ]>P                  4      tcRw]BR&    ]! ]>P                  ]>P                  4      tfRw]BR&    ]! ]>P                  ]>P                  4      tiRw]BR&    ]! ]>P                  ]>P                  4      tlRw]BR&    ]! ]>P                  ]>P                  4      toRw]BR&    ]! ]>P                  ]>P                  4      trRw]BR&    ]! ]>P                  ]>P                  4      tuRw]BR&    ]! ]>P                  ]>P                  4      txRs]BR&    ]! ]>P                  ]>P                  4      t{Rw]BR&    ]! ]>P                  ]>P                  4      t~Rw]BR&    ]! ]>P                  ]>EP                   4      tR]BR&    ]! ]>EP                  ]>EP                  4      tR]BR&   ]! ]>EP
                  ]>EP                  4      tR]BR&    ]! ]>EP                  ]>EP                  4      tR]BR&    ]! ]>EP                  ]>EP                  4      tR]BR&    ]! ]>EP                  ]>EP                  4      tR]BR&    ]! ]>EP"                  ]>EP$                  4      tR]BR&    ]! ]>EP(                  ]>EP*                  4      tR]BR&    ]! ]>EP.                  ]>EP0                  4      tR]BR&    ]! ]>EP4                  ]>EP6                  4      tR]BR&    ]! ]>EP:                  ]>EP<                  4      tR]BR&    ]! ]>EP@                  ]>EPB                  4      tRw]BR&    ]! ]>EPF                  ]>EPH                  4      tR]BR&    ]! ]>EPL                  ]>EPN                  4      tR]BR&    ]! ]>EPR                  ]>EPT                  4      tR]BR&    ]! ]>EPX                  ]>EPZ                  4      tRw]BR&    ]! ]>EP^                  ]>EP`                  4      tRs]BR&    ]! ]>EPd                  ]>EPf                  4      tR]BR&   ]! ]>EPj                  ]>EPl                  4      tR]BR&    ]! ]>EPp                  ]>EPr                  4      tR]BR&    ]! ]>EPv                  ]>EPx                  4      tR]BR&    ]! ]>EP|                  ]>EP~                  4      tR]BR&   ]! ]>EP                  ]>EP                  4      tR]BR&   R R ltR R ltR R ltR R lt]>EP                  tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltERR R lltR R ltR R ltR R ltR R ltR R ltR R ltER R R lltR R ltR R ltR R ltR R ltR R ltR R ltR ER  ltER ER ltER ER ltER ER lt]ER ER l4       tER	 ER
 ltER!ER ER lltER ER ltER"ER ER lltER ER ltER ER ltER ER ltER ER lt]! ER 4      tER ER ltER ER ltERtR# (#  r+  iy$  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mba_t.<lambda>z$  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rr$  z$  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   mba_t.__init__}$  rj  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   mba_t.__annotate__$  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_precise_defeasr   s   &r   precise_defeasmba_t.precise_defeas$  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_optimizedr   s   &r   	optimizedmba_t.optimized$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_short_displayr   s   &r   short_displaymba_t.short_display$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_show_reductionr   s   &r   show_reductionmba_t.show_reduction$  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_graph_insnsr   s   &r   graph_insnsmba_t.graph_insns$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_loaded_gdlr   s   &r   
loaded_gdlmba_t.loaded_gdl$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_should_beautifyr   s   &r   should_beautifymba_t.should_beautify$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_rtype_refinedr   s   &r   rtype_refinedmba_t.rtype_refined$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $       ; ;4 ;r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_may_refine_rettyper   s   &r   may_refine_rettypemba_t.may_refine_rettype$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $       9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_display_numaddrsr   s   &r   display_numaddrsmba_t.display_numaddrs$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_display_valnumsr   s   &r   display_valnumsmba_t.display_valnums$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_display_ear   s   &r   
display_eamba_t.display_ea$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_patternr   s   &r   
is_patternmba_t.is_pattern$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_thunkr   s   &r   is_thunkmba_t.is_thunk$  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_saverest_doner   s   &r   saverest_donemba_t.saverest_done$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_callinfo_builtr   s   &r   rn  mba_t.callinfo_built$  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_really_allocr   s   &r   really_allocmba_t.really_alloc$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_lvars_allocatedr   s   &r   lvars_allocatedmba_t.lvars_allocated$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_chain_varnums_okr   s   &r   chain_varnums_okmba_t.chain_varnums_ok$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_returns_fpvalr   s   &r   returns_fpvalmba_t.returns_fpval$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_has_passregsr   s   &r   has_passregsmba_t.has_passregs$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_generated_assertsr   s   &r   generated_assertsmba_t.generated_asserts$  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_propagated_assertsr   s   &r   propagated_assertsmba_t.propagated_asserts$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_deleted_pairsr   s   &r   deleted_pairsmba_t.deleted_pairs$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $       ? ?t ?r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_common_stkvars_stkargsr   s   &r   common_stkvars_stkargsmba_t.common_stkvars_stkargs$  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_lvar_names_okr   s   &r   lvar_names_okmba_t.lvar_names_ok$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_lvars_renamedr   s   &r   lvars_renamedmba_t.lvars_renamed$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_has_over_chainsr   s   &r   has_over_chainsmba_t.has_over_chains$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_valranges_doner   s   &r   valranges_donemba_t.valranges_done$  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_argidx_okr   s   &r   	argidx_okmba_t.argidx_ok$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_argidx_sortedr   s   &r   argidx_sortedmba_t.argidx_sorted$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_code16_bit_removedr   s   &r   code16_bit_removedmba_t.code16_bit_removed$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_has_stack_retvalr   s   &r   has_stack_retvalmba_t.has_stack_retval$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_has_outlinesr   s   &r   has_outlinesmba_t.has_outlines$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_ctrr   s   &r   is_ctrmba_t.is_ctr$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_dtrr   s   &r   is_dtrmba_t.is_dtr$  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_cdtrr   s   &r   is_cdtrmba_t.is_cdtr$  r.  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_prop_complexr   s   &r   prop_complexmba_t.prop_complex$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  s     6 6c 6r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_mba_flagsr   s   &r   get_mba_flagsmba_t.get_mba_flags$  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  $  s     7 7s 7r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_mba_flags2r   s   &r   get_mba_flags2mba_t.get_mba_flags2$  ro  r#   c                    V ^8  d   QhRRRR/# rA   rO   rX   rC   rD   r$   )rE   s   "r   rF   rw$  $       9 9s 9d 9r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_set_mba_flagsr  s   &&r   set_mba_flagsmba_t.set_mba_flags$  r  r#   c                    V ^8  d   QhRRRR/# rB%  r$   )rE   s   "r   rF   rw$  $  rC%  r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_clr_mba_flagsr  s   &&r   clr_mba_flagsmba_t.clr_mba_flags$  r  r#   c                    V ^8  d   QhRRRR/# rB%  r$   )rE   s   "r   rF   rw$  $       : : :t :r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_set_mba_flags2r  s   &&r   set_mba_flags2mba_t.set_mba_flags2$  r  r#   c                    V ^8  d   QhRRRR/# rB%  r$   )rE   s   "r   rF   rw$  %  rN%  r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_clr_mba_flags2r  s   &&r   clr_mba_flags2mba_t.clr_mba_flags2%  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  %  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_clr_cdtrr   s   &r   clr_cdtrmba_t.clr_cdtr%  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  s     9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_calc_shins_flagsr   s   &r   calc_shins_flagsmba_t.calc_shins_flags%  r  r#   c                    V ^8  d   QhRRRR/# rA   r  rX   rC   r$   )rE   s   "r   rF   rw$  %       ; ; ; ;r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_stkoff_vd2idar  s   &&r   stkoff_vd2idamba_t.stkoff_vd2ida%  r
  r#   c                    V ^8  d   QhRRRR/# rc%  r$   )rE   s   "r   rF   rw$  %  rd%  r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_stkoff_ida2vdr  s   &&r   stkoff_ida2vdmba_t.stkoff_ida2vd%  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  s     0 0 0r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_argbaser   s   &r   argbasemba_t.argbase%  r.  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rd  r  rX   rC   r  r$   )rE   s   "r   rF   rw$  %  s!     > >Z > >y >r#   c                	0    \         P                  ! WV4      # r.   )r   mba_t_idaloc2vd)r   r  r  s   &&&r   	idaloc2vdmba_t.idaloc2vd%  s    ++Du==r#   c                   V ^8  d   QhRR/# )rA   rC   rd  r$   )rE   s   "r   rF   rw$  %  s     9 9 9r#   c                2    \         P                  ! V .VO5!  # )a=  This function has the following signatures:

    0. vd2idaloc(loc: const vdloc_t &, width: int) -> argloc_t
    1. vd2idaloc(loc: const vdloc_t &, width: int, spd: int) -> argloc_t

# 0: vd2idaloc(loc: const vdloc_t &, width: int) -> argloc_t


# 1: vd2idaloc(loc: const vdloc_t &, width: int, spd: int) -> argloc_t

)r   mba_t_vd2idalocr   s   &*r   	vd2idalocmba_t.vd2idaloc%  s     ++D8488r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   rw$  %%  s     5 58 5t 5r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_is_stkargr8  s   &&r   	is_stkargmba_t.is_stkarg%%  r   r#   c                    V ^8  d   QhRRRR/# )rA   r}   r  rC   rd  r$   )rE   s   "r   rF   rw$  (%  s     : : :J :r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_get_ida_arglocr8  s   &&r   get_ida_arglocmba_t.get_ida_argloc(%  r  r#   r  r~  rX  rY  last_prolog_eafirst_epilog_earX   qtynpurgedr  r  tmpstk_sizefrsizefrregsfpd	pfn_flagsretsizeshadow_argsr  	stacksizeinargoff	minstkrefminstkref_ea	minargref
spd_adjustro  gotoff_stkvarsrestricted_memoryaliased_memoryr.  nodel_memoryr  consumed_argregsr  r`  r  rY   
final_typer  idb_typez'reginfovec_t'idb_spoiledspoiled_list	fti_flagsry  r  z	'lvars_t'varsr  r^  	retvaridxerror_eaerror_strargr  blocksz'mblock_t **'naturalz'ivl_with_name_t [6]'std_ivlsr   notesz'uchar [32]'occurred_warnsc                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  s     @ @ @r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_write_to_const_detectedr   s   &r   write_to_const_detectedmba_t.write_to_const_detected%  r>  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  rj  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_bad_call_sp_detectedr   s   &r   bad_call_sp_detectedmba_t.bad_call_sp_detected%  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_regargs_is_not_alignedr   s   &r   regargs_is_not_alignedmba_t.regargs_is_not_aligned%  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_has_bad_spr   s   &r   
has_bad_spmba_t.has_bad_sp%  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  %  r  r#   c                	.    \         P                  ! V 4      # r.   )r   
mba_t_termr   s   &r   term
mba_t.term%  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r)$  r$   )rE   s   "r   rF   rw$  %  s     4 4J 4r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_curfuncr   s   &r   get_curfuncmba_t.get_curfunc%  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_use_framer   s   &r   	use_framemba_t.use_frame%  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  %  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_is_snippetr   s   &r   r@$  mba_t.is_snippet%  r   r#   c                    V ^8  d   QhRRRR/# )rA   matr  rC   r  r$   )rE   s   "r   rF   rw$  %  s     : : 0 :J :r#   c                .    \         P                  ! W4      # )zSet maturity level. 
        
:param mat: new maturity level
:returns: error code Plugins may use this function to skip some parts of the analysis. The maturity level cannot be decreased.)r   mba_t_set_maturity)r   r%  s   &&r   set_maturitymba_t.set_maturity%      
 ..t99r#   c                    V ^8  d   QhRRRR/# )rA   locopt_bitsrX   rC   r$   )rE   s   "r   rF   rw$  %  s     D D# D Dr#   c                .    \         P                  ! W4      # )zOptimize each basic block locally 
        
:param locopt_bits: combination of Bits for optimize_local() bits
:returns: number of changes. 0 means nothing changed This function is called by the decompiler, usually there is no need to call it explicitly.)r   mba_t_optimize_local)r   r%  s   &&r   optimize_localmba_t.optimize_local%  s    
 00CCr#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   rw$  %  s     4 4J 4r#   c                .    \         P                  ! V 4      # )a  Build control flow graph. This function may be called only once. It calculates the type of each basic block and the adjacency list. optimize_local() calls this function if necessary. You need to call this function only before MMAT_LOCOPT. 
        
:returns: error code)r   mba_t_build_graphr   s   &r   build_graphmba_t.build_graph%       --d33r#   c                   V ^8  d   QhRR/# )rA   rC   z'mbl_graph_t *'r$   )rE   s   "r   rF   rw$  %  s     2 2/ 2r#   c                .    \         P                  ! V 4      # )zYGet control graph. Call build_graph() if you need the graph before MMAT_LOCOPT. 
        )r   mba_t_get_graphr   s   &r   	get_graphmba_t.get_graph%  r  r#   c                    V ^8  d   QhRRRR/# )rA   acflagsrX   rC   r$   )rE   s   "r   rF   rw$  %  s     ? ?S ?C ?r#   c                .    \         P                  ! W4      # )zAnalyze calls and determine calling conventions. 
        
:param acflags: permitted actions that are necessary for successful detection of calling conventions. See Bits for analyze_calls()
:returns: number of calls. -1 means error.)r   mba_t_analyze_calls)r   r%  s   &&r   analyze_callsmba_t.analyze_calls%  s    
 //>>r#   c                   V ^8  d   QhRR/# r%  r$   )rE   s   "r   rF   rw$  &  s     8 8
 8r#   c                .    \         P                  ! V 4      # )zOptimize microcode globally. This function applies various optimization methods until we reach the fixed point. After that it preallocates lvars unless reqmat forbids it. 
        
:returns: error code)r   mba_t_optimize_globalr   s   &r   optimize_globalmba_t.optimize_global&  rA  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  s     4 4D 4r#   c                .    \         P                  ! V 4      # )a[  Allocate local variables. Must be called only immediately after optimize_global(), with no modifications to the microcode. Converts registers, stack variables, and similar operands into mop_l. This call will not fail because all necessary checks were performed in optimize_global(). After this call the microcode reaches its final state. 
        )r   mba_t_alloc_lvarsr   s   &r   alloc_lvarsmba_t.alloc_lvars&  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  r   r#   c                .    \         P                  ! V 4      # )zDump microcode to a file. The file will be created in the directory pointed by IDA_DUMPDIR envvar. Dump will be created only if IDA is run under debugger. 
        )r   
mba_t_dumpr   s   &r   r#  
mba_t.dump&  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   _verifyrY   r  ry  rC   rD   r$   )rE   s   "r   rF   rw$  &  s&     A A AS AD Ar#   c                	0    \         P                  ! WV4      # r.   )r   mba_t_dump_mba)r   r &  r  s   &&&r   dump_mbamba_t.dump_mba&  s    **4%@@r#   c                    V ^8  d   QhRRRR/# r#  r$   )rE   s   "r   rF   rw$  &  rc  r#   c                	.    \         P                  ! W4      # r.   )r   mba_t__printr  s   &&r   r  mba_t._print&  r  r#   c                    V ^8  d   QhRRRR/# )rA   alwaysrY   rC   rD   r$   )rE   s   "r   rF   rw$  &  s     7 7T 7T 7r#   c                .    \         P                  ! W4      # )a  Verify microcode consistency. 
        
:param always: if false, the check will be performed only if ida runs under debugger If any inconsistency is discovered, an internal error will be generated. We strongly recommend you to call this function before returing control to the decompiler from your callbacks, in the case if you modified the microcode. If the microcode is inconsistent, this function will generate an internal error. We provide the source code of this function in the plugins/hexrays_sdk/verifier directory for your reference.)r   mba_t_verify)r   r
&  s   &&r   r  mba_t.verify&  s     ((66r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  s     : :$ :r#   c                .    \         P                  ! V 4      # )zMark the microcode use-def chains dirty. Call this function is any inter-block data dependencies got changed because of your modifications to the microcode. Failing to do so may cause an internal error. 
        )r   mba_t_mark_chains_dirtyr   s   &r   mark_chains_dirtymba_t.mark_chains_dirty&  r  r#   c                    V ^8  d   QhRRRR/# )rA   rz  rE  rC   r  r$   )rE   s   "r   rF   rw$  #&  s     6 6F 6l 6r#   c                .    \         P                  ! W4      # )z&Get basic block by its serial number.
)r   mba_t_get_mblockr~  s   &&r   r#  mba_t.get_mblock#&  s     ,,T55r#   c                    V ^8  d   QhRRRR/# )rA   bblkrX   rC   r  r$   )rE   s   "r   rF   rw$  (&  s     ; ; ; ;r#   c                .    \         P                  ! W4      # )a  Insert a block in the middle of the mbl array. The very first block of microcode must be empty, it is the entry block. The very last block of microcode must be BLT_STOP, it is the exit block. Therefore inserting a new block before the entry point or after the exit block is not a good idea. 
        
:param bblk: the new block will be inserted before BBLK
:returns: ptr to the new block)r   mba_t_insert_block)r   r&  s   &&r   insert_blockmba_t.insert_block(&  s    
 ..t::r#   c               $    V ^8  d   QhRRRRRR/# )rA   rK  rL  
start_insnrN  rC   r  r$   )rE   s   "r   rF   rw$  /&  s'     E Ez Ey EEr#   c                0    \         P                  ! WV4      # )zSplit a block: insert a new one after the block, move some instructions to new block 
        
:param blk: block to be split
:param start_insn: all instructions to be moved to new block: starting with this one up to the end
:returns: ptr to the new block)r   mba_t_split_block)r   rK  r&  s   &&&r   split_blockmba_t.split_block/&  s     --dDDr#   c                    V ^8  d   QhRRRR/# )rA   rK  rL  rC   rY   r$   )rE   s   "r   rF   rw$  8&  s     : :
 :d :r#   c                .    \         P                  ! W4      # )zDelete a block. 
        
:param blk: block to delete
:returns: true if at least one of the other blocks became empty or unreachable)r   mba_t_remove_blockrm  s   &&r   remove_blockmba_t.remove_block8&  r%  r#   c               $    V ^8  d   QhRRRRRR/# )rA   	start_blkrX   end_blkrC   rY   r$   )rE   s   "r   rF   rw$  ?&  s&     J Js JS JD Jr#   c                	0    \         P                  ! WV4      # r.   )r   mba_t_remove_blocks)r   r)&  r*&  s   &&&r   remove_blocksmba_t.remove_blocks?&  s    //IIr#   c               (    V ^8  d   QhRRRRRRRR/# )rA   rK  rL  
new_serialrX   cpblk_flagsrC   r  r$   )rE   s   "r   rF   rw$  B&  s)     	 	j 	c 	 		r#   c                0    \         P                  ! WW#4      # )aW  Make a copy of a block. This function makes a simple copy of the block. It does not fix the predecessor and successor lists, they must be fixed if necessary. 
        
:param blk: block to copy
:param new_serial: position of the copied block
:param cpblk_flags: combination of Batch decompilation bits... bits
:returns: pointer to the new copy)r   mba_t_copy_block)r   rK  r0&  r1&  s   &&&&r   
copy_blockmba_t.copy_blockB&  s     ,,T
  	r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  M&  s     L LD Lr#   c                .    \         P                  ! V 4      # )z`Delete all empty and unreachable blocks. Blocks marked with MBL_KEEP won't be deleted. 
        )r   )mba_t_remove_empty_and_unreachable_blocksr   s   &r   #remove_empty_and_unreachable_blocks)mba_t.remove_empty_and_unreachable_blocksM&  s     EEdKKr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rw$  R&  s     5 5T 5r#   c                .    \         P                  ! V 4      # )zMerge blocks. This function merges blocks constituting linear flow. It calls remove_empty_and_unreachable_blocks() as well. 
        
:returns: true if changed any blocks)r   mba_t_merge_blocksr   s   &r   merge_blocksmba_t.merge_blocksR&       ..t44r#   c                    V ^8  d   QhRRRR/# r !  r$   )rE   s   "r   rF   rw$  X&  s     8 8o 8 8r#   c                .    \         P                  ! W4      # )zVisit all operands of all instructions. 
        
:param mv: operand visitor
:returns: non-zero value returned by mv.visit_mop() or zero)r   mba_t_for_all_opsr!  s   &&r   r8  mba_t.for_all_opsX&  s    
 --d77r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   rw$  _&  s     : : 1 :S :r#   c                .    \         P                  ! W4      # )zVisit all instructions. This function visits all instruction and subinstructions. 
        
:param mv: instruction visitor
:returns: non-zero value returned by mv.visit_mop() or zero)r   mba_t_for_all_insnsr!  s   &&r   r
!  mba_t.for_all_insns_&  r!  r#   c                    V ^8  d   QhRRRR/# r!  r$   )rE   s   "r   rF   rw$  f&  s     = =#4 = =r#   c                .    \         P                  ! W4      # )zVisit all top level instructions. 
        
:param mv: instruction visitor
:returns: non-zero value returned by mv.visit_mop() or zero)r   mba_t_for_all_topinsnsr!  s   &&r   for_all_topinsnsmba_t.for_all_topinsnsf&  r(#  r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rA   ctxz'op_parent_info_t'r  rX  is_destrY   r  r.  rC   rO
  r$   )rE   s   "r   rF   rw$  m&  s:     	I 	I. 	IO 	I	I&	I*3	Ir#   c                2    \         P                  ! WW#V4      # )a   Find an operand in the microcode. This function tries to find the operand that matches LIST. Any operand that overlaps with LIST is considered as a match. 
        
:param ctx: context information for the result
:param ea: desired address of the operand. BADADDR means to accept any address.
:param is_dest: search for destination operand? this argument may be ignored if the exact match could not be found
:param list: list of locations the correspond to the operand
:returns: pointer to the operand or nullptr.)r   mba_t_find_mop)r   rO&  r  rP&  r  s   &&&&&r   find_mopmba_t.find_mopm&  s     **4b4HHr#   Nc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rA   r  rX  r$  ry  rettyper  callargsr
  rJ  rT
  rC   r  r$   )rE   s   "r   rF   rw$  x&  s:     $ $_ $c $$"/$;B$$r#   c                4    \         P                  ! WVW4V4      # )a<  Create a call of a helper function. 
        
:param ea: The desired address of the instruction
:param helper: The helper name
:param rettype: The return type (nullptr or empty type means 'void')
:param callargs: The helper arguments (nullptr-no arguments)
:param out: The operand where the call result should be stored. If this argument is not nullptr, "mov helper_call(), out" will be generated. Otherwise "call helper()" will be generated. Note: the size of this operand must be equal to the RETTYPE size
:returns: pointer to the created instruction or nullptr if error)r   mba_t_create_helper_call)r   r  r$  rV&  rW&  rJ  s   &&&&&&r   create_helper_callmba_t.create_helper_callx&  s      44Tvs$ 	$r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  s     E ET Er#   c                2    \         P                  ! V .VO5!  # )a0  Prepare the lists of registers & memory that are defined/killed by a function 
        
:param return_regs: defined regs to return (eax,edx)
:param spoiled: spoiled regs (flags,ecx,mem)
:param type: the function type
:param call_ea: the call insn address (if known)
:param tail_call: is it the tail call?)r   mba_t_get_func_output_listsr   s   &*r   get_func_output_listsmba_t.get_func_output_lists&  s     77DtDDr#   c                    V ^8  d   QhRRRR/# )rA   rz  rX   rC   r  r$   )rE   s   "r   rF   rw$  &  s     / /S /J /r#   c                .    \         P                  ! W4      # )z_Get input argument of the decompiled function. 
        
:param n: argument number (0..nargs-1))r   	mba_t_argr~  s   &&r   arg	mba_t.arg&  s     %%d..r#   c                    V ^8  d   QhRRRR/# )rA   real_earX  rC   r$   )rE   s   "r   rF   rw$  &  s     
? 
?_ 
? 
?r#   c                .    \         P                  ! W4      # )a  Allocate a fictional address. This function can be used to allocate a new unique address for a new instruction, if re-using any existing address leads to conflicts. For example, if the last instruction of the function modifies R0 and falls through to the next function, it will be a tail call: LDM R0!, {R4,R7} end of the function start of another function In this case R0 generates two different lvars at the same address:
* one modified by LDM
* another that represents the return value from the tail call


Another example: a third-party plugin makes a copy of an instruction. This may lead to the generation of two variables at the same address. Example 3: fictional addresses can be used for new instructions created while modifying the microcode. This function can be used to allocate a new unique address for a new instruction or a variable. The fictional address is selected from an unallocated address range. 
        
:param real_ea: real instruction address (BADADDR is ok too)
:returns: a unique fictional address)r   mba_t_alloc_fict_ea)r   rg&  s   &&r   alloc_fict_eamba_t.alloc_fict_ea&  s     //>>r#   c                    V ^8  d   QhRRRR/# )rA   fict_earX  rC   r$   )rE   s   "r   rF   rw$  &  s     = =? =o =r#   c                .    \         P                  ! W4      # )zResolve a fictional address. This function provides a reverse of the mapping made by alloc_fict_ea(). 
        
:param fict_ea: fictional definition address
:returns: the real instruction address)r   mba_t_map_fict_ea)r   rm&  s   &&r   map_fict_eamba_t.map_fict_ea&  s    
 --d<<r#   c                    V ^8  d   QhRRRR/# )rA   ru  z'memreg_index_t'rC   rv  r$   )rE   s   "r   rF   rw$  &  s     < <"2 <o <r#   c                .    \         P                  ! W4      # )zzGet information about various memory regions. We map the stack frame to the global memory, to some unused range. 
        )r   mba_t_get_std_regionry  s   &&r   get_std_regionmba_t.get_std_region&  s     00;;r#   c                   V ^8  d   QhRR/# r}  r$   )rE   s   "r   rF   rw$  &  s     9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_lvars_regionr   s   &r   get_lvars_regionmba_t.get_lvars_region&  r  r#   c                   V ^8  d   QhRR/# r}  r$   )rE   s   "r   rF   rw$  &  s     : :/ :r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_shadow_regionr   s   &r   get_shadow_regionmba_t.get_shadow_region&  r{  r#   c                   V ^8  d   QhRR/# r}  r$   )rE   s   "r   rF   rw$  &  s     8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_args_regionr   s   &r   get_args_regionmba_t.get_args_region&  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   rw$  &  s     9 9 9r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t_get_stack_regionr   s   &r   get_stack_regionmba_t.get_stack_region&  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  r  r#   c                .    \         P                  ! V 4      # )z.Serialize mbl array into a sequence of bytes.
)r   mba_t_serializer   s   &r   r[  mba_t.serialize&  r  r#   c                    V ^8  d   QhRRRR/# )rA   r`  ra  rC   rZ  r$   )rE   s   "r   rF   rw$  &  s     5 5? 5i 5r#   c                .    \         P                  ! V 4      # )zDeserialize a byte sequence into mbl array. 
        
:param bytes: pointer to the beginning of the byte sequence.
:returns: new mbl array)r   mba_t_deserialize)r`  s   &r   rd  mba_t.deserialize&  s     --e44r#   c                    V ^8  d   QhRRRR/# )rA   descriptionry  rC   rD   r$   )rE   s   "r   rF   rw$  &  s     C C C Cr#   c                .    \         P                  ! W4      # )z$Create and save microcode snapshot.
)r   mba_t_save_snapshot)r   r&  s   &&r   save_snapshotmba_t.save_snapshot&  s     //BBr#   c               $    V ^8  d   QhRRRRRR/# )rA   r   rX   
check_sizerY   rC   r,  r$   )rE   s   "r   rF   rw$  &  s&     E Es E EX Er#   c                0    \         P                  ! WV4      # )zAllocate a kernel register. 
        
:param size: size of the register in bytes
:param check_size: if true, only the sizes that correspond to a size of a basic type will be accepted.
:returns: allocated register. mr_none means failure.)r   mba_t_alloc_kreg)r   r   r&  s   &&&r   
alloc_kregmba_t.alloc_kreg&  s     ,,TDDr#   c               $    V ^8  d   QhRRRRRR/# )rA   rT  r,  r   rX   rC   rD   r$   )rE   s   "r   rF   rw$  &  s!     = =X =S =D =r#   c                0    \         P                  ! WV4      # )zFree a kernel register. If wrong arguments are passed, this function will generate an internal error. 
        
:param reg: a previously allocated kernel register
:param size: size of the register in bytes)r   mba_t_free_kreg)r   rT  r   s   &&&r   	free_kregmba_t.free_kreg&  s    
 ++Dt<<r#   c               0    V ^8  d   QhRRRRRRRRRRR	R
/# )rA   rw  rx  r  rX   r+$  r  r   inline_flagsrC   r  r$   )rE   s   "r   rF   rw$  &  s:     ( ({ (C ((&)(;>(DN(r#   c                2    \         P                  ! WW#WE4      # )a:  Inline a range. This function may be called only during the initial microcode generation phase. 
        
:param cdg: the codegenerator object
:param blknum: the block contaning the call/jump instruction to inline
:param ranges: the set of ranges to inline. in the case of multiple calls to inline_func(), ranges will be compared using their start addresses. if two ranges have the same address, they will be considered the same.
:param decomp_flags: combination of decompile() flags bits
:param inline_flags: combination of inline_func() flags bits
:returns: error code)r   mba_t_inline_func)r   rw  r  r+$  r   r&  s   &&&&&&r   inline_funcmba_t.inline_func&  s     --d( 	(r#   c                    V ^8  d   QhRRRR/# )rA   r  rX  rC   z'stkpnt_t const *'r$   )rE   s   "r   rF   rw$  &  s     : : :3E :r#   c                	.    \         P                  ! W4      # r.   )r   mba_t_locate_stkpntrV  s   &&r   locate_stkpntmba_t.locate_stkpnt&  rK  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r}   r  r   ry  flagbitsrX   rC   rY   r$   )rE   s   "r   rF   rw$  &  s.     I Ix Is Ic IT Ir#   c                	0    \         P                  ! WW#4      # r.   )r   mba_t_set_lvar_name)r   r}   r   r&  s   &&&&r   set_lvar_namemba_t.set_lvar_name&  s    //HHr#   c               $    V ^8  d   QhRRRRRR/# rA   r}   r  r   ry  rC   rY   r$   )rE   s   "r   rF   rw$  &  &     D DH DC D4 Dr#   c                	0    \         P                  ! WV4      # r.   )r   mba_t_set_nice_lvar_namer   r}   r   s   &&&r   set_nice_lvar_namemba_t.set_nice_lvar_name&      44TdCCr#   c               $    V ^8  d   QhRRRRRR/# r&  r$   )rE   s   "r   rF   rw$  &  r&  r#   c                	0    \         P                  ! WV4      # r.   )r   mba_t_set_user_lvar_namer&  s   &&&r   set_user_lvar_namemba_t.set_user_lvar_name&  r&  r#   c                	    V P                   # r.   )deprecated_idb_noder   s   &r   rx   rr$  &  s
    T%=%=r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t__registerr   s   &r   r  mba_t._register&  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rw$  &  r  r#   c                	.    \         P                  ! V 4      # r.   )r   mba_t__deregisterr   s   &r   r  mba_t._deregister&  r   r#   r$   )   r/  r(  r8  )r   r   r8   r9   r   r   r   r   r
   rz$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  rn  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r$  r%  r%  r%  r%  r%  r%  r!%  r&%  r+%  r0%  r5%  r:%  r?%  rF%  rK%  rQ%  rV%  r[%  r`%  rg%  rl%  rq%  rv%  r{%  r%  r%  r   mba_t_mbr_getmba_t_mbr_setr~  ro  mba_t_entry_ea_getmba_t_entry_ea_setrY  mba_t_last_prolog_ea_getmba_t_last_prolog_ea_setr%  mba_t_first_epilog_ea_getmba_t_first_epilog_ea_setr%  mba_t_qty_getmba_t_qty_setr%  mba_t_npurged_getmba_t_npurged_setr%  mba_t_cc_getmba_t_cc_setr  mba_t_tmpstk_size_getmba_t_tmpstk_size_setr%  mba_t_frsize_getmba_t_frsize_setr%  mba_t_frregs_getmba_t_frregs_setr%  mba_t_fpd_getmba_t_fpd_setr%  mba_t_pfn_flags_getmba_t_pfn_flags_setr%  mba_t_retsize_getmba_t_retsize_setr%  mba_t_shadow_args_getmba_t_shadow_args_setr%  mba_t_fullsize_getmba_t_fullsize_setr  mba_t_stacksize_getmba_t_stacksize_setr%  mba_t_inargoff_getmba_t_inargoff_setr%  mba_t_minstkref_getmba_t_minstkref_setr%  mba_t_minstkref_ea_getmba_t_minstkref_ea_setr%  mba_t_minargref_getmba_t_minargref_setr%  mba_t_spd_adjust_getmba_t_spd_adjust_setr%  mba_t_gotoff_stkvars_getmba_t_gotoff_stkvars_setr%  mba_t_restricted_memory_getmba_t_restricted_memory_setr%  mba_t_aliased_memory_getmba_t_aliased_memory_setr%  mba_t_nodel_memory_getmba_t_nodel_memory_setr%  mba_t_consumed_argregs_getmba_t_consumed_argregs_setr%  mba_t_maturity_getmba_t_maturity_setr`  mba_t_reqmat_getmba_t_reqmat_setr  mba_t_final_type_getmba_t_final_type_setr%  mba_t_idb_type_getmba_t_idb_type_setr%  mba_t_idb_spoiled_getmba_t_idb_spoiled_setr%  mba_t_spoiled_list_getmba_t_spoiled_list_setr%  mba_t_fti_flags_getmba_t_fti_flags_setr%  mba_t_label_getmba_t_label_setr  mba_t_vars_getmba_t_vars_setr%  mba_t_argidx_getmba_t_argidx_setr^  mba_t_retvaridx_getmba_t_retvaridx_setr%  mba_t_error_ea_getmba_t_error_ea_setr%  mba_t_error_strarg_getmba_t_error_strarg_setr%  mba_t_blocks_getmba_t_blocks_setr%  mba_t_natural_getmba_t_natural_setr%  mba_t_std_ivls_getmba_t_std_ivls_setr%  mba_t_notes_getmba_t_notes_setr%  mba_t_occurred_warns_getmba_t_occurred_warns_setr%  r%  r%  r%  r%  delete_mba_trT  r%  r%  r%  r@$  r%  r%  r%  r%  r%  r%  r%  r#  r&  r  r  r&  r#  r&  r!&  r&&  r-&  r4&  r9&  r>&  r8  r
!  rL&  rS&  rZ&  r_&  rd&  rj&  rp&  ru&  rz&  r&  r&  r&  r[  staticmethodrd  r&  r&  r&  r&  r&  r&  r&  r&  idb_noder  r  r<   r$   r#   r   r+  r+  y$  s	   -/I!#G7H72674386;983316758965:;6?668726;95//056799::19;;0>95:"<#=#=|	C  ()H)H''!)Ho )&.|  ,"G"G'INO I'/!!<#I#I(KO_ K22L4N4NOCOL::LGS |88,B  B B**,K ,<88,FC <88,FC 22L4N4NOCOl>>((*Is *L::LGS  B B**,K ,\<<lHc l>>((*Is *\<<lHc l>>((*Is *$,\ C C%EL/ El>>((*Is *|@@))+J +!),  ,"G"G"INJ I$,\##\%M%M%Oz O!),  ,"G"G"INJ I&|'J'J++-L) -"*<""L$K$K#Mi M!),*I*I''")H )'(E(E%% 'F ' A A))+J +"<#B#B'')Hi )"*<|AA#CK C&|'J'J++-L) -l>>((*Is *,66E3 |::LD) !,"?"?%%'FJ 'l>>((*Is * ()H)H''!)Ho ) !D!D++-L# -#L$A$A%%'FL '%l&D&D&&(G] (&.|L;;'=H# ="<#?#?$$&E< &#+L  ,"G"G$INL I@=?3#00-423:D42
?84
-
A37:
6
;E:J	 	L
58:=	I$ $E/
?=<
9:892
 5 5C
E E=( (:IDD=>H24 4r#   r+  c                  |    ] tR tRt]! R R RR7      t]tR R lt]	P                  tR R	 ltR
 R ltR R ltRtR# )chain_keeper_ti'  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   chain_keeper_t.<lambda>'  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,'  '  r~   r#   r   r   c                   V ^8  d   QhRR/# )rA   _gcr  r$   )rE   s   "r   rF   chain_keeper_t.__annotate__'  s     % %, %r#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   chain_keeper_t_swiginitnew_chain_keeper_t)r   r/'  s   &&r   r   chain_keeper_t.__init__'  s'    ,,T<4"4$ 	%r#   c                   V ^8  d   QhRR/# r<  r$   )rE   s   "r   rF   r0'  '  s     7 7( 7r#   c                	.    \         P                  ! V 4      # r.   )r   chain_keeper_t_frontr   s   &r   rW  chain_keeper_t.front'  ro  r#   c                   V ^8  d   QhRR/# r<  r$   )rE   s   "r   rF   r0'  '  s     6 6' 6r#   c                	.    \         P                  ! V 4      # r.   )r   chain_keeper_t_backr   s   &r   rY  chain_keeper_t.back'  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  gcarX   rC   r$   )rE   s   "r   rF   r0'  '  s'     I I!2 I I Ir#   c                	0    \         P                  ! WV4      # r.   )r   chain_keeper_t_for_all_chains)r   r  r>'  s   &&&r   r  chain_keeper_t.for_all_chains'  s    99$CHHr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   delete_chain_keeper_trT  rW  rY  r  r<   r$   r#   r   r*'  r*'  '  sC    -/I!#GH% $9976I Ir#   r*'  c                      ] tR tRt]! R R RR7      tR t]tR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR R ltR R ltRtR# )mbl_graph_ti'  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   mbl_graph_t.<lambda>'  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rF'  '  r~   r#   r   r   c                	    \        R 4      hr  rf  rg  s   &*,r   r   mbl_graph_t.__init__'  r  r#   c                    V ^8  d   QhRRRR/# rA   gctype
'gctype_t'rC   rY   r$   )rE   s   "r   rF   mbl_graph_t.__annotate__'       H H
 Hd Hr#   c                .    \         P                  ! W4      # )z2Is the use-def chain of the specified kind dirty?
)r   mbl_graph_t_is_ud_chain_dirtyr   rL'  s   &&r   is_ud_chain_dirtymbl_graph_t.is_ud_chain_dirty'       99$GGr#   c                    V ^8  d   QhRRRR/# rK'  r$   )rE   s   "r   rF   rN'  '  rO'  r#   c                .    \         P                  ! W4      # )z2Is the def-use chain of the specified kind dirty?
)r   mbl_graph_t_is_du_chain_dirtyrR'  s   &&r   is_du_chain_dirtymbl_graph_t.is_du_chain_dirty'  rU'  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rN'  '  s     > > >r#   c                	.    \         P                  ! V 4      # r.   )r   mbl_graph_t_get_chain_stampr   s   &r   get_chain_stampmbl_graph_t.get_chain_stamp'  r  r#   c                    V ^8  d   QhRRRR/# rA   rL'  rM'  rC   z'graph_chains_t *'r$   )rE   s   "r   rF   rN'  '       = =Z =+= =r#   c                .    \         P                  ! W4      # )zGet use-def chains.
)r   mbl_graph_t_get_udrR'  s   &&r   get_udmbl_graph_t.get_ud'       ..t<<r#   c                    V ^8  d   QhRRRR/# ra'  r$   )rE   s   "r   rF   rN'  '  rb'  r#   c                .    \         P                  ! W4      # )zGet def-use chains.
)r   mbl_graph_t_get_durR'  s   &&r   get_dumbl_graph_t.get_du'  rg'  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rN'  '  s     K KT Kr#   c                2    \         P                  ! V .VO5!  # )z Is LIST redefined in the graph?
)r   !mbl_graph_t_is_redefined_globallyr   s   &*r   is_redefined_globally!mbl_graph_t.is_redefined_globally'  s     ==dJTJJr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   rN'  (  s     F F Fr#   c                2    \         P                  ! V .VO5!  # )zIs LIST used in the graph?
)r   mbl_graph_t_is_used_globallyr   s   &*r   is_used_globallymbl_graph_t.is_used_globally(  s     88EEEr#   c                    V ^8  d   QhRRRR/# )rA   rz  rX   rC   r  r$   )rE   s   "r   rF   rN'  (  s     < <C << <r#   c                	.    \         P                  ! W4      # r.   )r   mbl_graph_t_get_mblockr~  s   &&r   r#  mbl_graph_t.get_mblock(  rB  r#   r$   N)r   r   r8   r9   r   r   r   r   r
   rS'  rY'  r^'  re'  rk'  rp'  ru'  r#  r<   r$   r#   r   rD'  rD'  '  sQ    -/I!#GKHH
H
>=
=
K
F
< <r#   rD'  c                  x   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   ]! ]P                   ]P"                  4      tR]R
&   ]! ]P&                  ]P(                  4      tR]R&   ]! ]P,                  ]P.                  4      tR]R&   ]! ]P2                  ]P4                  4      tR]R&   ]! ]P8                  ]P:                  4      tR]R&   R tR R lt R R lt!R R lt"R R lt#R R lt$R R lt%]PL                  t'Rt(R# ) cdg_insn_iterator_ti(  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cdg_insn_iterator_t.<lambda>(  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r~'  (  r~   r#   r   r   z'mba_t const *'r[  rX  r  r  dslot'insn_t'
dslot_insnsevered_branchrY   is_likely_dslotc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cdg_insn_iterator_t_swiginitnew_cdg_insn_iterator_tr   s   &*r   r   cdg_insn_iterator_t.__init__&(  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF    cdg_insn_iterator_t.__annotate__*(  s     9 94 9r#   c                	.    \         P                  ! V 4      # r.   )r   cdg_insn_iterator_t_okr   s   &r   r  cdg_insn_iterator_t.ok*(  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r'  -(  s     @ @$ @r#   c                	.    \         P                  ! V 4      # r.   )r   cdg_insn_iterator_t_has_dslotr   s   &r   	has_dslotcdg_insn_iterator_t.has_dslot-(  r>  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r'  0(       G G Gr#   c                	.    \         P                  ! V 4      # r.   )r   $cdg_insn_iterator_t_dslot_with_xrefsr   s   &r   dslot_with_xrefs$cdg_insn_iterator_t.dslot_with_xrefs0(      @@FFr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r'  3(  r'  r#   c                	.    \         P                  ! V 4      # r.   )r   $cdg_insn_iterator_t_is_severed_dslotr   s   &r   is_severed_dslot$cdg_insn_iterator_t.is_severed_dslot3(  r'  r#   c                    V ^8  d   QhRRRR/# )rA   rngz	'range_t'rC   rD   r$   )rE   s   "r   rF   r'  6(  s     A A Ad Ar#   c                	.    \         P                  ! W4      # r.   )r   cdg_insn_iterator_t_start)r   r'  s   &&r   r"  cdg_insn_iterator_t.start6(  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  z
'insn_t *'rC   r  r$   )rE   s   "r   rF   r'  9(  s     @ @
 @j @r#   c                	.    \         P                  ! W4      # r.   )r   cdg_insn_iterator_t_next)r   r  s   &&r   r`  cdg_insn_iterator_t.next9(  r	  r#   r$   N))r   r   r8   r9   r   r   r   r
   r   cdg_insn_iterator_t_mba_getcdg_insn_iterator_t_mba_setr[  ro  cdg_insn_iterator_t_ea_getcdg_insn_iterator_t_ea_setr  cdg_insn_iterator_t_end_getcdg_insn_iterator_t_end_setr  cdg_insn_iterator_t_dslot_getcdg_insn_iterator_t_dslot_setr'  "cdg_insn_iterator_t_dslot_insn_get"cdg_insn_iterator_t_dslot_insn_setr'  &cdg_insn_iterator_t_severed_branch_get&cdg_insn_iterator_t_severed_branch_setr'  'cdg_insn_iterator_t_is_likely_dslot_get'cdg_insn_iterator_t_is_likely_dslot_setr'  r   r  r'  r'  r'  r"  r`  delete_cdg_insn_iterator_trT  r<   r$   r#   r   r|'  r|'  (  s@   -/I!#GH#L##\%M%MOC O"<#J#J//1B 1#L##\%M%MOC O%l%%|%%'E? ' $L**L**,J , '/|....'0NO 0 %\////1OT 1,9@GGA@#>>r#   r|'  c                  ,   ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&   ]! ]	P                  ]	P                  4      tR	]R
&   ]! ]	P"                  ]	P$                  4      tR]R&   ]! ]	P(                  ]	P*                  4      tR]R&   ]! ]	P.                  ]	P0                  4      tR]R&   ]	P4                  tR R ltR R ltR R ltR'R R lltR R lt R R lt!R'R R llt"R(R  R! llt#R" R# lt$R$ R% lt%R&t&R# ))	codegen_tiA(  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   codegen_t.<lambda>B(  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r'  B(  r~   r#   r   r   c                	    \        R 4      hr  rf  rg  s   &*,r   r   codegen_t.__init__E(  r  r#   rZ  r[  r  r  r'  rM  r  ignore_microz'cdg_insn_iterator_t'iic                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   codegen_t.__annotate__T(  s     2 2d 2r#   c                	.    \         P                  ! V 4      # r.   )r   codegen_t_clearr   s   &r   r   codegen_t.clearT(  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  	reachabler	  rC   r  r$   )rE   s   "r   rF   r'  W(  s'     J J JZ JJr#   c                0    \         P                  ! WV4      # )zAnalyze prolog/epilog of the function to decompile. If prolog is found, allocate and fill 'mba->pi' structure. 
        
:param fc: flow chart
:param reachable: bitmap of reachable blocks
:returns: error code)r   codegen_t_analyze_prolog)r   r  r'  s   &&&r   analyze_prologcodegen_t.analyze_prologW(  s     44TyIIr#   c                   V ^8  d   QhRR/# r%  r$   )rE   s   "r   rF   r'  `(  s     6 6* 6r#   c                .    \         P                  ! V 4      # )zGenerate microcode for one instruction. The instruction is in INSN 
        
:returns: MERR_OK - all ok MERR_BLOCK - all ok, need to switch to new block MERR_BADBLK - delete current block and continue other error codes are fatal)r   codegen_t_gen_micror   s   &r   	gen_microcodegen_t.gen_micro`(  ru!  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX   rW   rC   r,  r$   )rE   s   "r   rF   r'  f(  s&     G G# Gc Gx Gr#   c                0    \         P                  ! WV4      # )zGenerate microcode to load one operand. 
        
:param opnum: number of INSN operand
:param flags: reserved for future use
:returns: register containing the operand.)r   codegen_t_load_operand)r   r  rW   s   &&&r   load_operandcodegen_t.load_operandf(  s     224FFr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r'  n(  s     ? ?4 ?r#   c                .    \         P                  ! V 4      # )z=This method is called when the microcode generation is done.
)r   codegen_t_microgen_completedr   s   &r   microgen_completedcodegen_t.microgen_completedn(  r<  r#   c                   V ^8  d   QhRR/# r%  r$   )rE   s   "r   rF   r'  s(  s     > >* >r#   c                .    \         P                  ! V 4      # )aE  Setup internal data to handle new instruction. This method should be called before calling gen_micro(). Usually gen_micro() is called by the decompiler. You have to call this function explicitly only if you yourself call gen_micro(). The instruction is in INSN 
        
:returns: MERR_OK - all ok other error codes are fatal)r   codegen_t_prepare_gen_micror   s   &r   prepare_gen_microcodegen_t.prepare_gen_micros(  s     77==r#   c               $    V ^8  d   QhRRRRRR/# )rA   rz  rX   rW   rC   r,  r$   )rE   s   "r   rF   r'  y(  s&     M M MC MX Mr#   c                0    \         P                  ! WV4      # )zGenerate microcode to calculate the address of a memory operand. 
        
:param n: - number of INSN operand
:param flags: - reserved for future use
:returns: register containing the operand address. mr_none - failed (not a memory operand))r    codegen_t_load_effective_address)r   rz  rW   s   &&&r   load_effective_address codegen_t.load_effective_addressy(  s     <<TeLLr#   Nc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rA   rz  rX   r"  rT
  rW   outinsr{#  rC   rY   r$   )rE   s   "r   rF   r'  (  s1     
 
s 
 
 

!
r#   c                2    \         P                  ! WW#V4      # )av  Generate microcode to store an operand. In case of success an arbitrary number of instructions can be generated (and even no instruction if the source and target are the same) 
        
:param n: - number of target INSN operand
:param mop: - operand to be stored
:param flags: - reserved for future use
:param outins: - (OUT) the last generated instruction
:returns: success)r   codegen_t_store_operand)r   rz  r"  rW   r'  s   &&&&&r   store_operandcodegen_t.store_operand(  s     33DS  	r#   c               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )rA   r  r   dtypez'op_dtype_t'r  rX   r   rX  offsizerC   r  r$   )rE   s   "r   rF   r'  (  sA      9 \ c !$(3r#   c           	     4    \         P                  ! WW#WEV4      # )zOEmit one microinstruction. This variant takes a data type not a size. 
        )r   codegen_t_emit_micro_mvm)r   r  r'  r  r   rX  r'  s   &&&&&&&r   emit_micro_mvmcodegen_t.emit_micro_mvm(  s      44T' 	r#   c                   V ^8  d   QhRR/# rL  r$   )rE   s   "r   rF   r'  (  s     8 8K 8r#   c                2    \         P                  ! V .VO5!  # )a  This function has the following signatures:

    0. emit(code: mcode_t, width: int, l: int, r: int, d: int, offsize: int) -> minsn_t *
    1. emit(code: mcode_t, l: const mop_t *, r: const mop_t *, d: const mop_t *) -> minsn_t *

# 0: emit(code: mcode_t, width: int, l: int, r: int, d: int, offsize: int) -> minsn_t *

Emit one microinstruction. The L, R, D arguments usually mean the register number. However, they depend on CODE. For example:
* for m_goto and m_jcnd L is the target address
* for m_ldc L is the constant value to load



:returns: created microinstruction. can be nullptr if the instruction got immediately optimized away.

# 1: emit(code: mcode_t, l: const mop_t *, r: const mop_t *, d: const mop_t *) -> minsn_t *

Emit one microinstruction. This variant accepts pointers to operands. It is more difficult to use but permits to create virtually any instruction. Operands may be nullptr when it makes sense. The ownership of the operands is not transferred to the decompiler, so it is ok to destroy them after this call. 
        
)r   codegen_t_emitr   s   &*r   emitcodegen_t.emit(  s    * **47$77r#   r$   r  )r  N)'r   r   r8   r9   r   r   r   r   r
   r   codegen_t_mba_getcodegen_t_mba_setr[  ro  codegen_t_mb_getcodegen_t_mb_setr  codegen_t_insn_getcodegen_t_insn_setrM  codegen_t_ignore_micro_getcodegen_t_ignore_micro_setr'  codegen_t_ii_getcodegen_t_ii_setr'  delete_codegen_trT  r   r'  r'  r'  r'  r'  r'  r'  r'  r'  r<   r$   r#   r   r'  r'  A(  s   -/I!#GKHl<<lC  = =|		B l==|		D( #L$K$K//1L& 1 ()F)F%%!'B '#442J6G?
>M
8 8r#   r'  c                    V ^8  d   QhRRRR/# )rA   	directivery  rC   rY   r$   )rE   s   "r   rF   rF   (  s     9 9S 9D 9r#   c                .    \         P                  ! V 4      # )zhParse DIRECTIVE and update the current configuration variables. For the syntax see hexrays.cfg 
        )r   change_hexrays_config)r(  s   &r   r(  r(  (  s     --i88r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rF   (  s     . .C .r#   c                 ,    \         P                  ! 4       # )zGet decompiler version. The returned string is of the form <major>.<minor>.<revision>.<build-date> 
        
:returns: pointer to version string. For example: "2.0.0.140605")r   get_hexrays_versionr$   r#   r   r(  r(  (  s     ++--r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX  rW   rX   rC   rQ   r$   )rE   s   "r   rF   rF   (  s!     3 3 3 3z 3r#   c                .    \         P                  ! W4      # zOpen pseudocode window. The specified function is decompiled and the pseudocode window is opened. 
        
:param ea: function to decompile
:param flags: a combination of OPF_ flags
:returns: false if failed)r   r  )r  rW   s   &&r   r  r  (  s     ''22r#   c                    V ^8  d   QhRRRR/# )rA   rO   rP   rC   rY   r$   )rE   s   "r   rF   rF   (  s     , , ,t ,r#   c                .    \         P                  ! V 4      # zXClose pseudocode window. 
        
:param f: pointer to window
:returns: false if failed)r   r  rT   s   &r   r  r  (  s    
 ((++r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   outfilery  	funcaddrs'uint64vec_t'rW   rX   rC   rY   r$   )rE   s   "r   rF   rF   (  s.     B BC BM B# B Br#   c                0    \         P                  ! WV4      # )a[  Batch decompilation. Decompile all or the specified functions 
        
:param outfile: name of the output file
:param funcaddrs: list of functions to decompile. If nullptr or empty, then decompile all nonlib functions
:param flags: Batch decompilation bits
:returns: true if no internal error occurred and the user has not cancelled decompilation)r   decompile_many)r(  r(  rW   s   &&&r   r(  r(  (  s     &&w5AAr#   c               $    V ^8  d   QhRRRRRR/# )rA   errr  r  rY   rC   rD   r$   )rE   s   "r   rF   rF   )  s"     3 3* 3D 3D 3r#   c                .    \         P                  ! W4      # )a  Send the database to Hex-Rays. This function sends the current database to the Hex-Rays server. The database is sent in the compressed form over an encrypted (SSL) connection. 
        
:param err: failure description object. Empty hexrays_failure_t object can be used if error information is not available.
:param silent: if false, a dialog box will be displayed before sending the database.)r   send_database)r(  r  s   &&r   r(  r(  )  s    
 %%c22r#   c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&   R R ltR R ltR R ltR R ltR R ltR t]P>                  t Rt!R# )
gco_info_ti)  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   gco_info_t.<lambda>)  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r(  )  r~   r#   r   r   ry  r   rX   rF  regnumr   rW   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   gco_info_t.__annotate__%)  r   r#   c                	.    \         P                  ! V 4      # r.   )r   gco_info_t_is_regr   s   &r   r  gco_info_t.is_reg%)  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r(  ()  r   r#   c                	.    \         P                  ! V 4      # r.   )r   gco_info_t_is_user   s   &r   is_usegco_info_t.is_use()  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r(  +)  r   r#   c                	.    \         P                  ! V 4      # r.   )r   gco_info_t_is_defr   s   &r   is_defgco_info_t.is_def+)  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r.  r[  r_  rC   rY   r$   )rE   s   "r   rF   r(  .)  s&     G G9 G7 Gd Gr#   c                0    \         P                  ! WV4      # )zAppend operand info to LIST. This function converts IDA register number or stack offset to a decompiler list. 
        
:param list: list to append to
:param mba: microcode object)r   gco_info_t_append_to_list)r   r  r[  s   &&&r   append_to_listgco_info_t.append_to_list.)  s    
 55d#FFr#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r(  5)  s     8 88 8r#   c                .    \         P                  ! V 4      # )zqConvert operand info to VIVL. The returned VIVL can be used, for example, in a call of get_valranges(). 
        )r   gco_info_t_cvt_to_ivlr   s   &r   
cvt_to_ivlgco_info_t.cvt_to_ivl5)  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   gco_info_t_swiginitnew_gco_info_tr   s   &r   r   gco_info_t.__init__:)  rC  r#   r$   N)"r   r   r8   r9   r   r   r   r
   r   gco_info_t_name_getgco_info_t_name_setr   ro  gco_info_t_stkoff_getgco_info_t_stkoff_setrF  gco_info_t_regnum_getgco_info_t_regnum_setr(  gco_info_t_size_getgco_info_t_size_setr   gco_info_t_flags_getgco_info_t_flags_setrW   r  r&(  r+(  r0(  r5(  r   delete_gco_info_trT  r<   r$   r#   r   r(  r(  )  s    -/I!#GH99<D# <==|		 FC  <==|		 FC  99<D# ,;;\E3 444G8
N#55r#   r(  c                    V ^8  d   QhRRRR/# )rA   rJ  z'gco_info_t'rC   rY   r$   )rE   s   "r   rF   rF   N)  s     1 1\ 1T 1r#   c                .    \         P                  ! V 4      # )zGet the instruction operand under the cursor. This function determines the operand that is under the cursor in the active disassembly listing. If the operand refers to a register or stack variable, it returns true. 
        )r   get_current_operand)rJ  s   &r   rH(  rH(  N)       ++C00r#   c                    V ^8  d   QhRRRR/# )rA   er  rC   rD   r$   )rE   s   "r   rF   rF   T)  s     # #y #D #r#   c                .    \         P                  ! V 4      # r.   )r   remitemrK(  s   &r   rM(  rM(  T)  s    ""r#   c                    V ^8  d   QhRRRR/# rA   rW  	'ctype_t'rC   r$   )rE   s   "r   rF   rF   Y*       - - -i -r#   c                .    \         P                  ! V 4      # )zDNegate a comparison operator. For example, cot_sge becomes cot_slt.
)r   negated_relationrZ  s   &r   rT(  rT(  Y*       ((,,r#   c                    V ^8  d   QhRRRR/# rP(  r$   )rE   s   "r   rF   rF   _*  rR(  r#   c                .    \         P                  ! V 4      # )zBSwap a comparison operator. For example, cot_sge becomes cot_sle.
)r   swapped_relationrZ  s   &r   rX(  rX(  _*  rU(  r#   c                    V ^8  d   QhRRRR/# )rA   rW  rQ(  rC   r  r$   )rE   s   "r   rF   rF   e*  s     , ,	 ,] ,r#   c                .    \         P                  ! V 4      # )zKGet operator sign. Meaningful for sign-dependent operators, like cot_sdiv.
)r   get_op_signnessrZ  s   &r   r[(  r[(  e*  s     ''++r#   c                    V ^8  d   QhRRRR/# rA   coprQ(  rC   r$   )rE   s   "r   rF   rF   k*  s     # #y #I #r#   c                .    \         P                  ! V 4      # )zZConvert plain operator into assignment operator. For example, cot_add returns cot_asgadd.
)r   asgopr^(  s   &r   r`(  r`(  k*  s     c""r#   c                    V ^8  d   QhRRRR/# r](  r$   )rE   s   "r   rF   rF   q*  s     * *i *9 *r#   c                .    \         P                  ! V 4      # )zConvert assignment operator into plain operator. For example, cot_asgadd returns cot_add 
        
:returns: cot_empty is the input operator is not an assignment operator.)r   asgop_revertra(  s   &r   rd(  rd(  q*  rp  r#   c                    V ^8  d   QhRRRR/# rA   rW  rQ(  rC   rY   r$   )rE   s   "r   rF   rF   x*       & &) &t &r#   c                .    \         P                  ! V 4      # )z,Does operator use the 'x' field of cexpr_t?
)r   	op_uses_xrZ  s   &r   ri(  ri(  x*       !!"%%r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   ~*  rg(  r#   c                .    \         P                  ! V 4      # )z,Does operator use the 'y' field of cexpr_t?
)r   	op_uses_yrZ  s   &r   rm(  rm(  ~*  rj(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  rg(  r#   c                .    \         P                  ! V 4      # )z,Does operator use the 'z' field of cexpr_t?
)r   	op_uses_zrZ  s   &r   rp(  rp(  *  rj(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  rg(  r#   c                .    \         P                  ! V 4      # )zIs binary operator?
)r   	is_binaryrZ  s   &r   rs(  rs(  *  rj(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *       % % %d %r#   c                .    \         P                  ! V 4      # )zIs unary operator?
)r   is_unaryrZ  s   &r   rw(  rw(  *         $$r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *       * *i *4 *r#   c                .    \         P                  ! V 4      # )zIs comparison operator?
)r   is_relationalrZ  s   &r   r|(  r|(  *       %%b))r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  rz(  r#   c                .    \         P                  ! V 4      # )zIs assignment operator?
)r   is_assignmentrZ  s   &r   r(  r(  *  r}(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  s     ) )Y )$ )r#   c                .    \         P                  ! V 4      # r.   )r   accepts_udtsrZ  s   &r   r(  r(  *  s    $$R((r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *       ' '9 ' 'r#   c                .    \         P                  ! V 4      # )z*Is pre/post increment/decrement operator?
)r   
is_prepostrZ  s   &r   r(  r(  *       ""2&&r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  s     + +y +D +r#   c                .    \         P                  ! V 4      # )zIs commutative operator?
)r   is_commutativerZ  s   &r   r(  r(  *  s     &&r**r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *       ( (I ( (r#   c                .    \         P                  ! V 4      # )zIs additive operator?
)r   is_additiverZ  s   &r   r(  r(  *  s     ##B''r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *       . .) .t .r#   c                .    \         P                  ! V 4      # )zIs multiplicative operator?
)r   is_multiplicativerZ  s   &r   r(  r(  *       ))"--r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  ru(  r#   c                .    \         P                  ! V 4      # )zIs bit related operator?
)r   is_bitoprZ  s   &r   r(  r(  *  rx(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  r(  r#   c                .    \         P                  ! V 4      # )zIs logical operator?
)r   
is_logicalrZ  s   &r   r(  r(  *  r(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  s     $ $	 $T $r#   c                .    \         P                  ! V 4      # )zIs loop statement code?
)r   is_looprZ  s   &r   r(  r(  *  s     ##r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  r(  r#   c                .    \         P                  ! V 4      # )z?Does a break statement influence the specified statement code?
)r   is_break_consumerrZ  s   &r   r(  r(  *  r(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  rg(  r#   c                .    \         P                  ! V 4      # )zIs Lvalue operator?
)r   	is_lvaluerZ  s   &r   r(  r(  *  rj(  r#   c                    V ^8  d   QhRRRR/# rf(  r$   )rE   s   "r   rF   rF   *  s     / /9 / /r#   c                .    \         P                  ! V 4      # )z5Is the operator allowed on small structure or union?
)r   accepts_small_udtsrZ  s   &r   r(  r(  *  s     **2..r#   c                  f   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R"R
 R lltR#R R lltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  lt]P6                  tR!tR# )$	cnumber_ti*  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cnumber_t.<lambda>*  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r(  *  r~   r#   r   r   rl  rw  'number_format_t'nfc                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   cnumber_t.__annotate__*  s      s r#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   cnumber_t_swiginitnew_cnumber_tr  s   &&r   r   cnumber_t.__init__*  s"    ''l.H.H/ 	r#   Nc               (    V ^8  d   QhRRRRRRRR/# )	rA   r   r  r  r  nice_stroffr  rC   rD   r$   )rE   s   "r   rF   r(  *  s0     N N9 Ni NNNr#   c                	0    \         P                  ! WW#4      # r.   )r   cnumber_t__print)r   r   r  r(  s   &&&&r   r  cnumber_t._print*  s    ,,TMMr#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rl  r$   )rE   s   "r   rF   r(  *  s     8 8) 8x 8r#   c                .    \         P                  ! W4      # )zmGet value. This function will properly extend the number sign to 64bits depending on the type sign. 
        )r   cnumber_t_valuer  s   &&r   r   cnumber_t.value*  s     ++D77r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r}   rl  r  rX   r  r  rC   rD   r$   )rE   s   "r   rF   r(  *  s.     D D D# D] Dd Dr#   c                0    \         P                  ! WW#4      # )z{Assign new value 
        
:param v: new value
:param nbytes: size of the new value in bytes
:param sign: sign of the value)r   cnumber_t_assign)r   r}   r  r  s   &&&&r   r   cnumber_t.assign*  s     ,,TfCCr#   c                    V ^8  d   QhRRRR/# rA   r   'cnumber_t'rC   rY   r$   )rE   s   "r   rF   r(  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___eq__r   s   &&r   r   cnumber_t.__eq__+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___ne__r   s   &&r   r  cnumber_t.__ne__+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  
+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___lt__r   s   &&r   rI  cnumber_t.__lt__
+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___gt__r   s   &&r   rN  cnumber_t.__gt__+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___le__r   s   &&r   rS  cnumber_t.__le__+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t___ge__r   s   &&r   rX  cnumber_t.__ge__+  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r(  rC   rX   r$   )rE   s   "r   rF   r(  +  rH  r#   c                	.    \         P                  ! W4      # r.   )r   cnumber_t_comparer   s   &&r   r^  cnumber_t.compare+  r   r#   r$   r  r
  )r   r   r8   r9   r   r   r   r
   r   cnumber_t__value_getcnumber_t__value_setrw  ro  cnumber_t_nf_getcnumber_t_nf_setr(  r   r  r   r   r   r  rI  rN  rS  rX  r^  delete_cnumber_trT  r<   r$   r#   r   r(  r(  *  s    -/I!#GH A A))+FH +$\%B%B%%'B 'N8
D6666667#44r#   r(  c                  @   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P2                  tRtR# )	var_ref_ti+  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   var_ref_t.<lambda>+  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r(  +  r~   r#   r   r   rZ  r[  rX   ru  c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   var_ref_t.__annotate__++  s     1 1Z 1r#   c                	.    \         P                  ! V 4      # r.   )r   var_ref_t_getvr   s   &r   getvvar_ref_t.getv++  r
  r#   c                    V ^8  d   QhRRRR/# rA   r   'var_ref_t'rC   rY   r$   )rE   s   "r   rF   r(  .+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___eq__r   s   &&r   r   var_ref_t.__eq__.+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  1+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___ne__r   s   &&r   r  var_ref_t.__ne__1+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  4+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___lt__r   s   &&r   rI  var_ref_t.__lt__4+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  7+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___gt__r   s   &&r   rN  var_ref_t.__gt__7+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  :+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___le__r   s   &&r   rS  var_ref_t.__le__:+  r
  r#   c                    V ^8  d   QhRRRR/# r(  r$   )rE   s   "r   rF   r(  =+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t___ge__r   s   &&r   rX  var_ref_t.__ge__=+  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r(  rC   rX   r$   )rE   s   "r   rF   r(  @+  rH  r#   c                	.    \         P                  ! W4      # r.   )r   var_ref_t_comparer   s   &&r   r^  var_ref_t.compare@+  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   var_ref_t_swiginitnew_var_ref_tr   s   &r   r   var_ref_t.__init__C+  r?  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   var_ref_t_mba_getvar_ref_t_mba_setr[  ro  var_ref_t_idx_getvar_ref_t_idx_setru  r(  r   r  rI  rN  rS  rX  r^  r   delete_var_ref_trT  r<   r$   r#   r   r(  r(  +  s    -/I!#GHl<<lC 66C 16666667L#44r#   r(  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 R ltR R ltR t]P&                  tRtR# )	treeloc_ti+  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   treeloc_t.<lambda>+  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r)  +  r~   r#   r   r   rX  r  'item_preciser_t'itpc                    V ^8  d   QhRRRR/# rA   r   r]  rC   rY   r$   )rE   s   "r   rF   treeloc_t.__annotate__+  r/  r#   c                	.    \         P                  ! W4      # r.   )r   treeloc_t___lt__r   s   &&r   rI  treeloc_t.__lt__+  r
  r#   c                    V ^8  d   QhRRRR/# r)  r$   )rE   s   "r   rF   r)  +  r/  r#   c                	.    \         P                  ! W4      # r.   )r   treeloc_t___eq__r   s   &&r   r   treeloc_t.__eq__+  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   treeloc_t_swiginitnew_treeloc_tr   s   &r   r   treeloc_t.__init__+  r?  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   treeloc_t_ea_gettreeloc_t_ea_setr  ro  treeloc_t_itp_gettreeloc_t_itp_setr)  rI  r   r   delete_treeloc_trT  r<   r$   r#   r   r)  r)  +  s{    -/I!#GH"<#@#@%%'B '%l&D&D&&(C	 (66L#44r#   r)  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R tR	 R
 ltR R lt]P                   tRtR# )citem_cmt_ti+  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   citem_cmt_t.<lambda>+  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r3)  +  r~   r#   r   r   rY   rr  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   citem_cmt_t_swiginitnew_citem_cmt_tr   s   &*r   r   citem_cmt_t.__init__+  r
  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   citem_cmt_t.__annotate__+  s     4 4c 4r#   c                	.    \         P                  ! V 4      # r.   )r   citem_cmt_t_c_strr   s   &r   c_strcitem_cmt_t.c_str+  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r:)  +  r  r#   c                	.    \         P                  ! V 4      # r.   )r   citem_cmt_t___str__r   s   &r   rj  citem_cmt_t.__str__+  r   r#   r$   N)r   r   r8   r9   r   r   r   r
   r   citem_cmt_t_used_getcitem_cmt_t_used_setrr  ro  r   r=)  rj  delete_citem_cmt_trT  r<   r$   r#   r   r1)  r1)  +  s[    -/I!#GH,;;\D$ $46#66r#   r1)  c                  4   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P0                  tRtR# )citem_locator_ti+  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   citem_locator_t.<lambda>+  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rI)  +  r~   r#   r   r   rX  r  rQ(  rW  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   citem_locator_t_swiginitnew_citem_locator_tr   s   &*r   r   citem_locator_t.__init__+  r  r#   c                    V ^8  d   QhRRRR/# rA   r   rt  rC   rY   r$   )rE   s   "r   rF   citem_locator_t.__annotate__+  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___eq__r   s   &&r   r   citem_locator_t.__eq__+  rB  r#   c                    V ^8  d   QhRRRR/# rP)  r$   )rE   s   "r   rF   rQ)  +  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___ne__r   s   &&r   r  citem_locator_t.__ne__+  rB  r#   c                    V ^8  d   QhRRRR/# rP)  r$   )rE   s   "r   rF   rQ)  +  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___lt__r   s   &&r   rI  citem_locator_t.__lt__+  rB  r#   c                    V ^8  d   QhRRRR/# rP)  r$   )rE   s   "r   rF   rQ)  +  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___gt__r   s   &&r   rN  citem_locator_t.__gt__+  rB  r#   c                    V ^8  d   QhRRRR/# rP)  r$   )rE   s   "r   rF   rQ)  +  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___le__r   s   &&r   rS  citem_locator_t.__le__+  rB  r#   c                    V ^8  d   QhRRRR/# rP)  r$   )rE   s   "r   rF   rQ)  +  r  r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t___ge__r   s   &&r   rX  citem_locator_t.__ge__+  rB  r#   c                    V ^8  d   QhRRRR/# )rA   r   rt  rC   rX   r$   )rE   s   "r   rF   rQ)  +  s     = =* =c =r#   c                	.    \         P                  ! W4      # r.   )r   citem_locator_t_comparer   s   &&r   r^  citem_locator_t.compare+  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   citem_locator_t_ea_getcitem_locator_t_ea_setr  ro  citem_locator_t_op_getcitem_locator_t_op_setrW  r   r   r  rI  rN  rS  rX  r^  delete_citem_locator_trT  r<   r$   r#   r   rG)  rG)  +  s    -/I!#GH"<#F#F++-B -\@@++-B	 -(<<<<<<=#::r#   rG)  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   RR	 R
 llt]P"                  tRtR# )bit_bound_ti+  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   bit_bound_t.<lambda>+  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ru)  +  r~   r#   r   r   z'int16'nbitssbitsc                    V ^8  d   QhRRRR/# )rA   rz  rX   r   r$   )rE   s   "r   rF   bit_bound_t.__annotate__+  s     # ## #C #r#   c                	\    \         P                  ! V \         P                  ! W4      4       R # r.   )r   bit_bound_t_swiginitnew_bit_bound_t)r   rz  r   s   &&&r   r   bit_bound_t.__init__+  s&    ))$O11" 	#r#   r$   Nr8  )r   r   r8   r9   r   r   r   r
   r   bit_bound_t_nbits_getbit_bound_t_nbits_setrw)  ro  bit_bound_t_sbits_getbit_bound_t_sbits_setrx)  r   delete_bit_bound_trT  r<   r$   r#   r   rs)  rs)  +  sq    -/I!#GHl@@**,E7 ,l@@**,E7 ,# $66r#   rs)  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    ]3R R lltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P8                  t]! ]P<                  4      tR]R&   ]! ]P@                  4      t!R]R&   R R  lt"R! R" lt#R# t$]! ]"R$ 4      t% R% R& lt&R' R( lt'R) R* lt(]! ](4      t)R+ t*R, t+R- t,R. t-R/ t.R0 t/R1 t0R2 t1]! ]14      t2R3t3R4# )5citem_ti,  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   citem_t.<lambda>	,  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r)  	,  r~   r#   r   r   rX  r  rX   	label_numr  c                   V ^8  d   QhRR/# )rA   r  rQ(  r$   )rE   s   "r   rF   citem_t.__annotate__,  s     I I) Ir#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   citem_t_swiginitnew_citem_tr"  s   &&r   r   citem_t.__init__,  s    %%dL,D,DQ,GHr#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   r)  ,  r   r#   c                .    \         P                  ! W4      # )zSwap two citem_t.
)r   citem_t_swapr   s   &&r   r   citem_t.swap,  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  !,       2 2 2r#   c                .    \         P                  ! V 4      # )zIs an expression?
)r   citem_t_is_exprr   s   &r   is_exprcitem_t.is_expr!,  r  r#   c                    V ^8  d   QhRRRR/# rA   rK(  	'cexpr_t'rC   rY   r$   )rE   s   "r   rF   r)  &,  s     ; ;y ;D ;r#   c                .    \         P                  ! W4      # )z%Does the item contain an expression?
)r   citem_t_contains_exprr   rK(  s   &&r   contains_exprcitem_t.contains_expr&,  s     11$::r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  +,       9 9t 9r#   c                .    \         P                  ! V 4      # )zDoes the item contain a label?
)r   citem_t_contains_labelr   s   &r   contains_labelcitem_t.contains_label+,  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   r  r$   )rE   s   "r   rF   r)  0,  s     ? ?9 ? ?r#   c                .    \         P                  ! W4      # )zFind parent of the specified item. 
        
:param item: Item to find the parent of. The search will be performed among the children of the item pointed by `this`.
:returns: nullptr if not found)r   citem_t_find_parent_of)r   r  s   &&r   find_parent_ofcitem_t.find_parent_of0,  s    
 224>>r#   c                    V ^8  d   QhRRRR/# )rA   r  rX  rC   r  r$   )rE   s   "r   rF   r)  7,  s     A A_ A Ar#   c                	.    \         P                  ! W4      # r.   )r   citem_t_find_closest_addr)r   r  s   &&r   find_closest_addrcitem_t.find_closest_addr7,  r  r#   c                    V ^8  d   QhRRRR/# rA   r4  r3  rC   rD   r$   )rE   s   "r   rF   r)  :,  s     7 79 7 7r#   c                .    \         P                  ! W4      # )zPrint item into one line. 
        
:param func: parent function. This argument is used to find out the referenced variable names.
:returns: length of the generated text.)r   citem_t_print1r   r4  s   &&r   print1citem_t.print1:,  r  r#   z'cinsn_t *const'cinsnz'cexpr_t *const'cexprc                   V ^8  d   QhRR/# )rA   rC   rQ(  r$   )rE   s   "r   rF   r)  D,  s     2 2	 2r#   c                	.    \         P                  ! V 4      # r.   )r   citem_t__get_opr   s   &r   _get_opcitem_t._get_opD,  r   r#   c                    V ^8  d   QhRRRR/# )rA   r}   rQ(  rC   rD   r$   )rE   s   "r   rF   r)  G,  rY  r#   c                	.    \         P                  ! W4      # r.   )r   citem_t__set_opr8  s   &&r   _set_opcitem_t._set_opG,  r   r#   c                	v    V P                   \        \        39  d   \        V : R V P                   : R24      hR# )z has op r  T)rW  	cot_empty	cit_emptyr   r   s   &r   _ensure_no_opcitem_t._ensure_no_opJ,  s1    779i00$  r#   c                	T    V P                  4       ;'       d    V P                  V4      # r.   )r)  r)  r8  s   &&r   rx   r)  O,  s'    4+=+=+? , ,D
,r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r)  T,  r!  r#   c                	.    \         P                  ! V 4      # r.   )r   citem_t___dbg_get_meminfor   s   &r   r  citem_t.__dbg_get_meminfoT,  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  W,  r!  r#   c                	.    \         P                  ! V 4      # r.   )r   !citem_t___dbg_get_registered_kindr   s   &r   r  !citem_t.__dbg_get_registered_kindW,  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r)  Z,  r!  r#   c                	.    \         P                  ! V 4      # r.   )r   citem_t__obj_idr   s   &r   r  citem_t._obj_idZ,  r   r#   c                	:    V'       g   \        R V,          4      hR# r  r  r  s   &&&r   rw  citem_t._ensure_cond^,  r  r#   c                	L    V'       d   Ve   \        V : RV: RV: R24      hR# r  r  r  s   &&&&r   r  citem_t._ensure_no_objc,  r  r#   c                	N    VP                   '       g   \        R V,          4      hR# r  r  r8  s   &&r   r  'citem_t._ensure_ownership_transferrablej,  r  r#   c                	    V'       dY   VeU   \        V\        P                  4      '       g5   V P                  V4       RVn        \        VRR 4      pV'       d   V! 4        R# r	  r
  r  s   &&& r   rz  citem_t._acquire_ownershipn,  r  r#   c                	\    V P                   '       d   R V n         V P                  4        R# R# r  r  r   s   &r   r  $citem_t._maybe_disown_and_deregisterx,  r  r#   c                	\    V P                   '       d   Q hR V n         V P                  4        R# r  r  r   s   &r   r  citem_t._own_and_register},  r  r#   c                	    \        V\        \        34      '       g   Q hVP                  4        V P	                  V4       R # r.   r  r"  s   &&r   r#  citem_t.replace_by,  r%  r#   c                	    V P                  4       pV P                  4       p. ROV,          pV: RV P                  : RV: R2# r'  )_citem_t__dbg_get_meminfo!_citem_t__dbg_get_registered_kindr   r/  s   &   r   r3  citem_t._meminfo,  r5  r#   r'  N)4r   r   r8   r9   r   r   r   r
   r   citem_t_ea_getcitem_t_ea_setr  ro  citem_t_label_num_getcitem_t_label_num_setr)  citem_t_index_getcitem_t_index_setr  r)  r   r   r)  r)  r)  r)  r)  r)  delete_citem_trT  citem_t_cinsn_getr)  citem_t_cexpr_getr)  r)  r)  r)  rW  r)  r)  r  r3  rw  r  r  rz  r  r  r#  r3  r4  r<   r$   r#   r   r)  r)  ,  sm   -/I!#GH"<#>#>##%B %l@@**,Is ,,88,E3  %. I2
2
;
9
?A7 $22&|'E'EFEF&|'E'EFEF25
 
'  
B<D2gF
M


  x Gr#   r)  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR tR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* lt R+ R, lt!R- R. lt"]PF                  t$R/ R0 lt%R1 R2 lt&R3 R4 lt'R5 R6 lt(R7 R8 lt)R9 R: lt*R; R< lt+RR= R> llt,RR? R@ llt-RRA RB llt.RC RD lt/RRE RF llt0RG RH lt1RI RJ lt2RK RL lt3RM RN lt4RO RP lt5RQ RR lt6RS RT lt7RU RV lt8RW RX lt9RY RZ lt:R[ R\ lt;R] R^ lt<R_ R` lt=Ra Rb lt>Rc Rd lt?Re Rf lt@Rg Rh ltARi Rj ltBRk Rl ltCRm Rn ltDRo Rp ltERq Rr ltFRs Rt ltGRu Rv ltHRw Rx ltIRy Rz ltJR{ R| ltKR} R~ ltLR R ltM]! R R 4      tN R R ltOR R ltP]R 4       tQ]QP                  R 4       tQR R ltSR R ltT]R 4       tU]UP                  R 4       tUR R ltVR R ltW]R 4       tX]XP                  R 4       tXR R ltYR R ltZ]R 4       t[][P                  R 4       t[R R lt\R R lt]]R 4       t^]^P                  R 4       t^R R lt_R R lt`]R 4       ta]aP                  R 4       taR R ltbR R ltc]R 4       td]dP                  R 4       tdR R lteR R ltf]R 4       tg]gP                  R 4       tgR R lthR R lti]R 4       tj]jP                  R 4       tjR R ltkR R ltl]R 4       tm]mP                  R 4       tmR R ltnR R lto]R 4       tp]pP                  R 4       tpR R ltqR R ltr]R 4       ts]sP                  R 4       tsR R lttR R ltu]R 4       tv]vP                  R 4       tvRtwR# )r  i,  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cexpr_t.<lambda>,  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r)  ,  r~   r#   r   r   r  r   rX   exflagsc                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   cexpr_t.__annotate__,  r)  r#   c                .    \         P                  ! V 4      # )z8Pointer arithmetic correction done for this expression?
)r   cexpr_t_cpadoner   s   &r   cpadonecexpr_t.cpadone,  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  r$  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_odd_lvaluer   s   &r   is_odd_lvaluecexpr_t.is_odd_lvalue,  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  r*  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_fpopr   s   &r   is_fpopcexpr_t.is_fpop,  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  r*  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_cstrr   s   &r   is_cstrcexpr_t.is_cstr,  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  rx  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_undef_valr   s   &r   r  cexpr_t.is_undef_val,  ro  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  rS  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_jumpoutr   s   &r   
is_jumpoutcexpr_t.is_jumpout,  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,  rS  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_is_vftabler   s   &r   
is_vftablecexpr_t.is_vftable,  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_set_cpadoner   s   &r   set_cpadonecexpr_t.set_cpadone,  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_set_vftabler   s   &r   set_vftablecexpr_t.set_vftable,  r   r#   c                	>   VR ,           F,  p\        V\        4      '       g   K  V P                  V4       K.  	  \        P                  ! V \        P
                  ! V!  4       VR ,           F-  p\        V\        4      '       g   K  V P                  VR4       K/  	  R# )r  NNTN)r   r  r  r   cexpr_t_swiginitnew_cexpr_trz  )r   r   rd&  s   &* r   r   cexpr_t.__init__,  sw    88C#w''44S9  	%%dL,D,Dd,KL88C#w''''T2 r#   c                    V ^8  d   QhRRRR/# rA   r   r)  rC   rD   r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t_swapr   s   &&r   r   cexpr_t.swap,  r~
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r)  rC   z'cexpr_t &'r$   )rE   s   "r   rF   r)  ,       4 4	 4[ 4r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t_assignr   s   &&r   r   cexpr_t.assign,  r)  r#   c                    V ^8  d   QhRRRR/# rA   r   r)  rC   rY   r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___eq__r   s   &&r   r   cexpr_t.__eq__,  r)  r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___ne__r   s   &&r   r  cexpr_t.__ne__,  r)  r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___lt__r   s   &&r   rI  cexpr_t.__lt__,  r)  r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___gt__r   s   &&r   rN  cexpr_t.__gt__,  r)  r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___le__r   s   &&r   rS  cexpr_t.__le__,  r)  r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t___ge__r   s   &&r   rX  cexpr_t.__ge__,  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r)  rC   rX   r$   )rE   s   "r   rF   r)  ,  r  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t_comparer   s   &&r   r^  cexpr_t.compare,  r   r#   c                    V ^8  d   QhRRRR/# r**  r$   )rE   s   "r   rF   r)  ,  rd  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__replace_byr   s   &&r   r!  cexpr_t._replace_by,  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  ,  r)  r#   c                .    \         P                  ! V 4      # )zrCleanup the expression. This function properly deletes all children and sets the item type to cot_empty. 
        )r   cexpr_t_cleanupr   s   &r   r  cexpr_t.cleanup,  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  ,  s     < <$ <r#   c                2    \         P                  ! V .VO5!  # )zAssign a number to the expression. 
        
:param func: current function
:param value: number value
:param nbytes: size of the number in bytes
:param sign: number sign)r   cexpr_t_put_numberr   s   &*r   
put_numbercexpr_t.put_number,  s     ..t;d;;r#   c                    V ^8  d   QhRRRR/# r)  r$   )rE   s   "r   rF   r)  ,       7 79 7 7r#   c                .    \         P                  ! W4      # )zPrint expression into one line. 
        
:param func: parent function. This argument is used to find out the referenced variable names.)r   cexpr_t_print1r)  s   &&r   r)  cexpr_t.print1,       **466r#   c                    V ^8  d   QhRRRR/# )rA   	recursiverY   rC   rD   r$   )rE   s   "r   rF   r)  ,  s     ? ?4 ?4 ?r#   c                .    \         P                  ! W4      # )zCalculate the type of the expression. Use this function to calculate the expression type when a new expression is built 
        
:param recursive: if true, types of all children expression will be calculated before calculating our type)r   cexpr_t_calc_type)r   rd*  s   &&r   	calc_typecexpr_t.calc_type,  s     --d>>r#   c                    V ^8  d   QhRRRR/# r4*  r$   )rE   s   "r   rF   r)  -  s     : :i :4 :r#   c                .    \         P                  ! W4      # )a3  Compare two expressions. This function tries to compare two expressions in an 'intelligent' manner. For example, it knows about commutitive operators and can ignore useless casts. 
        
:param r: the expression to compare against the current expression
:returns: true expressions can be considered equal)r   cexpr_t_equal_effectr   s   &&r   equal_effectcexpr_t.equal_effect-      
 0099r#   c                    V ^8  d   QhRRRR/# rA   r  r  rC   rY   r$   )rE   s   "r   rF   r)  -       > >) >t >r#   c                .    \         P                  ! W4      # )zVerify if the specified item is our parent. 
        
:param parent: possible parent item
:returns: true if the specified item is our parent)r   cexpr_t_is_child_ofr   r  s   &&r   is_child_ofcexpr_t.is_child_of-  s    
 //==r#   c               $    V ^8  d   QhRRRRRR/# )rA   	needed_oprQ(  timesrX   rC   rY   r$   )rE   s   "r   rF   r)  -  s&     N N9 NS Nd Nr#   c                0    \         P                  ! WV4      # )zCheck if the expression contains the specified operator. 
        
:param needed_op: operator code to search for
:param times: how many times the operator code should be present
:returns: true if the expression has at least TIMES children with NEEDED_OP)r   cexpr_t_contains_operator)r   rx*  ry*  s   &&&r   contains_operatorcexpr_t.contains_operator-  s     55duMMr#   c                    V ^8  d   QhRRRR/# rA   ry*  rX   rC   rY   r$   )rE   s   "r   rF   r)  -  s     @ @C @T @r#   c                .    \         P                  ! W4      # )z.Does the expression contain a comma operator?
)r   cexpr_t_contains_commar   ry*  s   &&r   contains_commacexpr_t.contains_comma-  s     224??r#   c                    V ^8  d   QhRRRR/# r*  r$   )rE   s   "r   rF   r)  -  s     ? ?3 ?D ?r#   c                .    \         P                  ! W4      # )z<Does the expression contain an embedded statement operator?
)r   cexpr_t_contains_insnr*  s   &&r   contains_insncexpr_t.contains_insn-  s     11$>>r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  !-  r!  r#   c                .    \         P                  ! V 4      # )zGDoes the expression contain an embedded statement operator or a label?
)r   cexpr_t_contains_insn_or_labelr   s   &r   contains_insn_or_labelcexpr_t.contains_insn_or_label!-  r!  r#   c                    V ^8  d   QhRRRR/# )rA   	maxcommasrX   rC   rY   r$   )rE   s   "r   rF   r)  &-  s       $ r#   c                0    \         P                  ! V V4      # )z[Does the expression contain a comma operator or an embedded statement operator or a label?
)r   'cexpr_t_contains_comma_or_insn_or_label)r   r*  s   &&r   contains_comma_or_insn_or_label'cexpr_t.contains_comma_or_insn_or_label&-  s     CCD 	r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,-       7 7T 7r#   c                .    \         P                  ! V 4      # )znIs nice expression? Nice expressions do not contain comma operators, embedded statements, or labels. 
        )r   cexpr_t_is_nice_exprr   s   &r   is_nice_exprcexpr_t.is_nice_expr,-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  1-  r*  r#   c                .    \         P                  ! V 4      # )zVIs nice condition?. Nice condition is a nice expression of the boolean type. 
        )r   cexpr_t_is_nice_condr   s   &r   is_nice_condcexpr_t.is_nice_cond1-  r  r#   c                    V ^8  d   QhRRRR/# rp*  r$   )rE   s   "r   rF   r)  6-  s     D D	 DT Dr#   c                .    \         P                  ! W4      # )zqIs call object? 
        
:returns: true if our expression is the call object of the specified parent expression.)r   cexpr_t_is_call_object_ofrt*  s   &&r   is_call_object_ofcexpr_t.is_call_object_of6-  s     55dCCr#   c                    V ^8  d   QhRRRR/# rp*  r$   )rE   s   "r   rF   r)  <-  r`!  r#   c                .    \         P                  ! W4      # )zsIs call argument? 
        
:returns: true if our expression is a call argument of the specified parent expression.)r   cexpr_t_is_call_arg_ofrt*  s   &&r   is_call_arg_ofcexpr_t.is_call_arg_of<-  s     224@@r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   r)  B-  s     8 8m 8r#   c                .    \         P                  ! V 4      # )zGet expression sign.
)r   cexpr_t_get_type_signr   s   &r   get_type_signcexpr_t.get_type_signB-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  G-       ; ; ;r#   c                .    \         P                  ! V 4      # )zIs expression unsigned?
)r   cexpr_t_is_type_unsignedr   s   &r   is_type_unsignedcexpr_t.is_type_unsignedG-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  L-  r)  r#   c                .    \         P                  ! V 4      # )zIs expression signed?
)r   cexpr_t_is_type_signedr   s   &r   is_type_signedcexpr_t.is_type_signedL-  r  r#   c                   V ^8  d   QhRR/# )rA   rC   z'bit_bound_t'r$   )rE   s   "r   rF   r)  Q-  s     > >M >r#   c                .    \         P                  ! V 4      # )zGet max number of bits that can really be used by the expression. For example, x % 16 can yield only 4 non-zero bits, higher bits are zero 
        )r   cexpr_t_get_high_nbit_boundr   s   &r   get_high_nbit_boundcexpr_t.get_high_nbit_boundQ-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  V-  s     = =3 =r#   c                .    \         P                  ! V 4      # )zGet min number of bits that are certainly required to represent the expression. For example, constant 16 always uses 5 bits: 10000. 
        )r   cexpr_t_get_low_nbit_boundr   s   &r   get_low_nbit_boundcexpr_t.get_low_nbit_boundV-       66t<<r#   c                    V ^8  d   QhRRRR/# )rA   childr)  rC   rY   r$   )rE   s   "r   rF   r)  [-  s     A AY A$ Ar#   c                .    \         P                  ! W4      # )zCheck if the expression requires an lvalue. 
        
:param child: The function will check if this child of our expression must be an lvalue.
:returns: true if child must be an lvalue.)r   cexpr_t_requires_lvalue)r   r*  s   &&r   requires_lvaluecexpr_t.requires_lvalue[-  s    
 33D@@r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  b-  r*  r#   c                .    \         P                  ! V 4      # )zoCheck if the expression has side effects. Calls, pre/post inc/dec, and assignments have side effects. 
        )r   cexpr_t_has_side_effectsr   s   &r   r  cexpr_t.has_side_effectsb-  r  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r)  g-  s     1 1x 1r#   c                .    \         P                  ! V 4      # )zgGet numeric value of the expression. This function can be called only on cot_num expressions! 
        )r   cexpr_t_numvalr   s   &r   numvalcexpr_t.numvalg-  r  r#   c                    V ^8  d   QhRRRR/# )rA   r=  rl  rC   rY   r$   )rE   s   "r   rF   r)  l-  s     = = =T =r#   c                .    \         P                  ! W4      # )z>Check if the expression is a number with the specified value.
)r   cexpr_t_is_const_valuerA  s   &&r   is_const_valuecexpr_t.is_const_valuel-  s     224<<r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  q-       < <$ <r#   c                .    \         P                  ! V 4      # )z.Check if the expression is a negative number.
)r   cexpr_t_is_negative_constr   s   &r   is_negative_constcexpr_t.is_negative_constq-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  v-       @ @d @r#   c                .    \         P                  ! V 4      # )z2Check if the expression is a non-negative number.
)r   cexpr_t_is_non_negative_constr   s   &r   is_non_negative_constcexpr_t.is_non_negative_constv-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  {-  r*  r#   c                .    \         P                  ! V 4      # )z.Check if the expression is a non-zero number.
)r   cexpr_t_is_non_zero_constr   s   &r   is_non_zero_constcexpr_t.is_non_zero_const{-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  -  s     8 8d 8r#   c                .    \         P                  ! V 4      # )z#Check if the expression is a zero.
)r   cexpr_t_is_zero_constr   s   &r   is_zero_constcexpr_t.is_zero_const-  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  -  s     : : :r#   c                .    \         P                  ! V 4      # )zMGet expression value. 
        
:returns: true if the expression is a number.)r   cexpr_t_get_const_valuer   s   &r   get_const_valuecexpr_t.get_const_value-  r=#  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  -  r!  r#   c                .    \         P                  ! V 4      # )z!May the expression be a pointer?
)r   cexpr_t_maybe_ptrr   s   &r   	maybe_ptrcexpr_t.maybe_ptr-  r  r#   c                   V ^8  d   QhRR/# rA   rC   'cexpr_t *'r$   )rE   s   "r   rF   r)  -  s     ; ; ;r#   c                .    \         P                  ! V 4      # )zFind pointer or array child.
)r   cexpr_t_get_ptr_or_arrayr   s   &r   get_ptr_or_arraycexpr_t.get_ptr_or_array-  r  r#   c                    V ^8  d   QhRRRR/# )rA   _oprQ(  rC   r*  r$   )rE   s   "r   rF   r)  -  s     7 79 7 7r#   c                .    \         P                  ! W4      # )z,Find the child with the specified operator.
)r   cexpr_t_find_op)r   r+  s   &&r   find_opcexpr_t.find_op-  s     ++D66r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r)  -  s     6 6K 6r#   c                .    \         P                  ! V 4      # )z'Find the operand with a numeric value.
)r   cexpr_t_find_num_opr   s   &r   rs!  cexpr_t.find_num_op-  r  r#   c                    V ^8  d   QhRRRR/# )rA   whatr)  rC   r*  r$   )rE   s   "r   rF   r)  -  s     9 9Y 9+ 9r#   c                .    \         P                  ! W4      # )zxGet the other operand. This function returns the other operand (not the specified one) for binary expressions. 
        )r   cexpr_t_theother)r   r+  s   &&r   theothercexpr_t.theother-  s     ,,T88r#   c               $    V ^8  d   QhRRRRRR/# )rA   o1z'cexpr_t **'o2rC   rY   r$   )rE   s   "r   rF   r)  -  s!     > >l > > >r#   c                0    \         P                  ! WV4      # )zkGet pointers to operands. at last one operand should be a number o1 will be pointer to the number 
        )r   cexpr_t_get_1num_op)r   r+  r+  s   &&&r   get_1num_opcexpr_t.get_1num_op-  s     //"==r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r)  -  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_dstrr   s   &r   r  cexpr_t.dstr-  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  -  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__registerr   s   &r   r  cexpr_t._register-  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)  -  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__deregisterr   s   &r   r  cexpr_t._deregister-  r   r#   c                   V ^8  d   QhRR/# )rA   rC   z'var_ref_t *'r$   )rE   s   "r   rF   r)  -  s     0 0m 0r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t_get_vr   s   &r   get_vcexpr_t.get_v-  r.  r#   c                    V ^8  d   QhRRRR/# )rA   r}   r(  rC   rD   r$   )rE   s   "r   rF   r)  -  s     3 3{ 3d 3r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t_set_vr8  s   &&r   set_vcexpr_t.set_v-  rL
  r#   c                	"    V P                  4       # r.   )r&+  r   s   &r   rx   r)  -  ra  r#   c                	$    V P                  V4      # r.   )r++  r8  s   &&r   rx   r)  -  s    DJJqMr#   c                   V ^8  d   QhRR/# rA   rC   z'cnumber_t *'r$   )rE   s   "r   rF   r)  -  s     1 1} 1r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_nr   s   &r   _get_ncexpr_t._get_n-  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r(  rC   rD   r$   )rE   s   "r   rF   r)  -  s     5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_nrA  s   &&r   _set_ncexpr_t._set_n-  rD  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cot_numr3+  r   s   &r   rz  	cexpr_t.n-  s     $7 2t{{}<<r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_numrz  T)rw  rW  r;+  r  r3+  rz  r8+  rJ  s   &&r   rz  r<+  -  s~      G!35I  N N%%dkkmS$ N N))%6N N;?;;u;M	Nr#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r)  -  s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_fpcr   s   &r   r  cexpr_t._get_fpc-  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  -  s     7 7; 7$ 7r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_fpcrA  s   &&r   r  cexpr_t._set_fpc-  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cot_fnumr  r   s   &r   r  cexpr_t.fpc-  s    "&''X"5t}}?4?r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_fnumr  T)rw  rW  rG+  r  r  rz  r  rJ  s   &&r   r  rH+  -  s~      H!46K  P P%%dmmoud P P))%6P P;?==;O	Pr#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r)  -       1 1{ 1r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_xr   s   &r   _get_xcexpr_t._get_x-  r
  r#   c                    V ^8  d   QhRRRR/# rA   r=  r)  rC   rD   r$   )rE   s   "r   rF   r)  -  rY  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_xrA  s   &&r   _set_xcexpr_t._set_x-  rD  r#   c                	\    \        V P                  4      '       d   V P                  4       # R # r.   )ri(  rW  rN+  r   s   &r   rw   	cexpr_t.x-  !     )$'' 2 2t{{}<<r#   c                	   V P                  \        V P                  4      R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zop_uses_x(self.op)rw   T)rw  ri(  rW  r  rN+  rz  rT+  rJ  s   &&r   rw   rW+  -  ~      477!35I  N N%%dkkmS$ N N))%6N N;?;;u;M	Nr#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r)  -  rK+  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_yr   s   &r   _get_ycexpr_t._get_y-  r
  r#   c                    V ^8  d   QhRRRR/# rQ+  r$   )rE   s   "r   rF   r)  -  rY  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_yrA  s   &&r   _set_ycexpr_t._set_y-  rD  r#   c                	\    \        V P                  4      '       d   V P                  4       # R # r.   )rm(  rW  r^+  r   s   &r   y	cexpr_t.y-  rX+  r#   c                	   V P                  \        V P                  4      R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zop_uses_y(self.op)rf+  T)rw  rm(  rW  r  r^+  rz  rc+  rJ  s   &&r   rf+  rg+  -  rZ+  r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r)  -  rK+  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_zr   s   &r   _get_zcexpr_t._get_z-  r
  r#   c                    V ^8  d   QhRRRR/# rQ+  r$   )rE   s   "r   rF   r)  -  rY  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_zrA  s   &&r   _set_zcexpr_t._set_z-  rD  r#   c                	\    \        V P                  4      '       d   V P                  4       # R # r.   )rp(  rW  rl+  r   s   &r   z	cexpr_t.z.  rX+  r#   c                	   V P                  \        V P                  4      R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zop_uses_z(self.op)rt+  T)rw  rp(  rW  r  rl+  rz  rq+  rJ  s   &&r   rt+  ru+  .  rZ+  r#   c                   V ^8  d   QhRR/# )rA   rC   z'carglist_t *'r$   )rE   s   "r   rF   r)  .  rb  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_ar   s   &r   r  cexpr_t._get_a.  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r=  'carglist_t'rC   rD   r$   )rE   s   "r   rF   r)  .  s     5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_arA  s   &&r   r  cexpr_t._set_a.  rD  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cot_callr  r   s   &r   rO	  	cexpr_t.a.  s     $8 3t{{}==r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_callrO	  T)rw  rW  r+  r  r  rz  r  rJ  s   &&r   rO	  r+  .  s~      H!46K  N N%%dkkmS$ N N))%6N N;?;;u;M	Nr#   c                   V ^8  d   QhRR/# rA   rC   'cinsn_t *'r$   )rE   s   "r   rF   r)  .  s     4 4+ 4r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_insnr   s   &r   	_get_insncexpr_t._get_insn.  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r`   rC   rD   r$   )rE   s   "r   rF   r)  .  r_  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_insnrA  s   &&r   	_set_insncexpr_t._set_insn.  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cot_insnr+  r   s   &r   rM  cexpr_t.insn!.  s    #'77h#6t~~@D@r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_insnrM  T)rw  rW  r+  r  r+  rz  r+  rJ  s   &&r   rM  r+  %.  sz      H!46K   %%dnn&6  ))%6 ;?>>% <	r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ,.  s     1 1s 1r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_mr   s   &r   _get_mcexpr_t._get_m,.  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  /.  s     5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_mrA  s   &&r   _set_mcexpr_t._set_m/.  rD  r#   c                	z    V P                   \        8X  g   V P                   \        8X  d   V P                  4       # ^ # r  )rW  
cot_memptr
cot_memrefr+  r   s   &r   r  	cexpr_t.m2.  s8     J&$''Z*? {{  	GEF	Gr#   c                	    T P                  V P                  \        8H  ;'       g    V P                  \        8H  R 4      ;'       d    V P	                  V4      # )z.self.op == cot_memptr or self.op == cot_memref)rw  rW  r+  r+  r+  rJ  s   &&r   r  r+  7.  sQ      J!6 " "$'';H % %++e$	%r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  =.  s     7 7S 7r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_ptrsizer   s   &r   _get_ptrsizecexpr_t._get_ptrsize=.  ro  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  @.  s     ; ;s ;d ;r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_ptrsizerA  s   &&r   _set_ptrsizecexpr_t._set_ptrsize@.      00::r#   c                	z    V P                   \        8X  g   V P                   \        8X  d   V P                  4       # ^ # r  )rW  cot_ptrr+  r+  r   s   &r   r  cexpr_t.ptrsizeC.  s:     G#tww*'<     	DBC	Dr#   c                	    T P                  V P                  \        8H  ;'       g    V P                  \        8H  R 4      ;'       d    V P	                  V4      # )z+self.op == cot_ptr or self.op == cot_memptr)rw  rW  r+  r+  r+  rJ  s   &&r   r  r+  H.  sS      G!3 " "tww8E + +##E*	+r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r)  N.  s     6 6O 6r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_obj_ear   s   &r   _get_obj_eacexpr_t._get_obj_eaN.  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  Q.  s     : :o : :r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_obj_earA  s   &&r   _set_obj_eacexpr_t._set_obj_eaQ.  rK  r#   c                	l    V P                   \        8X  d   V P                  4       # \        P                  # r.   )rW  cot_objr+  rU  BADADDRr   s   &r   obj_eacexpr_t.obj_eaT.  s'    %)WW%7t!OZ=O=OOr#   c                	z    V P                  V P                  \        8H  R 4      ;'       d    V P                  V4      # )zself.op == cot_obj)rw  rW  r+  r+  rJ  s   &&r   r+  r+  X.  s;      G!35I  * *""5)	*r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)  ].  s     8 8c 8r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_refwidthr   s   &r   _get_refwidthcexpr_t._get_refwidth].  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  `.  r   r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_refwidthrA  s   &&r   _set_refwidthcexpr_t._set_refwidth`.  r  r#   c                	"    V P                  4       # r(  )r+  r   s   &r   refwidthcexpr_t.refwidthc.  s    !!#2r#   c                	X    V P                  R R4      ;'       d    V P                  V4      # )TTrue)rw  r+  rJ  s   &&r   r+  r+  g.  s(      v.LL43E3Ee3LLr#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r)  k.       6 6C 6r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_helperr   s   &r   r  cexpr_t._get_helperk.  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  n.       : :c :T :r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_helperrA  s   &&r   r   cexpr_t._set_helpern.  rK  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  
cot_helperr  r   s   &r   r$  cexpr_t.helperq.  s!    %)WW
%:t!DDr#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_helperr$  F)rw  rW  r+  r  r  rz  r   rJ  s   &&r   r$  r+  u.  s      J!68O   %%d&6&6&8(E  ))%7 <@<L<L=	r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r)  |.  r+  r#   c                	.    \         P                  ! V 4      # r.   )r   cexpr_t__get_stringr   s   &r   _get_stringcexpr_t._get_string|.  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r)  .  r+  r#   c                	.    \         P                  ! W4      # r.   )r   cexpr_t__set_stringrA  s   &&r   _set_stringcexpr_t._set_string.  rK  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cot_strr+  r   s   &r   stringcexpr_t.string.  s!    %)WW%7t!ATAr#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cot_strr+  F)rw  rW  r+  r  r+  rz  r+  rJ  s   &&r   r+  r+  .  s      G!35I   %%d&6&6&8(E  ))%7 <@<L<L=	r#   r$   Nrm  )xr   r   r8   r9   r   r   r   r
   r   cexpr_t_type_getcexpr_t_type_setr   ro  cexpr_t_exflags_getcexpr_t_exflags_setr)  r)  r *  r*  r
*  r  r*  r*  r*  r"*  r   r   r   r   r  rI  rN  rS  rX  r^  delete_cexpr_trT  r!  r  r[*  r)  rg*  rl*  ru*  r|*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r*  r  r*  r*  r*  r*  r*  r*  r*  r*  r*  r+  rs!  r+  r+  r  r  r  r&+  r++  r}   r3+  r8+  rz  r5  r  r  r  rN+  rT+  rw   r^+  rc+  rf+  rl+  rq+  rt+  r  r  rO	  r+  r+  rM  r+  r+  r  r+  r+  r  r+  r+  r+  r+  r+  r+  r  r   r$  r+  r+  r+  r<   r$   r#   r   r  r  ,  s   -/I!#GH|<<lD) L<<lGS 2
822755663244444445#2292
<7?:>N@
?
A
7
7
DA8
;
9
>
=
A;
1
=
<
@
<
8
:4
;
7
6
9
>
/4603*,IJA15 = = XXN N
37 @ @ 	ZZP P
15 = = XXN N
15 = = XXN N
15 = = XXN N
15 > > XXN N
48 A A 
[[ 15 G G XX% %
7; D D ^^+ +
6: P P ]]* *8< 3 3 __M M6: E E ]] 6: B B ]] r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R t]P                  tR	tR
# )ceinsn_ti.  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ceinsn_t.<lambda>.  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r+  .  r~   r#   r   r   r)  exprc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ceinsn_t_swiginitnew_ceinsn_tr   s   &r   r   ceinsn_t.__init__.  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   ceinsn_t_expr_getceinsn_t_expr_setr+  ro  r   delete_ceinsn_trT  r<   r$   r#   r   r+  r+  .  sR    -/I!#GH|==|		D) J#33r#   r+  c                  L   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    R	 tR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P2                  tR R ltRtR# )cif_ti.  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cif_t.<lambda>.  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,  .  r~   r#   r   r   r+  ithenielsec                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cif_t_swiginit	new_cif_tr   s   &*r   r   cif_t.__init__.  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   'cif_t'rC   	'cif_t &'r$   )rE   s   "r   rF   cif_t.__annotate__.  s     2 2 29 2r#   c                	.    \         P                  ! W4      # r.   )r   cif_t_assignr   s   &&r   r   cif_t.assign.  r~
  r#   c                    V ^8  d   QhRRRR/# rA   r   r,  rC   rY   r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___eq__r   s   &&r   r   cif_t.__eq__.  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___ne__r   s   &&r   r  cif_t.__ne__.  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___lt__r   s   &&r   rI  cif_t.__lt__.  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___gt__r   s   &&r   rN  cif_t.__gt__.  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___le__r   s   &&r   rS  cif_t.__le__.  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t___ge__r   s   &&r   rX  cif_t.__ge__.  r~
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r,  rC   rX   r$   )rE   s   "r   rF   r,  .  r4  r#   c                	.    \         P                  ! W4      # r.   )r   cif_t_comparer   s   &&r   r^  cif_t.compare.  rL
  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r,  .  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cif_t_cleanupr   s   &r   r  cif_t.cleanup.  r.  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cif_t_ithen_getcif_t_ithen_setr,  ro  cif_t_ielse_getcif_t_ielse_setr,  r   r   r   r  rI  rN  rS  rX  r^  delete_cif_trT  r  r<   r$   r#   r   r,  r,  .  s    -/I!#GH!,">">$$&E; &!,">">$$&E; &I22222223#000 0r#   r,  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R tR	 R
 lt]P                  tR R ltRtR# )cloop_ti.  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cloop_t.<lambda>.  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r;,  .  r~   r#   r   r   r+  r\  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cloop_t_swiginitnew_cloop_tr   s   &*r   r   cloop_t.__init__ /  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   z	'cloop_t'rC   z'cloop_t &'r$   )rE   s   "r   rF   cloop_t.__annotate__/  r/*  r#   c                	.    \         P                  ! W4      # r.   )r   cloop_t_assignr   s   &&r   r   cloop_t.assign/  r)  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rB,  /  r*  r#   c                	.    \         P                  ! V 4      # r.   )r   cloop_t_cleanupr   s   &r   r  cloop_t.cleanup/  r   r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cloop_t_body_getcloop_t_body_setr\  ro  r   r   delete_cloop_trT  r  r<   r$   r#   r   r9,  r9,  .  s]    -/I!#GH !>!>%%'D+ 'M4#222 2r#   r9,  c                  4   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    R	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P0                  tRtR# )cfor_ti/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cfor_t.<lambda>/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rP,  /  r~   r#   r   r   r)  r  stepc                    V ^8  d   QhRRRR/# rA   r   'cfor_t'rC   rY   r$   )rE   s   "r   rF   cfor_t.__annotate__/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___eq__r   s   &&r   r   cfor_t.__eq__/  rL
  r#   c                    V ^8  d   QhRRRR/# rT,  r$   )rE   s   "r   rF   rV,  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___ne__r   s   &&r   r  cfor_t.__ne__/  rL
  r#   c                    V ^8  d   QhRRRR/# rT,  r$   )rE   s   "r   rF   rV,  !/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___lt__r   s   &&r   rI  cfor_t.__lt__!/  rL
  r#   c                    V ^8  d   QhRRRR/# rT,  r$   )rE   s   "r   rF   rV,  $/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___gt__r   s   &&r   rN  cfor_t.__gt__$/  rL
  r#   c                    V ^8  d   QhRRRR/# rT,  r$   )rE   s   "r   rF   rV,  '/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___le__r   s   &&r   rS  cfor_t.__le__'/  rL
  r#   c                    V ^8  d   QhRRRR/# rT,  r$   )rE   s   "r   rF   rV,  */  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t___ge__r   s   &&r   rX  cfor_t.__ge__*/  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   r   rU,  rC   rX   r$   )rE   s   "r   rF   rV,  -/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cfor_t_comparer   s   &&r   r^  cfor_t.compare-/  r)  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cfor_t_swiginit
new_cfor_tr   s   &r   r   cfor_t.__init__0/      $$T<+B+B+DEr#   r$   N)r   r   r8   r9   r   r   r   r
   r   cfor_t_init_getcfor_t_init_setr  ro  cfor_t_step_getcfor_t_step_setrR,  r   r  rI  rN  rS  rX  r^  r   delete_cfor_trT  r<   r$   r#   r   rN,  rN,  /  s    -/I!#GH|;;\D) |;;\D) 3333334F#11r#   rN,  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )cwhile_ti8/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cwhile_t.<lambda>9/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,  9/  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   
'cwhile_t'rC   rY   r$   )rE   s   "r   rF   cwhile_t.__annotate__=/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___eq__r   s   &&r   r   cwhile_t.__eq__=/  r   r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  @/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___ne__r   s   &&r   r  cwhile_t.__ne__@/  r   r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  C/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___lt__r   s   &&r   rI  cwhile_t.__lt__C/  r   r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  F/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___gt__r   s   &&r   rN  cwhile_t.__gt__F/  r   r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  I/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___le__r   s   &&r   rS  cwhile_t.__le__I/  r   r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  L/  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t___ge__r   s   &&r   rX  cwhile_t.__ge__L/  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r,  rC   rX   r$   )rE   s   "r   rF   r,  O/  r[  r#   c                	.    \         P                  ! W4      # r.   )r   cwhile_t_comparer   s   &&r   r^  cwhile_t.compareO/  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cwhile_t_swiginitnew_cwhile_tr   s   &r   r   cwhile_t.__init__R/  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_cwhile_trT  r<   r$   r#   r   r},  r},  8/  O    -/I!#GH5555556J#33r#   r},  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )cdo_tiZ/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cdo_t.<lambda>[/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,  [/  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   'cdo_t'rC   rY   r$   )rE   s   "r   rF   cdo_t.__annotate___/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___eq__r   s   &&r   r   cdo_t.__eq___/  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  b/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___ne__r   s   &&r   r  cdo_t.__ne__b/  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  e/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___lt__r   s   &&r   rI  cdo_t.__lt__e/  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  h/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___gt__r   s   &&r   rN  cdo_t.__gt__h/  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  k/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___le__r   s   &&r   rS  cdo_t.__le__k/  r~
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  n/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t___ge__r   s   &&r   rX  cdo_t.__ge__n/  r~
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r,  rC   rX   r$   )rE   s   "r   rF   r,  q/  r4  r#   c                	.    \         P                  ! W4      # r.   )r   cdo_t_comparer   s   &&r   r^  cdo_t.compareq/  rL
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cdo_t_swiginit	new_cdo_tr   s   &r   r   cdo_t.__init__t/  s    ##D,*@*@*BCr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_cdo_trT  r<   r$   r#   r   r,  r,  Z/  sO    -/I!#GH2222223D#00r#   r,  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )	creturn_ti|/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   creturn_t.<lambda>}/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,  }/  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   'creturn_t'rC   rY   r$   )rE   s   "r   rF   creturn_t.__annotate__/  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___eq__r   s   &&r   r   creturn_t.__eq__/  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  /  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___ne__r   s   &&r   r  creturn_t.__ne__/  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  /  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___lt__r   s   &&r   rI  creturn_t.__lt__/  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  /  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___gt__r   s   &&r   rN  creturn_t.__gt__/  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  /  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___le__r   s   &&r   rS  creturn_t.__le__/  r
  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r,  /  r/  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t___ge__r   s   &&r   rX  creturn_t.__ge__/  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r,  rC   rX   r$   )rE   s   "r   rF   r,  /  rH  r#   c                	.    \         P                  ! W4      # r.   )r   creturn_t_comparer   s   &&r   r^  creturn_t.compare/  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   creturn_t_swiginitnew_creturn_tr   s   &r   r   creturn_t.__init__/  r?  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_creturn_trT  r<   r$   r#   r   r,  r,  |/  sO    -/I!#GH6666667L#44r#   r,  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR t]P*                  tRtR# )cgoto_ti/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cgoto_t.<lambda>/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r,  /  r~   r#   r   r   rX   r)  c                    V ^8  d   QhRRRR/# rA   r   	'cgoto_t'rC   rY   r$   )rE   s   "r   rF   cgoto_t.__annotate__/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___eq__r   s   &&r   r   cgoto_t.__eq__/  r)  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___ne__r   s   &&r   r  cgoto_t.__ne__/  r)  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___lt__r   s   &&r   rI  cgoto_t.__lt__/  r)  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___gt__r   s   &&r   rN  cgoto_t.__gt__/  r)  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___le__r   s   &&r   rS  cgoto_t.__le__/  r)  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t___ge__r   s   &&r   rX  cgoto_t.__ge__/  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r,  rC   rX   r$   )rE   s   "r   rF   r -  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cgoto_t_comparer   s   &&r   r^  cgoto_t.compare/  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cgoto_t_swiginitnew_cgoto_tr   s   &r   r   cgoto_t.__init__/  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cgoto_t_label_num_getcgoto_t_label_num_setr)  ro  r   r  rI  rN  rS  rX  r^  r   delete_cgoto_trT  r<   r$   r#   r   r,  r,  /  sv    -/I!#GHl@@**,Is ,4444445H#22r#   r,  c                      ] tR tRt]! R R RR7      t]tR tR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR R ltR R lt]P$                  tRtR# )casm_ti/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   casm_t.<lambda>/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r&-  /  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   casm_t_swiginit
new_casm_tr   s   &*r   r   casm_t.__init__/  r>  r#   c                    V ^8  d   QhRRRR/# rA   r   'casm_t'rC   rY   r$   )rE   s   "r   rF   casm_t.__annotate__/  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___eq__r   s   &&r   r   casm_t.__eq__/  rL
  r#   c                    V ^8  d   QhRRRR/# r--  r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___ne__r   s   &&r   r  casm_t.__ne__/  rL
  r#   c                    V ^8  d   QhRRRR/# r--  r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___lt__r   s   &&r   rI  casm_t.__lt__/  rL
  r#   c                    V ^8  d   QhRRRR/# r--  r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___gt__r   s   &&r   rN  casm_t.__gt__/  rL
  r#   c                    V ^8  d   QhRRRR/# r--  r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___le__r   s   &&r   rS  casm_t.__le__/  rL
  r#   c                    V ^8  d   QhRRRR/# r--  r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t___ge__r   s   &&r   rX  casm_t.__ge__/  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r.-  rC   rX   r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   casm_t_comparer   s   &&r   r^  casm_t.compare/  r)  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r/-  /  r  r#   c                	.    \         P                  ! V 4      # r.   )r   casm_t_one_insnr   s   &r   one_insncasm_t.one_insn/  r   r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r  rI  rN  rS  rX  r^  rN-  r   delete_casm_trT  r<   r$   r#   r   r$-  r$-  /  sT    -/I!#GHK33333342#11r#   r$-  c                  *   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P4                  tR R ltR R  ltR! R" ltR# R$ ltR% R& lt ]!3R' R( llt"R) R* lt#R+ R, lt$R~R- R. llt%R/ R0 lt&R1 R2 lt'R3 R4 lt(R5 R6 lt)R7 R8 lt*R9 R: lt+R; R< lt,]-R= R> l4       t.R? t/R@ RA lt0RB RC lt1]RD 4       t2]2Pf                  RE 4       t2RF RG lt4RH RI lt5]RJ 4       t6]6Pf                  RK 4       t6RL RM lt7RN RO lt8]RP 4       t9]9Pf                  RQ 4       t9RR RS lt:RT RU lt;]RV 4       t<]<Pf                  RW 4       t<RX RY lt=RZ R[ lt>]R\ 4       t?]?Pf                  R] 4       t?R^ R_ lt@R` Ra ltA]Rb 4       tB]BPf                  Rc 4       tBRd Re ltCRf Rg ltD]Rh 4       tE]EPf                  Ri 4       tERj Rk ltFRl Rm ltG]Rn 4       tH]HPf                  Ro 4       tHRp Rq ltIRr Rs ltJ]Rt 4       tK]KPf                  Ru 4       tKRv Rw ltLRx Ry ltM]Rz 4       tN]NPf                  R{ 4       tNR|tOR}# )r   i/  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cinsn_t.<lambda>/  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rS-  /  r~   r#   r   r   z
'ctry_t *'ctryz'cthrow_t *'cthrowc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   cinsn_t_swiginitnew_cinsn_tr   s   &*r   r   cinsn_t.__init__/  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r`   rC   rD   r$   )rE   s   "r   rF   cinsn_t.__annotate__/  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t_swapr   s   &&r   r   cinsn_t.swap/  r~
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r`   rC   r  r$   )rE   s   "r   rF   r]-  /  r/*  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t_assignr   s   &&r   r   cinsn_t.assign/  r)  r#   c                    V ^8  d   QhRRRR/# rA   r   r`   rC   rY   r$   )rE   s   "r   rF   r]-  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___eq__r   s   &&r   r   cinsn_t.__eq__/  r)  r#   c                    V ^8  d   QhRRRR/# rf-  r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___ne__r   s   &&r   r  cinsn_t.__ne__0  r)  r#   c                    V ^8  d   QhRRRR/# rf-  r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___lt__r   s   &&r   rI  cinsn_t.__lt__0  r)  r#   c                    V ^8  d   QhRRRR/# rf-  r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___gt__r   s   &&r   rN  cinsn_t.__gt__0  r)  r#   c                    V ^8  d   QhRRRR/# rf-  r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___le__r   s   &&r   rS  cinsn_t.__le__0  r)  r#   c                    V ^8  d   QhRRRR/# rf-  r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t___ge__r   s   &&r   rX  cinsn_t.__ge__0  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r`   rC   rX   r$   )rE   s   "r   rF   r]-  0  r  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t_comparer   s   &&r   r^  cinsn_t.compare0  r   r#   c                    V ^8  d   QhRRRR/# r\-  r$   )rE   s   "r   rF   r]-  0  rd  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__replace_byr   s   &&r   r!  cinsn_t._replace_by0  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r]-  0  r)  r#   c                .    \         P                  ! V 4      # )zqCleanup the statement. This function properly deletes all children and sets the item type to cit_empty. 
        )r   cinsn_t_cleanupr   s   &r   r  cinsn_t.cleanup0  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r]-  0  s     / /T /r#   c                .    \         P                  ! V 4      # )zDOverwrite with zeroes without cleaning memory or deleting children.
)r   cinsn_t_zeror   s   &r   r  cinsn_t.zero0  r{  r#   c                    V ^8  d   QhRRRR/# )rA   insn_earX  rC   r  r$   )rE   s   "r   rF   r]-  "0  s     < < <; <r#   c                .    \         P                  ! W4      # )zCreate a new statement. The current statement must be a block. The new statement will be appended to it. 
        
:param insn_ea: statement address)r   cinsn_t_new_insn)r   r-  s   &&r   new_insncinsn_t.new_insn"0  s     ,,T;;r#   c                    V ^8  d   QhRRRR/# )rA   cndr)  rC   r,  r$   )rE   s   "r   rF   r]-  (0  s     9 9Y 9) 9r#   c                .    \         P                  ! W4      # )zCreate a new if-statement. The current statement must be a block. The new statement will be appended to it. 
        
:param cnd: if condition. It will be deleted after being copied.)r   cinsn_t_create_if)r   r-  s   &&r   	create_ifcinsn_t.create_if(0  s     --d88r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r  rX   r  r  	use_curlyz'use_curly_t'rC   rD   r$   )rE   s   "r   rF   r]-  .0  s0     H HS Hn HH+/Hr#   c                	0    \         P                  ! WW#4      # r.   )r   cinsn_t__print)r   r  r  r-  s   &&&&r   r  cinsn_t._print.0  s    **4GGr#   c                    V ^8  d   QhRRRR/# r)  r$   )rE   s   "r   rF   r]-  20  r^*  r#   c                .    \         P                  ! W4      # )zPrint the statement into one line. Currently this function is not available. 
        
:param func: parent function. This argument is used to find out the referenced variable names.)r   cinsn_t_print1r)  s   &&r   r)  cinsn_t.print120  rb*  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r]-  80  s     ; ; ;r#   c                .    \         P                  ! V 4      # )zCheck if the statement passes execution to the next statement. 
        
:returns: false if the statement breaks the control flow (like goto, return, etc))r   cinsn_t_is_ordinary_flowr   s   &r   is_ordinary_flowcinsn_t.is_ordinary_flow80  r#  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   rQ(  ry*  rX   rC   rY   r$   )rE   s   "r   rF   r]-  >0  s&     E E) EC ET Er#   c                0    \         P                  ! WV4      # )zCheck if the statement contains a statement of the specified type. 
        
:param type: statement opcode to look for
:param times: how many times TYPE should be present
:returns: true if the statement has at least TIMES children with opcode == TYPE)r   cinsn_t_contains_insn)r   r   ry*  s   &&&r   r*  cinsn_t.contains_insn>0  s     11$eDDr#   c                    V ^8  d   QhRRRR/# )rA   breaksr  rC   rY   r$   )rE   s   "r   rF   r]-  F0  s     F F/ FT Fr#   c                .    \         P                  ! W4      # )a  Collect free `break` statements. This function finds all free `break` statements within the current statement. A `break` statement is free if it does not have a loop or switch parent that that is also within the current statement. 
        
:param breaks: pointer to the variable where the vector of all found free `break` statements is returned. This argument can be nullptr.
:returns: true if some free `break` statements have been found)r   cinsn_t_collect_free_breaks)r   r-  s   &&r   collect_free_breakscinsn_t.collect_free_breaksF0  s    
 77EEr#   c                    V ^8  d   QhRRRR/# )rA   	continuesr  rC   rY   r$   )rE   s   "r   rF   r]-  M0  s     L L L4 Lr#   c                .    \         P                  ! W4      # )a  Collect free `continue` statements. This function finds all free `continue` statements within the current statement. A `continue` statement is free if it does not have a loop parent that that is also within the current statement. 
        
:param continues: pointer to the variable where the vector of all found free `continue` statements is returned. This argument can be nullptr.
:returns: true if some free `continue` statements have been found)r   cinsn_t_collect_free_continues)r   r-  s   &&r   collect_free_continuescinsn_t.collect_free_continuesM0  s    
 ::4KKr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r]-  T0  s     > >D >r#   c                .    \         P                  ! V 4      # )z4Check if the statement has free `break` statements.
)r   cinsn_t_contains_free_breakr   s   &r   contains_free_breakcinsn_t.contains_free_breakT0  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r]-  Y0  r!  r#   c                .    \         P                  ! V 4      # )z7Check if the statement has free `continue` statements.
)r   cinsn_t_contains_free_continuer   s   &r   contains_free_continuecinsn_t.contains_free_continueY0  r!  r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r]-  ^0  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t_dstrr   s   &r   r  cinsn_t.dstr^0  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r]-  a0  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__registerr   s   &r   r  cinsn_t._registera0  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r]-  d0  r  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__deregisterr   s   &r   r  cinsn_t._deregisterd0  r   r#   c                    V ^8  d   QhRRRR/# )rA   rM  r`   rC   rY   r$   )rE   s   "r   rF   r]-  h0  rd  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t_insn_is_epilog)rM  s   &r   insn_is_epilogcinsn_t.insn_is_epilogg0  s    22488r#   c                	,    \         P                  V 4      # r.   )r   r-  r   s   &r   	is_epilogcinsn_t.is_epilogk0  s    %%d++r#   c                   V ^8  d   QhRR/# )rA   rC   'cblock_t *'r$   )rE   s   "r   rF   r]-  n0       6 6L 6r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cblockr   s   &r   _get_cblockcinsn_t._get_cblockn0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  
'cblock_t'rC   rD   r$   )rE   s   "r   rF   r]-  q0       : :j :D :r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cblockrA  s   &&r   _set_cblockcinsn_t._set_cblockq0  rK  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  	cit_blockr-  r   s   &r   cblockcinsn_t.cblockt0  !    %)WW	%9t!CtCr#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_blockr-  T)rw  rW  r-  r  r-  rz  r-  rJ  s   &&r   r-  r-  x0        I!57M   %%d&6&6&8(D  ))%6 ;?;K;K<	r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r]-  0       5 5; 5r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cexprr   s   &r   
_get_cexprcinsn_t._get_cexpr0  r   r#   c                    V ^8  d   QhRRRR/# rQ+  r$   )rE   s   "r   rF   r]-  0  rd  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cexprrA  s   &&r   
_set_cexprcinsn_t._set_cexpr0  rQ  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_exprr-  r   s   &r   r)  cinsn_t.cexpr0      $(GGx$7t ATAr#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_exprr)  T)rw  rW  r-  r  r-  rz  r-  rJ  s   &&r   r)  r-  0  {      H!46K   %%doo&7$  ))%6 ;???<	r#   c                   V ^8  d   QhRR/# )rA   rC   z	'cif_t *'r$   )rE   s   "r   rF   r]-  0       3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cifr   s   &r   _get_cifcinsn_t._get_cif0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r]-  0       7 77 7d 7r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cifrA  s   &&r   _set_cifcinsn_t._set_cif0  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_ifr .  r   s   &r   cifcinsn_t.cif0      "&''V"3t}}==r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_ifr
.  T)rw  rW  r	.  r  r .  rz  r.  rJ  s   &&r   r
.  r.  0  ~      F!24G  P P%%dmmoud P P))%6P P;?==;O	Pr#   c                   V ^8  d   QhRR/# )rA   rC   z
'cfor_t *'r$   )rE   s   "r   rF   r]-  0       4 4* 4r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cforr   s   &r   	_get_cforcinsn_t._get_cfor0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  rU,  rC   rD   r$   )rE   s   "r   rF   r]-  0       8 8H 8 8r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cforrA  s   &&r   	_set_cforcinsn_t._set_cfor0  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_forr.  r   s   &r   cforcinsn_t.cfor0      #'77g#5t~~?4?r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_forr.  T)rw  rW  r.  r  r.  rz  r.  rJ  s   &&r   r.  r.  0  z      G!35I   %%dnn&6  ))%6 ;?>>% <	r#   c                   V ^8  d   QhRR/# )rA   rC   z'cwhile_t *'r$   )rE   s   "r   rF   r]-  0  r-  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cwhiler   s   &r   _get_cwhilecinsn_t._get_cwhile0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r]-  0  r-  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cwhilerA  s   &&r   _set_cwhilecinsn_t._set_cwhile0  rK  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  	cit_whiler%.  r   s   &r   cwhilecinsn_t.cwhile0  r-  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_whiler..  T)rw  rW  r-.  r  r%.  rz  r*.  rJ  s   &&r   r..  r/.  0  r-  r#   c                   V ^8  d   QhRR/# )rA   rC   z	'cdo_t *'r$   )rE   s   "r   rF   r]-  0  r-  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cdor   s   &r   _get_cdocinsn_t._get_cdo0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r]-  0  r.  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cdorA  s   &&r   _set_cdocinsn_t._set_cdo0  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_dor4.  r   s   &r   cdocinsn_t.cdo0  r.  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_dor=.  T)rw  rW  r<.  r  r4.  rz  r9.  rJ  s   &&r   r=.  r>.  0  r.  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cswitch_t *'r$   )rE   s   "r   rF   r]-  0       7 7] 7r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cswitchr   s   &r   _get_cswitchcinsn_t._get_cswitch0  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r=  'cswitch_t'rC   rD   r$   )rE   s   "r   rF   r]-  0       ; ;{ ;d ;r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cswitchrA  s   &&r   _set_cswitchcinsn_t._set_cswitch0  r+  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  
cit_switchrD.  r   s   &r   cswitchcinsn_t.cswitch0  !    &*gg&;t  "EEr#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_switchrO.  T)rw  rW  rN.  r  rD.  rz  rK.  rJ  s   &&r   rO.  rP.  0        J!68O   %%d&7&7&99d  ))%6 ;?;L;L<	r#   c                   V ^8  d   QhRR/# )rA   rC   z'creturn_t *'r$   )rE   s   "r   rF   r]-  0  rA.  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_creturnr   s   &r   _get_creturncinsn_t._get_creturn0  ro  r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r]-  0  rH.  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_creturnrA  s   &&r   _set_creturncinsn_t._set_creturn0  r+  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  
cit_returnrW.  r   s   &r   creturncinsn_t.creturn0  rQ.  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_returnr`.  T)rw  rW  r_.  r  rW.  rz  r\.  rJ  s   &&r   r`.  ra.  0  rS.  r#   c                   V ^8  d   QhRR/# )rA   rC   z'cgoto_t *'r$   )rE   s   "r   rF   r]-  0  r-  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_cgotor   s   &r   
_get_cgotocinsn_t._get_cgoto0  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r,  rC   rD   r$   )rE   s   "r   rF   r]-  0  rd  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_cgotorA  s   &&r   
_set_cgotocinsn_t._set_cgoto0  rQ  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_gotorf.  r   s   &r   cgotocinsn_t.cgoto0  r-  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_gotoro.  T)rw  rW  rn.  r  rf.  rz  rk.  rJ  s   &&r   ro.  rp.  0  r-  r#   c                   V ^8  d   QhRR/# )rA   rC   z
'casm_t *'r$   )rE   s   "r   rF   r]-  1  r.  r#   c                	.    \         P                  ! V 4      # r.   )r   cinsn_t__get_casmr   s   &r   	_get_casmcinsn_t._get_casm1  r   r#   c                    V ^8  d   QhRRRR/# )rA   r=  r.-  rC   rD   r$   )rE   s   "r   rF   r]-  1  r.  r#   c                	.    \         P                  ! W4      # r.   )r   cinsn_t__set_casmrA  s   &&r   	_set_casmcinsn_t._set_casm1  r  r#   c                	P    V P                   \        8X  d   V P                  4       # R # r.   )rW  cit_asmru.  r   s   &r   casmcinsn_t.casm1  r.  r#   c                	    V P                  V P                  \        8H  R 4      ;'       dU    V P                  V P	                  4       RR4      ;'       d,    V P                  VR4      ;'       d    V P                  V4      # )zself.op == cit_asmr~.  T)rw  rW  r}.  r  ru.  rz  rz.  rJ  s   &&r   r~.  r.  1  r!.  r#   r$   Nrm  )Pr   r   r8   r9   r   r   r   r
   r   cinsn_t_ctry_getcinsn_t_ctry_setrU-  ro  cinsn_t_cthrow_getcinsn_t_cthrow_setrV-  r   r   r   r   r  rI  rN  rS  rX  r^  delete_cinsn_trT  r!  r  r  r-  r-  CALC_CURLY_BRACESr  r)  r-  r*  r-  r-  r-  r-  r  r  r  r''  r-  r-  r-  r-  r-  r5  r-  r-  r)  r .  r.  r
.  r.  r.  r.  r%.  r*.  r..  r4.  r9.  r=.  rD.  rK.  rO.  rW.  r\.  r`.  rf.  rk.  ro.  ru.  rz.  r~.  r<   r$   r#   r   r   r   /  sI   -/I!#GH = =|		D* #L$C$C'')FL )M244444445#2292
/
<9 (H7;EFL>
A
/46 9 9,6: D D ]] 59 B B \\ 37 > > 	ZZP P
48 @ @ 
[[ 6: D D ]] 37 > > 	ZZP P
7; F F ^^ 7; F F ^^ 59 B B \\ 48 @ @ 
[[ r#   r   c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tR R ltRtR# )r*  i1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cblock_t.<lambda>1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r.  1  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   r-  rC   rY   r$   )rE   s   "r   rF   cblock_t.__annotate__1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___eq__r   s   &&r   r   cblock_t.__eq__1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  "1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___ne__r   s   &&r   r  cblock_t.__ne__"1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  %1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___lt__r   s   &&r   rI  cblock_t.__lt__%1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  (1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___gt__r   s   &&r   rN  cblock_t.__gt__(1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  +1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___le__r   s   &&r   rS  cblock_t.__le__+1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  .1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t___ge__r   s   &&r   rX  cblock_t.__ge__.1  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r-  rC   rX   r$   )rE   s   "r   rF   r.  11  r[  r#   c                	.    \         P                  ! W4      # r.   )r   cblock_t_comparer   s   &&r   r^  cblock_t.compare11  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cblock_t_swiginitnew_cblock_tr   s   &r   r   cblock_t.__init__41  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r.  81  r4
  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_t__deregisterr   s   &r   r  cblock_t._deregister81  ro  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_cblock_trT  r  r<   r$   r#   r   r*  r*  1  sY    -/I!#GH5555556J#337 7r#   r*  c                  @   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P2                  tRtR# )carg_ti?1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   carg_t.<lambda>@1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r.  @1  r~   r#   r   r   rY   r  r  formal_typec                    V ^8  d   QhRRRR/# )rA   rK(  r)  rC   rD   r$   )rE   s   "r   rF   carg_t.__annotate__L1  s     : :y :D :r#   c                	.    \         P                  ! W4      # r.   )r   carg_t_consume_cexprr)  s   &&r   consume_cexprcarg_t.consume_cexprL1  r  r#   c                    V ^8  d   QhRRRR/# rA   r   r@  rC   rY   r$   )rE   s   "r   rF   r.  O1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___eq__r   s   &&r   r   carg_t.__eq__O1  rL
  r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  R1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___ne__r   s   &&r   r  carg_t.__ne__R1  rL
  r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  U1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___lt__r   s   &&r   rI  carg_t.__lt__U1  rL
  r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  X1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___gt__r   s   &&r   rN  carg_t.__gt__X1  rL
  r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  [1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___le__r   s   &&r   rS  carg_t.__le__[1  rL
  r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  ^1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t___ge__r   s   &&r   rX  carg_t.__ge__^1  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r@  rC   rX   r$   )rE   s   "r   rF   r.  a1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carg_t_comparer   s   &&r   r^  carg_t.comparea1  r)  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   carg_t_swiginit
new_carg_tr   s   &r   r   carg_t.__init__d1  rv,  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   carg_t_is_vararg_getcarg_t_is_vararg_setr  ro  carg_t_formal_type_getcarg_t_formal_type_setr.  r.  r   r  rI  rN  rS  rX  r^  r   delete_carg_trT  r<   r$   r#   r   r.  r.  ?1  s    -/I!#GH|@@))+It +%l&I&I++-K -:3333334F#11r#   r.  c                  4   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R ltR R ltR R ltR R ltR R lt]P0                  tRtR# )
carglist_til1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   carglist_t.<lambda>m1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r.  m1  r~   r#   r   r   r  functyperX   rW   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   carglist_t_swiginitnew_carglist_tr   s   &*r   r   carglist_t.__init__y1  r   r#   c                    V ^8  d   QhRRRR/# rA   r   r|+  rC   rY   r$   )rE   s   "r   rF   carglist_t.__annotate__}1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___eq__r   s   &&r   r   carglist_t.__eq__}1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___ne__r   s   &&r   r  carglist_t.__ne__1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___lt__r   s   &&r   rI  carglist_t.__lt__1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___gt__r   s   &&r   rN  carglist_t.__gt__1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___le__r   s   &&r   rS  carglist_t.__le__1  r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rE   s   "r   rF   r.  1  r   r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t___ge__r   s   &&r   rX  carglist_t.__ge__1  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r|+  rC   rX   r$   )rE   s   "r   rF   r.  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   carglist_t_comparer   s   &&r   r^  carglist_t.compare1  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   carglist_t_functype_getcarglist_t_functype_setr.  ro  carglist_t_flags_getcarglist_t_flags_setrW   r   r   r  rI  rN  rS  rX  r^  delete_carglist_trT  r<   r$   r#   r   r.  r.  l1  s    -/I!#GH"<#G#G,,.Hi .,;;\E3 7777778#55r#   r.  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P.                  tRtR# )ccase_ti1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ccase_t.<lambda>1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/  1  r~   r#   r   r   r(  r  c                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   ccase_t.__annotate__1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___eq__r   s   &&r   r   ccase_t.__eq__1  r)  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___ne__r   s   &&r   r  ccase_t.__ne__1  r)  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___lt__r   s   &&r   rI  ccase_t.__lt__1  r)  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___gt__r   s   &&r   rN  ccase_t.__gt__1  r)  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___le__r   s   &&r   rS  ccase_t.__le__1  r)  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t___ge__r   s   &&r   rX  ccase_t.__ge__1  r)  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t_comparer   s   &&r   r^  ccase_t.compare1  r   r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r/  1  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ccase_t_sizer   s   &r   r   ccase_t.size1  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   z'uint64 const &'r$   )rE   s   "r   rF   r/  1  s     3 3s 3. 3r#   c                	.    \         P                  ! W4      # r.   )r   ccase_t_valuer?  s   &&r   r   ccase_t.value1  rL
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ccase_t_swiginitnew_ccase_tr   s   &r   r   ccase_t.__init__1  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   ccase_t_values_getccase_t_values_setr  ro  r   r  rI  rN  rS  rX  r^  r   r   r   delete_ccase_trT  r<   r$   r#   r   r/  r/  1  s    -/I!#GH$\%D%D'')FM )4444445/3H#22r#   r/  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )ccases_ti1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ccases_t.<lambda>1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rF/  1  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   
'ccases_t'rC   rY   r$   )rE   s   "r   rF   ccases_t.__annotate__1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___eq__r   s   &&r   r   ccases_t.__eq__1  r   r#   c                    V ^8  d   QhRRRR/# rI/  r$   )rE   s   "r   rF   rK/  1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___ne__r   s   &&r   r  ccases_t.__ne__1  r   r#   c                    V ^8  d   QhRRRR/# rI/  r$   )rE   s   "r   rF   rK/  1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___lt__r   s   &&r   rI  ccases_t.__lt__1  r   r#   c                    V ^8  d   QhRRRR/# rI/  r$   )rE   s   "r   rF   rK/  1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___gt__r   s   &&r   rN  ccases_t.__gt__1  r   r#   c                    V ^8  d   QhRRRR/# rI/  r$   )rE   s   "r   rF   rK/  1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___le__r   s   &&r   rS  ccases_t.__le__1  r   r#   c                    V ^8  d   QhRRRR/# rI/  r$   )rE   s   "r   rF   rK/  1  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t___ge__r   s   &&r   rX  ccases_t.__ge__1  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   rJ/  rC   rX   r$   )rE   s   "r   rF   rK/  1  r[  r#   c                	.    \         P                  ! W4      # r.   )r   ccases_t_comparer   s   &&r   r^  ccases_t.compare1  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ccases_t_swiginitnew_ccases_tr   s   &r   r   ccases_t.__init__1  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_ccases_trT  r<   r$   r#   r   rD/  rD/  1  r,  r#   rD/  c                  4   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P0                  tRtR# )	cswitch_ti1  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cswitch_t.<lambda>1  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ro/  1  r~   r#   r   r   r(  mvnfrJ/  casesc                    V ^8  d   QhRRRR/# rA   r   rG.  rC   rY   r$   )rE   s   "r   rF   cswitch_t.__annotate__1  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___eq__r   s   &&r   r   cswitch_t.__eq__1  r
  r#   c                    V ^8  d   QhRRRR/# rt/  r$   )rE   s   "r   rF   ru/  1  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___ne__r   s   &&r   r  cswitch_t.__ne__1  r
  r#   c                    V ^8  d   QhRRRR/# rt/  r$   )rE   s   "r   rF   ru/  2  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___lt__r   s   &&r   rI  cswitch_t.__lt__2  r
  r#   c                    V ^8  d   QhRRRR/# rt/  r$   )rE   s   "r   rF   ru/  2  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___gt__r   s   &&r   rN  cswitch_t.__gt__2  r
  r#   c                    V ^8  d   QhRRRR/# rt/  r$   )rE   s   "r   rF   ru/  2  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___le__r   s   &&r   rS  cswitch_t.__le__2  r
  r#   c                    V ^8  d   QhRRRR/# rt/  r$   )rE   s   "r   rF   ru/  
2  r/  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t___ge__r   s   &&r   rX  cswitch_t.__ge__
2  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r   rG.  rC   rX   r$   )rE   s   "r   rF   ru/  2  rH  r#   c                	.    \         P                  ! W4      # r.   )r   cswitch_t_comparer   s   &&r   r^  cswitch_t.compare2  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cswitch_t_swiginitnew_cswitch_tr   s   &r   r   cswitch_t.__init__2  r?  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cswitch_t_mvnf_getcswitch_t_mvnf_setrq/  ro  cswitch_t_cases_getcswitch_t_cases_setrr/  r   r  rI  rN  rS  rX  r^  r   delete_cswitch_trT  r<   r$   r#   r   rm/  rm/  1  s    -/I!#GH !@!@'')D+ ) !A!A((*E: *6666667L#44r#   rm/  c                  L   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P4                  tRtR# )catchexpr_ti2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   catchexpr_t.<lambda>2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/  2  r~   r#   r   r   r)  objry  	fake_typec                    V ^8  d   QhRRRR/# rA   r   r}  rC   rY   r$   )rE   s   "r   rF   catchexpr_t.__annotate__%2  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___eq__r   s   &&r   r   catchexpr_t.__eq__%2  r  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  (2  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___ne__r   s   &&r   r  catchexpr_t.__ne__(2  r  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  +2  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___lt__r   s   &&r   rI  catchexpr_t.__lt__+2  r  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  .2  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___gt__r   s   &&r   rN  catchexpr_t.__gt__.2  r  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  12  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___le__r   s   &&r   rS  catchexpr_t.__le__12  r  r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  42  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t___ge__r   s   &&r   rX  catchexpr_t.__ge__42  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r}  rC   rX   r$   )rE   s   "r   rF   r/  72  s     9 9 9# 9r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t_comparer   s   &&r   r^  catchexpr_t.compare72  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r}  rC   rD   r$   )rE   s   "r   rF   r/  :2  r
  r#   c                	.    \         P                  ! W4      # r.   )r   catchexpr_t_swapr   s   &&r   r   catchexpr_t.swap:2  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r/  =2  s     ; ;T ;r#   c                	.    \         P                  ! V 4      # r.   )r   catchexpr_t_is_catch_allr   s   &r   is_catch_allcatchexpr_t.is_catch_all=2  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   catchexpr_t_swiginitnew_catchexpr_tr   s   &r   r   catchexpr_t.__init__@2  rl  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   catchexpr_t_obj_getcatchexpr_t_obj_setr/  ro  catchexpr_t_fake_type_getcatchexpr_t_fake_type_setr/  r   r  rI  rN  rS  rX  r^  r   r/  r   delete_catchexpr_trT  r<   r$   r#   r   r/  r/  2  s    -/I!#GHl>>((*C *lDD..0Is 088888896;P#66r#   r/  c                     ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&   R	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]	P.                  tRtR# )ccatch_tiH2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ccatch_t.<lambda>I2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/  I2  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   ccatch_t.__init__L2  rj  r#   z'catchexprs_t'exprsc                    V ^8  d   QhRRRR/# rA   r   r  rC   rY   r$   )rE   s   "r   rF   ccatch_t.__annotate__R2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___eq__r   s   &&r   r   ccatch_t.__eq__R2  r   r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  U2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___ne__r   s   &&r   r  ccatch_t.__ne__U2  r   r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  X2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___lt__r   s   &&r   rI  ccatch_t.__lt__X2  r   r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  [2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___gt__r   s   &&r   rN  ccatch_t.__gt__[2  r   r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  ^2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___le__r   s   &&r   rS  ccatch_t.__le__^2  r   r#   c                    V ^8  d   QhRRRR/# r/  r$   )rE   s   "r   rF   r/  a2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t___ge__r   s   &&r   rX  ccatch_t.__ge__a2  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rX   r$   )rE   s   "r   rF   r/  d2  r[  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t_comparer   s   &&r   r^  ccatch_t.compared2  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r/  g2  s     8 8T 8r#   c                	.    \         P                  ! V 4      # r.   )r   ccatch_t_is_catch_allr   s   &r   r/  ccatch_t.is_catch_allg2  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r  rC   rD   r$   )rE   s   "r   rF   r/  j2  rH
  r#   c                	.    \         P                  ! W4      # r.   )r   ccatch_t_swapr   s   &&r   r   ccatch_t.swapj2  rL
  r#   r$   N)r   r   r8   r9   r   r   r   r   r
   r   ccatch_t_exprs_getccatch_t_exprs_setr/  ro  r   r  rI  rN  rS  rX  r^  r/  r   delete_ccatch_trT  r<   r$   r#   r   r/  r/  H2  sz    -/I!#G7H$\%D%D'')E> )555555683#33r#   r/  c                     ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    ]! ]	P                  ]	P                  4      tR	]R
&    ]! ]	P"                  ]	P$                  4      tR	]R&    ]! ]	P(                  ]	P*                  4      tR]R&    R R ltR R ltR R ltR R ltR R ltR R ltR R lt]	P<                  tRt R# )ctry_tir2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctry_t.<lambda>s2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r0  s2  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   ctry_t.__init__v2  rj  r#   z'ccatchvec_t'catchsrX   	old_state	new_staterY   is_windc                    V ^8  d   QhRRRR/# rA   r   'ctry_t'rC   rY   r$   )rE   s   "r   rF   ctry_t.__annotate__2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___eq__r   s   &&r   r   ctry_t.__eq__2  rL
  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___ne__r   s   &&r   r  ctry_t.__ne__2  rL
  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___lt__r   s   &&r   rI  ctry_t.__lt__2  rL
  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___gt__r   s   &&r   rN  ctry_t.__gt__2  rL
  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___le__r   s   &&r   rS  ctry_t.__le__2  rL
  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t___ge__r   s   &&r   rX  ctry_t.__ge__2  rL
  r#   c                    V ^8  d   QhRRRR/# )rA   r   r0  rC   rX   r$   )rE   s   "r   rF   r0  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   ctry_t_comparer   s   &&r   r^  ctry_t.compare2  r)  r#   r$   N)!r   r   r8   r9   r   r   r   r   r
   r   ctry_t_catchs_getctry_t_catchs_setr	0  ro  ctry_t_old_state_getctry_t_old_state_setr
0  ctry_t_new_state_getctry_t_new_state_setr0  ctry_t_is_wind_getctry_t_is_wind_setr0  r   r  rI  rN  rS  rX  r^  delete_ctry_trT  r<   r$   r#   r   r0  r0  r2  s    -/I!#G7H$\%C%C&&(FM (l??))+Is +l??))+Is +\<<lGT 3333334#11r#   r0  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )cthrow_ti2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cthrow_t.<lambda>2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r80  2  r~   r#   r   r   c                    V ^8  d   QhRRRR/# rA   r   
'cthrow_t'rC   rY   r$   )rE   s   "r   rF   cthrow_t.__annotate__2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___eq__r   s   &&r   r   cthrow_t.__eq__2  r   r#   c                    V ^8  d   QhRRRR/# r;0  r$   )rE   s   "r   rF   r=0  2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___ne__r   s   &&r   r  cthrow_t.__ne__2  r   r#   c                    V ^8  d   QhRRRR/# r;0  r$   )rE   s   "r   rF   r=0  2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___lt__r   s   &&r   rI  cthrow_t.__lt__2  r   r#   c                    V ^8  d   QhRRRR/# r;0  r$   )rE   s   "r   rF   r=0  2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___gt__r   s   &&r   rN  cthrow_t.__gt__2  r   r#   c                    V ^8  d   QhRRRR/# r;0  r$   )rE   s   "r   rF   r=0  2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___le__r   s   &&r   rS  cthrow_t.__le__2  r   r#   c                    V ^8  d   QhRRRR/# r;0  r$   )rE   s   "r   rF   r=0  2  rZ
  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t___ge__r   s   &&r   rX  cthrow_t.__ge__2  r   r#   c                    V ^8  d   QhRRRR/# )rA   r   r<0  rC   rX   r$   )rE   s   "r   rF   r=0  2  r[  r#   c                	.    \         P                  ! W4      # r.   )r   cthrow_t_comparer   s   &&r   r^  cthrow_t.compare2  r
  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cthrow_t_swiginitnew_cthrow_tr   s   &r   r   cthrow_t.__init__2  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  rI  rN  rS  rX  r^  r   r   delete_cthrow_trT  r<   r$   r#   r   r60  r60  2  r,  r#   r60  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 R ltR R ltR R ltR t]P(                  tRtR# )cblock_pos_ti2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cblock_pos_t.<lambda>2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ra0  2  r~   r#   r   r   r-  rK  z'cblock_t::iterator'r  c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   cblock_pos_t.__annotate__2  rC$  r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_pos_t_is_first_insnr   s   &r   is_first_insncblock_pos_t.is_first_insn2  r  r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   rd0  2  s     4 4[ 4r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_pos_t_insnr   s   &r   rM  cblock_pos_t.insn2  r   r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   rd0  2  s     9 9+ 9r#   c                	.    \         P                  ! V 4      # r.   )r   cblock_pos_t_prev_insnr   s   &r   	prev_insncblock_pos_t.prev_insn2  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   cblock_pos_t_swiginitnew_cblock_pos_tr   s   &r   r   cblock_pos_t.__init__2  r5  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   cblock_pos_t_blk_getcblock_pos_t_blk_setrK  ro  cblock_pos_t_p_getcblock_pos_t_p_setr  rg0  rM  rp0  r   delete_cblock_pos_trT  r<   r$   r#   r   r_0  r_0  2  s    -/I!#GH !B!B))+C +&|'F'F'')A )=49  $77r#   r_0  c                  
   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    R R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    R R lt]P:                  tR  R! ltR" R# lt R$ R% lt!R& R' lt"R( R) lt#R* R+ lt$R, R- lt%R. R/ lt&R0 R1 lt'R2 t(R3t)R4# )5ctree_visitor_ti2  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctree_visitor_t.<lambda>2  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r~0  2  r~   r#   r   r   rX   cv_flagsc                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ctree_visitor_t.__annotate__2  s     C C Cr#   c                .    \         P                  ! V 4      # )z-Should the parent information by maintained?
)r    ctree_visitor_t_maintain_parentsr   s   &r   maintain_parents ctree_visitor_t.maintain_parents2  s     <<TBBr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r0  2       = =4 =r#   c                .    \         P                  ! V 4      # )z<Should the traversal skip the children of the current item?
)r   ctree_visitor_t_must_pruner   s   &r   
must_prunectree_visitor_t.must_prune2  r*  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r0  2       ? ?T ?r#   c                .    \         P                  ! V 4      # )zShould the traversal restart?
)r   ctree_visitor_t_must_restartr   s   &r   must_restartctree_visitor_t.must_restart2  r<  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r0  2  r0  r#   c                .    \         P                  ! V 4      # )z+Should the leave...() functions be called?
)r   ctree_visitor_t_is_postorderr   s   &r   is_postorderctree_visitor_t.is_postorder2  r<  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r0  2  r0  r#   c                .    \         P                  ! V 4      # )z0Should all expressions be automatically pruned?
)r   ctree_visitor_t_only_insnsr   s   &r   
only_insnsctree_visitor_t.only_insns2  r*  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r0  3  r  r#   c                .    \         P                  ! V 4      # )znPrune children. This function may be called by a visitor() to skip all children of the current item. 
        )r   ctree_visitor_t_prune_nowr   s   &r   	prune_nowctree_visitor_t.prune_now3  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r0  	3  r  r#   c                .    \         P                  ! V 4      # )zIDo not prune children. This is an internal function, no need to call it.
)r   ctree_visitor_t_clr_pruner   s   &r   	clr_prunectree_visitor_t.clr_prune	3  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r0  3       > >D >r#   c                .    \         P                  ! V 4      # )z:Restart the travesal. Meaningful only in apply_to_exprs()
)r   ctree_visitor_t_set_restartr   s   &r   set_restartctree_visitor_t.set_restart3  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r0  3  r0  r#   c                .    \         P                  ! V 4      # )zBDo not restart. This is an internal function, no need to call it.
)r   ctree_visitor_t_clr_restartr   s   &r   clr_restartctree_visitor_t.clr_restart3  r  r#   z'parents_t'parentsr  bposvecc                   V ^8  d   QhRR/# )rA   r  rX   r$   )rE   s   "r   rF   r0   3  s     0 0s 0r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W!4      4       R # r.   )r   r|0  r   ctree_visitor_t_swiginitnew_ctree_visitor_t)r   r  r  s   && r   r   ctree_visitor_t.__init__ 3  s=    >>_,EE--dL5  %5/ 	0r#   c               $    V ^8  d   QhRRRRRR/# rA   r  r  r  rC   rX   r$   )rE   s   "r   rF   r0  )3  s&     I IY I	 IS Ir#   c                0    \         P                  ! WV4      # )aM  Traverse ctree. The traversal will start at the specified item and continue until of one the visit_...() functions return a non-zero value. 
        
:param item: root of the ctree to traverse
:param parent: parent of the specified item. can be specified as nullptr.
:returns: 0 or a non-zero value returned by a visit_...() function)r   ctree_visitor_t_apply_tor   r  r  s   &&&r   apply_toctree_visitor_t.apply_to)3  s     44THHr#   c               $    V ^8  d   QhRRRRRR/# r0  r$   )rE   s   "r   rF   r0  13  s&     O O9 Oi O3 Or#   c                0    \         P                  ! WV4      # )aX  Traverse only expressions. The traversal will start at the specified item and continue until of one the visit_...() functions return a non-zero value. 
        
:param item: root of the ctree to traverse
:param parent: parent of the specified item. can be specified as nullptr.
:returns: 0 or a non-zero value returned by a visit_...() function)r   ctree_visitor_t_apply_to_exprsr0  s   &&&r   apply_to_exprsctree_visitor_t.apply_to_exprs13  s     ::4vNNr#   c                   V ^8  d   QhRR/# rA   rC   r  r$   )rE   s   "r   rF   r0  93       > >K >r#   c                .    \         P                  ! V 4      # )zDGet parent of the current item as an item (statement or expression)
)r   ctree_visitor_t_parent_itemr   s   &r   parent_itemctree_visitor_t.parent_item93  r  r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r0  >3  r0  r#   c                .    \         P                  ! V 4      # )z1Get parent of the current item as an expression.
)r   ctree_visitor_t_parent_exprr   s   &r   parent_exprctree_visitor_t.parent_expr>3  r  r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   r0  C3  r0  r#   c                .    \         P                  ! V 4      # )z/Get parent of the current item as a statement.
)r   ctree_visitor_t_parent_insnr   s   &r   parent_insnctree_visitor_t.parent_insnC3  r  r#   c                    V ^8  d   QhRRRR/# rA   arg0r`   rC   rX   r$   )rE   s   "r   rF   r0  H3       C Cy CC Cr#   c                .    \         P                  ! W4      # )a  Visit a statement. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. 
        
:returns: 0 to continue the traversal, nonzero to stop.)r   ctree_visitor_t_visit_insnr   r0  s   &&r   
visit_insnctree_visitor_t.visit_insnH3       66tBBr#   c                    V ^8  d   QhRRRR/# rA   r0  r)  rC   rX   r$   )rE   s   "r   rF   r0  N3  r0  r#   c                .    \         P                  ! W4      # )a  Visit an expression. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. 
        
:returns: 0 to continue the traversal, nonzero to stop.)r   ctree_visitor_t_visit_exprr0  s   &&r   
visit_exprctree_visitor_t.visit_exprN3  r0  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  T3  r0  r#   c                .    \         P                  ! W4      # )a/  Visit a statement after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. 
        
:returns: 0 to continue the traversal, nonzero to stop.)r   ctree_visitor_t_leave_insnr0  s   &&r   
leave_insnctree_visitor_t.leave_insnT3  r0  r#   c                    V ^8  d   QhRRRR/# r0  r$   )rE   s   "r   rF   r0  Z3  r0  r#   c                .    \         P                  ! W4      # )a1  Visit an expression after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. 
        
:returns: 0 to continue the traversal, nonzero to stop.)r   ctree_visitor_t_leave_exprr0  s   &&r   
leave_exprctree_visitor_t.leave_exprZ3  r0  r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_ctree_visitor_tr  r  r   s   &r   r  ctree_visitor_t.__disown__`3  rL  r#   r$   N)*r   r   r8   r9   r   r   r   r
   r   ctree_visitor_t_cv_flags_getctree_visitor_t_cv_flags_setr0  ro  r0  r0  r0  r0  r0  r0  r0  r0  r0  ctree_visitor_t_parents_getctree_visitor_t_parents_setr0  ctree_visitor_t_bposvec_getctree_visitor_t_bposvec_setr0  r   delete_ctree_visitor_trT  r0  r0  r0  r0  r0  r0  r0  r0  r0  r  r<   r$   r#   r   r|0  r|0  2  s   -/I!#GH\FF113Hc 3C
=
?
?
=
<
<
>
> $L##\%M%MOG[ O!),##\%M%M"OG O0 $::IO>
>
>
CCCC#r#   r|0  c                  n    ] tR tRt]! R R RR7      t]tRR R lltR R	 lt	]
P                  tR
 tRtR# )ctree_parentee_ti{3  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctree_parentee_t.<lambda>|3  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r0  |3  r~   r#   r   r   c                   V ^8  d   QhRR/# )rA   r  rY   r$   )rE   s   "r   rF   ctree_parentee_t.__annotate__3  s     / /T /r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W!4      4       R # r.   )r   r0  r   ctree_parentee_t_swiginitnew_ctree_parentee_t)r   r  r  s   && r   r   ctree_parentee_t.__init__3  s>    >>--EE..t\  6!!&6. 	/r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r 1  3  s     G GD Gr#   c                .    \         P                  ! V 4      # )a  Recalculate type of parent nodes. If a node type has been changed, the visitor must recalculate all parent types, otherwise the ctree becomes inconsistent. If during this recalculation a parent node is added/deleted, this function returns true. In this case the traversal must be stopped because the information about parent nodes is stale. 
        
:returns: false-ok to continue the traversal, true-must stop.)r   $ctree_parentee_t_recalc_parent_typesr   s   &r   recalc_parent_types$ctree_parentee_t.recalc_parent_types3  s     @@FFr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_ctree_parentee_tr  r  r   s   &r   r  ctree_parentee_t.__disown__3  rc  r#   r$   Nr8  )r   r   r8   r9   r   r   r   r
   r   r1  r   delete_ctree_parentee_trT  r  r<   r$   r#   r   r0  r0  {3  s8    -/I!#GH/G
 $;;#r#   r0  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    RR R	 lltR
 R lt]P                  tR tRtR# )cfunc_parentee_ti3  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cfunc_parentee_t.<lambda>3  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r1  3  r~   r#   r   r   rH  r4  c                    V ^8  d   QhRRRR/# )rA   rO   r3  r  rY   r$   )rE   s   "r   rF   cfunc_parentee_t.__annotate__3  s     2 2) 24 2r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W1V4      4       R # r.   )r   r1  r   cfunc_parentee_t_swiginitnew_cfunc_parentee_t)r   rO   r  r  s   &&& r   r   cfunc_parentee_t.__init__3  s@    >>--EE..t\  6!!&461 	2r#   c               $    V ^8  d   QhRRRRRR/# )rA   targetr  rK(  r)  rC   rY   r$   )rE   s   "r   rF   r1  3  s&     O Oy OY O$ Or#   c                0    \         P                  ! WV4      # )a  Calculate rvalue type. This function tries to determine the type of the specified item based on its context. For example, if the current expression is the right side of an assignment operator, the type of its left side will be returned. This function can be used to determine the 'best' type of the specified expression. 
        
:param target: 'best' type of the expression will be returned here
:param e: expression to determine the desired type
:returns: false if failed)r   !cfunc_parentee_t_calc_rvalue_type)r   r1  rK(  s   &&&r   calc_rvalue_type!cfunc_parentee_t.calc_rvalue_type3  s     ==dANNr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_cfunc_parentee_tr  r  r   s   &r   r  cfunc_parentee_t.__disown__3  rc  r#   r$   Nr8  )r   r   r8   r9   r   r   r   r
   r   cfunc_parentee_t_func_getcfunc_parentee_t_func_setr4  ro  r   r1  delete_cfunc_parentee_trT  r  r<   r$   r#   r   r1  r1  3  s_    -/I!#GH !G!G..0D+ 02O $;;#r#   r1  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR t]P*                  tRtR# )ctree_anchor_ti3  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctree_anchor_t.<lambda>3  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r(1  3  r~   r#   r   r   rX   r   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   ctree_anchor_t.__annotate__3  s     ; ;# ;r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_get_indexr   s   &r   	get_indexctree_anchor_t.get_index3  r  r#   c                   V ^8  d   QhRR/# )rA   rC   r)  r$   )rE   s   "r   rF   r+1  3  s     9 9) 9r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_get_itpr   s   &r   get_itpctree_anchor_t.get_itp3  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r+1  3       A A Ar#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_is_valid_anchorr   s   &r   is_valid_anchorctree_anchor_t.is_valid_anchor3  rN  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r+1  3  r61  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_is_citem_anchorr   s   &r   is_citem_anchorctree_anchor_t.is_citem_anchor3  rN  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r+1  3  s     @ @t @r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_is_lvar_anchorr   s   &r   is_lvar_anchorctree_anchor_t.is_lvar_anchor3  r>  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r+1  3  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_is_itp_anchorr   s   &r   is_itp_anchorctree_anchor_t.is_itp_anchor3  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r+1  3  s     B B Br#   c                	.    \         P                  ! V 4      # r.   )r   ctree_anchor_t_is_blkcmt_anchorr   s   &r   is_blkcmt_anchorctree_anchor_t.is_blkcmt_anchor3  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ctree_anchor_t_swiginitnew_ctree_anchor_tr   s   &r   r   ctree_anchor_t.__init__3  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   ctree_anchor_t_value_getctree_anchor_t_value_setr   ro  r.1  r31  r91  r>1  rC1  rH1  rM1  r   delete_ctree_anchor_trT  r<   r$   r#   r   r&1  r&1  3  sv    -/I!#GH,??--/E3 /;9AA@?B" $99r#   r&1  c                  (   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&   ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    R6R R lltR R ltR R ltR R ltR R lt R R lt!R R  lt"R! R" lt#R# R$ lt$]! R% 4      tR& R' lt%]! R( 4      t R) R* lt&]! R+ 4      t R, R- lt']! R. 4      t R/ R0 lt(]! R1 4      t ]! ]PR                  4      t*R2]R3&    R4 t+]PX                  t-R5t.R# )7ctree_item_ti3  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctree_item_t.<lambda>3  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rY1  3  r~   r#   r   r   z'cursor_item_type_t'cityper  r  r*  rK(  r+  r<  r  r  rH  rO   Nc               (    V ^8  d   QhRRRRRRRR/# )	rA   rH  r  r  r  p_offsetz
'uint64 *'rC   rX   r$   )rE   s   "r   rF   ctree_item_t.__annotate__4  s0     N N7 N NNNr#   c                0    \         P                  ! WW#4      # )a  Get type of a structure field. If the current item is a structure/union field, this function will return information about it. 
        
:param udm: pointer to buffer for the udt member info.
:param parent: pointer to buffer for the struct/union type.
:param p_offset: pointer to the offset in bits inside udt.
:returns: member index or -1 if failed Both output parameters can be nullptr.)r   ctree_item_t_get_udm)r   rH  r  r]1  s   &&&&r   get_udmctree_item_t.get_udm4  s     00FMMr#   c                    V ^8  d   QhRRRR/# )rA   r  r  rC   rX   r$   )rE   s   "r   rF   r^1  "4  s     ? ?i ?3 ?r#   c                .    \         P                  ! W4      # )zGet type of an enum member. If the current item is a symbolic constant, this function will return information about it. 
        
:param parent: pointer to buffer for the enum type.
:returns: member index or -1 if failed)r   ctree_item_t_get_edmrt*  s   &&r   get_edmctree_item_t.get_edm"4  s    
 00>>r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r^1  )4  s     8 8 8r#   c                .    \         P                  ! V 4      # )zGet pointer to local variable. If the current item is a local variable, this function will return pointer to its definition. 
        
:returns: nullptr if failed)r   ctree_item_t_get_lvarr   s   &r   get_lvarctree_item_t.get_lvar)4  rA  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r^1  /4  s     6 6 6r#   c                .    \         P                  ! V 4      # )zfGet address of the current item. Each ctree item has an address. 
        
:returns: BADADDR if failed)r   ctree_item_t_get_ear   s   &r   get_eactree_item_t.get_ea/4  ru!  r#   c                    V ^8  d   QhRRRR/# )rA   	gln_flagsrX   rC   r$   )rE   s   "r   rF   r^1  54  s     H Hs Hc Hr#   c                .    \         P                  ! W4      # )zGet label number of the current item. 
        
:param gln_flags: Combination of get_label_num control bits
:returns: -1 if failed or no label)r   ctree_item_t_get_label_num)r   rs1  s   &&r   get_label_numctree_item_t.get_label_num54  s    
 66tGGr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r^1  <4  s     8 8 8r#   c                .    \         P                  ! V 4      # )z%Is the current item is a ctree item?
)r   ctree_item_t_is_citemr   s   &r   is_citemctree_item_t.is_citem<4  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r^1  A4  r  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__printr   s   &r   r  ctree_item_t._printA4  r   r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r^1  D4  r-  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t_dstrr   s   &r   r  ctree_item_t.dstrD4  r   r#   c                   V ^8  d   QhRR/# r0  r$   )rE   s   "r   rF   r^1  G4  s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__get_itr   s   &r   _get_itctree_item_t._get_itG4  ro  r#   c                	"    V P                  4       # r.   )r1  r   s   &r   rx   rY1  I4  s
    t||~r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   r^1  K4       6 6{ 6r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__get_er   s   &r   _get_ectree_item_t._get_eK4  r   r#   c                	"    V P                  4       # r.   )r1  r   s   &r   rx   rY1  M4  
    dkkmr#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   r^1  Q4  r1  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__get_ir   s   &r   _get_ictree_item_t._get_iQ4  r   r#   c                	"    V P                  4       # r.   )r1  r   s   &r   rx   rY1  S4  r1  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r^1  W4  s     6 6z 6r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__get_lr   s   &r   r  ctree_item_t._get_lW4  r   r#   c                	"    V P                  4       # r.   )r  r   s   &r   rx   rY1  Y4  r1  r#   c                   V ^8  d   QhRR/# rG  r$   )rE   s   "r   rF   r^1  ]4  r1  r#   c                	.    \         P                  ! V 4      # r.   )r   ctree_item_t__get_fr   s   &r   rp  ctree_item_t._get_f]4  r   r#   c                	"    V P                  4       # r.   )rp  r   s   &r   rx   rY1  _4  r1  r#   z'treeloc_t *const'r  c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ctree_item_t_swiginitnew_ctree_item_tr   s   &r   r   ctree_item_t.__init__f4  r5  r#   r$   r/  )/r   r   r8   r9   r   r   r   r
   r   ctree_item_t_citype_getctree_item_t_citype_setr[1  ro  ctree_item_t_it_getctree_item_t_it_setr  ctree_item_t_e_getctree_item_t_e_setrK(  ctree_item_t_i_getctree_item_t_i_setr<  ctree_item_t_l_getctree_item_t_l_setr  ctree_item_t_f_getctree_item_t_f_setrO   ra1  rf1  rk1  rp1  rv1  r{1  r  r  r1  r1  r1  r  rp  ctree_item_t_loc_getr  r   delete_ctree_item_trT  r<   r$   r#   r   rW1  rW1  3  s   -/I!#GH#+L!E!E$GF  G|??((*B *l==|		A{ l==|		A{ \<<lAz l==|		A{ N?86H8
647	-	.B6+,A6+,A6+,A6+,A&|'H'HIC	I  $77r#   rW1  c                    V ^8  d   QhRRRR/# rA   rK(  r)  rC   r*  r$   )rE   s   "r   rF   rF   ~4  s     $ $	 $[ $r#   c                .    \         P                  ! V 4      # r.   )r   _ll_lnotrN(  s   &r   r1  r1  ~4  s      ##r#   c                   V ^8  d   QhRR/# r+  r$   )rE   s   "r   rF   rF   4  s     ( (k (r#   c                 ,    \         P                  ! 4       # r.   )r   _ll_new_blockr$   r#   r   r1  r1  4  s    %%''r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   rF   4  s     1 1{ 1r#   c                 *    \         P                  ! V !  # r.   )r   _ll_create_helperr  s   *r   r1  r1  4      ))400r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   rF   4  s     / /[ /r#   c                 *    \         P                  ! V !  # r.   )r   _ll_call_helperr  s   *r   r1  r1  4  s    ''..r#   c                   V ^8  d   QhRR/# r*  r$   )rE   s   "r   rF   rF   4  s     , ,+ ,r#   c                 *    \         P                  ! V !  # r.   )r   _ll_make_numr  s   *r   r1  r1  4  s    $$d++r#   c                    V ^8  d   QhRRRR/# r1  r$   )rE   s   "r   rF   rF   4  s     ( (I ( (r#   c                .    \         P                  ! V 4      # r.   )r   _ll_make_refrN(  s   &r   r1  r1  4  s    $$Q''r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   rK(  r)  r  rX   is_fltrY   rC   r*  r$   )rE   s   "r   rF   rF   4  s)     < <y <3 < <<r#   c                0    \         P                  ! WV4      # r.   )r   _ll_dereference)rK(  r  r1  s   &&&r   r1  r1  4  s    ''F;;r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r&  rX  rb  'user_labels_t'r4  r3  rC   rD   r$   )rE   s   "r   rF   rF   4  s0     E Eo EO E
E Er#   c                0    \         P                  ! WV4      # )ak  Save user defined labels into the database. 
        
:param func_ea: the entry address of the function, ignored if FUNC != nullptr
:param user_labels: collection of user defined labels
:param func: pointer to current function, if FUNC != nullptr, then save labels using a more stable method that preserves them even when the decompiler output drastically changes)r   r  )r&  rb  r4  s   &&&r   r  r  4  s     ((tDDr#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  rd  'user_cmts_t'rC   rD   r$   )rE   s   "r   rF   rF   4  s!     ; ;O ; ; ;r#   c                .    \         P                  ! W4      # )zSave user defined comments into the database. 
        
:param func_ea: the entry address of the function
:param user_cmts: collection of user defined comments)r   r   )r&  rd  s   &&r   r   r   4  s    
 &&w::r#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  rf  'user_numforms_t'rC   rD   r$   )rE   s   "r   rF   rF   4  s#     > > >;L >>r#   c                .    \         P                  ! W4      # )zSave user defined number formats into the database. 
        
:param func_ea: the entry address of the function
:param numforms: collection of user defined comments)r   r  )r&  rf  s   &&r   r  r  4  s     **7==r#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  r  'user_iflags_t'rC   rD   r$   )rE   s   "r   rF   rF   4  !     : :o : :$ :r#   c                .    \         P                  ! W4      # )zSave user defined citem iflags into the database. 
        
:param func_ea: the entry address of the function
:param iflags: collection of user defined citem iflags)r   r  )r&  r  s   &&r   r  r  4      
 ((99r#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  unions'user_unions_t'rC   rD   r$   )rE   s   "r   rF   rF   4  r1  r#   c                .    \         P                  ! W4      # )zSave user defined union field selections into the database. 
        
:param func_ea: the entry address of the function
:param unions: collection of union field selections)r   r  )r&  r1  s   &&r   r  r  4  r1  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r&  rX  r4  r3  rC   ra  r$   )rE   s   "r   rF   rF   4  s"     ; ; ;	 ;;r#   c                .    \         P                  ! W4      # )a)  Restore user defined labels from the database. 
        
:param func_ea: the entry address of the function, ignored if FUNC != nullptr
:param func: pointer to current function
:returns: collection of user defined labels. The returned object must be deleted by the caller using delete_user_labels())r   restore_user_labels)r&  r4  s   &&r   r1  r1  4  s     ++G::r#   c                    V ^8  d   QhRRRR/# )rA   r&  rX  rC   rc  r$   )rE   s   "r   rF   rF   4  s     3 3 3/ 3r#   c                .    \         P                  ! V 4      # )zRestore user defined comments from the database. 
        
:param func_ea: the entry address of the function
:returns: collection of user defined comments. The returned object must be deleted by the caller using delete_user_cmts())r   restore_user_cmtsr&  s   &r   r1  r1  4  s    
 ))'22r#   c                    V ^8  d   QhRRRR/# )rA   r&  rX  rC   re  r$   )rE   s   "r   rF   rF   4  s     7 7? 76I 7r#   c                .    \         P                  ! V 4      # )zRestore user defined number formats from the database. 
        
:param func_ea: the entry address of the function
:returns: collection of user defined number formats. The returned object must be deleted by the caller using delete_user_numforms())r   restore_user_numformsr1  s   &r   r1  r1  4  s    
 --g66r#   c                    V ^8  d   QhRRRR/# )rA   r&  rX  rC   rg  r$   )rE   s   "r   rF   rF   4       5 5 54E 5r#   c                .    \         P                  ! V 4      # )zRestore user defined citem iflags from the database. 
        
:param func_ea: the entry address of the function
:returns: collection of user defined iflags. The returned object must be deleted by the caller using delete_user_iflags())r   restore_user_iflagsr1  s   &r   r1  r1  4      
 ++G44r#   c                    V ^8  d   QhRRRR/# )rA   r&  rX  rC   ri  r$   )rE   s   "r   rF   rF   4  r1  r#   c                .    \         P                  ! V 4      # )zRestore user defined union field selections from the database. 
        
:param func_ea: the entry address of the function
:returns: collection of union field selections The returned object must be deleted by the caller using delete_user_unions())r   restore_user_unionsr1  s   &r   r1  r1  4  r1  r#   c                     ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    ]! ]	P                  ]	P                  4      tR	]R
&    ]! ]	P"                  ]	P$                  4      tR]R&    ]! ]	P(                  4      tR]R&    ]! ]	P,                  ]	P.                  4      tR]R&    ]! ]	P2                  ]	P4                  4      tR]R&    ]! ]	P8                  ]	P:                  4      tR]R&    ]! ]	P>                  ]	P@                  4      t!R]R&    ]! ]	PD                  ]	PF                  4      t$R]R&    ]! ]	PJ                  ]	PL                  4      t'R]R&    ]! ]	PP                  ]	PR                  4      t*R]R&    ]! ]	PV                  ]	PX                  4      t-R]R&    ]! ]	P\                  ]	P^                  4      t0R]R&    ]! ]	Pb                  ]	Pd                  4      t3R]R &    ]	Ph                  t5R! R" lt6R# R$ lt7R% R& lt8R' R( lt9R) R* lt:R+ R, lt;R- R. lt<R/ R0 lt=R1 R2 lt>R3 R4 lt?R5 R6 lt@R7 R8 ltAR9 R: ltBR; R< ltCR= R> ltDR? R@ ltERA RB ltFRC RD ltGRE RF ltHRG RH ltIRI RJ ltJRK RL ltKRM RN ltLRO RP ltMRQ RR ltNRS RT ltORU RV ltPRW RX ltQRY RZ ltRR[ R\ ltSRjR^ R_ lltTR` Ra ltURb Rc ltV]WRd Re l4       tXRf tYRg Rh ltZ]ZtRit[R]# )kcfunc_ti4  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   cfunc_t.<lambda>4  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r1  4  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   cfunc_t.__init__4  rj  r#   rX  rY  rZ  r[  r`   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rX   rk  rl  rm  rn  ro  c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   cfunc_t.__annotate__05  r*  r#   c                	.    \         P                  ! V 4      # r.   )r   cfunc_t_releaser   s   &r   rt  cfunc_t.release05  r   r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  35  r*  r#   c                .    \         P                  ! V 4      # )zrGenerate the function body. This function (re)generates the function body from the underlying microcode. 
        )r   cfunc_t_build_c_treer   s   &r   ry  cfunc_t.build_c_tree35  r  r#   c               $    V ^8  d   QhRRRRRR/# r}  r$   )rE   s   "r   rF   r1  85  s(     M M1 M$ MMr#   c                0    \         P                  ! WV4      # )a9  Verify the ctree. This function verifies the ctree. If the ctree is malformed, an internal error is generated. Use it to verify the ctree after your modifications. 
        
:param aul: Are unused labels acceptable?
:param even_without_debugger: if false and there is no debugger, the verification will be skipped)r   cfunc_t_verifyr  s   &&&r   r  cfunc_t.verify85  s     **46KLLr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  @5  r!  r#   c                .    \         P                  ! V 4      # )z#Print function prototype. 
        )r   cfunc_t_print_dclr   s   &r   r  cfunc_t.print_dcl@5  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r1  E5  s     9 9^ 9t 9r#   c                .    \         P                  ! W4      # )z]Print function text. 
        
:param vp: printer helper class to receive the generated text.)r   cfunc_t_print_funcr  s   &&r   r  cfunc_t.print_funcE5  s     ..t88r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r1  K5  rq*  r#   c                .    \         P                  ! W4      # )zuGet the function type. 
        
:param type: variable where the function type is returned
:returns: false if failure)r   cfunc_t_get_func_typer  s   &&r   r  cfunc_t.get_func_typeK5  s    
 11$==r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   r1  R5  s     4 4+ 4r#   c                .    \         P                  ! V 4      # )aH  Get vector of local variables. 
        
:returns: pointer to the vector of local variables. If you modify this vector, the ctree must be regenerated in order to have correct cast operators. Use build_c_tree() for that. Removing lvars should be done carefully: all references in ctree and microcode must be corrected after that.)r   cfunc_t_get_lvarsr   s   &r   r  cfunc_t.get_lvarsR5  r%  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1  X5  s     ; ; ;r#   c                .    \         P                  ! V 4      # )a  Get stack offset delta. The local variable stack offsets retrieved by v.location.stkoff() should be adjusted before being used as stack frame offsets in IDA. 
        
:returns: the delta to apply. example: ida_stkoff = v.location.stkoff() - f->get_stkoff_delta())r   cfunc_t_get_stkoff_deltar   s   &r   r  cfunc_t.get_stkoff_deltaX5  r#  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r1  ^5  s     < < <{ <r#   c                .    \         P                  ! W4      # )z^Find the label. 
        
:returns: pointer to the ctree item with the specified label number.)r   cfunc_t_find_labelr  s   &&r   r  cfunc_t.find_label^5  s     ..t;;r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  d5  s     ? ?T ?r#   c                .    \         P                  ! V 4      # )zRemove unused labels. This function checks what labels are really used by the function and removes the unused ones. You must call it after deleting a goto statement. 
        )r   cfunc_t_remove_unused_labelsr   s   &r   r  cfunc_t.remove_unused_labelsd5  r<  r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r1  i5  s'     @ @ @1G @3 @r#   c                0    \         P                  ! WV4      # )zRetrieve a user defined comment. 
        
:param loc: ctree location
:param rt: should already retrieved comments retrieved again?
:returns: pointer to the comment string or nullptr)r   cfunc_t_get_user_cmtr  s   &&&r   r  cfunc_t.get_user_cmti5  s     00B??r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r1  q5  s&     A A A# A Ar#   c                0    \         P                  ! WV4      # )a  Set a user defined comment. This function stores the specified comment in the cfunc_t structure. The save_user_cmts() function must be called after it. 
        
:param loc: ctree location
:param cmt: new comment. if empty or nullptr, then an existing comment is deleted.)r   cfunc_t_set_user_cmtr  s   &&&r   r  cfunc_t.set_user_cmtq5  s    
 00C@@r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r1  x5  s     ? ?#4 ? ?r#   c                .    \         P                  ! W4      # )z`Retrieve citem iflags. 
        
:param loc: citem locator
:returns: ctree item iflags bits or 0)r   cfunc_t_get_user_iflagsr  s   &&r   r  cfunc_t.get_user_iflagsx5  r  r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r1  5  s'     G G#4 Gc GT Gr#   c                0    \         P                  ! WV4      # )zOSet citem iflags. 
        
:param loc: citem locator
:param iflags: new iflags)r   cfunc_t_set_user_iflagsr  s   &&&r   r  cfunc_t.set_user_iflags5  s    
 33DvFFr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1  5  r'!  r#   c                .    \         P                  ! V 4      # )z$Check if there are orphan comments.
)r   cfunc_t_has_orphan_cmtsr   s   &r   r  cfunc_t.has_orphan_cmts5  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1  5  s     : : :r#   c                .    \         P                  ! V 4      # )zcDelete all orphan comments. The save_user_cmts() function must be called after this call. 
        )r   cfunc_t_del_orphan_cmtsr   s   &r   r  cfunc_t.del_orphan_cmts5  r  r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r1  5  s'     M M? M* MMr#   c                0    \         P                  ! WV4      # )zRetrieve a user defined union field selection. 
        
:param ea: address
:param path: out: path describing the union selection.
:returns: pointer to the path or nullptr)r    cfunc_t_get_user_union_selectionr  s   &&&r   r   cfunc_t.get_user_union_selection5  s     <<TtLLr#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rE   s   "r   rF   r1  5  s'     M M? M* MMr#   c                0    \         P                  ! WV4      # )zSet a union field selection. The save_user_unions() function must be called after calling this function. 
        
:param ea: address
:param path: in: path describing the union selection.)r    cfunc_t_set_user_union_selectionr  s   &&&r   r   cfunc_t.set_user_union_selection5  s     <<TtLLr#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  r*  r#   c                .    \         P                  ! V 4      # )z,Save user-defined labels into the database.
)r   cfunc_t_save_user_labelsr   s   &r   r  cfunc_t.save_user_labels5  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  r)  r#   c                .    \         P                  ! V 4      # )z.Save user-defined comments into the database.
)r   cfunc_t_save_user_cmtsr   s   &r   r   cfunc_t.save_user_cmts5  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5       = =4 =r#   c                .    \         P                  ! V 4      # )z4Save user-defined number formats into the database.
)r   cfunc_t_save_user_numformsr   s   &r   r  cfunc_t.save_user_numforms5  r*  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  r*  r#   c                .    \         P                  ! V 4      # )z,Save user-defined iflags into the database.
)r   cfunc_t_save_user_iflagsr   s   &r   r  cfunc_t.save_user_iflags5  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  r*  r#   c                .    \         P                  ! V 4      # )z<Save user-defined union field selections into the database.
)r   cfunc_t_save_user_unionsr   s   &r   r  cfunc_t.save_user_unions5  r  r#   c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# r  r$   )rE   s   "r   rF   r1  5  sA     0 0# 0# 0d 00-06D0HL0r#   c           	     4    \         P                  ! WVW4WV4      # )a?  Get ctree item for the specified cursor position. 
        
:param line: line of decompilation text (element of sv)
:param x: x cursor coordinate in the line
:param is_ctree_line: does the line belong to statement area? (if not, it is assumed to belong to the declaration area)
:param phead: ptr to the first item on the line (used to attach block comments). May be nullptr
:param pitem: ptr to the current item. May be nullptr
:param ptail: ptr to the last item on the line (used to attach indented comments). May be nullptr
:returns: false if failed to get the current item)r   cfunc_t_get_line_itemr  s   &&&&&&&r   r  cfunc_t.get_line_item5  s      11$a%0 	0r#   c                   V ^8  d   QhRR/# r!  r$   )rE   s   "r   rF   r1  5  s     7 7^ 7r#   c                .    \         P                  ! V 4      # )zeGet information about decompilation warnings. 
        
:returns: reference to the vector of warnings)r   cfunc_t_get_warningsr   s   &r   r$  cfunc_t.get_warnings5       0066r#   c                   V ^8  d   QhRR/# r'  r$   )rE   s   "r   rF   r1  5  s     4 4+ 4r#   c                .    \         P                  ! V 4      # )zWGet pointer to ea->insn map. This function initializes eamap if not done yet. 
        )r   cfunc_t_get_eamapr   s   &r   r*  cfunc_t.get_eamap5  r  r#   c                   V ^8  d   QhRR/# r-  r$   )rE   s   "r   rF   r1  5  s     9 9/ 9r#   c                .    \         P                  ! V 4      # )zsGet pointer to map of instruction boundaries. This function initializes the boundary map if not done yet. 
        )r   cfunc_t_get_boundariesr   s   &r   r0  cfunc_t.get_boundaries5  r  r#   c                   V ^8  d   QhRR/# r4  r$   )rE   s   "r   rF   r1  5  s     9 91 9r#   c                .    \         P                  ! V 4      # )zrGet pointer to decompilation output: the pseudocode. This function generates pseudocode if not done yet. 
        )r   cfunc_t_get_pseudocoder   s   &r   r7  cfunc_t.get_pseudocode5  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  rJ2  r#   c                .    \         P                  ! V 4      # )zRefresh ctext after a ctree modification. This function informs the decompiler that ctree (body) have been modified and ctext (sv) does not correspond to it anymore. It also refreshes the pseudocode windows if there is any. 
        )r   cfunc_t_refresh_func_ctextr   s   &r   r<  cfunc_t.refresh_func_ctext5  r*  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r1  5  r*  r#   c                .    \         P                  ! V 4      # )zRecalculate item adresses. This function may be required after shuffling ctree items. For example, when adding or removing statements of a block, or changing 'if' statements. 
        )r   cfunc_t_recalc_item_addressesr   s   &r   rB  cfunc_t.recalc_item_addresses5  r  r#   Nc               $    V ^8  d   QhRRRRRR/# rF  r$   )rE   s   "r   rF   r1  5  s(     A A A5F AAr#   c                	0    \         P                  ! WV4      # r.   )r   cfunc_t_gather_derefsrK  s   &&&r   rL  cfunc_t.gather_derefs5  s    11$C@@r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1  5  r/  r#   c                	.    \         P                  ! V 4      # r.   )r   cfunc_t_lockedr   s   &r   rV  cfunc_t.locked5  r
  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r1  5  r!  r#   c                .    \         P                  ! V 4      # )z*Serialize cfunc into a sequence of bytes.
)r   cfunc_t_serializer   s   &r   r[  cfunc_t.serialize5  r  r#   c               $    V ^8  d   QhRRRRRR/# r^  r$   )rE   s   "r   rF   r1  5  s!     < < < <K <r#   c                .    \         P                  ! W4      # )zDeserialize a byte sequence into cfunc_t 
        
:param mba: the matching mba object
:param bytes: pointer to the beginning of the byte sequence.
:returns: new cfunc_t object)r   cfunc_t_deserialize)r[  r`  s   &&r   rd  cfunc_t.deserialize5  s     //;;r#   c                2    \         P                  ! V .VO5!  # rO  )r   cfunc_t_find_item_coordsr   s   &*r   rQ  cfunc_t.find_item_coords5  s     44TADAAr#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   r1  6  s     2 2 2r#   c                	.    \         P                  ! V 4      # r.   )r   cfunc_t___str__r   s   &r   rj  cfunc_t.__str__6  r   r#   r$   r.   )\r   r   r8   r9   r   r   r   r   r
   r   cfunc_t_entry_ea_getcfunc_t_entry_ea_setrY  ro  cfunc_t_mba_getcfunc_t_mba_setr[  cfunc_t_body_getcfunc_t_body_setr\  cfunc_t_argidx_getr^  cfunc_t_maturity_getcfunc_t_maturity_setr`  cfunc_t_user_labels_getcfunc_t_user_labels_setrb  cfunc_t_user_cmts_getcfunc_t_user_cmts_setrd  cfunc_t_numforms_getcfunc_t_numforms_setrf  cfunc_t_user_iflags_getcfunc_t_user_iflags_setrh  cfunc_t_user_unions_getcfunc_t_user_unions_setrj  cfunc_t_refcnt_getcfunc_t_refcnt_setrk  cfunc_t_statebits_getcfunc_t_statebits_setrl  cfunc_t_hdrlines_getcfunc_t_hdrlines_setrm  cfunc_t_treeitems_getcfunc_t_treeitems_setro  delete_cfunc_trT  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r$  r*  r0  r7  r<  rB  rL  rV  r[  r''  rd  rQ  rj  r<   r$   r#   r   r1  r1  4  s   -/I!#G7H ()J)J))!+Ho +l::LC |<<lD) #L$C$CDFLD#+Ll??$AH  A%-l!E!E&GK" G!),|AA"CI C$,\l??%AH! A%-l!E!E&GK" G%-l!E!E&GK" G<::LFC l@@**,Is ,\>>))+Hc +$,\|AA%CI! C#2227
M4
9>4;<?
@A?G:
:
MM;
9
=
;
;
074
9
9
=
@
A14
 < <
B2Hr#   r1  c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rF   @6  s     0 0d 0r#   c                 ,    \         P                  ! 4       # )zpClose the waitbox displayed by the decompiler. Useful if DECOMP_NO_HIDE was used during decompilation. 
        )r   close_hexrays_waitboxr$   r#   r   r2  r2  @6  s     --//r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r~  r  r  r  r   rX   rC   'cfuncptr_t'r$   )rE   s   "r   rF   rF   F6  s+     9 9> 9': 99'9r#   c                0    \         P                  ! WV4      # )a"  Decompile a snippet or a function. 
        
:param mbr: what to decompile
:param hf: extended error information (if failed)
:param decomp_flags: bitwise combination of decompile() flags... bits
:returns: pointer to the decompilation result (a reference counted pointer). nullptr if failed.)r   	decompile)r~  r  r   s   &&&r   r2  r2  F6  s     !!#<88r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r*$  r)$  r  r  r   rX   rC   r2  r$   )rE   s   "r   rF   rF   Q6  s+      
 (; 'r#   c                \    \         P                  ! WV4      pVP                  4       f   RpV# )ai  Decompile a function. Multiple decompilations of the same function return the same object. 
        
:param pfn: pointer to function to decompile
:param hf: extended error information (if failed)
:param decomp_flags: bitwise combination of decompile() flags... bits
:returns: pointer to the decompilation result (a reference counted pointer). nullptr if failed.N)r   decompile_funcrL  )r*$  r  r   rg   s   &&& r   r2  r2  Q6  s,     
%
%c|
<C
}}Jr#   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rA   r~  r  r  r  retlistr.  r   rX   r  r  rC   rZ  r$   )rE   s   "r   rF   rF   _6  sC     N N~ N+> NN+.N:JNNr#   c                2    \         P                  ! WW#V4      # )ad  Generate microcode of an arbitrary code snippet 
        
:param mbr: snippet ranges
:param hf: extended error information (if failed)
:param retlist: list of registers the snippet returns
:param decomp_flags: bitwise combination of decompile() flags... bits
:param reqmat: required microcode maturity
:returns: pointer to the microcode, nullptr if failed.)r   gen_microcode)r~  r  r2  r   r  s   &&&&&r   r2  r2  _6  s     %%cwfMMr#   c               $    V ^8  d   QhRRRRRR/# )rA   r~  r  r  r  rC   rZ  r$   )rE   s   "r   rF   rF   m6  s#     2 2. 2.A 22r#   c                .    \         P                  ! W4      # )z"Create an empty microcode object.
)r   create_empty_mba)r~  r  s   &&r   r2  r2  m6  s     ((11r#   c                    V ^8  d   QhRRRR/# )rA   r[  r_  rC   r2  r$   )rE   s   "r   rF   rF   t6  s     * *g * *r#   c                .    \         P                  ! V 4      # )zCreate a new cfunc_t object. 
        
:param mba: microcode object. After creating the cfunc object it takes the ownership of MBA.)r   create_cfunc)r[  s   &r   r2  r2  t6  rp  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  rX  close_viewsrY   rC   r$   )rE   s   "r   rF   rF   {6  s!     : : :t :T :r#   c                .    \         P                  ! W4      # )zFlush the cached decompilation results. Erases a cache entry for the specified function. 
        
:param ea: function to erase from the cache
:param close_views: close pseudocode windows that show the function
:returns: if a cache entry existed.)r   mark_cfunc_dirty)r  r2  s   &&r   r2  r2  {6  s     ((99r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   rF   6  rn   r#   c                 ,    \         P                  ! 4       # )z(Flush all cached decompilation results.
)r   clear_cached_cfuncsr$   r#   r   r2  r2  6  rq   r#   c                    V ^8  d   QhRRRR/# rA   r  rX  rC   rY   r$   )rE   s   "r   rF   rF   6  s     - - -D -r#   c                .    \         P                  ! V 4      # )z3Do we have a cached decompilation result for 'ea'?
)r   has_cached_cfunc)r  s   &r   r2  r2  6  rU(  r#   c                    V ^8  d   QhRRRR/# )rA   rW  rQ(  rC   ry  r$   )rE   s   "r   rF   rF   6  s     + +y +C +r#   c                .    \         P                  ! V 4      # r.   )r   get_ctype_namerZ  s   &r   r2  r2  6  s    &&r**r#   c                   V ^8  d   QhRR/# rg  r$   )rE   s   "r   rF   rF   6  s     1 1s 1r#   c                 *    \         P                  ! V !  # r.   )r   create_field_namer  s   *r   r2  r2  6  r1  r#   c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    ]! ]P                   ]P"                  4      tR]R	&    R
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltRR R llt]P8                  tRtR# )ctext_position_ti7  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ctext_position_t.<lambda>7  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r2  7  r~   r#   r   r   rX   lnnumrw   rf+  c                    V ^8  d   QhRRRR/# )rA   rm  rX   rC   rY   r$   )rE   s   "r   rF   ctext_position_t.__annotate__*7  s     F F F Fr#   c                .    \         P                  ! W4      # )zwIs the cursor in the variable/type declaration area? 
        
:param hdrlines: Number of lines of the declaration area)r   ctext_position_t_in_ctree)r   rm  s   &&r   in_ctreectext_position_t.in_ctree*7  s     55dEEr#   c                    V ^8  d   QhRRRR/# rA   r   'ctext_position_t'rC   rY   r$   )rE   s   "r   rF   r2  07  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___eq__r   s   &&r   r   ctext_position_t.__eq__07  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r2  37  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___ne__r   s   &&r   r  ctext_position_t.__ne__37  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r2  67  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___lt__r   s   &&r   rI  ctext_position_t.__lt__67  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r2  97  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___gt__r   s   &&r   rN  ctext_position_t.__gt__97  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r2  <7  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___le__r   s   &&r   rS  ctext_position_t.__le__<7  r  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r2  ?7  r	  r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t___ge__r   s   &&r   rX  ctext_position_t.__ge__?7  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   r2  rC   rX   r$   )rE   s   "r   rF   r2  B7  s     > >+ >s >r#   c                	.    \         P                  ! W4      # r.   )r   ctext_position_t_comparer   s   &&r   r^  ctext_position_t.compareB7  r
  r#   c               $    V ^8  d   QhRRRRRR/# )rA   _lnnumrX   _x_yr$   )rE   s   "r   rF   r2  E7  s!     2 2s 23 2c 2r#   c                	^    \         P                  ! V \         P                  ! WV4      4       R # r.   )r   ctext_position_t_swiginitnew_ctext_position_t)r   r2  r2  r2  s   &&&&r   r   ctext_position_t.__init__E7  s)    ..t\  6!!'R61 	2r#   r$   N)ro  r  r  )r   r   r8   r9   r   r   r   r
   r   ctext_position_t_lnnum_getctext_position_t_lnnum_setr2  ro  ctext_position_t_x_getctext_position_t_x_setrw   ctext_position_t_y_getctext_position_t_y_setrf+  r2  r   r  rI  rN  rS  rX  r^  r   delete_ctext_position_trT  r<   r$   r#   r   r2  r2  7  s    -/I!#GH,AA//1E3 1l99< As  l99< As  F======>2 $;;r#   r2  c                  &   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    ]! ]P                   ]P"                  4      tR]R	&    R
 t]P(                  tRtR# )history_item_tiO7  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   history_item_t.<lambda>P7  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r3  P7  r~   r#   r   r   rX  r&  curr_ear  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   history_item_t_swiginitnew_history_item_tr   s   &*r   r   history_item_t.__init__`7  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   history_item_t_func_ea_gethistory_item_t_func_ea_setr&  ro  history_item_t_curr_ea_gethistory_item_t_curr_ea_setr	3  history_item_t_end_gethistory_item_t_end_setr  r   delete_history_item_trT  r<   r$   r#   r   r3  r3  O7  s    -/I!#GH'""L$K$K MG_ M'""L$K$K MG_ M#L$G$G++-C -' $99r#   r3  c                  >   ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    R	 R
 ltR R ltR R ltR R ltR R ltR R lt]! ]	P(                  ]	P*                  4      tR]R&    ]! ]	P.                  ]	P0                  4      tR]R&    ]! ]	P4                  ]	P6                  4      tR]R&   ]! ]	P:                  ]	P<                  4      tR]R&    ]! ]	P@                  ]	PB                  4      t"R]R&    ]! ]	PF                  ]	PH                  4      t%R]R&    ]! ]	PL                  ]	PN                  4      t(R]R &    ]! ]	PR                  4      t*R!]R"&    ]! ]	PV                  4      t,R!]R#&    ]! ]	PZ                  4      t.R!]R$&    R% R& lt/RwR' R( llt0R) R* lt1R+ R, lt2R- R. lt3R/ R0 lt4R1 R2 lt5R3 R4 lt6R5 R6 lt7R7 R8 lt8R9 R: lt9R; R< lt:R= R> lt;R? R@ lt<RA RB lt=RC RD lt>RE RF lt?RG RH lt@RI RJ ltARK RL ltBRM RN ltCRO RP ltDRQ RR ltERS RT ltFRU RV ltGRW RX ltHRY RZ ltIR[ R\ ltJR] R^ ltKR_ R` ltLRa Rb ltMRc Rd ltNRe Rf ltORg Rh ltPRi Rj ltQRk Rl ltRRm Rn ltSRo Rp ltTRq Rr ltURs Rt ltV]	P                  tXRutYRv# )xvdui_tii7  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   vdui_t.<lambda>j7  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r3  j7  r~   r#   r   r   c                	    \        R 4      hre  rf  rg  s   &*,r   r   vdui_t.__init__m7  rj  r#   rX   rW   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   vdui_t.__annotate__u7  s     1 1 1r#   c                .    \         P                  ! V 4      # )zVIs the pseudocode window visible? if not, it might be invisible or destroyed 
        )r   vdui_t_visibler   s   &r   visiblevdui_t.visibleu7  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  z7  rv  r#   c                .    \         P                  ! V 4      # )zxDoes the pseudocode window contain valid code? It can become invalid if the function type gets changed in IDA. 
        )r   vdui_t_validr   s   &r   r  vdui_t.validz7  r{  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  7  s     0 0t 0r#   c                .    \         P                  ! V 4      # )zDoes the pseudocode window contain valid code? We lock windows before modifying them, to avoid recursion due to the events generated by the IDA kernel. 
        
:returns: true: The window is locked and may have stale info)r   vdui_t_lockedr   s   &r   rV  vdui_t.locked7  s     ))$//r#   c                    V ^8  d   QhRRRR/# rA   r}   rY   rC   rD   r$   )rE   s   "r   rF   r3  7  s     8 8T 8T 8r#   c                	.    \         P                  ! W4      # r.   )r   vdui_t_set_visibler8  s   &&r   set_visiblevdui_t.set_visible7  r  r#   c                    V ^8  d   QhRRRR/# r+3  r$   )rE   s   "r   rF   r3  7  s     6 64 64 6r#   c                	.    \         P                  ! W4      # r.   )r   vdui_t_set_validr8  s   &&r   	set_validvdui_t.set_valid7  r
  r#   c                    V ^8  d   QhRRRR/# )rA   r}   rY   rC   r$   )rE   s   "r   rF   r3  7  s     7 7D 7D 7r#   c                	.    \         P                  ! W4      # r.   )r   vdui_t_set_lockedr8  s   &&r   
set_lockedvdui_t.set_locked7  r   r#   view_idxrP   r0  toplevelrZ  r[  r2  r2  r  	last_coder2  cposr  r"  r  r"  c                    V ^8  d   QhRRRR/# )rA   redo_mbarY   rC   rD   r$   )rE   s   "r   rF   r3  7  s     @ @T @T @r#   c                .    \         P                  ! W4      # )a  Refresh pseudocode window. This is the highest level refresh function. It causes the most profound refresh possible and can lead to redecompilation of the current function. Please consider using refresh_ctext() if you need a more superficial refresh. 
        
:param redo_mba: true means to redecompile the current function
 false means to rebuild ctree without regenerating microcode)r   vdui_t_refresh_view)r   r?3  s   &&r   refresh_viewvdui_t.refresh_view7  s    
 //??r#   c                    V ^8  d   QhRRRR/# )rA   activaterY   rC   rD   r$   )rE   s   "r   rF   r3  7  s     A Ad A4 Ar#   c                .    \         P                  ! W4      # )zRefresh pseudocode window. This function refreshes the pseudocode window by regenerating its text from cfunc_t. Instead of this function use refresh_func_ctext(), which refreshes all pseudocode windows for the function. 
        )r   vdui_t_refresh_ctext)r   rE3  s   &&r   refresh_ctextvdui_t.refresh_ctext7  s     00@@r#   c               $    V ^8  d   QhRRRRRR/# )rA   rO   r2  rE3  rY   rC   rD   r$   )rE   s   "r   rF   r3  7  s&     @ @< @4 @4 @r#   c                0    \         P                  ! WV4      # )zDisplay the specified pseudocode. This function replaces the pseudocode window contents with the specified cfunc_t. 
        
:param f: pointer to the function to display.
:param activate: should the pseudocode window get focus?)r   vdui_t_switch_to)r   rO   rE3  s   &&&r   	switch_tovdui_t.switch_to7  s    
 ,,Th??r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  7  s     2 2 2r#   c                .    \         P                  ! V 4      # )zIs the current item a statement?

:returns: false if the cursor is in the local variable/type declaration area
 true if the cursor is in the statement area)r   vdui_t_in_ctreer   s   &r   r2  vdui_t.in_ctree7  s    
 ++D11r#   c                   V ^8  d   QhRR/# r0+  r$   )rE   s   "r   rF   r3  7  s     4 4= 4r#   c                .    \         P                  ! V 4      # )a  Get current number. If the current item is a number, return pointer to it. 
        
:returns: nullptr if the current item is not a number This function returns non-null for the cases of a 'switch' statement Also, if the current item is a casted number, then this function will succeed.)r   vdui_t_get_numberr   s   &r   
get_numbervdui_t.get_number7  r%  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  7  s     ; ;# ;r#   c                .    \         P                  ! V 4      # )zGet current label. If there is a label under the cursor, return its number. 
        
:returns: -1 if there is no label under the cursor. prereq: get_current_item() has been called)r   vdui_t_get_current_labelr   s   &r   get_current_labelvdui_t.get_current_label7  r#  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r3  7  rv  r#   c                .    \         P                  ! V 4      # )zUClear the pseudocode window. It deletes the current function and microcode. 
        )r   vdui_t_clearr   s   &r   r   vdui_t.clear7  r{  r#   c                    V ^8  d   QhRRRR/# rA   idv'input_device_t'rC   rY   r$   )rE   s   "r   rF   r3  7  s     ; ; 0 ;D ;r#   c                .    \         P                  ! W4      # )zRefresh the current position. This function refreshes the cpos field. 
        
:param idv: keyboard or mouse
:returns: false if failed)r   vdui_t_refresh_cposr   rc3  s   &&r   refresh_cposvdui_t.refresh_cpos7  s    
 //::r#   c                    V ^8  d   QhRRRR/# rb3  r$   )rE   s   "r   rF   r3  7  s     ? ?$4 ? ?r#   c                .    \         P                  ! W4      # )zGet current item. This function refreshes the cpos, item, tail fields. 
        
:param idv: keyboard or mouse
:returns: false if failed)r   vdui_t_get_current_itemrg3  s   &&r   get_current_itemvdui_t.get_current_item7  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  7       ; ; ;D ;r#   c                .    \         P                  ! W4      # )zRename local variable. This function displays a dialog box and allows the user to rename a local variable. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_rename_lvarr8  s   &&r   ui_rename_lvarvdui_t.ui_rename_lvar7      
 11$::r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r}   r  r   ry  r  rY   rC   r$   )rE   s   "r   rF   r3  7  s.     L LX LS L L Lr#   c                0    \         P                  ! WW#4      # )a  Rename local variable. This function permanently renames a local variable. 
        
:param v: pointer to local variable
:param name: new variable name
:param is_user_name: use true to save the new name into the database. use false to delete the saved name.
:returns: false if failed)r   vdui_t_rename_lvar)r   r}   r   r  s   &&&&r   rR  vdui_t.rename_lvar7  s     ..tKKr#   c                    V ^8  d   QhRRRR/# r)  r$   )rE   s   "r   rF   r3  7  s     = =) =t =r#   c                .    \         P                  ! W4      # )zSet type of a function call This function displays a dialog box and allows the user to change the type of a function call 
        
:param e: pointer to call expression
:returns: false if failed or cancelled)r   vdui_t_ui_set_call_typer)  s   &&r   ui_set_call_typevdui_t.ui_set_call_type7      
 33D<<r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  8       = =( =d =r#   c                .    \         P                  ! W4      # )zSet local variable type. This function displays a dialog box and allows the user to change the type of a local variable. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_set_lvar_typer8  s   &&r   ui_set_lvar_typevdui_t.ui_set_lvar_type8  r3  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r}   r  r   r  rC   rY   r$   )rE   s   "r   rF   r3  8  s&     @ @x @y @D @r#   c                0    \         P                  ! WV4      # )zSet local variable type. This function permanently sets a local variable type and clears NOPTR flag if it was set before by function 'set_noptr_lvar' 
        
:param v: pointer to local variable
:param type: new variable type
:returns: false if failed)r   vdui_t_set_lvar_type)r   r}   r   s   &&&r   r  vdui_t.set_lvar_type8  s     00$??r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  8  rp3  r#   c                .    \         P                  ! W4      # )a  Inform that local variable should have a non-pointer type This function permanently sets a corresponding variable flag (NOPTR) and removes type if it was set before by function 'set_lvar_type' 
        
:param v: pointer to local variable
:returns: false if failed)r   vdui_t_set_noptr_lvarr8  s   &&r   r  vdui_t.set_noptr_lvar8  ru3  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  8  r3  r#   c                .    \         P                  ! W4      # )zSet local variable comment. This function displays a dialog box and allows the user to edit the comment of a local variable. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_edit_lvar_cmtr8  s   &&r   ui_edit_lvar_cmtvdui_t.ui_edit_lvar_cmt8  r3  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r}   r  r  ry  rC   rY   r$   )rE   s   "r   rF   r3  8  s!     > >h >S >D >r#   c                0    \         P                  ! WV4      # )zSet local variable comment. This function permanently sets a variable comment. 
        
:param v: pointer to local variable
:param cmt: new comment
:returns: false if failed)r   vdui_t_set_lvar_cmt)r   r}   r  s   &&&r   set_lvar_cmtvdui_t.set_lvar_cmt8  s     //==r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  &8  s     8 8X 8 8r#   c                .    \         P                  ! W4      # )zMap a local variable to another. This function displays a variable list and allows the user to select mapping. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_map_lvarr8  s   &&r   ui_map_lvarvdui_t.ui_map_lvar&8  s    
 ..t77r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  -8  s     : :x :4 :r#   c                .    \         P                  ! W4      # )zUnmap a local variable. This function displays list of variables mapped to the specified variable and allows the user to select a variable to unmap. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_unmap_lvarr8  s   &&r   ui_unmap_lvarvdui_t.ui_unmap_lvar-8  rn*  r#   c                    V ^8  d   QhRRRR/# r  r$   )rE   s   "r   rF   r3  48  rp3  r#   c                .    \         P                  ! W4      # )zqForbid variable propagation. 
        
:param v: pointer to local variable
:returns: false if failed or cancelled)r   vdui_t_ui_noprop_lvarr8  s   &&r   ui_noprop_lvarvdui_t.ui_noprop_lvar48  ru3  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  r  r  rC   rY   r$   )rE   s   "r   rF   r3  ;8  s!     ; ;H ;( ;d ;r#   c                0    \         P                  ! WV4      # )a  Map a local variable to another. This function permanently maps one lvar to another. All occurrences of the mapped variable are replaced by the new variable 
        
:param to: the variable to map to. if nullptr, unmaps the variable
:returns: false if failed)r   vdui_t_map_lvar)r   r  r  s   &&&r   map_lvarvdui_t.map_lvar;8  s    
 ++Dr::r#   c               $    V ^8  d   QhRRRRRR/# rA   udt_typer  udm_idxrX   rC   rY   r$   )rE   s   "r   rF   r3  B8  s&     I IY I I Ir#   c                0    \         P                  ! WV4      # )a  Set structure field type. This function displays a dialog box and allows the user to change the type of a structure field. 
        
:param udt_type: structure/union type
:param udm_idx: index of the structure/union member
:returns: false if failed or cancelled)r   vdui_t_set_udm_typer   r3  r3  s   &&&r   set_udm_typevdui_t.set_udm_typeB8  s     //HHr#   c               $    V ^8  d   QhRRRRRR/# r3  r$   )rE   s   "r   rF   r3  J8  s&     G G9 Gs Gd Gr#   c                0    \         P                  ! WV4      # )zRename structure field. This function displays a dialog box and allows the user to rename a structure field. 
        
:param udt_type: structure/union type
:param udm_idx: index of the structure/union member
:returns: false if failed or cancelled)r   vdui_t_rename_udmr3  s   &&&r   
rename_udmvdui_t.rename_udmJ8  s     --dgFFr#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r3  R8  s     = =/ =T =r#   c                .    \         P                  ! W4      # )zSet global item type. This function displays a dialog box and allows the user to change the type of a global item (data or function). 
        
:param ea: address of the global item
:returns: false if failed or cancelled)r   vdui_t_set_global_typerV  s   &&r   set_global_typevdui_t.set_global_typeR8  r(#  r#   c                    V ^8  d   QhRRRR/# r2  r$   )rE   s   "r   rF   r3  Y8  s     ; ; ;4 ;r#   c                .    \         P                  ! W4      # )zRename global item. This function displays a dialog box and allows the user to rename a global item (data or function). 
        
:param ea: address of the global item
:returns: false if failed or cancelled)r   vdui_t_rename_globalrV  s   &&r   rename_globalvdui_t.rename_globalY8  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  rX   rC   rY   r$   )rE   s   "r   rF   r3  `8  s     = =# = =r#   c                .    \         P                  ! W4      # )zRename a label. This function displays a dialog box and allows the user to rename a statement label. 
        
:param label: label number
:returns: false if failed or cancelled)r   vdui_t_rename_labelr  s   &&r   rename_labelvdui_t.rename_label`8  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   rc3  rd3  omflagsrX   rC   rY   r$   )rE   s   "r   rF   r3  g8  s'     B B. B B Br#   c                0    \         P                  ! WV4      # )a  Process the Enter key. This function jumps to the definition of the item under the cursor. If the current item is a function, it will be decompiled. If the current item is a global data, its disassemly text will be displayed. 
        
:param idv: what cursor must be used, the keyboard or the mouse
:param omflags: OM_NEWWIN: new pseudocode window will open, 0: reuse the existing window
:returns: false if failed)r   vdui_t_jump_enter)r   rc3  r3  s   &&&r   
jump_entervdui_t.jump_enterg8  s     --dAAr#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  o8       9 9 9r#   c                .    \         P                  ! V 4      # )zJump to disassembly. This function jumps to the address in the disassembly window which corresponds to the current item. The current item is determined based on the current keyboard cursor position. 
        
:returns: false if failed)r   vdui_t_ctree_to_disasmr   s   &r   ctree_to_disasmvdui_t.ctree_to_disasmo8       22488r#   c               $    V ^8  d   QhRRRRRR/# )rA   r2  rX   cmttypez'cmt_type_t'rC   r$   )rE   s   "r   rF   r3  u8  s&     G G3 G G Gr#   c                0    \         P                  ! WV4      # )a  Check if the specified line can have a comment. Due to the coordinate system for comments: ([https://hex-rays.com/blog/coordinate-system-for-hex-rays](https://hex-rays.com/blog/coordinate-system-for-hex-rays)) some function lines cannot have comments. This function checks if a comment can be attached to the specified line. 
        
:param lnnum: line number (0 based)
:param cmttype: comment types to check
:returns: possible comment types)r   vdui_t_calc_cmt_type)r   r2  r3  s   &&&r   calc_cmt_typevdui_t.calc_cmt_typeu8  s     00gFFr#   c                    V ^8  d   QhRRRR/# )rA   r  r]  rC   rY   r$   )rE   s   "r   rF   r3  }8  s     7 7K 74 7r#   c                .    \         P                  ! W4      # )zEdit an indented comment. This function displays a dialog box and allows the user to edit the comment for the specified ctree location. 
        
:param loc: comment location
:returns: false if failed or cancelled)r   vdui_t_edit_cmtr  s   &&r   edit_cmtvdui_t.edit_cmt}8  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8  s     7 7d 7r#   c                .    \         P                  ! V 4      # )zEdit a function comment. This function displays a dialog box and allows the user to edit the function comment. 
        
:returns: false if failed or cancelled)r   vdui_t_edit_func_cmtr   s   &r   edit_func_cmtvdui_t.edit_func_cmt8  r^2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8  r3  r#   c                .    \         P                  ! V 4      # )zgDelete all orphan comments. Delete all orphan comments and refresh the screen. 
        
:returns: true)r   vdui_t_del_orphan_cmtsr   s   &r   r  vdui_t.del_orphan_cmts8  r3  r#   c                    V ^8  d   QhRRRR/# )rA   baserX   rC   rY   r$   )rE   s   "r   rF   r3  8  s     = =# = =r#   c                .    \         P                  ! W4      # )zChange number base. This function changes the current number representation. 
        
:param base: number radix (10 or 16)
 0 means a character constant
:returns: false if failed)r   vdui_t_set_num_radix)r   r3  s   &&r   set_num_radixvdui_t.set_num_radix8  s     00<<r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8  s     6 6T 6r#   c                .    \         P                  ! V 4      # )zConvert number to symbolic constant. This function displays a dialog box and allows the user to select a symbolic constant to represent the number. 
        
:returns: false if failed or cancelled)r   vdui_t_set_num_enumr   s   &r   set_num_enumvdui_t.set_num_enum8  ru!  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8  s     8 8t 8r#   c                .    \         P                  ! V 4      # )zuConvert number to structure field offset. Currently not implemented. 
        
:returns: false if failed or cancelled)r   vdui_t_set_num_stroffr   s   &r   set_num_stroffvdui_t.set_num_stroff8  rA  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8       5 5D 5r#   c                .    \         P                  ! V 4      # )z_Negate a number. This function negates the current number. 
        
:returns: false if failed.)r   vdui_t_invert_signr   s   &r   invert_signvdui_t.invert_sign8  r@&  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r3  8  r3  r#   c                .    \         P                  ! V 4      # )zsBitwise negate a number. This function inverts all bits of the current number. 
        
:returns: false if failed.)r   vdui_t_invert_bitsr   s   &r   invert_bitsvdui_t.invert_bits8  r@&  r#   c                    V ^8  d   QhRRRR/# rA   hiderY   rC   r$   )rE   s   "r   rF   r3  8  s     = =$ =$ =r#   c                .    \         P                  ! W4      # )zhCollapse/uncollapse item. This function collapses the current item. 
        
:returns: false if failed.)r   vdui_t_collapse_itemr   r4  s   &&r   collapse_itemvdui_t.collapse_item8  s     00<<r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   r3  8  s     > >4 >4 >r#   c                .    \         P                  ! W4      # )zUCollapse/uncollapse local variable declarations. 
        
:returns: false if failed.)r   vdui_t_collapse_lvarsr
4  s   &&r   collapse_lvarsvdui_t.collapse_lvars8  s     11$==r#   c                    V ^8  d   QhRRRR/# )rA   splitrY   rC   r$   )rE   s   "r   rF   r3  8  s     ; ; ; ;r#   c                .    \         P                  ! W4      # )zpSplit/unsplit item. This function splits the current assignment expression. 
        
:returns: false if failed.)r   vdui_t_split_item)r   r4  s   &&r   
split_itemvdui_t.split_item8  s     --d::r#   r$   Nr(  )Zr   r   r8   r9   r   r   r   r   r
   r   vdui_t_flags_getvdui_t_flags_setrW   ro  r 3  r  rV  r.3  r33  r83  vdui_t_view_idx_getvdui_t_view_idx_setr:3  vdui_t_ct_getvdui_t_ct_setr0  vdui_t_toplevel_getvdui_t_toplevel_setr;3  vdui_t_mba_getvdui_t_mba_setr[  vdui_t_cfunc_getvdui_t_cfunc_setr2  vdui_t_last_code_getvdui_t_last_code_setr<3  vdui_t_cpos_getvdui_t_cpos_setr=3  vdui_t_head_getr"  vdui_t_item_getr  vdui_t_tail_getr"  rB3  rH3  rM3  r2  rV3  r[3  r   rh3  rm3  rs3  rR  r}3  r3  r  r  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r  r3  r3  r3  r3  r4  r4  r4  r4  delete_vdui_trT  r<   r$   r#   r   r3  r3  i7  s   -/I!#G7H,77E3 1
/
0867\==|		Hc |99<B $\%E%E((*Hk *l99<C "<#@#@%%'E< '$\%F%F))+Iz +'(D(D$$ &D
 &#L$@$@AD.A#L$@$@AD.A#L$@$@AD.A@A
@24;/
;?;L==@;=>8:;;IG=;=B9G779=6855=>;
 $11r#   r3  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R ltR t]P&                  tRtR# )ui_stroff_op_ti8  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ui_stroff_op_t.<lambda>8  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r/4  8  r~   r#   r   r   ry  r#  rX   r  c                    V ^8  d   QhRRRR/# rA   r   r		  rC   rY   r$   )rE   s   "r   rF   ui_stroff_op_t.__annotate__8  rH  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_op_t___eq__r   s   &&r   r   ui_stroff_op_t.__eq__8  r/  r#   c                    V ^8  d   QhRRRR/# r24  r$   )rE   s   "r   rF   r34  8  rH  r#   c                	.    \         P                  ! W4      # r.   )r   ui_stroff_op_t___ne__r   s   &&r   r  ui_stroff_op_t.__ne__8  r/  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   ui_stroff_op_t_swiginitnew_ui_stroff_op_tr   s   &r   r   ui_stroff_op_t.__init__8  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   ui_stroff_op_t_text_getui_stroff_op_t_text_setr#  ro  ui_stroff_op_t_offset_getui_stroff_op_t_offset_setr  r   r  r   delete_ui_stroff_op_trT  r<   r$   r#   r   r-4  r-4  8  s    -/I!#GH==|	 	 "D# "<AA..0FC 0;;" $99r#   r-4  c                  d    ] tR tRt]! R R RR7      t]t]P                  t
R R ltR tR	 tR
tR# )ui_stroff_applicator_ti8  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   ui_stroff_applicator_t.<lambda>8  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rG4  8  r~   r#   r   r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rA   r  rX   r  r  top_tifr  spathry  rC   rY   r$   )rE   s   "r   rF   #ui_stroff_applicator_t.__annotate__9  s1      3 j 9 r#   c                2    \         P                  ! WVW44      # )z:param opnum: operand ordinal number, see below
:param path: path describing the union selection, maybe empty
:param top_tif: tinfo_t of the selected toplevel UDT
:param spath: selected path)r   ui_stroff_applicator_t_apply)r   r  r  rJ4  rK4  s   &&&&&r   r  ui_stroff_applicator_t.apply9  s     88d 	r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   rE4  r   ui_stroff_applicator_t_swiginitnew_ui_stroff_applicator_tr#  s   & r   r   ui_stroff_applicator_t.__init__9  s>    >>33EE44T<&&<'',<. 	/r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_ui_stroff_applicator_tr  r  r   s   &r   r  !ui_stroff_applicator_t.__disown__9  s/    		2248}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_ui_stroff_applicator_trT  r  r   r  r<   r$   r#   r   rE4  rE4  8  s5    -/I!#GH#AA/#r#   rE4  c               (    V ^8  d   QhRRRRRRRR/# )	rA   udtsz'qvector< tinfo_t > const *'opsr 	  
applicatorz'ui_stroff_applicator_t'rC   rX   r$   )rE   s   "r   rF   rF   9  s2     D D; DD#;D?BDr#   c                0    \         P                  ! WV4      # )zSelect UDT 
        
:param udts: list of UDT tinfo_t for the selection, if nullptr or empty then UDTs from the "Local types" will be used
:param ops: operands
:param applicator: callback will be called to apply the selection for every operand)r   select_udt_by_offset)rY4  rZ4  r[4  s   &&&r   r]4  r]4  9  s     ,,T
CCr#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )user_numforms_iterator_ti;  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   !user_numforms_iterator_t.<lambda>;  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ra4  ;  r~   r#   r   r   'iterator_word'rw   c                    V ^8  d   QhRRRR/# rA   r  'user_numforms_iterator_t'rC   rY   r$   )rE   s   "r   rF   %user_numforms_iterator_t.__annotate__;       E E2 Ed Er#   c                	.    \         P                  ! W4      # r.   )r   user_numforms_iterator_t___eq__r  s   &&r   r   user_numforms_iterator_t.__eq__;  r  r#   c                    V ^8  d   QhRRRR/# re4  r$   )rE   s   "r   rF   rg4  ;  rh4  r#   c                	.    \         P                  ! W4      # r.   )r   user_numforms_iterator_t___ne__r  s   &&r   r  user_numforms_iterator_t.__ne__;  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   !user_numforms_iterator_t_swiginitnew_user_numforms_iterator_tr   s   &r   r   !user_numforms_iterator_t.__init__;  s$    66t\((>) >+ 	,r#   r$   N)r   r   r8   r9   r   r   r   r
   r   user_numforms_iterator_t_x_getuser_numforms_iterator_t_x_setrw   ro  r   r  r   delete_user_numforms_iterator_trT  r<   r$   r#   r   r_4  r_4  ;  sZ    -/I!#GH!,&&&&(A (EE, $CCr#   r_4  c                    V ^8  d   QhRRRR/# )rA   r  rf4  rC   z'operand_locator_t const &'r$   )rE   s   "r   rF   rF   ;  s     / /5 /#/r#   c                .    \         P                  ! V 4      # z&Get reference to the current map key.
)r   user_numforms_firstr  s   &r   rz4  rz4  ;  s     ++A..r#   c                    V ^8  d   QhRRRR/# )rA   r  rf4  rC   rd  r$   )rE   s   "r   rF   rF   ;  s     0 06 0:M 0r#   c                .    \         P                  ! V 4      # z(Get reference to the current map value.
)r   user_numforms_secondr{4  s   &r   r4  r4  ;  s     ,,Q//r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r_   rc  rC   rf4  r$   )rE   s   "r   rF   rF   ;  s$     5 5- 54G 5"5r#   c                .    \         P                  ! W4      # )z+Find the specified key in user_numforms_t.
)r   user_numforms_findrd   s   &&r   r4  r4  ;  s     **344r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r1  r_   rc  rg   r(  rC   rf4  r$   )rE   s   "r   rF   rF   ;  s,     < </ <6I <	<8<r#   c                0    \         P                  ! WV4      # )zKInsert new (operand_locator_t, number_format_t) pair into user_numforms_t.
)r   user_numforms_insertrj   s   &&&r   r4  r4  ;  s     ,,Ss;;r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rf4  r$   )rE   s   "r   rF   rF   ;  s     1 1. 12L 1r#   c                .    \         P                  ! V 4      # )z;Get iterator pointing to the beginning of user_numforms_t.
)r   user_numforms_beginr]   s   &r   r4  r4  ;  rI(  r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   ;  s     / /, /0J /r#   c                .    \         P                  ! V 4      # )z5Get iterator pointing to the end of user_numforms_t.
)r   user_numforms_endr4  s   &r   r4  r4  ;       ))#..r#   c                    V ^8  d   QhRRRR/# rA   r  rf4  rC   r$   )rE   s   "r   rF   rF   ;       . .4 .".r#   c                .    \         P                  ! V 4      # zMove to the next element.
)r   user_numforms_nextr{4  s   &r   r4  r4  ;       **1--r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   ;  r4  r#   c                .    \         P                  ! V 4      # zMove to the previous element.
)r   user_numforms_prevr{4  s   &r   r4  r4  ;  r4  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r  rf4  rC   rD   r$   )rE   s   "r   rF   rF    <  s$     4 4. 43M 44r#   c                .    \         P                  ! W4      # )z,Erase current element from user_numforms_t.
)r   user_numforms_eraser]   r  s   &&r   r4  r4   <  s     ++C33r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rD   r$   )rE   s   "r   rF   rF   <  s     1 1. 1$ 1r#   c                .    \         P                  ! V 4      # )zClear user_numforms_t.
)r   user_numforms_clearr4  s   &r   r4  r4  <  rI(  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r1  rC   rX   r$   )rE   s   "r   rF   rF   <  s     0 0- 0 0r#   c                .    \         P                  ! V 4      # )zGet size of user_numforms_t.
)r   user_numforms_sizer4  s   &r   r4  r4  <       **3//r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   <  s     0 0- 0 0r#   c                .    \         P                  ! V 4      # )z!Delete user_numforms_t instance.
)r   user_numforms_freer4  s   &r   r4  r4  <  r4  r#   c                   V ^8  d   QhRR/# )rA   rC   re  r$   )rE   s   "r   rF   rF   <  s     , ,- ,r#   c                 ,    \         P                  ! 4       # )z'Create a new user_numforms_t instance.
)r   user_numforms_newr$   r#   r   r4  r4  <  s     ))++r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )lvar_mapping_iterator_ti<  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx    lvar_mapping_iterator_t.<lambda> <  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r4   <  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'lvar_mapping_iterator_t'rC   rY   r$   )rE   s   "r   rF   $lvar_mapping_iterator_t.__annotate__'<       D D1 DT Dr#   c                	.    \         P                  ! W4      # r.   )r   lvar_mapping_iterator_t___eq__r  s   &&r   r   lvar_mapping_iterator_t.__eq__'<  r:  r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   r4  *<  r4  r#   c                	.    \         P                  ! W4      # r.   )r   lvar_mapping_iterator_t___ne__r  s   &&r   r  lvar_mapping_iterator_t.__ne__*<  r:  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r    lvar_mapping_iterator_t_swiginitnew_lvar_mapping_iterator_tr   s   &r   r    lvar_mapping_iterator_t.__init__-<  $    55dL''=( =* 	+r#   r$   N)r   r   r8   r9   r   r   r   r
   r   lvar_mapping_iterator_t_x_getlvar_mapping_iterator_t_x_setrw   ro  r   r  r   delete_lvar_mapping_iterator_trT  r<   r$   r#   r   r4  r4  <  Z    -/I!#GH!,%%|%%'A 'DD+ $BBr#   r4  c                    V ^8  d   QhRRRR/# )rA   r  r4  rC   z'lvar_locator_t const &'r$   )rE   s   "r   rF   rF   6<  s     . .3 . .r#   c                .    \         P                  ! V 4      # ry4  )r   lvar_mapping_firstr{4  s   &r   r4  r4  6<  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r  r4  rC   r  r$   )rE   s   "r   rF   rF   =<  s     / /4 /8J /r#   c                .    \         P                  ! V 4      # r~4  )r   lvar_mapping_secondr{4  s   &r   r4  r4  =<  s     ++A..r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r  r_   r  rC   r4  r$   )rE   s   "r   rF   rF   C<  s$     4 4+ 42B 4!4r#   c                .    \         P                  ! W4      # )z*Find the specified key in lvar_mapping_t.
)r   lvar_mapping_findrd   s   &&r   r4  r4  C<       ))#33r#   c               (    V ^8  d   QhRRRRRRRR/# )rA   r]   r  r_   r  rg   rC   r4  r$   )rE   s   "r   rF   rF   J<  s,     ; ;- ;4D ;;1;r#   c                0    \         P                  ! WV4      # )zFInsert new (lvar_locator_t, lvar_locator_t) pair into lvar_mapping_t.
)r   lvar_mapping_insertrj   s   &&&r   r4  r4  J<  s     ++Cc::r#   c                    V ^8  d   QhRRRR/# rA   r]   r  rC   r4  r$   )rE   s   "r   rF   rF   Q<       0 0, 00I 0r#   c                .    \         P                  ! V 4      # )z:Get iterator pointing to the beginning of lvar_mapping_t.
)r   lvar_mapping_beginr4  s   &r   r4  r4  Q<  r4  r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   W<       . .* ..G .r#   c                .    \         P                  ! V 4      # )z4Get iterator pointing to the end of lvar_mapping_t.
)r   lvar_mapping_endr4  s   &r   r4  r4  W<       ((--r#   c                    V ^8  d   QhRRRR/# rA   r  r4  rC   r$   )rE   s   "r   rF   rF   ]<       - -2 -!-r#   c                .    \         P                  ! V 4      # r4  )r   lvar_mapping_nextr{4  s   &r   r4  r4  ]<       ))!,,r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   d<  r4  r#   c                .    \         P                  ! V 4      # r4  )r   lvar_mapping_prevr{4  s   &r   r4  r4  d<  r4  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r  r  r4  rC   rD   r$   )rE   s   "r   rF   rF   k<  $     3 3, 31J 33r#   c                .    \         P                  ! W4      # )z+Erase current element from lvar_mapping_t.
)r   lvar_mapping_eraser4  s   &&r   r4  r4  k<       **322r#   c                    V ^8  d   QhRRRR/# rA   r]   r  rC   rD   r$   )rE   s   "r   rF   rF   r<       0 0, 0 0r#   c                .    \         P                  ! V 4      # )zClear lvar_mapping_t.
)r   lvar_mapping_clearr4  s   &r   r4  r4  r<  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r  rC   rX   r$   )rE   s   "r   rF   rF   x<       / /+ /s /r#   c                .    \         P                  ! V 4      # )zGet size of lvar_mapping_t.
)r   lvar_mapping_sizer4  s   &r   r4  r4  x<  r4  r#   c                    V ^8  d   QhRRRR/# r4  r$   )rE   s   "r   rF   rF   ~<       / /+ /t /r#   c                .    \         P                  ! V 4      # )z Delete lvar_mapping_t instance.
)r   lvar_mapping_freer4  s   &r   r4  r4  ~<  r4  r#   c                   V ^8  d   QhRR/# )rA   rC   z'lvar_mapping_t *'r$   )rE   s   "r   rF   rF   <       + ++ +r#   c                 ,    \         P                  ! 4       # )z&Create a new lvar_mapping_t instance.
)r   lvar_mapping_newr$   r#   r   r4  r4  <       ((**r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )udcall_map_iterator_ti<  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   udcall_map_iterator_t.<lambda><  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r 5  <  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'udcall_map_iterator_t'rC   rY   r$   )rE   s   "r   rF   "udcall_map_iterator_t.__annotate__<  rR  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_map_iterator_t___eq__r  s   &&r   r   udcall_map_iterator_t.__eq__<  r  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   r5  <  rR  r#   c                	.    \         P                  ! W4      # r.   )r   udcall_map_iterator_t___ne__r  s   &&r   r  udcall_map_iterator_t.__ne__<  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   udcall_map_iterator_t_swiginitnew_udcall_map_iterator_tr   s   &r   r   udcall_map_iterator_t.__init__<  r^  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   udcall_map_iterator_t_x_getudcall_map_iterator_t_x_setrw   ro  r   r  r   delete_udcall_map_iterator_trT  r<   r$   r#   r   r4  r4  <  [    -/I!#GH!,"J"J002A 2BB) $@@r#   r4  c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   'ea_t const &'r$   )rE   s   "r   rF   rF   <  s     , ,/ ,> ,r#   c                .    \         P                  ! V 4      # ry4  )r   udcall_map_firstr{4  s   &r   r5  r5  <       ((++r#   c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   z'udcall_t &'r$   )rE   s   "r   rF   rF   <  s     - -0 -L -r#   c                .    \         P                  ! V 4      # r~4  )r   udcall_map_secondr{4  s   &r   r5  r5  <       ))!,,r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   'udcall_map_t const *'r_   r5  rC   r5  r$   )rE   s   "r   rF   rF   <  s#     2 2/ 2n 22r#   c                .    \         P                  ! W4      # )z(Find the specified key in udcall_map_t.
)r   udcall_map_findrd   s   &&r   r!5  r!5  <  re   r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r  r_   r5  rg   rZ  rC   r5  r$   )rE   s   "r   rF   rF   <  s+     9 9+ 9. 99)9r#   c                0    \         P                  ! WV4      # )z4Insert new (ea_t, udcall_t) pair into udcall_map_t.
)r   udcall_map_insertrj   s   &&&r   r$5  r$5  <  rk   r#   c                    V ^8  d   QhRRRR/# rA   r]   r5  rC   r5  r$   )rE   s   "r   rF   rF   <  s     . .0 .4K .r#   c                .    \         P                  ! V 4      # )z8Get iterator pointing to the beginning of udcall_map_t.
)r   udcall_map_beginr4  s   &r   r(5  r(5  <  r4  r#   c                    V ^8  d   QhRRRR/# r&5  r$   )rE   s   "r   rF   rF   <  s     , ,. ,2I ,r#   c                .    \         P                  ! V 4      # )z2Get iterator pointing to the end of udcall_map_t.
)r   udcall_map_endr4  s   &r   r+5  r+5  <       &&s++r#   c                    V ^8  d   QhRRRR/# rA   r  r5  rC   r$   )rE   s   "r   rF   rF   <       + +. +2I +r#   c                .    \         P                  ! V 4      # r4  )r   udcall_map_nextr{4  s   &r   r15  r15  <  r  r#   c                    V ^8  d   QhRRRR/# r.5  r$   )rE   s   "r   rF   rF   <  r/5  r#   c                .    \         P                  ! V 4      # r4  )r   udcall_map_prevr{4  s   &r   r45  r45  <  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r  r  r5  rC   rD   r$   )rE   s   "r   rF   rF   <  s#     1 1* 1/F 1$ 1r#   c                .    \         P                  ! W4      # )z)Erase current element from udcall_map_t.
)r   udcall_map_eraser4  s   &&r   r75  r75  <       ((00r#   c                    V ^8  d   QhRRRR/# rA   r]   r  rC   rD   r$   )rE   s   "r   rF   rF   <  s     . .* .d .r#   c                .    \         P                  ! V 4      # )zClear udcall_map_t.
)r   udcall_map_clearr4  s   &r   r<5  r<5  <  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r  rC   rX   r$   )rE   s   "r   rF   rF   <  s     - -) -S -r#   c                .    \         P                  ! V 4      # )zGet size of udcall_map_t.
)r   udcall_map_sizer4  s   &r   r?5  r?5  <       '',,r#   c                    V ^8  d   QhRRRR/# r:5  r$   )rE   s   "r   rF   rF   <  s     - -) -T -r#   c                .    \         P                  ! V 4      # )zDelete udcall_map_t instance.
)r   udcall_map_freer4  s   &r   rC5  rC5  <  r@5  r#   c                   V ^8  d   QhRR/# )rA   rC   r  r$   )rE   s   "r   rF   rF   <       ) )' )r#   c                 ,    \         P                  ! 4       # )z$Create a new udcall_map_t instance.
)r   udcall_map_newr$   r#   r   rG5  rG5  <       &&((r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )user_cmts_iterator_ti<  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_cmts_iterator_t.<lambda><  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   rL5  <  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'user_cmts_iterator_t'rC   rY   r$   )rE   s   "r   rF   !user_cmts_iterator_t.__annotate__<  r  r#   c                	.    \         P                  ! W4      # r.   )r   user_cmts_iterator_t___eq__r  s   &&r   r   user_cmts_iterator_t.__eq__<  r%  r#   c                    V ^8  d   QhRRRR/# rO5  r$   )rE   s   "r   rF   rQ5  <  r  r#   c                	.    \         P                  ! W4      # r.   )r   user_cmts_iterator_t___ne__r  s   &&r   r  user_cmts_iterator_t.__ne__<  r%  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_cmts_iterator_t_swiginitnew_user_cmts_iterator_tr   s   &r   r   user_cmts_iterator_t.__init__<  rj$  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   user_cmts_iterator_t_x_getuser_cmts_iterator_t_x_setrw   ro  r   r  r   delete_user_cmts_iterator_trT  r<   r$   r#   r   rJ5  rJ5  <  s[    -/I!#GH!,"I"I//1A 1AA( $??r#   rJ5  c                    V ^8  d   QhRRRR/# )rA   r  rP5  rC   z'treeloc_t const &'r$   )rE   s   "r   rF   rF   =  s     + +- +1D +r#   c                .    \         P                  ! V 4      # ry4  )r   user_cmts_firstr{4  s   &r   rb5  rb5  =  r  r#   c                    V ^8  d   QhRRRR/# )rA   r  rP5  rC   r^  r$   )rE   s   "r   rF   rF   =  s     , ,. ,/ ,r#   c                .    \         P                  ! V 4      # r~4  )r   user_cmts_secondr{4  s   &r   re5  re5  =  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r_   r]  rC   rP5  r$   )rE   s   "r   rF   rF   =  s"     1 1 1K 11r#   c                .    \         P                  ! W4      # )z'Find the specified key in user_cmts_t.
)r   user_cmts_findrd   s   &&r   rh5  rh5  =  s     &&s00r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r1  r_   r]  rg   z'citem_cmt_t'rC   rP5  r$   )rE   s   "r   rF   rF   =  s)     8 8- 8k 8 88r#   c                0    \         P                  ! WV4      # )z;Insert new (treeloc_t, citem_cmt_t) pair into user_cmts_t.
)r   user_cmts_insertrj   s   &&&r   rk5  rk5  =  s     ((377r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rP5  r$   )rE   s   "r   rF   rF    =  s     - - -*@ -r#   c                .    \         P                  ! V 4      # )z7Get iterator pointing to the beginning of user_cmts_t.
)r   user_cmts_beginr4  s   &r   ro5  ro5   =  r@5  r#   c                    V ^8  d   QhRRRR/# rm5  r$   )rE   s   "r   rF   rF   &=  s     + +} +(> +r#   c                .    \         P                  ! V 4      # )z1Get iterator pointing to the end of user_cmts_t.
)r   user_cmts_endr4  s   &r   rr5  rr5  &=  s     %%c**r#   c                    V ^8  d   QhRRRR/# rA   r  rP5  rC   r$   )rE   s   "r   rF   rF   ,=       * *, *0F *r#   c                .    \         P                  ! V 4      # r4  )r   user_cmts_nextr{4  s   &r   rw5  rw5  ,=       &&q))r#   c                    V ^8  d   QhRRRR/# rt5  r$   )rE   s   "r   rF   rF   2=  ru5  r#   c                .    \         P                  ! V 4      # r4  )r   user_cmts_prevr{4  s   &r   r{5  r{5  2=  rx5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r  rP5  rC   rD   r$   )rE   s   "r   rF   rF   8=  s"     0 0 0+A 0T 0r#   c                .    \         P                  ! W4      # )z(Erase current element from user_cmts_t.
)r   user_cmts_eraser4  s   &&r   r~5  r~5  8=  s     ''//r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rD   r$   )rE   s   "r   rF   rF   >=  s     - - -$ -r#   c                .    \         P                  ! V 4      # )zClear user_cmts_t.
)r   user_cmts_clearr4  s   &r   r5  r5  >=  r@5  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r1  rC   rX   r$   )rE   s   "r   rF   rF   D=  s     , , , ,r#   c                .    \         P                  ! V 4      # )zGet size of user_cmts_t.
)r   user_cmts_sizer4  s   &r   r5  r5  D=  r,5  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   rF   J=  s     , , , ,r#   c                .    \         P                  ! V 4      # )zDelete user_cmts_t instance.
)r   user_cmts_freer4  s   &r   r5  r5  J=  r,5  r#   c                   V ^8  d   QhRR/# )rA   rC   rc  r$   )rE   s   "r   rF   rF   P=  s     ( (o (r#   c                 ,    \         P                  ! 4       # )z#Create a new user_cmts_t instance.
)r   user_cmts_newr$   r#   r   r5  r5  P=  r  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )user_iflags_iterator_tiV=  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_iflags_iterator_t.<lambda>W=  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r5  W=  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'user_iflags_iterator_t'rC   rY   r$   )rE   s   "r   rF   #user_iflags_iterator_t.__annotate__]=       C C0 CD Cr#   c                	.    \         P                  ! W4      # r.   )r   user_iflags_iterator_t___eq__r  s   &&r   r   user_iflags_iterator_t.__eq__]=  r  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   r5  `=  r5  r#   c                	.    \         P                  ! W4      # r.   )r   user_iflags_iterator_t___ne__r  s   &&r   r  user_iflags_iterator_t.__ne__`=  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_iflags_iterator_t_swiginitnew_user_iflags_iterator_tr   s   &r   r   user_iflags_iterator_t.__init__c=  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   user_iflags_iterator_t_x_getuser_iflags_iterator_t_x_setrw   ro  r   r  r   delete_user_iflags_iterator_trT  r<   r$   r#   r   r5  r5  V=  [    -/I!#GH!,"K"K113A 3CC* $AAr#   r5  c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   z'citem_locator_t const &'r$   )rE   s   "r   rF   rF   l=  s     - -1 -5N -r#   c                .    \         P                  ! V 4      # ry4  )r   user_iflags_firstr{4  s   &r   r5  r5  l=  r5  r#   c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   z	'int32 &'r$   )rE   s   "r   rF   rF   r=  s     . .2 .i .r#   c                .    \         P                  ! V 4      # r~4  )r   user_iflags_secondr{4  s   &r   r5  r5  r=       **1--r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r_   rt  rC   r5  r$   )rE   s   "r   rF   rF   x=  s#     3 3/ 30A 3 3r#   c                .    \         P                  ! W4      # )z)Find the specified key in user_iflags_t.
)r   user_iflags_findrd   s   &&r   r5  r5  x=       ((22r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r1  r_   rt  rg   z'int32 const &'rC   r5  r$   )rE   s   "r   rF   rF   =  s+     : :O :2C ::/:r#   c                0    \         P                  ! WV4      # )z=Insert new (citem_locator_t, int32) pair into user_iflags_t.
)r   user_iflags_insertrj   s   &&&r   r5  r5  =       **3S99r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   r5  r$   )rE   s   "r   rF   rF   =       / /? /.F /r#   c                .    \         P                  ! V 4      # )z9Get iterator pointing to the beginning of user_iflags_t.
)r   user_iflags_beginr4  s   &r   r5  r5  =  r4  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   rF   =       - - -,D -r#   c                .    \         P                  ! V 4      # )z3Get iterator pointing to the end of user_iflags_t.
)r   user_iflags_endr4  s   &r   r5  r5  =  r@5  r#   c                    V ^8  d   QhRRRR/# rA   r  r5  rC   r$   )rE   s   "r   rF   rF   =       , ,0 ,4L ,r#   c                .    \         P                  ! V 4      # r4  )r   user_iflags_nextr{4  s   &r   r5  r5  =  r5  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   rF   =  r5  r#   c                .    \         P                  ! V 4      # r4  )r   user_iflags_prevr{4  s   &r   r5  r5  =  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r  r5  rC   rD   r$   )rE   s   "r   rF   rF   =  #     2 2? 2/G 22r#   c                .    \         P                  ! W4      # )z*Erase current element from user_iflags_t.
)r   user_iflags_eraser4  s   &&r   r5  r5  =       ))#11r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rD   r$   )rE   s   "r   rF   rF   =       / /? /d /r#   c                .    \         P                  ! V 4      # )zClear user_iflags_t.
)r   user_iflags_clearr4  s   &r   r5  r5  =  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r1  rC   rX   r$   )rE   s   "r   rF   rF   =       . ./ .S .r#   c                .    \         P                  ! V 4      # )zGet size of user_iflags_t.
)r   user_iflags_sizer4  s   &r   r5  r5  =  r4  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   rF   =       . ./ .T .r#   c                .    \         P                  ! V 4      # )zDelete user_iflags_t instance.
)r   user_iflags_freer4  s   &r   r5  r5  =  r4  r#   c                   V ^8  d   QhRR/# )rA   rC   rg  r$   )rE   s   "r   rF   rF   =       * *) *r#   c                 ,    \         P                  ! 4       # )z%Create a new user_iflags_t instance.
)r   user_iflags_newr$   r#   r   r5  r5  =       ''))r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )user_unions_iterator_ti=  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_unions_iterator_t.<lambda>=  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r5  =  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'user_unions_iterator_t'rC   rY   r$   )rE   s   "r   rF   #user_unions_iterator_t.__annotate__=  r5  r#   c                	.    \         P                  ! W4      # r.   )r   user_unions_iterator_t___eq__r  s   &&r   r   user_unions_iterator_t.__eq__=  r  r#   c                    V ^8  d   QhRRRR/# r5  r$   )rE   s   "r   rF   r5  =  r5  r#   c                	.    \         P                  ! W4      # r.   )r   user_unions_iterator_t___ne__r  s   &&r   r  user_unions_iterator_t.__ne__=  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_unions_iterator_t_swiginitnew_user_unions_iterator_tr   s   &r   r   user_unions_iterator_t.__init__=  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   user_unions_iterator_t_x_getuser_unions_iterator_t_x_setrw   ro  r   r  r   delete_user_unions_iterator_trT  r<   r$   r#   r   r5  r5  =  r5  r#   r5  c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   r5  r$   )rE   s   "r   rF   rF   =  s     - -1 -^ -r#   c                .    \         P                  ! V 4      # ry4  )r   user_unions_firstr{4  s   &r   r5  r5  =  r5  r#   c                    V ^8  d   QhRRRR/# )rA   r  r5  rC   r]  r$   )rE   s   "r   rF   rF   =  s     . .2 .l .r#   c                .    \         P                  ! V 4      # r~4  )r   user_unions_secondr{4  s   &r   r5  r5  =  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r_   r5  rC   r5  r$   )rE   s   "r   rF   rF   =  s"     3 3/ 3 3 3r#   c                .    \         P                  ! W4      # )z)Find the specified key in user_unions_t.
)r   user_unions_findrd   s   &&r   r5  r5  =  r5  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r1  r_   r5  rg   r  rC   r5  r$   )rE   s   "r   rF   rF   =  s*     : :O :. ::*:r#   c                0    \         P                  ! WV4      # )z5Insert new (ea_t, intvec_t) pair into user_unions_t.
)r   user_unions_insertrj   s   &&&r   r5  r5  =  r5  r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   r5  r$   )rE   s   "r   rF   rF   =  r5  r#   c                .    \         P                  ! V 4      # )z9Get iterator pointing to the beginning of user_unions_t.
)r   user_unions_beginr4  s   &r   r6  r6  =  r4  r#   c                    V ^8  d   QhRRRR/# r 6  r$   )rE   s   "r   rF   rF   =  r5  r#   c                .    \         P                  ! V 4      # )z3Get iterator pointing to the end of user_unions_t.
)r   user_unions_endr4  s   &r   r6  r6  =  r@5  r#   c                    V ^8  d   QhRRRR/# rA   r  r5  rC   r$   )rE   s   "r   rF   rF   =  r5  r#   c                .    \         P                  ! V 4      # r4  )r   user_unions_nextr{4  s   &r   r	6  r	6  =  r5  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   =  r5  r#   c                .    \         P                  ! V 4      # r4  )r   user_unions_prevr{4  s   &r   r6  r6  =  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r  r5  rC   rD   r$   )rE   s   "r   rF   rF   >  r5  r#   c                .    \         P                  ! W4      # )z*Erase current element from user_unions_t.
)r   user_unions_eraser4  s   &&r   r6  r6  >  r5  r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rD   r$   )rE   s   "r   rF   rF   >  r5  r#   c                .    \         P                  ! V 4      # )zClear user_unions_t.
)r   user_unions_clearr4  s   &r   r6  r6  >  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r1  rC   rX   r$   )rE   s   "r   rF   rF   >  r5  r#   c                .    \         P                  ! V 4      # )zGet size of user_unions_t.
)r   user_unions_sizer4  s   &r   r6  r6  >  r4  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   >  r5  r#   c                .    \         P                  ! V 4      # )zDelete user_unions_t instance.
)r   user_unions_freer4  s   &r   r6  r6  >  r4  r#   c                   V ^8  d   QhRR/# )rA   rC   ri  r$   )rE   s   "r   rF   rF   >  r5  r#   c                 ,    \         P                  ! 4       # )z%Create a new user_unions_t instance.
)r   user_unions_newr$   r#   r   r6  r6  >  r5  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )user_labels_iterator_ti$>  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   user_labels_iterator_t.<lambda>%>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r 6  %>  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'user_labels_iterator_t'rC   rY   r$   )rE   s   "r   rF   #user_labels_iterator_t.__annotate__+>  r5  r#   c                	.    \         P                  ! W4      # r.   )r   user_labels_iterator_t___eq__r  s   &&r   r   user_labels_iterator_t.__eq__+>  r  r#   c                    V ^8  d   QhRRRR/# r#6  r$   )rE   s   "r   rF   r%6  .>  r5  r#   c                	.    \         P                  ! W4      # r.   )r   user_labels_iterator_t___ne__r  s   &&r   r  user_labels_iterator_t.__ne__.>  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   user_labels_iterator_t_swiginitnew_user_labels_iterator_tr   s   &r   r   user_labels_iterator_t.__init__1>  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   user_labels_iterator_t_x_getuser_labels_iterator_t_x_setrw   ro  r   r  r   delete_user_labels_iterator_trT  r<   r$   r#   r   r6  r6  $>  r5  r#   r6  c                    V ^8  d   QhRRRR/# )rA   r  r$6  rC   r2  r$   )rE   s   "r   rF   rF   :>  s     - -1 -] -r#   c                .    \         P                  ! V 4      # ry4  )r   user_labels_firstr{4  s   &r   r66  r66  :>  r5  r#   c                    V ^8  d   QhRRRR/# )rA   r  r$6  rC   ry  r$   )rE   s   "r   rF   rF   @>  s     . .2 .c .r#   c                .    \         P                  ! V 4      # r~4  )r   user_labels_secondr{4  s   &r   r96  r96  @>  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r_   r2  rC   r$6  r$   )rE   s   "r   rF   rF   F>  s"     3 3/ 3 3 3r#   c                .    \         P                  ! W4      # )z)Find the specified key in user_labels_t.
)r   user_labels_findrd   s   &&r   r<6  r<6  F>  r5  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r1  r_   r2  rg   ry  rC   r$6  r$   )rE   s   "r   rF   rF   M>  s)     : :O :- :c : :r#   c                0    \         P                  ! WV4      # )z3Insert new (int, qstring) pair into user_labels_t.
)r   user_labels_insertrj   s   &&&r   r?6  r?6  M>  r5  r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   r$6  r$   )rE   s   "r   rF   rF   T>  r5  r#   c                .    \         P                  ! V 4      # )z9Get iterator pointing to the beginning of user_labels_t.
)r   user_labels_beginr4  s   &r   rC6  rC6  T>  r4  r#   c                    V ^8  d   QhRRRR/# rA6  r$   )rE   s   "r   rF   rF   Z>  r5  r#   c                .    \         P                  ! V 4      # )z3Get iterator pointing to the end of user_labels_t.
)r   user_labels_endr4  s   &r   rF6  rF6  Z>  r@5  r#   c                    V ^8  d   QhRRRR/# rA   r  r$6  rC   r$   )rE   s   "r   rF   rF   `>  r5  r#   c                .    \         P                  ! V 4      # r4  )r   user_labels_nextr{4  s   &r   rJ6  rJ6  `>  r5  r#   c                    V ^8  d   QhRRRR/# rH6  r$   )rE   s   "r   rF   rF   f>  r5  r#   c                .    \         P                  ! V 4      # r4  )r   user_labels_prevr{4  s   &r   rM6  rM6  f>  r5  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r1  r  r$6  rC   rD   r$   )rE   s   "r   rF   rF   l>  r5  r#   c                .    \         P                  ! W4      # )z*Erase current element from user_labels_t.
)r   user_labels_eraser4  s   &&r   rP6  rP6  l>  r5  r#   c                    V ^8  d   QhRRRR/# rA   r]   r1  rC   rD   r$   )rE   s   "r   rF   rF   s>  r5  r#   c                .    \         P                  ! V 4      # )zClear user_labels_t.
)r   user_labels_clearr4  s   &r   rT6  rT6  s>  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r1  rC   rX   r$   )rE   s   "r   rF   rF   y>  r5  r#   c                .    \         P                  ! V 4      # )zGet size of user_labels_t.
)r   user_labels_sizer4  s   &r   rW6  rW6  y>  r4  r#   c                    V ^8  d   QhRRRR/# rR6  r$   )rE   s   "r   rF   rF   >  r5  r#   c                .    \         P                  ! V 4      # )zDelete user_labels_t instance.
)r   user_labels_freer4  s   &r   rZ6  rZ6  >  r4  r#   c                   V ^8  d   QhRR/# )rA   rC   ra  r$   )rE   s   "r   rF   rF   >  r5  r#   c                 ,    \         P                  ! 4       # )z%Create a new user_labels_t instance.
)r   user_labels_newr$   r#   r   r]6  r]6  >  r5  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )eamap_iterator_ti>  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   eamap_iterator_t.<lambda>>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   ra6  >  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'eamap_iterator_t'rC   rY   r$   )rE   s   "r   rF   eamap_iterator_t.__annotate__>  r	  r#   c                	.    \         P                  ! W4      # r.   )r   eamap_iterator_t___eq__r  s   &&r   r   eamap_iterator_t.__eq__>  r  r#   c                    V ^8  d   QhRRRR/# rd6  r$   )rE   s   "r   rF   rf6  >  r	  r#   c                	.    \         P                  ! W4      # r.   )r   eamap_iterator_t___ne__r  s   &&r   r  eamap_iterator_t.__ne__>  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   eamap_iterator_t_swiginitnew_eamap_iterator_tr   s   &r   r   eamap_iterator_t.__init__>  s$    ..t\  6! 6# 	$r#   r$   N)r   r   r8   r9   r   r   r   r
   r   eamap_iterator_t_x_geteamap_iterator_t_x_setrw   ro  r   r  r   delete_eamap_iterator_trT  r<   r$   r#   r   r_6  r_6  >  sY    -/I!#GH!,"E"E++-A -==$ $;;r#   r_6  c                    V ^8  d   QhRRRR/# )rA   r  re6  rC   r5  r$   )rE   s   "r   rF   rF   >  s     ' '% ' 'r#   c                .    \         P                  ! V 4      # ry4  )r   eamap_firstr{4  s   &r   rw6  rw6  >  s     ##A&&r#   c                    V ^8  d   QhRRRR/# )rA   r  re6  rC   r  r$   )rE   s   "r   rF   rF   >  s     ( (& (*; (r#   c                .    \         P                  ! V 4      # r~4  )r   eamap_secondr{4  s   &r   rz6  rz6  >  s     $$Q''r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   	'eamap_t'r_   r5  rC   re6  r$   )rE   s   "r   rF   rF   >  s"     - -I -N -6H -r#   c                .    \         P                  ! W4      # )z#Find the specified key in eamap_t.
)r   
eamap_findrd   s   &&r   r~6  r~6  >  s     ""3,,r#   c               (    V ^8  d   QhRRRRRRRR/# )	rA   r]   r|6  r_   r5  rg   r  rC   re6  r$   )rE   s   "r   rF   rF   >  s)     4 4i 4n 4? 44r#   c                0    \         P                  ! WV4      # )z4Insert new (ea_t, cinsnptrvec_t) pair into eamap_t.
)r   eamap_insertrj   s   &&&r   r6  r6  >  s     $$Ss33r#   c                    V ^8  d   QhRRRR/# rA   r]   r|6  rC   re6  r$   )rE   s   "r   rF   rF   >  s     ) )Y )"4 )r#   c                .    \         P                  ! V 4      # )z3Get iterator pointing to the beginning of eamap_t.
)r   eamap_beginr4  s   &r   r6  r6  >       ##C((r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   >  s     ' '9 ' 2 'r#   c                .    \         P                  ! V 4      # )z-Get iterator pointing to the end of eamap_t.
)r   	eamap_endr4  s   &r   r6  r6  >  s     !!#&&r#   c                    V ^8  d   QhRRRR/# rA   r  re6  rC   r$   )rE   s   "r   rF   rF   >       & &$ &(: &r#   c                .    \         P                  ! V 4      # r4  )r   
eamap_nextr{4  s   &r   r6  r6  >       ""1%%r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   >  r6  r#   c                .    \         P                  ! V 4      # r4  )r   
eamap_prevr{4  s   &r   r6  r6  >  r6  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r|6  r  re6  rC   rD   r$   )rE   s   "r   rF   rF   >  s"     , ,Y ,#5 , ,r#   c                .    \         P                  ! W4      # )z$Erase current element from eamap_t.
)r   eamap_eraser4  s   &&r   r6  r6  >  s     ##C++r#   c                    V ^8  d   QhRRRR/# rA   r]   r|6  rC   rD   r$   )rE   s   "r   rF   rF   >  s     ) )Y )$ )r#   c                .    \         P                  ! V 4      # )zClear eamap_t.
)r   eamap_clearr4  s   &r   r6  r6  >  r6  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r|6  rC   rX   r$   )rE   s   "r   rF   rF   >  s     ( (I ( (r#   c                .    \         P                  ! V 4      # )zGet size of eamap_t.
)r   
eamap_sizer4  s   &r   r6  r6  >       ""3''r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   >  r(  r#   c                .    \         P                  ! V 4      # )zDelete eamap_t instance.
)r   
eamap_freer4  s   &r   r6  r6  >  r6  r#   c                   V ^8  d   QhRR/# )rA   rC   z'eamap_t *'r$   )rE   s   "r   rF   rF   >  s     $ $+ $r#   c                 ,    \         P                  ! 4       # )zCreate a new eamap_t instance.
)r   	eamap_newr$   r#   r   r6  r6  >  s     !!##r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )boundaries_iterator_ti>  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   boundaries_iterator_t.<lambda>>  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r6  >  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  ra   rC   rY   r$   )rE   s   "r   rF   "boundaries_iterator_t.__annotate__>  rR  r#   c                	.    \         P                  ! W4      # r.   )r   boundaries_iterator_t___eq__r  s   &&r   r   boundaries_iterator_t.__eq__>  r  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   r6  >  rR  r#   c                	.    \         P                  ! W4      # r.   )r   boundaries_iterator_t___ne__r  s   &&r   r  boundaries_iterator_t.__ne__>  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   boundaries_iterator_t_swiginitnew_boundaries_iterator_tr   s   &r   r   boundaries_iterator_t.__init__>  r^  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   boundaries_iterator_t_x_getboundaries_iterator_t_x_setrw   ro  r   r  r   delete_boundaries_iterator_trT  r<   r$   r#   r   r6  r6  >  r5  r#   r6  c                    V ^8  d   QhRRRR/# )rA   r  ra   rC   r  r$   )rE   s   "r   rF   rF   ?  s     , ,/ ,3E ,r#   c                .    \         P                  ! V 4      # ry4  )r   boundaries_firstr{4  s   &r   r6  r6  ?  r5  r#   c                    V ^8  d   QhRRRR/# )rA   r  ra   rC   r'  r$   )rE   s   "r   rF   rF   ?  s     - -0 -N -r#   c                .    \         P                  ! V 4      # r~4  )r   boundaries_secondr{4  s   &r   r6  r6  ?  r5  r#   c                    V ^8  d   QhRRRR/# rA   r]   r^   rC   ra   r$   )rE   s   "r   rF   rF   ?  s     . .. .,C .r#   c                .    \         P                  ! V 4      # )z8Get iterator pointing to the beginning of boundaries_t.
)r   boundaries_beginr4  s   &r   r6  r6  ?  r4  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   ?  s     , , ,*A ,r#   c                .    \         P                  ! V 4      # )z2Get iterator pointing to the end of boundaries_t.
)r   boundaries_endr4  s   &r   r6  r6  ?  r,5  r#   c                    V ^8  d   QhRRRR/# rA   r  ra   rC   r$   )rE   s   "r   rF   rF   ?  r/5  r#   c                .    \         P                  ! V 4      # r4  )r   boundaries_nextr{4  s   &r   r6  r6  ?  r  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   $?  r/5  r#   c                .    \         P                  ! V 4      # r4  )r   boundaries_prevr{4  s   &r   r6  r6  $?  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r]   r^   r  ra   rC   rD   r$   )rE   s   "r   rF   rF   *?  s"     1 1. 1-D 1 1r#   c                .    \         P                  ! W4      # )z)Erase current element from boundaries_t.
)r   boundaries_eraser4  s   &&r   r6  r6  *?  r85  r#   c                    V ^8  d   QhRRRR/# rA   r]   r^   rC   rD   r$   )rE   s   "r   rF   rF   0?  s     . .. .D .r#   c                .    \         P                  ! V 4      # )zClear boundaries_t.
)r   boundaries_clearr4  s   &r   r6  r6  0?  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r]   r^   rC   rX   r$   )rE   s   "r   rF   rF   6?  s     - - -3 -r#   c                .    \         P                  ! V 4      # )zGet size of boundaries_t.
)r   boundaries_sizer4  s   &r   r6  r6  6?  r@5  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   rF   <?  s     - - -4 -r#   c                .    \         P                  ! V 4      # )zDelete boundaries_t instance.
)r   boundaries_freer4  s   &r   r6  r6  <?  r@5  r#   c                   V ^8  d   QhRR/# )rA   rC   z'boundaries_t *'r$   )rE   s   "r   rF   rF   B?  rE5  r#   c                 ,    \         P                  ! 4       # )z$Create a new boundaries_t instance.
)r   boundaries_newr$   r#   r   r6  r6  B?  rH5  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 ltR
 R ltR t]P                   tRtR# )block_chains_iterator_tiH?  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx    block_chains_iterator_t.<lambda>I?  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r6  I?  r~   r#   r   r   rc4  rw   c                    V ^8  d   QhRRRR/# rA   r  'block_chains_iterator_t'rC   rY   r$   )rE   s   "r   rF   $block_chains_iterator_t.__annotate__P?  r4  r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_iterator_t___eq__r  s   &&r   r   block_chains_iterator_t.__eq__P?  r:  r#   c                    V ^8  d   QhRRRR/# r6  r$   )rE   s   "r   rF   r6  S?  r4  r#   c                	.    \         P                  ! W4      # r.   )r   block_chains_iterator_t___ne__r  s   &&r   r  block_chains_iterator_t.__ne__S?  r:  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r    block_chains_iterator_t_swiginitnew_block_chains_iterator_tr   s   &r   r    block_chains_iterator_t.__init__V?  r4  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   block_chains_iterator_t_x_getblock_chains_iterator_t_x_setrw   ro  r   r  r   delete_block_chains_iterator_trT  r<   r$   r#   r   r6  r6  H?  r4  r#   r6  c                    V ^8  d   QhRRRR/# )rA   r  r6  rC   z'chain_t &'r$   )rE   s   "r   rF   rF   _?  s     , ,1 ,[ ,r#   c                .    \         P                  ! V 4      # )z(Get reference to the current set value.
)r   block_chains_getr{4  s   &r   r6  r6  _?  r5  r#   c               $    V ^8  d   QhRRRRRR/# rA   r    r  rg   r  rC   r6  r$   )rE   s   "r   rF   rF   e?  s#     4 4+ 4) 4!4r#   c                .    \         P                  ! W4      # )z.Find the specified key in set block_chains_t.
)r   block_chains_findr    rg   s   &&r   r6  r6  e?  r4  r#   c               $    V ^8  d   QhRRRRRR/# r6  r$   )rE   s   "r   rF   rF   l?  s#     6 6- 6I 6!6r#   c                .    \         P                  ! W4      # )z.Insert new (chain_t) into set block_chains_t.
)r   block_chains_insertr6  s   &&r   r6  r6  l?  s     ++C55r#   c                    V ^8  d   QhRRRR/# rA   r    r  rC   r6  r$   )rE   s   "r   rF   rF   s?  r4  r#   c                .    \         P                  ! V 4      # )z:Get iterator pointing to the beginning of block_chains_t.
)r   block_chains_beginr    s   &r   r7  r7  s?  r4  r#   c                    V ^8  d   QhRRRR/# r7  r$   )rE   s   "r   rF   rF   y?  r4  r#   c                .    \         P                  ! V 4      # )z4Get iterator pointing to the end of block_chains_t.
)r   block_chains_endr7  s   &r   r7  r7  y?  r4  r#   c                    V ^8  d   QhRRRR/# rA   r  r6  rC   r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! V 4      # r4  )r   block_chains_nextr{4  s   &r   r7  r7  ?  r4  r#   c                    V ^8  d   QhRRRR/# r	7  r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! V 4      # r4  )r   block_chains_prevr{4  s   &r   r7  r7  ?  r4  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r    r  r  r6  rC   rD   r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! W4      # )z+Erase current element from block_chains_t.
)r   block_chains_erase)r    r  s   &&r   r7  r7  ?  r4  r#   c                    V ^8  d   QhRRRR/# rA   r    r  rC   rD   r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! V 4      # )zClear block_chains_t.
)r   block_chains_clearr7  s   &r   r7  r7  ?  r4  r#   c                    V ^8  d   QhRRRR/# )rA   r    r  rC   rX   r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! V 4      # )zGet size of block_chains_t.
)r   block_chains_sizer7  s   &r   r7  r7  ?  r4  r#   c                    V ^8  d   QhRRRR/# r7  r$   )rE   s   "r   rF   rF   ?  r4  r#   c                .    \         P                  ! V 4      # )z Delete block_chains_t instance.
)r   block_chains_freer7  s   &r   r7  r7  ?  r4  r#   c                   V ^8  d   QhRR/# r  r$   )rE   s   "r   rF   rF   ?  r4  r#   c                 ,    \         P                  ! 4       # )z&Create a new block_chains_t instance.
)r   block_chains_newr$   r#   r   r7  r7  ?  r4  r#   c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )Earray_of_ivlsetsi?  c                	6    V P                   P                  4       # r.   ru   rv   s   &r   rx   array_of_ivlsets.<lambda>?  rz   r#   c                	8    V P                   P                  V4      # r.   ru   r|   s   &&r   rx   r"7  ?  r~   r#   r   r   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   array_of_ivlsets_swiginitnew_array_of_ivlsetsr   s   &*r   r   array_of_ivlsets.__init__?  r]	  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ivlset_t &'r$   )rE   s   "r   rF   array_of_ivlsets.__annotate__?  ra	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_push_backr   s   &*r   r   array_of_ivlsets.push_back?  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  rf	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_pop_backr   s   &r   r   array_of_ivlsets.pop_back?  r2  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)7  ?  rk	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_sizer   s   &r   r   array_of_ivlsets.size?  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)7  ?  rp	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_emptyr   s   &r   r   array_of_ivlsets.empty?  r  r#   c                    V ^8  d   QhRRRR/# )rA   r   rX   rC   'ivlset_t const &'r$   )rE   s   "r   rF   r)7  ?  rv	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_atr   s   &&r   r   array_of_ivlsets.at?  rz	  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  r|	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_qclearr   s   &r   r   array_of_ivlsets.qclear?  r{  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  rp	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_clearr   s   &r   r   array_of_ivlsets.clear?  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_resizer   s   &*r   r   array_of_ivlsets.resize?  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_growr   s   &*r   r   array_of_ivlsets.grow?  r  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_capacityr   s   &r   r   array_of_ivlsets.capacity?  r2  r#   c                    V ^8  d   QhRRRR/# r   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_reserver   s   &&r   r   array_of_ivlsets.reserve?  r	  r#   c                   V ^8  d   QhRR/# rm   r$   )rE   s   "r   rF   r)7  ?  rf	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_truncater   s   &r   r   array_of_ivlsets.truncate?  r2  r#   c                    V ^8  d   QhRRRR/# )rA   r   'array_of_ivlsets'rC   rD   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_swapr   s   &&r   r   array_of_ivlsets.swap?  r/  r#   c                   V ^8  d   QhRR/# )rA   rC   z'ivlset_t *'r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets_extractr   s   &r   r   array_of_ivlsets.extract?  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r   ro  r   rX   rC   rD   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	0    \         P                  ! WV4      # r.   )r   array_of_ivlsets_injectr   s   &&&r   r   array_of_ivlsets.inject?  r	  r#   c                    V ^8  d   QhRRRR/# rA   r   r[7  rC   rY   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets___eq__r   s   &&r   r   array_of_ivlsets.__eq__?  r  r#   c                    V ^8  d   QhRRRR/# rh7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets___ne__r   s   &&r   r  array_of_ivlsets.__ne__?  r  r#   c                   V ^8  d   QhRR/# rA   rC   z%'qvector< ivlset_t >::const_iterator'r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_beginr   s   &*r   r  array_of_ivlsets.begin?  r  r#   c                   V ^8  d   QhRR/# rq7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_endr   s   &*r   r  array_of_ivlsets.end?  r   r#   c               $    V ^8  d   QhRRRRRR/# )rA   r  ro  rw   rC   'qvector< ivlset_t >::iterator'r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	0    \         P                  ! WV4      # r.   )r   array_of_ivlsets_insertr  s   &&&r   r  array_of_ivlsets.insert?  r	  r#   c                   V ^8  d   QhRR/# )rA   rC   rz7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_eraser   s   &*r   r  array_of_ivlsets.erase?  r  r#   c                   V ^8  d   QhRR/# rq7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   array_of_ivlsets_findr   s   &*r   r   array_of_ivlsets.find?  r  r#   c                    V ^8  d   QhRRRR/# rA   rw   ro  rC   rY   r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_hasr&  s   &&r   r'  array_of_ivlsets.has?  r  r#   c                    V ^8  d   QhRRRR/# r7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_add_uniquer&  s   &&r   r-  array_of_ivlsets.add_unique?  r%  r#   c                    V ^8  d   QhRRRR/# r7  r$   )rE   s   "r   rF   r)7  ?  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets__delr&  s   &&r   r3  array_of_ivlsets._del?  r/  r#   c                   V ^8  d   QhRR/# r   r$   )rE   s   "r   rF   r)7  @  r	  r#   c                	.    \         P                  ! V 4      # r.   )r   array_of_ivlsets___len__r   s   &r   r9  array_of_ivlsets.__len__@  r  r#   c                    V ^8  d   QhRRRR/# )rA   r<  rX   rC   r:7  r$   )rE   s   "r   rF   r)7  @  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets___getitem__r?  s   &&r   r@  array_of_ivlsets.__getitem__@  r  r#   c               $    V ^8  d   QhRRRRRR/# )rA   r<  rX   r}   ro  rC   rD   r$   )rE   s   "r   rF   r)7  @  r	  r#   c                	0    \         P                  ! WV4      # r.   )r   array_of_ivlsets___setitem__rF  s   &&&r   rG  array_of_ivlsets.__setitem__@  r	  r#   c                    V ^8  d   QhRRRR/# )rA   rw   ro  rC   rD   r$   )rE   s   "r   rF   r)7  @  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_appendr&  s   &&r   rL  array_of_ivlsets.append@  r  r#   c                    V ^8  d   QhRRRR/# )rA   rw   r[7  rC   rD   r$   )rE   s   "r   rF   r)7  @  r	  r#   c                	.    \         P                  ! W4      # r.   )r   array_of_ivlsets_extendr&  s   &&r   rQ  array_of_ivlsets.extend@  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   r   r   delete_array_of_ivlsetsrT  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r-  r3  r9  r@  rG  rL  rQ  rU  rV  rW  rX  rY  rZ  r[  r<   r$   r#   r   r 7  r 7  ?  r	  r#   r 7  c                      ] tR tRtRtR# )DecompilationFailurei!@  r$   N)r   r   r8   r9   r<   r$   r#   r   r7  r7  !@  s    r#   r7  c                    \        WV4      # )zDecompile a snippet or a function. 
        
:param hf: extended error information (if failed)
:returns: pointer to the decompilation result (a reference counted pointer). nullptr if failed.)r2  )r  r  rW   s   &&&r   r2  r2  %@  s    
 "%((r#   c                Z    \        R V P                  V P                  4       3,          4      # )z%x: %s)ry  r  r  r   s   &r   rx   rx   /@  s$    #h$**dDF: / +r#   c                   V P                   \        8  d"   V P                   \        8:  d   V P                  # V P                   \        8  d"   V P                   \
        8  d   V P                  # \        R\        V P                   4      : 24      h)zNcast the citem_t object to its more specific type, either cexpr_t or cinsn_t. zunknown op type )	rW  r)  cot_lastr)  r)  cit_endr)  RuntimeErrorreprr   s   &r   citem_to_specific_typer7  B@  sZ    ww)8 3zz	I	$''G"3zz
tDGG}>
??r#   cit_:   NNcot_c                <    V P                   V P                  ,          # r.   )op_to_typenamerW  r   s   &r   property_op_to_typenamer7  X@  s    tww''r#   c                0   V P                   \        8  d   V P                   \        8:  g@   V P                   \        8  d   V P                   \        8:  g   V P                   \
        8X  d   RV P                  RV P                  /# V P                   \        8X  d'   RV P                  RV P                  RV P                  /# V P                   \        \        \        39   g+   V P                   \        8  d$   V P                   \        8:  d   RV P                  /# V P                   \        8X  d   RV P                   RV P                  /# V P                   \"        8X  d   RV P                  RV P$                  /# V P                   \&        \(        39   d   RV P                  RV P*                  /# V P                   \,        8X  d   RV P.                  /# V P                   \0        8X  d   RV P2                  /# V P                   \4        8X  d   R	V P6                  /# V P                   \8        8X  d   R
V P:                  /# V P                   \<        8X  d   RV P>                  /# V P                   \@        8X  d   RV PB                  /# \E        RV PF                  ,          4      h)z4return a dictionary with the operands of a cexpr_t. rw   rf+  rt+  r   rO	  r  rz  r  r+  r+  r}   r$  zunknown op type %s)$rW  	cot_commacot_asgumodcot_lorcot_fdivcot_idxrw   rf+  cot_ternrt+  cot_fnegcot_neg
cot_sizeofcot_lnot
cot_predeccot_castr   r+  rO	  r+  r+  r  r;+  rz  rG+  r  r+  r+  r+  r+  cot_varr}   r+  r$  r7  opnamer   s   &r   cexpr_operandsr7  `@  s   9K!7477<GGx'477g+=TVVS$&&))	H	TVVS$&&#tvv66	Xw
 
 

WW TWW
%:TVV}	H			3//	H	TVVS$&&))	Z,	,TVVS$&&))	G	TVV}	H	txx  	G	$++&&	G	$++&&	G	TVV}	J	$++&&
+dkk9
::r#   c                    V P                   V P                  9  d   \        R4      hV P                  pVR8X  d   V # VR9   d   R# \	        V RV,           4      # )z
return the details pointer for the cinsn_t object depending on the value of its op member.     this is one of the cblock_t, cif_t, etc. objects.
zunknown item->op typer   Nr  )breakcontinue)rW  r7  r7  r7  r   )r   r7  s   & r   cinsn_detailsr7  @  sU     wwd)))233[[F&&4v&&r#   c                4    \        V P                  4       4      # r.   )ry  rL  r   s   &r   rx   rx   @  s    #dnn&6"7r#   c                4    \        V P                  4       4      # r.   )r7  rL  r   s   &r   rx   rx   @  s    4(8#9r#   c                t    \        V\        4      '       d"   V P                  4       VP                  4       8H  # R # r8  )r   r8  rV  )r   r  s   &&r   rx   rx   @  s:    	E:	&	& )-(9U=M=M > ) )2,1)2r#   c                f    \         P                  ! 4       pV P                  V4      pV'       g   R# V# )z/Get the function's return type tinfo_t object. N)ida_typeinftinfo_tr  )r   rg  results   &  r   
cfunc_typer7  @  s+    



C$FJr#   c                6    V P                  4       P                  # r.   )rL  r   r   s   &r   rx   rx   @  s    (8(=(=r#   c                d    V P                    Uu. uF  qP                  V,          NK  	  up# u upi r.   )r^  lvarsr?  s   & r   rx   rx   @  s"    $++*N+Q::a==+*N*Ns   -c                6    V P                  4       P                  # r.   )rL  	argumentsr   s   &r   rx   rx   @  s    T^^-=-G-Gr#   c                6    V P                  4       P                  # r.   )rL  r7  r   s   &r   rx   rx   @  s    )9)?)?r#   c                6    V P                  4       P                  # r.   )rL  warningsr   s   &r   rx   rx   @  s    DNN,<,E,Er#   c                >    V P                  4       P                  4       # r.   )rL  r7  r   s   &r   rx   rx   @      dnn.>.M.M.Or#   c                >    V P                  4       P                  4       # r.   )rL  r*  r   s   &r   rx   rx   @  s    )9)C)C)Er#   c                >    V P                  4       P                  4       # r.   )rL  r0  r   s   &r   rx   rx   @  r7  r#   c                    V^ ,          pVP                   pV ! V.VR,          O5!  pV'       d+   V'       d!   VP                  4        VP                  4        V# \        R4       V# )r  r%*  zfNOTE: call_with_transferrable_ownership() called with non-IDAPython-owned object. Is this intentional?)r   r  r  r{  )funr   rK(  	was_ownedress   &*   r   "_call_with_transferrable_ownershipr7  @  s`    QA		I
a
$r(
C**,!!#
 J 	t	 Jr#   c                "    \        \        V 4      # )a  Logically negate the specified expression. The specified expression will be logically negated. For example, "x == y" is converted into "x != y" by this function. 
        
:param e: expression to negate. After the call, e must not be used anymore because it can be changed by the function. The function return value must be used to refer to the expression.
:returns: logically negated expression.)r7  r1  rN(  s   &r   lnotr7  @  s    
 .h::r#   c                "    \        \        V 4      # )zCreate a reference. This function performs the following conversion: "obj" => "&obj". It can handle casts, annihilate "&*", and process other special cases. 
        )r7  r1  rN(  s   &r   make_refr7  @  s     .lA>>r#   c                $    \        \        WV4      # )a,  Dereference a pointer. This function dereferences a pointer expression. It performs the following conversion: "ptr" => "*ptr" It can handle discrepancies in the pointer type and the access size. 
        
:param e: expression to deference
:param ptrsize: access size
:returns: dereferenced expression)r7  r1  )rK(  r  is_floats   &&&r   dereferencer7  @  s     .oq r#   c                    \        W.VO5!  pV'       d,   VP                  4        \        V4      \        8X  d   RVn        V# )zCreate a helper call.
F)r1  r  r   r.  r   )rV&  r   restr7  s   &&* r   call_helperr7  @  s:     '
/$
/C
:# DLJr#   c                 J    \        4       p V '       d   V P                  4        V # )zCreate a new block-statement.
)r1  r  )r7  s    r   	new_blockr7  @  s     /C
Jr#   c                 H    \        V !  pV'       d   VP                  4        V# )a  Create a number expression 
        
:param n: value
:param func: current function
:param ea: definition address of the number
:param opnum: operand number of the number (in the disassembly listing)
:param sign: number sign
:param size: size of number in bytes Please note that the type of the resulting expression can be anything because it can be inherited from the disassembly listing or taken from the user specified number representation in the pseudocode view.)r1  r  r   r7  s   * r   make_numr7  @  s"     
C
Jr#   c                 H    \        V !  pV'       d   VP                  4        V# )zCreate a helper object..
)r1  r  r7  s   * r   create_helperr7  @  s"     T
"C
Jr#   c                      ] tR tRt. tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tRtR# )__cbhooks_tiA  c                	r    Wn         V P                  P                  V 4       \        P	                  V 4       R # r.   )callback	instancesrL  r  r   )r   r7  s   &&r   r   __cbhooks_t.__init__A  s'     d#t$r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_mba_maturityr   s   &*r   r  __cbhooks_t.mba_maturityA      }}-555r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_maturityr   s   &*r   r`  __cbhooks_t.maturityA      }}\1D11r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  
hxe_interrr   s   &*r   rH  __cbhooks_t.interrA      }}Z/$//r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_print_funcr   s   &*r   r  __cbhooks_t.print_funcA      }}^3d33r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_func_printedr   s   &*r   r\  __cbhooks_t.func_printedA  r7  r#   c                2    V P                   ! \        .VO5!  # r
(  )r7  hxe_open_pseudocoder   s   &*r   r  __cbhooks_t.open_pseudocodeA  s     }}08488r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_switch_pseudocoder   s   &*r   r  __cbhooks_t.switch_pseudocode$A  s    }}2:T::r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_refresh_pseudocoder   s   &*r   r  __cbhooks_t.refresh_pseudocode'A  s    }}3;d;;r#   c                2    V P                   ! \        .VO5!  # r(  )r7  hxe_close_pseudocoder   s   &*r   r  __cbhooks_t.close_pseudocode*A  s    
 }}19D99r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_keyboardr   s   &*r   r  __cbhooks_t.keyboard1A  r8  r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_right_clickr   s   &*r   r  __cbhooks_t.right_click4A      }}_4t44r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_double_clickr   s   &*r   r  __cbhooks_t.double_click7A  r7  r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  
hxe_curposr   s   &*r   r  __cbhooks_t.curpos:A  r8  r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_create_hintr   s   &*r   r  __cbhooks_t.create_hint=A  r!8  r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_text_readyr   s   &*r   r  __cbhooks_t.text_ready@A  r8  r#   c                	2    V P                   ! \        .VO5!  # r.   )r7  hxe_populating_popupr   s   &*r   r  __cbhooks_t.populating_popupCA  s    }}19D99r#   )r7  N)r   r   r8   r9   r7  r   r  r`  rH  r  r\  r  r  r  r  r  r  r  r  r  r  r  r<   r$   r#   r   r7  r7  A  s\    I%
620469;<:256054:r#   r7  c                <    \        V 4      pVP                  4        R# )znInstall handler for decompiler events. 
        
:param callback: handler to install
:returns: false if failedT)r7  r  )r7  hs   & r   install_hexrays_callbackr38  GA  s    
 	HAFFHr#   c                    \         P                   FF  pVP                  V 8X  g   K  VP                  4        \         P                  P	                  V4        ^# 	  ^ # )zUninstall handler for decompiler events. 
        
:param callback: handler to uninstall
:returns: number of uninstalled handlers.)r7  r7  r7  r  r  )r7  insts   & r   remove_hexrays_callbackr68  QA  sE    
 %%==H$KKM!!((.	 &
 r#   c                   W1n         WAn        R  F0  p\        WR,           V,           4      p\        VRV,           V4       K2  	  VP                  Vn        VP                  Vn        R Vn        R Vn	        R Vn
        R Vn        R Vn        R Vn        R	 Vn        R
 Vn        R Vn        R Vn        R pWqn        R pWn        R p	Wn        R p
Wn        R pWn        R pWn        R pWn        R!R lpWn        R pWn        R pVVn        R pVVn        R pVVn        R pVVn        R pVVn        R pVVn        R pVVn        R pVVn        R!R lpVVn         R# )"r  ___c                *    V P                   ! V .VO5!  # r.   )__beginr   s   &*r   rx   _map_as_dict.<locals>.<lambda>gA      T(AD(Ar#   c                *    V P                   ! V .VO5!  # r.   )__endr   s   &*r   rx   r<8  hA  s    djj&=&=r#   c                "    V P                   ! V!  # r.   )__firstr   s   &*r   rx   r<8  iA  s    d(;r#   c                "    V P                   ! V!  # r.   )__secondr   s   &*r   rx   r<8  jA  s    )=r#   c                "    V P                   ! V!  # r.   )__nextr   s   &*r   rx   r<8  kA  s    t{{D'9r#   c                *    V P                   ! V .VO5!  # r.   )__findr   s   &*r   rx   r<8  lA      t{{4'?$'?r#   c                *    V P                   ! V .VO5!  # r.   )__insertr   s   &*r   rx   r<8  mA  s    t)Cd)Cr#   c                *    V P                   ! V .VO5!  # r.   )__eraser   s   &*r   rx   r<8  nA  r=8  r#   c                *    V P                   ! V .VO5!  # r.   )__clearr   s   &*r   rx   r<8  oA  r=8  r#   c                *    V P                   ! V .VO5!  # r.   )__sizer   s   &*r   rx   r<8  pA  rH8  r#   c                "    V P                  4       # )zIterate over dictionary keys. iterkeysr   s   &r   _map___iter__#_map_as_dict.<locals>._map___iter__rA  s    }}r#   c                $   \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      hW9  d   \        R4      hV P                  V P                  V4      4      # )4Returns the value associated with the provided key. ztype of key should be 	 but got key not found)r   keytypeKeyErrorr7  r   secondr   r   r_   s   &&r   _map___getitem__&_map_as_dict.<locals>._map___getitem__wA  sn    #||,,3d4<<6HH"49o. / /??++{{499S>**r#   c                   \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      h\        W P
                  4      '       g=   \        R\        V P
                  4      ,           R,           \	        V4      ,           4      hV P                  W4       R# )rW8  type of `key` should be rX8  ztype of `value` should be N)r   rZ8  r[8  r7  r   	valuetyper  )r   r_   r   s   &&&r   _map___setitem__&_map_as_dict.<locals>._map___setitem__A  s    #||,,5T\\8JJ"49o. / /%007$t	; ()+/;7 8 8Cr#   c                (   \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      hW9  d   \        R4      hV P                  V P                  V4      4       R# )z4Removes the value associated with the provided key. ra8  rX8  rY8  N)r   rZ8  r[8  r7  r   r  r   r]8  s   &&r   _map___delitem__&_map_as_dict.<locals>._map___delitem__A  sn    #||,,5T\\8JJ"49o. / /??++

499S>"r#   c                   \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      hV P                  V4      V P                  4       8w  d   R# R# )z2Returns true if the specified key exists in the . ra8  rX8  TF)r   rZ8  r[8  r7  r   r   r  r]8  s   &&r   _map___contains__'_map_as_dict.<locals>._map___contains__A  sc    #||,,5T\\8JJ"49o. / /99S>TXXZ'r#   c                &    V P                  4        R # r.   )r   r   s   &r   
_map_clear _map_as_dict.<locals>._map_clearA  s    

r#   c                L    / pV P                  4        F  pW,          W&   K  	  V# r.   rR8  )r   retks   &  r   	_map_copy_map_as_dict.<locals>._map_copyA  s%    AWCF !
r#   Nc                "    W9   d	   W,          # V# r.   r$   r   r_   defaults   &&&r   _map_get_map_as_dict.<locals>._map_getA  s    ;9r#   c              3     "   V P                  4       pWP                  4       8w  d'   V P                  V4      x  V P                  V4      pK:  R # 5ir.   )r  r  r  r`  r   iters   & r   _map_iterkeys#_map_as_dict.<locals>._map_iterkeysA  s;     zz|hhj **T""99T?D   AAc              3     "   V P                  4       pWP                  4       8w  d'   V P                  V4      x  V P                  V4      pK:  R # 5ir.   )r  r  r\8  r`  ry8  s   & r   _map_itervalues%_map_as_dict.<locals>._map_itervaluesA  s;     zz|hhj ++d##99T?Dr}8  c              3     "   V P                  4       pWP                  4       8w  d8   V P                  V4      V P                  V4      3x  V P	                  V4      pKK  R # 5ir.   )r  r  r  r\8  r`  ry8  s   & r   _map_iteritems$_map_as_dict.<locals>._map_iteritemsA  sI     zz|hhj **T"DKK$55599T?Ds   AA c                4    \        V P                  4       4      # r.   )r  rS8  r   s   &r   	_map_keys_map_as_dict.<locals>._map_keysA  s    DMMO$$r#   c                4    \        V P                  4       4      # r.   )r  
itervaluesr   s   &r   _map_values!_map_as_dict.<locals>._map_valuesA  s    DOO%&&r#   c                4    \        V P                  4       4      # r.   )r  	iteritemsr   s   &r   
_map_items _map_as_dict.<locals>._map_itemsA  s    DNN$%%r#   c                
    W9   # r.   r$   r]8  s   &&r   _map_has_key"_map_as_dict.<locals>._map_has_keyA  s
    {r#   c                    \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      hW9  d   \        R4      hW,          pW V# )1Sets the value associated with the provided key. ra8  rX8  rY8  r   rZ8  r[8  r7  r   )r   r_   ro8  s   && r   _map_pop_map_as_dict.<locals>._map_popA  sh    #||,,5T\\8JJ"49o. / /??++iI
r#   c                    \        V 4      ^ 8X  d   \        R4      hV P                  4       ^ ,          pWP                  V4      3# )r8  rY8  )r   r[8  keysr,  r]8  s   & r   _map_popitem"_map_as_dict.<locals>._map_popitemA  s8    t9>?++iik!nHHSM!!r#   c                    \        WP                  4      '       gF   \        R\        V P                  4      ,           R,           \        \	        V4      4      ,           4      hW9   d	   W,          # W V&   V# )r8  ra8  rX8  r8  rt8  s   &&&r   _map_setdefault%_map_as_dict.<locals>._map_setdefaultA  s`    #||,,5T\\8JJ"49o. / /;9S	r#   )
r  r  r  r\8  r`  r   r  r  r   r   r.   )!rZ8  rb8  r   setattrr   r9  r   r@  r  r  r  r\8  r`  r   r  r  r   r[  rG  __delitem____contains__r1   getrS8  r8  r8  r8  r  itemshas_keyr,  popitem
setdefault)_ida_modulemaptyper   rZ8  rb8  fctnamefctrT8  r^8  rc8  rf8  ri8  rl8  rq8  rv8  r{8  r8  r8  r8  r8  r8  r8  r8  r8  r8  s   &&&&&                    r   _map_as_dictr8  ^A  s   O!,k#:#78-, llGO!**GAGM=GK;GM=GN9GL?GLCGNAGMAGM?GL %+ +	 + + - M
 L K % )G 'G%GL' GN&GM"GO	 GK" #GO )Gr#   user_numformsrd  rh  rj  eamap
boundariesr  r8  r(  r.   )Nr  (  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?   rU  ida_proida_xrefr7  ida_idpida_gdlrH   rM   rS   r[   rc   ri   rp   objectrs   hexwarns_t_swigregisterr]  user_numforms_t_swigregisterr{  r}  ctree_items_t_swigregisterr-  user_labels_t_swigregisterrD  user_unions_t_swigregisterrX  user_cmts_t_swigregisterro  user_iflags_t_swigregisterr  cinsnptrvec_t_swigregisterr  eamap_t_swigregisterr"  boundaries_t_swigregisterr8  cfuncptr_t_swigregisterr  qvector_history_t_swigregisterr$  history_t_swigregisterrB  "cinsn_list_t_iterator_swigregisterrc  cinsn_list_t_swigregisterr  qvector_carg_t_swigregisterr  qvector_ccase_t_swigregisterr6  !qvector_catchexprs_t_swigregisterr   qvector_ccatchvec_t_swigregisterrU  cblock_posvec_t_swigregisterr  ui_stroff_ops_t_swigregisterrR	  rU	  array_of_bitsets_swigregisterr
  mopvec_t_swigregisterr
  mcallargs_t_swigregisterr2  block_chains_vec_t_swigregisterr  lvar_mapping_t_swigregisterr  qvector_lvar_t_swigregisterrZ  lvar_saved_infos_t_swigregisterr  Hexrays_Hooks_swigregisterMAX_SUPPORTED_STACK_SIZEr  r  MAX_VLR_SIZEr  r  r  CMP_NZCMP_ZCMP_AECMP_BCMP_ACMP_BECMP_GTCMP_GECMP_LTCMP_LEr  r$  r)  r-  r/  valrng_t_swigregistercvarMAX_VLR_VALUEMAX_VLR_SVALUEMIN_VLR_SVALUEr  MERR_OK
MERR_BLOCKMERR_INTERR	MERR_INSNMERR_MEMMERR_BADBLK
MERR_BADSPMERR_PROLOGMERR_SWITCHMERR_EXCEPTIONMERR_HUGESTACK
MERR_LVARSMERR_BITNESSMERR_BADCALLMERR_BADFRAMEMERR_UNKTYPEMERR_BADIDBMERR_SIZEOF	MERR_REDOMERR_CANCELEDMERR_RECDEPTHMERR_OVERLAPMERR_PARTINITMERR_COMPLEXMERR_LICENSEMERR_ONLY32MERR_ONLY64	MERR_BUSYMERR_FARPTRMERR_EXTERNMERR_FUNCSIZEMERR_BADRANGESMERR_BADARCH
MERR_DSLOT	MERR_STOP
MERR_CLOUDMERR_EMULATORMERR_MAX_ERR	MERR_LOOPr  r  hexrays_failure_t_swigregisterMUST_ACCESS
MAY_ACCESSMAYMUST_ACCESS_MASKONE_ACCESS_TYPEINCLUDE_SPOILED_REGSEXCLUDE_PASS_REGS	FULL_XDSUWITH_ASSERTSEXCLUDE_VOLATILEINCLUDE_UNUSED_SRCINCLUDE_DEAD_RETREGSINCLUDE_RESTRICTEDCALL_SPOILS_ONLY_ARGSr  vd_failure_t_swigregisterr  vd_interr_t_swigregisterr!  m_stxm_ldxm_ldcm_movm_negm_lnotm_bnotm_xdsm_xdum_lowm_highm_addm_subm_mulm_udivm_sdivm_umodm_smodm_orm_andm_xorm_shlm_shrm_sarm_cfaddm_ofaddm_cfshlm_cfshrm_setsm_setom_setpm_setnzm_setzm_setaem_setbm_setam_setbem_setgm_setgem_setlm_setlem_jcndm_jnzm_jzm_jaem_jbm_jam_jbem_jgm_jgem_jlm_jlem_jtblm_ijmpm_gotom_callm_icallm_retm_pushm_popm_undm_extm_f2im_f2um_i2fm_u2fm_f2fm_fnegm_faddm_fsubm_fmulm_fdivr#  r'  r+  r/  r4  r8  r;  r?  rD  rH  rK  rN  rQ  rT  rY  r]  rb  rg  rj  rm  rp  rs  rw  rz  r}  r  operand_locator_t_swigregistermr_nonemr_cfmr_zfmr_sfmr_ofmr_pfcc_countmr_ccmr_firstr  number_format_t_swigregisterNF_FIXED
NF_NEGDONENF_BINVDONE	NF_NEGATE	NF_BITNOTNF_VALIDr  vd_printer_t_swigregisterr0  vc_printer_t_swigregisterrK  qstring_printer_t_swigregisterr  rl  ro  rs  rw  r}  r  r  r  r  r  r  r  r  r  GUESSED_NONEGUESSED_WEAKGUESSED_FUNCGUESSED_DATATS_NOELL	TS_SHRINK
TS_DONTREFTS_MASKr  r  argloc_tr  vdloc_t_swigregisterr  r  r  lvar_locator_t_swigregisterr`  lvar_t_swigregisterSVW_INT	SVW_FLOATSVW_SOFTrG  lvars_t_swigregisterrr  lvar_saved_info_t_swigregister
LVINF_KEEPLVINF_SPLITLVINF_NOPTRLVINF_NOMAPLVINF_UNUSEDLVINF_NOPROPr  lvar_uservec_t_swigregisterULV_PRECISE_DEFEAr(  r+  r-  !user_lvar_modifier_t_swigregisterrB  rH  MLI_NAMEMLI_TYPEMLI_CMTMLI_SET_FLAGSMLI_CLR_FLAGSrM  rR  rT  udcall_t_swigregisterr  r  r  r  r  microcode_filter_t_swigregisterr  r  udc_filter_t_swigregisterr  bitset_t_swigregisterbitset_widthbitset_alignbitset_shiftr  iterator_swigregisterr  node_bitset_t_swigregisterr  #array_of_node_bitset_t_swigregisterr  ivl_t_swigregisterr?  ivl_with_name_t_swigregisterrQ  ivlset_visitor_t_swigregisterrf  ivlset_t_swigregisterr  rlist_t_swigregisterr  mlist_t_swigregisterr  r  r  r  r  r  optinsn_t_swigregisterr  optblock_t_swigregistergdl_graph_tr  simple_graph_t_swigregisterr  op_parent_info_t_swigregisterr:  minsn_visitor_t_swigregisterrO  mop_visitor_t_swigregisterrg  scif_visitor_t_swigregisterrz   mlist_mop_visitor_t_swigregisterr  lvar_ref_t_swigregisterrx  r  rF  r  rW  ri  r  r  rx  r  r  r#  r  r  r  r  NOSIZEr  stkvar_ref_t_swigregisterr  scif_t_swigregisterr"  mnumber_t_swigregisterrX  fnumber_t_swigregisterSHINS_NUMADDRSHINS_VALNUMSHINS_SHORTSHINS_LDXEA	NO_SIDEFFr2  ONLY_SIDEFFANY_REGSIZE
ANY_FPSIZEr  mop_t_swigregisterOPROP_IMPDONE	OPROP_UDTOPROP_FLOATOPROP_CCFLAGSOPROP_UDEFVALOPROP_LOWADDR	OPROP_ABIr1  r9  mop_pair_t_swigregisterrJ  mop_addr_t_swigregisterr`  mcallarg_t_swigregisterROLE_UNK
ROLE_EMPTYROLE_MEMSETROLE_MEMSET32ROLE_MEMSET64ROLE_MEMCPYROLE_STRCPYROLE_STRLENROLE_STRCAT	ROLE_TAILROLE_BUGROLE_ALLOCA
ROLE_BSWAPROLE_PRESENTROLE_CONTAINING_RECORDROLE_FASTFAILROLE_READFLAGSROLE_IS_MUL_OKROLE_SATURATED_MULROLE_BITTESTROLE_BITTESTANDSETROLE_BITTESTANDRESETROLE_BITTESTANDCOMPLEMENTROLE_VA_ARGROLE_VA_COPYROLE_VA_STARTROLE_VA_ENDROLE_ROLROLE_RORROLE_CFSUB3ROLE_OFSUB3ROLE_ABSROLE_3WAYCMP0ROLE_3WAYCMP1ROLE_WMEMCPYROLE_WMEMSETROLE_WCSCPYROLE_WCSLENROLE_WCSCATROLE_SSE_CMP4ROLE_SSE_CMP8FUNC_NAME_MEMCPYFUNC_NAME_WMEMCPYFUNC_NAME_MEMSETFUNC_NAME_WMEMSETFUNC_NAME_MEMSET32FUNC_NAME_MEMSET64FUNC_NAME_STRCPYFUNC_NAME_WCSCPYFUNC_NAME_STRLENFUNC_NAME_WCSLENFUNC_NAME_STRCATFUNC_NAME_WCSCATFUNC_NAME_TAILFUNC_NAME_VA_ARGFUNC_NAME_EMPTYFUNC_NAME_PRESENTFUNC_NAME_CONTAINING_RECORDFUNC_NAME_MORESTACKr  mcallinfo_t_swigregisterFCI_PROPFCI_DEAD	FCI_FINAL	FCI_NORETFCI_PURE
FCI_NOSIDE	FCI_SPLOKFCI_HASCALL
FCI_HASFMTFCI_EXPLOCSr  mcases_t_swigregisterr6  voff_t_swigregisterr  vivl_t_swigregisterintvec_tr  chain_t_swigregister
CHF_INITEDCHF_REPLACEDCHF_OVERCHF_FAKECHF_PASSTHRUCHF_TERMr  block_chains_t_swigregisterr  chain_visitor_t_swigregisterr  graph_chains_t_swigregister	GCA_EMPTYGCA_SPEC	GCA_ALLOC
GCA_NALLOC
GCA_OFIRST	GCA_OLASTr,  minsn_t_swigregisterIPROP_OPTIONALIPROP_PERSISTIPROP_WILDMATCHIPROP_CLNPOPIPROP_FPINSNIPROP_FARCALLIPROP_TAILCALLIPROP_ASSERTIPROP_SPLITIPROP_SPLIT1IPROP_SPLIT2IPROP_SPLIT4IPROP_SPLIT8IPROP_COMBINEDIPROP_EXTSTXIPROP_IGNLOWSRCIPROP_INV_JXIPROP_WAS_NORETIPROP_MULTI_MOVIPROP_DONT_PROPIPROP_DONT_COMBIPROP_MBARRIERIPROP_UNMERGEDIPROP_UNPAIREDOPTI_ADDREXPRSOPTI_MINSTKREFOPTI_COMBINSNSOPTI_NO_LDXOPTOPTI_NO_VALRNG
EQ_IGNSIZE
EQ_IGNCODE
EQ_CMPDEST
EQ_OPTINSNNORET_IGNORE_WAS_NORET_ICALLNORET_FORBID_ANALYSISr!  r!  r!  intval64_t_swigregisterr"  int64_emulator_t_swigregisterBLT_NONEBLT_STOPBLT_0WAYBLT_1WAYBLT_2WAYBLT_NWAYBLT_XTRNr"  mblock_t_swigregisterMBL_PRIVMBL_NONFAKEMBL_FAKEMBL_GOTOMBL_TCALMBL_PUSH	MBL_DMT64MBL_COMBMBL_PROPMBL_DEADMBL_LISTMBL_INCONSTMBL_CALLMBL_BACKPROP	MBL_NORET	MBL_DSLOTMBL_VALRANGESMBL_KEEPMBL_INLINEDMBL_EXTFRAMEFD_BACKWARD
FD_FORWARDFD_USEFD_DEFFD_DIRTYVR_AT_START	VR_AT_ENDVR_EXACTWARN_VARARG_REGSWARN_ILL_PURGEDWARN_ILL_FUNCTYPEWARN_VARARG_TCALWARN_VARARG_NOSTKWARN_VARARG_MANYWARN_ADDR_OUTARGSWARN_DEP_UNK_CALLSWARN_ILL_ELLIPSISWARN_GUESSED_TYPEWARN_EXP_LINVARWARN_WIDEN_CHAINSWARN_BAD_PURGEDWARN_CBUILD_LOOPSWARN_NO_SAVE_RESTWARN_ODD_INPUT_REGWARN_ODD_ADDR_USEWARN_MUST_RET_FPWARN_ILL_FPU_STACKWARN_SELFREF_PROPWARN_WOULD_OVERLAPWARN_ARRAY_INARGWARN_MAX_ARGSWARN_BAD_FIELD_TYPEWARN_WRITE_CONSTWARN_BAD_RETVARWARN_FRAG_LVARWARN_HUGE_STKOFFWARN_UNINITED_REGWARN_FIXED_INSNWARN_WRONG_VA_OFFWARN_CR_NOFIELDWARN_CR_BADOFFWARN_BAD_STROFFWARN_BAD_VARSIZEWARN_UNSUPP_REGWARN_UNALIGNED_ARGWARN_BAD_STD_TYPEWARN_BAD_CALL_SPWARN_MISSED_SWITCHWARN_BAD_SPWARN_BAD_STKPNTWARN_UNDEF_LVARWARN_JUMPOUTWARN_BAD_VALRNGWARN_BAD_SHADOWWARN_OPT_VALRNGWARN_RET_LOCREFWARN_BAD_MAPDSTWARN_BAD_INSNWARN_ODD_ABIWARN_UNBALANCED_STACKWARN_OPT_VALRNG2WARN_OPT_VALRNG3WARN_OPT_USELESS_JCNDWARN_SUBFRAME_OVERFLOWWARN_OPT_VALRNG4WARN_FRAME_ACCESSWARN_MAXr#  hexwarn_t_swigregister	MMAT_ZEROMMAT_GENERATEDMMAT_PREOPTIMIZEDMMAT_LOCOPT
MMAT_CALLSMMAT_GLBOPT1MMAT_GLBOPT2MMAT_GLBOPT3
MMAT_LVARSMMIDX_GLBLOWMMIDX_LVARSMMIDX_RETADDRMMIDX_SHADOW
MMIDX_ARGSMMIDX_GLBHIGHr%$  mba_ranges_t_swigregisterrN$  !mba_range_iterator_t_swigregisterr+  mba_t_swigregisterMBA_PRCDEFS
MBA_NOFUNCMBA_PATTERN
MBA_LOADED	MBA_RETFPMBA_SPLINFOMBA_PASSREGS	MBA_THUNK
MBA_CMNSTK
MBA_PREOPT
MBA_CMBBLK
MBA_ASRTOK	MBA_CALLSMBA_ASRPROP
MBA_SAVRST
MBA_RETREF
MBA_GLBOPT
MBA_LVARS0
MBA_LVARS1MBA_DELPAIRS
MBA_CHVARS	MBA_SHORT
MBA_COLGDL
MBA_INSGDLMBA_NICE
MBA_REFINEMBA_WINGR32MBA_NUMADDR
MBA_VALNUM
MBA_SHOWEAMBA_INITIAL_FLAGSMBA2_LVARNAMES_OKMBA2_LVARS_RENAMEDMBA2_OVER_CHAINSMBA2_VALRNG_DONEMBA2_IS_CTRMBA2_IS_DTRMBA2_ARGIDX_OKMBA2_NO_DUP_CALLSMBA2_NO_DUP_LVARSMBA2_UNDEF_RETVARMBA2_ARGIDX_SORTEDMBA2_CODE16_BITMBA2_STACK_RETVALMBA2_HAS_OUTLINESMBA2_NO_FRAMEMBA2_PROP_COMPLEXMBA2_DONT_VERIFYMBA2_INITIAL_FLAGSMBA2_ALL_FLAGSNALT_VD
LOCOPT_ALLLOCOPT_REFINELOCOPT_REFINE2ACFL_LOCOPTACFL_BLKOPTACFL_GLBPROPACFL_GLBDEL
ACFL_GUESS
CPBLK_FASTCPBLK_MINREFCPBLK_OPTJMPINLINE_EXTFRAMEINLINE_DONTCOPYr*'  chain_keeper_t_swigregisterGC_REGS_AND_STKVARSGC_ASRGC_XDSUGC_ENDGC_DIRTY_ALLrD'  mbl_graph_t_swigregisterr|'   cdg_insn_iterator_t_swigregisterr'  codegen_t_swigregisterr(  r(  	OPF_REUSEOPF_NEW_WINDOWOPF_REUSE_ACTIVEOPF_NO_WAITOPF_WINDOW_MGMT_MASKr  r  VDRUN_NEWFILEVDRUN_APPENDVDRUN_ONLYNEWVDRUN_SILENTVDRUN_SENDIDBVDRUN_MAYSTOPVDRUN_CMDLINEVDRUN_STATSVDRUN_LUMINA
VDRUN_PERFr(  r(  r(  gco_info_t_swigregisterGCO_STKGCO_REGGCO_USEGCO_DEFrH(  rM(  r)  r7  cot_asg
cot_asgbor
cot_asgxorcot_asgband
cot_asgadd
cot_asgsub
cot_asgmulcot_asgsshrcot_asgushr
cot_asgshlcot_asgsdivcot_asgudivcot_asgsmodr7  r7  r7  cot_landcot_borcot_xorcot_bandcot_eqcot_necot_sgecot_ugecot_slecot_ulecot_sgtcot_ugtcot_sltcot_ultcot_sshrcot_ushrcot_shlcot_addcot_subcot_mulcot_sdivcot_udivcot_smodcot_umodcot_faddcot_fsubcot_fmulr7  r7  r7  r7  r7  cot_bnotr+  cot_refcot_postinccot_postdec
cot_preincr7  r+  r7  r+  r+  r;+  rG+  r+  r+  r7  r+  r7  r+  cot_typer7  r)  r-  r-  r	.  r.  r-.  r<.  rN.  	cit_breakcit_continuer_.  rn.  r}.  cit_try	cit_throwr7  rT(  rX(  r[(  r`(  rd(  ri(  rm(  rp(  rs(  rw(  r|(  r(  r(  r(  r(  r(  r(  r(  r(  r(  r(  r(  r(  r(  cnumber_t_swigregisterr(  var_ref_t_swigregister	CMAT_ZERO
CMAT_BUILTCMAT_TRANS1	CMAT_NICECMAT_TRANS2CMAT_CPACMAT_TRANS3CMAT_CASTED
CMAT_FINAL	ITP_EMPTYITP_ARG1	ITP_ARG64
ITP_BRACE1ITP_INNER_LASTITP_ASMITP_ELSEITP_DOITP_SEMI
ITP_CURLY1
ITP_CURLY2
ITP_BRACE2	ITP_COLON
ITP_BLOCK1
ITP_BLOCK2ITP_TRYITP_CASEITP_SIGNr)  treeloc_t_swigregisterRETRIEVE_ONCERETRIEVE_ALWAYSr1)  citem_cmt_t_swigregisterrG)  citem_locator_t_swigregisterrs)  bit_bound_t_swigregisterr)  citem_t_swigregisterr  cexpr_t_swigregisterEXFL_CPADONEEXFL_LVALUE	EXFL_FPOP
EXFL_ALONE	EXFL_CSTREXFL_PARTIAL
EXFL_UNDEFEXFL_JUMPOUTEXFL_VFTABLEEXFL_ALLr+  ceinsn_t_swigregisterr.  NO_CURLY_BRACESUSE_CURLY_BRACESr,  cif_t_swigregisterr9,  cloop_t_swigregisterrN,  cfor_t_swigregisterr},  cwhile_t_swigregisterr,  cdo_t_swigregisterr,  creturn_t_swigregisterr,  cgoto_t_swigregistereavec_tr$-  casm_t_swigregisterr   cinsn_t_swigregisterr*  cblock_t_swigregisterr.  carg_t_swigregisterr.  carglist_t_swigregister	CFL_FINAL
CFL_HELPER	CFL_NORETr/  ccase_t_swigregisterrD/  ccases_t_swigregisterrm/  cswitch_t_swigregisterr/  catchexpr_t_swigregisterr/  ccatch_t_swigregisterr0  ctry_t_swigregisterr60  cthrow_t_swigregisterr_0  cblock_pos_t_swigregisterr|0  ctree_visitor_t_swigregisterCV_FASTCV_PRUNE
CV_PARENTSCV_POST
CV_RESTARTCV_INSNSr0  ctree_parentee_t_swigregisterr1  cfunc_parentee_t_swigregisterr&1  ctree_anchor_t_swigregisterANCHOR_INDEXANCHOR_MASKANCHOR_CITEMANCHOR_LVAR
ANCHOR_ITPANCHOR_BLKCMTVDI_NONEVDI_EXPRVDI_LVARVDI_FUNCVDI_TAILrW1  ctree_item_t_swigregisterGLN_CURRENTGLN_GOTO_TARGETGLN_ALLFORBID_UNUSED_LABELSALLOW_UNUSED_LABELSr1  r1  r1  r1  r1  r1  r1  r  r   r  r  r  r1  r1  r1  r1  r1  r1  cfunc_t_swigregisterCIT_COLLAPSED
CFS_BOUNDSCFS_TEXTCFS_LVARS_HIDDEN
CFS_LOCKEDDECOMP_NO_WAITDECOMP_NO_CACHEDECOMP_NO_FRAMEDECOMP_WARNINGSDECOMP_ALL_BLKSDECOMP_NO_HIDEDECOMP_GXREFS_DEFLTDECOMP_GXREFS_NOUPDDECOMP_GXREFS_FORCEDECOMP_VOID_MBADECOMP_OUTLINEr2  r2  r2  r2  r2  r2  r2  r2  r2  r2  r2  hxe_flowcharthxe_stkpnts
hxe_prologhxe_microcodehxe_preoptimized
hxe_locopthxe_prealloc
hxe_glbopthxe_pre_structuralhxe_structuralr8  r8  hxe_combiner	8  r8  hxe_resolve_stkaddrshxe_build_callinfohxe_callinfo_builthxe_calls_donehxe_begin_inlininghxe_inlining_funchxe_inlined_funchxe_collect_warningsr8  r8  r8  r8  r8  r8  r#8  r&8  r)8  r,8  r/8  lxe_lvar_name_changedlxe_lvar_type_changedlxe_lvar_cmt_changedlxe_lvar_mapping_changedhxe_cmt_changedr7  USE_KEYBOARD	USE_MOUSEr2  ctext_position_t_swigregisterHEXRAYS_API_MAGICr3  history_item_t_swigregisterr3  vdui_t_swigregisterCMT_NONECMT_TAIL
CMT_BLOCK1
CMT_BLOCK2CMT_LVARCMT_FUNCCMT_ALLVDUI_VISIBLE
VDUI_VALIDr-4  ui_stroff_op_t_swigregisterrE4  #ui_stroff_applicator_t_swigregisterr]4  hx_user_numforms_beginhx_user_numforms_endhx_user_numforms_nexthx_user_numforms_prevhx_user_numforms_firsthx_user_numforms_secondhx_user_numforms_findhx_user_numforms_inserthx_user_numforms_erasehx_user_numforms_clearhx_user_numforms_sizehx_user_numforms_freehx_user_numforms_newhx_lvar_mapping_beginhx_lvar_mapping_endhx_lvar_mapping_nexthx_lvar_mapping_prevhx_lvar_mapping_firsthx_lvar_mapping_secondhx_lvar_mapping_findhx_lvar_mapping_inserthx_lvar_mapping_erasehx_lvar_mapping_clearhx_lvar_mapping_sizehx_lvar_mapping_freehx_lvar_mapping_newhx_udcall_map_beginhx_udcall_map_endhx_udcall_map_nexthx_udcall_map_prevhx_udcall_map_firsthx_udcall_map_secondhx_udcall_map_findhx_udcall_map_inserthx_udcall_map_erasehx_udcall_map_clearhx_udcall_map_sizehx_udcall_map_freehx_udcall_map_newhx_user_cmts_beginhx_user_cmts_endhx_user_cmts_nexthx_user_cmts_prevhx_user_cmts_firsthx_user_cmts_secondhx_user_cmts_findhx_user_cmts_inserthx_user_cmts_erasehx_user_cmts_clearhx_user_cmts_sizehx_user_cmts_freehx_user_cmts_newhx_user_iflags_beginhx_user_iflags_endhx_user_iflags_nexthx_user_iflags_prevhx_user_iflags_firsthx_user_iflags_secondhx_user_iflags_findhx_user_iflags_inserthx_user_iflags_erasehx_user_iflags_clearhx_user_iflags_sizehx_user_iflags_freehx_user_iflags_newhx_user_unions_beginhx_user_unions_endhx_user_unions_nexthx_user_unions_prevhx_user_unions_firsthx_user_unions_secondhx_user_unions_findhx_user_unions_inserthx_user_unions_erasehx_user_unions_clearhx_user_unions_sizehx_user_unions_freehx_user_unions_newhx_user_labels_beginhx_user_labels_endhx_user_labels_nexthx_user_labels_prevhx_user_labels_firsthx_user_labels_secondhx_user_labels_findhx_user_labels_inserthx_user_labels_erasehx_user_labels_clearhx_user_labels_sizehx_user_labels_freehx_user_labels_newhx_eamap_beginhx_eamap_endhx_eamap_nexthx_eamap_prevhx_eamap_firsthx_eamap_secondhx_eamap_findhx_eamap_inserthx_eamap_erasehx_eamap_clearhx_eamap_sizehx_eamap_freehx_eamap_newhx_boundaries_beginhx_boundaries_endhx_boundaries_nexthx_boundaries_prevhx_boundaries_firsthx_boundaries_secondhx_boundaries_findhx_boundaries_inserthx_boundaries_erasehx_boundaries_clearhx_boundaries_sizehx_boundaries_freehx_boundaries_newhx_block_chains_beginhx_block_chains_endhx_block_chains_nexthx_block_chains_prevhx_block_chains_gethx_block_chains_findhx_block_chains_inserthx_block_chains_erasehx_block_chains_clearhx_block_chains_sizehx_block_chains_freehx_block_chains_newhx_hexrays_allochx_hexrays_freehx_valrng_t_clearhx_valrng_t_copyhx_valrng_t_assignhx_valrng_t_comparehx_valrng_t_set_eqhx_valrng_t_set_cmphx_valrng_t_reduce_sizehx_valrng_t_intersect_withhx_valrng_t_unite_withhx_valrng_t_inversehx_valrng_t_hashx_valrng_t_printhx_valrng_t_dstrhx_valrng_t_cvt_to_single_valuehx_valrng_t_cvt_to_cmphx_get_merror_deschx_must_mcode_close_blockhx_is_mcode_propagatablehx_negate_mcode_relationhx_swap_mcode_relationhx_get_signed_mcodehx_get_unsigned_mcodehx_mcode_modifies_dhx_operand_locator_t_comparehx_vd_printer_t_printhx_file_printer_t_printhx_qstring_printer_t_printhx_dstrhx_is_type_correcthx_is_small_udthx_is_nonbool_typehx_is_bool_typehx_partial_type_numhx_get_float_type!hx_get_int_type_by_width_and_signhx_get_unk_typehx_dummy_ptrtypehx_get_member_typehx_make_pointerhx_create_typedefhx_get_typehx_set_typehx_vdloc_t_dstrhx_vdloc_t_comparehx_vdloc_t_is_aliasablehx_print_vdlochx_arglocs_overlaphx_lvar_locator_t_comparehx_lvar_locator_t_dstrhx_lvar_t_dstrhx_lvar_t_is_promoted_arghx_lvar_t_accepts_typehx_lvar_t_set_lvar_typehx_lvar_t_set_widthhx_lvar_t_append_listhx_lvar_t_append_list_hx_lvars_t_find_stkvarhx_lvars_t_findhx_lvars_t_find_lvarhx_restore_user_lvar_settingshx_save_user_lvar_settingshx_modify_user_lvarshx_modify_user_lvar_infohx_locate_lvarhx_restore_user_defined_callshx_save_user_defined_callshx_parse_user_callhx_convert_to_user_callhx_install_microcode_filterhx_udc_filter_t_cleanuphx_udc_filter_t_inithx_udc_filter_t_applyhx_bitset_t_bitset_thx_bitset_t_copyhx_bitset_t_addhx_bitset_t_add_hx_bitset_t_add__hx_bitset_t_subhx_bitset_t_sub_hx_bitset_t_sub__hx_bitset_t_cut_athx_bitset_t_shift_downhx_bitset_t_hashx_bitset_t_has_allhx_bitset_t_has_anyhx_bitset_t_dstrhx_bitset_t_emptyhx_bitset_t_counthx_bitset_t_count_hx_bitset_t_lasthx_bitset_t_fill_with_oneshx_bitset_t_fill_gapshx_bitset_t_has_commonhx_bitset_t_intersecthx_bitset_t_is_subset_ofhx_bitset_t_comparehx_bitset_t_gouphx_ivl_t_dstrhx_ivl_t_comparehx_ivlset_t_addhx_ivlset_t_add_hx_ivlset_t_addmaskedhx_ivlset_t_subhx_ivlset_t_sub_hx_ivlset_t_has_commonhx_ivlset_t_printhx_ivlset_t_dstrhx_ivlset_t_counthx_ivlset_t_has_common_hx_ivlset_t_containshx_ivlset_t_includeshx_ivlset_t_intersecthx_ivlset_t_comparehx_rlist_t_printhx_rlist_t_dstrhx_mlist_t_addmemhx_mlist_t_printhx_mlist_t_dstrhx_mlist_t_comparehx_get_temp_regs
hx_is_kreghx_reg2mreghx_mreg2reghx_get_mreg_namehx_install_optinsn_handlerhx_remove_optinsn_handlerhx_install_optblock_handlerhx_remove_optblock_handler$hx_simple_graph_t_compute_dominators.hx_simple_graph_t_compute_immediate_dominators&hx_simple_graph_t_depth_first_preorder'hx_simple_graph_t_depth_first_postorderhx_simple_graph_t_gouphx_mutable_graph_t_resizehx_mutable_graph_t_gouphx_mutable_graph_t_del_edgehx_lvar_ref_t_comparehx_lvar_ref_t_varhx_stkvar_ref_t_comparehx_stkvar_ref_t_get_stkvarhx_fnumber_t_printhx_fnumber_t_dstrhx_mop_t_copyhx_mop_t_assignhx_mop_t_swaphx_mop_t_erasehx_mop_t_printhx_mop_t_dstrhx_mop_t_create_from_mlisthx_mop_t_create_from_ivlsethx_mop_t_create_from_vdloc$hx_mop_t_create_from_scattered_vdlochx_mop_t_create_from_insnhx_mop_t_make_numberhx_mop_t_make_fpnumhx_mop_t__make_gvarhx_mop_t_make_gvarhx_mop_t_make_reg_pairhx_mop_t_make_helperhx_mop_t_is_bit_reghx_mop_t_may_use_aliased_memoryhx_mop_t_is01hx_mop_t_is_sign_extended_fromhx_mop_t_is_zero_extended_fromhx_mop_t_equal_mopshx_mop_t_lexcomparehx_mop_t_for_all_ops"hx_mop_t_for_all_scattered_submopshx_mop_t_is_constanthx_mop_t_get_stkoffhx_mop_t_make_low_halfhx_mop_t_make_high_halfhx_mop_t_make_first_halfhx_mop_t_make_second_halfhx_mop_t_shift_mophx_mop_t_change_sizehx_mop_t_preserve_side_effectshx_mop_t_apply_ld_mcodehx_mcallarg_t_printhx_mcallarg_t_dstrhx_mcallarg_t_set_regarghx_mcallinfo_t_lexcomparehx_mcallinfo_t_set_typehx_mcallinfo_t_get_typehx_mcallinfo_t_printhx_mcallinfo_t_dstrhx_mcases_t_comparehx_mcases_t_printhx_mcases_t_dstrhx_vivl_t_extend_to_coverhx_vivl_t_intersecthx_vivl_t_printhx_vivl_t_dstrhx_chain_t_printhx_chain_t_dstrhx_chain_t_append_listhx_chain_t_append_list_hx_block_chains_t_get_chainhx_block_chains_t_printhx_block_chains_t_dstr hx_graph_chains_t_for_all_chainshx_graph_chains_t_releasehx_minsn_t_inithx_minsn_t_copyhx_minsn_t_set_combinedhx_minsn_t_swaphx_minsn_t_printhx_minsn_t_dstrhx_minsn_t_setaddrhx_minsn_t_optimize_subtreehx_minsn_t_for_all_opshx_minsn_t_for_all_insnshx_minsn_t__make_nophx_minsn_t_equal_insnshx_minsn_t_lexcomparehx_minsn_t_is_noret_callhx_minsn_t_is_helperhx_minsn_t_find_callhx_minsn_t_has_side_effectshx_minsn_t_find_opcodehx_minsn_t_find_ins_ophx_minsn_t_find_num_ophx_minsn_t_modifies_dhx_minsn_t_is_between!hx_minsn_t_may_use_aliased_memoryhx_minsn_t_serializehx_minsn_t_deserializehx_getf_reginsnhx_getb_reginsnhx_mblock_t_inithx_mblock_t_printhx_mblock_t_dumphx_mblock_t_vdump_blockhx_mblock_t_insert_into_blockhx_mblock_t_remove_from_blockhx_mblock_t_for_all_insnshx_mblock_t_for_all_opshx_mblock_t_for_all_useshx_mblock_t_optimize_insnhx_mblock_t_optimize_blockhx_mblock_t_build_lists!hx_mblock_t_optimize_useless_jumphx_mblock_t_append_use_listhx_mblock_t_append_def_listhx_mblock_t_build_use_listhx_mblock_t_build_def_listhx_mblock_t_find_first_usehx_mblock_t_find_redefinitionhx_mblock_t_is_rhs_redefinedhx_mblock_t_find_accesshx_mblock_t_get_valrangeshx_mblock_t_get_valranges_hx_mblock_t_get_reginsn_qtyhx_mba_ranges_t_range_containshx_mba_t_stkoff_vd2idahx_mba_t_stkoff_ida2vdhx_mba_t_idaloc2vdhx_mba_t_idaloc2vd_hx_mba_t_vd2idalochx_mba_t_vd2idaloc_hx_mba_t_termhx_mba_t_get_curfunchx_mba_t_set_maturityhx_mba_t_optimize_localhx_mba_t_build_graphhx_mba_t_get_graphhx_mba_t_analyze_callshx_mba_t_optimize_globalhx_mba_t_alloc_lvarshx_mba_t_dumphx_mba_t_vdump_mbahx_mba_t_printhx_mba_t_verifyhx_mba_t_mark_chains_dirtyhx_mba_t_insert_blockhx_mba_t_remove_blockhx_mba_t_copy_block,hx_mba_t_remove_empty_and_unreachable_blockshx_mba_t_merge_blockshx_mba_t_for_all_opshx_mba_t_for_all_insnshx_mba_t_for_all_topinsnshx_mba_t_find_mophx_mba_t_create_helper_callhx_mba_t_get_func_output_listshx_mba_t_arghx_mba_t_alloc_fict_eahx_mba_t_map_fict_eahx_mba_t_serializehx_mba_t_deserializehx_mba_t_save_snapshothx_mba_t_alloc_kreghx_mba_t_free_kreghx_mba_t_inline_funchx_mba_t_locate_stkpnthx_mba_t_set_lvar_name#hx_mbl_graph_t_is_accessed_globallyhx_mbl_graph_t_get_udhx_mbl_graph_t_get_duhx_cdg_insn_iterator_t_nexthx_codegen_t_clearhx_codegen_t_emithx_codegen_t_emit_hx_change_hexrays_confighx_get_hexrays_versionhx_open_pseudocodehx_close_pseudocodehx_get_widget_vduihx_decompile_manyhx_hexrays_failure_t_deschx_send_databasehx_gco_info_t_append_to_listhx_get_current_operand
hx_remitemhx_negated_relationhx_swapped_relationhx_get_op_signnesshx_asgophx_asgop_reverthx_cnumber_t_printhx_cnumber_t_valuehx_cnumber_t_assignhx_cnumber_t_comparehx_var_ref_t_comparehx_ctree_visitor_t_apply_to!hx_ctree_visitor_t_apply_to_exprs'hx_ctree_parentee_t_recalc_parent_types$hx_cfunc_parentee_t_calc_rvalue_typehx_citem_locator_t_comparehx_citem_t_contains_exprhx_citem_t_contains_labelhx_citem_t_find_parent_ofhx_citem_t_find_closest_addrhx_cexpr_t_assignhx_cexpr_t_comparehx_cexpr_t_replace_byhx_cexpr_t_cleanuphx_cexpr_t_put_numberhx_cexpr_t_print1hx_cexpr_t_calc_typehx_cexpr_t_equal_effecthx_cexpr_t_is_child_ofhx_cexpr_t_contains_operatorhx_cexpr_t_get_high_nbit_boundhx_cexpr_t_get_low_nbit_boundhx_cexpr_t_requires_lvaluehx_cexpr_t_has_side_effectshx_cexpr_t_maybe_ptrhx_cexpr_t_dstrhx_cif_t_assignhx_cif_t_comparehx_cloop_t_assignhx_cfor_t_comparehx_cwhile_t_comparehx_cdo_t_comparehx_creturn_t_comparehx_cthrow_t_comparehx_cgoto_t_comparehx_casm_t_comparehx_cinsn_t_assignhx_cinsn_t_comparehx_cinsn_t_replace_byhx_cinsn_t_cleanuphx_cinsn_t_new_insnhx_cinsn_t_create_ifhx_cinsn_t_printhx_cinsn_t_print1hx_cinsn_t_is_ordinary_flowhx_cinsn_t_contains_insnhx_cinsn_t_collect_free_breaks!hx_cinsn_t_collect_free_continueshx_cinsn_t_dstrhx_cblock_t_comparehx_carglist_t_comparehx_ccase_t_comparehx_ccases_t_comparehx_cswitch_t_comparehx_ccatch_t_comparehx_ctry_t_comparehx_ctree_item_t_get_udmhx_ctree_item_t_get_edmhx_ctree_item_t_get_lvarhx_ctree_item_t_get_eahx_ctree_item_t_get_label_numhx_ctree_item_t_printhx_ctree_item_t_dstrhx_lnothx_new_blockhx_vcreate_helperhx_vcall_helperhx_make_numhx_make_refhx_dereferencehx_save_user_labelshx_save_user_cmtshx_save_user_numformshx_save_user_iflagshx_save_user_unionshx_restore_user_labelshx_restore_user_cmtshx_restore_user_numformshx_restore_user_iflagshx_restore_user_unionshx_cfunc_t_build_c_treehx_cfunc_t_verifyhx_cfunc_t_print_dclhx_cfunc_t_print_funchx_cfunc_t_get_func_typehx_cfunc_t_get_lvarshx_cfunc_t_get_stkoff_deltahx_cfunc_t_find_labelhx_cfunc_t_remove_unused_labelshx_cfunc_t_get_user_cmthx_cfunc_t_set_user_cmthx_cfunc_t_get_user_iflagshx_cfunc_t_set_user_iflagshx_cfunc_t_has_orphan_cmtshx_cfunc_t_del_orphan_cmts#hx_cfunc_t_get_user_union_selection#hx_cfunc_t_set_user_union_selectionhx_cfunc_t_save_user_labelshx_cfunc_t_save_user_cmtshx_cfunc_t_save_user_numformshx_cfunc_t_save_user_iflagshx_cfunc_t_save_user_unionshx_cfunc_t_get_line_itemhx_cfunc_t_get_warningshx_cfunc_t_get_eamaphx_cfunc_t_get_boundarieshx_cfunc_t_get_pseudocodehx_cfunc_t_refresh_func_ctexthx_cfunc_t_gather_derefshx_cfunc_t_find_item_coordshx_cfunc_t_cleanuphx_close_hexrays_waitboxhx_decompilehx_gen_microcodehx_create_cfunchx_mark_cfunc_dirtyhx_clear_cached_cfuncshx_has_cached_cfunchx_get_ctype_namehx_create_field_namehx_install_hexrays_callbackhx_remove_hexrays_callbackhx_vdui_t_set_lockedhx_vdui_t_refresh_viewhx_vdui_t_refresh_ctexthx_vdui_t_switch_tohx_vdui_t_get_numberhx_vdui_t_get_current_labelhx_vdui_t_clearhx_vdui_t_refresh_cposhx_vdui_t_get_current_itemhx_vdui_t_ui_rename_lvarhx_vdui_t_rename_lvarhx_vdui_t_ui_set_call_typehx_vdui_t_ui_set_lvar_typehx_vdui_t_set_lvar_typehx_vdui_t_set_noptr_lvarhx_vdui_t_ui_edit_lvar_cmthx_vdui_t_set_lvar_cmthx_vdui_t_ui_map_lvarhx_vdui_t_ui_unmap_lvarhx_vdui_t_map_lvarhx_vdui_t_set_udm_typehx_vdui_t_rename_udmhx_vdui_t_set_global_typehx_vdui_t_rename_globalhx_vdui_t_rename_labelhx_vdui_t_jump_enterhx_vdui_t_ctree_to_disasmhx_vdui_t_calc_cmt_typehx_vdui_t_edit_cmthx_vdui_t_edit_func_cmthx_vdui_t_del_orphan_cmtshx_vdui_t_set_num_radixhx_vdui_t_set_num_enumhx_vdui_t_set_num_stroffhx_vdui_t_invert_signhx_vdui_t_invert_bitshx_vdui_t_collapse_itemhx_vdui_t_collapse_lvarshx_vdui_t_split_itemhx_select_udt_by_offsethx_catchexpr_t_comparehx_mba_t_split_blockhx_mba_t_remove_blocks hx_cfunc_t_recalc_item_addresses&hx_obsolete_int64_emulator_t_mop_value(hx_obsolete_int64_emulator_t_minsn_valuehx_int64_emulator_t__mop_value hx_int64_emulator_t__minsn_valuehx_cfunc_t_serializehx_cfunc_t_deserializehx_mblock_t_verify_insnhx_vdui_t_ui_noprop_lvarr_4  %user_numforms_iterator_t_swigregisterrz4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  $lvar_mapping_iterator_t_swigregisterr4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  r4  "udcall_map_iterator_t_swigregisterr5  r5  r!5  r$5  r(5  r+5  r15  r45  r75  r<5  r?5  rC5  rG5  rJ5  !user_cmts_iterator_t_swigregisterrb5  re5  rh5  rk5  ro5  rr5  rw5  r{5  r~5  r5  r5  r5  r5  r5  #user_iflags_iterator_t_swigregisterr5  r5  r5  r5  r5  r5  r5  r5  r5  r5  r5  r5  r5  r5  #user_unions_iterator_t_swigregisterr5  r5  r5  r5  r6  r6  r	6  r6  r6  r6  r6  r6  r6  r6  #user_labels_iterator_t_swigregisterr66  r96  r<6  r?6  rC6  rF6  rJ6  rM6  rP6  rT6  rW6  rZ6  r]6  r_6  eamap_iterator_t_swigregisterrw6  rz6  r~6  r6  r6  r6  r6  r6  r6  r6  r6  r6  r6  r6  "boundaries_iterator_t_swigregisterr6  r6  r6  r6  r6  r6  r6  r6  r6  r6  r6  r6  $block_chains_iterator_t_swigregisterr6  r6  r6  r7  r7  r7  r7  r7  r7  r7  r7  r7  r 7  array_of_ivlsets_swigregister_listify_types	ida_rangeis_small_strunimbl_array_tis_allowed_on_small_strunir   r7  r
   r   rr  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r7  to_specific_typer7  dirrp8  
startswithr   r7  r7  r7  operandsr7  detailsrj  r   r7  r7  r  r7  r$  r7  r7  
pseudocoder*  r8  r0  r8  r7  r7  r7  r7  r7  r7  r7  r7  r7  r38  r68  r8  rX   r  	long_type
rangeset_tr$   r#   r   <module>ry>     sh  'P # 9#/"
 L$ L
 &>>  % %      ?@+3 329.f4 f4R  $ $Z 0;f ;"  ) )/ :8c4F c4L  ' ' 69F 9"  ' ' 69F 9"  ' ' 67& 7   % %k 29F 9"  ' ' 6c4F c4L  ' ' 63f 3   ! !' *86 8"  & &| 4t5 t5n  $ $Z 0f4 f4R  + +,= >5! 5&  # #I .AF A.  / /0E Fi86 i8X  & &| 4f4V f4R  ( ( 8f4f f4R  ) )/ :f46 f4R  . ./C Df4& f4R  - -.A BT4f T4n  ) )/ :f4f f4R  ) )/ :$f4v f4R  * *+; <d4v d4N  " "8 ,f4& f4R  % %k 2T4 T4n  , ,-? @:V :"  ( ( 8f4V f4R  ( ( 8f4 f4R  , ,-? @I#F I#X
  ' ' 6'@@ ,* ((,-- 
																				1/03d7v d7N  " "8 ,""$$$$/ 

$$
&&""	  &&$$
&&&&,,,,$$
((((**((&&&&""	****((**((((&&&&""	&&&&**,,(($$
""	$$
**((""	3= =4  + +,= >__
.. &&00 ** NN	  (( ,, 00 ,, 22 86 8   & &| 47, 7  % %k 2																					











									


			


						


			


			


															


																		G5/-,-+.;;-,4.,-''42/1.00%= %=P  + +,= >
,,









==

==\;f \;~  ) )/ :  $$
&&""	""	  #6 #:  & &| 4#< #D  & &| 4 6  + +,= >"-*.++"-/.G+5+.* ((((((((  ""	$$



1	9 	9(3k"" (3V  ! !' *1<S:V S:l  ( ( 8r2^ r2j      (


""	  /3n /3d  ! !' *_= _=D  + +,= >$$
&&&&&&((((,:V ,:^  ( ( 8 22 C@#6 #2  . ./C D9H     


****;?#4v #4L  " "8 ,EB;7# #@  , ,-? @B B-#% -#`  & &| 4Zv Zz  " "8 ,      4v 4&  " "8 ,9H 9  ' ' 6BV B  0 01G HA1F A1H    &;f ;"  ) )/ :#v #.  * *+; <k4v k4\  " "8 ,
/h 
/  ! !' *u3f u3p  ! !' *( (# #& &- -6 6 #  #F  # #I .# #B  $ $Z 0*<W(( *<Z  ( ( 8#v #:  * *+; <#& #0  ) )/ :#$ #8  ' ' 6#V #.  ( ( 8"#& "#J  - -.A B06 06f  $ $Z 0






,,

















	

		086 08f  & &| 42W 2.      ($5! $5N  # #I .35 35l  # #I .**((&&&&""	&&&&&&$$
mF m`    &**""	&&******""	) )6 6$  $ $Z 06 6$  $ $Z 0=6 =6@  $ $Z 0  $$
&&****&&&&&&&&""	  &&$$
((%<< **,,,,!44 ((!44 #88 (BB &&((**&&    &&&&  ****((((&&&&&&****00  22 00  22 !44 !44 00 00 00 00 00 00 ,,00 .. 22 *FF "66 d7& d7N  % %k 2    ""	""	  $$
""	&&$$
&&64v 64r  " "8 ,H2V H2V      (U2V U2p      (]3g ]3@  ! !' *$$
((    ((  6:V 6:r  ( ( 8#f #6  ) )/ :!"' !"H  ( ( 8""	  ""	$$
$$
""	u3f u3p  ! !' *,,**..((((**,,((&&((((((((,,((..((.... ....,,,,,,,,,,,,,,,,$$
$$
$$
$$
+HH $:: * ** *X6 X6v  $ $Z 0"#v "#J  * *+; <              G+v G+T  " "8 ,  &&        ""	        &&  ((""	""	**  &&((&&$$
						  &&""	  00 .. 22 00  22 00  22 !44  22  22 .. 22 .. 22  22 !44  22 00 !44  22 !44 00 **"66 00 ..,,00  22 .. 22 ..,,..00 ..!44  22 00 !44 &&....((..........**(($:: 00 00 $:: %<< 00  22   (5 (5V  # #I .""	,, 22 &&$$
(((((($$
((&&**(($$
**86 8D  & &| 4@6 @:  . ./C D@
4F @
4F    &&&$$
&&$$
""	&&((""	$$
$$
$$
$$
""	&&$$
$$
$$
$$
$$
(($$
""	$$
$$
  $$
&&&&$$
$$
 22  22 !44 00 00 &&&&,, 22  22  22 !44 .. 22  22 ** 22 00 !44 ,,


$$
**,,&&&&((&&$$
$$
((((....IV I(  ( ( 8"66 			


			((*<. *<Z  % %k 2,?& ,?^  - -.A Bh8 h8V  # #I .9 9. . ""	,,00 &&#88 3 3, , **((**((******&&(($$
B B3 3.6 .6b  $ $Z 0











1 1# # ""	""	


$$
$$
&&$$
$$
$$
&&&&$$
&&&&&&&&  


  





  						























    











                  


      





&&&&$$
$$
  


$$
$$



  








  $$
$$
    ""	""	  			


""				$$
""	(($$
  





""	


- -- -, ,# #* *& && && && &% %* ** *) )' '+ +( (. .% %' '$ $. .& &/ /65 65r  # #I .'5 '5T  # #I .""	$$
&&""	&&  &&&&$$
""	  ""	$$
,,


  			  $$
$$
$$
""	$$
$$



    5 5(  # #I .**..7& 7*  % %k 2%;f %;P  ) )/ :7& 7  % %k 2G!f G!T  ! !' *vg vr  ! !' *((&&""	$$
""	(($$
((((  4v 4  " "8 , 22 ..00 *0H *0Z    &2h 2$  ! !' *$2W $2N      (4w 4>  " "8 ,1G 1>    &5 5>  # #I . 3f  3F  ! !' *2W__ 2D      (kg k\	  ! !' *7| 7D  " "8 ,'2W '2T      (%6 %6P  $ $Z 0""	$$
""	&3g &3R  ! !' *4 4>  " "8 ,$5 $5N  # #I .*7& *7Z  % %k 2$4x $4N  " "8 ,-2X -2`      (4x 4>  " "8 ,86 80  & &| 4A#f A#H  ) )/ :


  $$



$$
  # #4  * *+; <#' #@  * *+; <:V :D  ( ( 8((&&((&&$$
**          l86 l8^  & &| 4&&..


#88 "66 $ $( (1 1/ /, ,( (< <
E E; ;> >: :: :; ;3 37 75 55 5Zf Zz  ! !' ***$$
  00 $$
,,........,,"66 "66 "66 ..,,0 09 9  @DqN N2 2* *: :. .- -+ +1 1 **&&$$
**00 $$
(($$
!44 ,,(($$
&&,,00 #88 !44 !44 ,,!44  22 00 #88 "66 $:: %<< #88 ((..00 $$
 ..,,#88 $:: $:: #88 '@@ ..00 ((""	/<v /<d  * *+; <** :% :.  ( ( 8X2V X2v
      (====__
__
====
,,(($$
:V :2  ( ( 8#V #:  0 01G HD D &<< #88 $:: $:: %<< &>> $:: &>> %<< %<< $:: $:: #88 $:: "66 #88 #88 $:: %<< #88 %<< $:: $:: #88 #88 "66 "66  22 !44 !44 "66 #88 !44 #88 "66 "66 !44 !44  22 !44 00  22  22 !44 "66  22 "66 !44 !44  22  22 00 #88 !44 "66 "66 #88 $:: "66 $:: #88 #88 "66 "66 !44 #88 !44 "66 "66 #88 $:: "66 $:: #88 #88 "66 "66 !44 #88 !44 "66 "66 #88 $:: "66 $:: #88 #88 "66 "66 !44 ,,((****,,..**..,,,,****(("66  22 !44 !44 "66 #88 !44 #88 "66 "66 !44 !44  22 $:: "66 #88 #88 "66 #88 %<< $:: $:: #88 #88 "66 00 .. 22 00 !44 "66 !44 "66 &>> )DD %<< "66 .. 22 00 "."N"N %<< !44 (BB '@@ '@@ %<< "66 $:: "66 +HH $:: &>> )DD 


!44 ..!44 .."66  22 %1%% "..00 !44 .. 22 &&&&..!44 &>> ,,!44 (BB %<< ,,(BB %<< &>> "66 $:: %<< %<< ..#88  , J J )DD #88 '@@ ,, , J J )DD !44 &>> *FF &>> #88 $:: #88 00 ..00  22 ..00  22 !44 %<< .."66 "66 00  22  22 !44 00 )DD $:: %<< $:: '@@ "66 00 **00 ..00 $:: ..00 %<<  22 00  22 &>> #88 #88 $:: "66 00 .. 22 00 ..!44 00 $$
&&&&00 )DD (BB *FF )DD (4(( %2>22 /*6** '+7++ (%<< (BB &>> *FF $::  22 &>> )DD !44  22 **..**,,,,**)DD *FF )DD (4(( %(BB #88 "66 "66 !44 %<< #88 "66 "."N"N **!-!L!L !-!L!L "66 "66 #88 &2&& ##88 "66 %<< &>> '@@ (BB !44 #88 !-!L!L &>> "66 !44 '@@ (BB &>> &>> #88 "66 "66  22 00 (BB "66 ..,,00 ..%<< &>> *FF &>> %<< $0$$ !(BB ....&>> ..00 ..!44 *FF %<< '@@ #88 %<< $:: '@@ #88 #88 *FF %<< %<< %<< $:: $:: %1%% "#88 %<< ....00  22 00 &>>  , J J  , J J (BB &>> '@@ (BB )DD &>> %1%% "*FF *FF )DD )DD )DD  , J J +HH &>> (BB )DD *FF !-!L!L %<< %<< !44 "66 !44 "66 **#88 $:: &>> #88 !44 %<< '@@ #88 **!44 ,,..)DD $:: $:: "66 0<00 -$:: #88 %<< (BB  22 *FF !-!L!L ((%<< #88 !44 #88 %<< "66 !44 #88 %<< %<< '3'' $$:: $:: *FF !44  22 !44 '@@ %<< !44 "66 !44  22 (BB 00 +HH %<< $$
"66 "66 !44   ..!44 !44 "66 #88 #88 *FF %1%% "+7++ ((4(( %)DD '@@ (BB (BB +HH  22 !44 $:: !44 $::  22 #88 &>> %<< +HH !-!L!L  , J J )DD *FF #88 ....00  22  22 "66 00 #88 "66 !44  22  22 !44 $:: !44 "66 #88 00  22 *FF '@@ !-!L!L %1%% ".."66 $:: !44 "66 #88 "66  22 &>> &>> '@@ %<<  , J J $:: #88 


(( 22 ..&&&&,,"66  22 $:: "66 "66 %<< #88 '@@ %<< %<< &>>  22 #88 $:: '@@ #88 *FF $:: "."N"N &>> &>> )DD )DD )DD )DD '3'' $'3'' $*FF (BB  , J J *FF *FF '@@ &>> #88 (BB (BB  , J J '@@ *FF !44 '@@ ((00 .."66 %<< "66  22 #88 *FF )DD #88 %<< &>> "66 #88 *FF ..%<< )DD '@@ $:: )DD )DD &>> '@@ )DD %<< $:: &>> !44 %<< #88 (BB &>> %<< #88 (BB &>> !44 &>> (BB &>> %<< '@@ $:: $:: &>> '@@ #88 &>> %<< #88 %<< $0$$ !*6** ',8,, )!-!L!L $0$$ !#88 %<< &>> '@@ Dv D(  2 23K L/ /0 05 5< <1 1/ /. .. .4 41 10 00 0, ,Cf C(  1 12I J. ./ /4 4; ;0 0. .- -- -3 30 0/ // /+ +AF A&  / /0E F, ,- -2 29 9. ., ,+ ++ +1 1. .- -- -) )@6 @&  . ./C D+ +, ,1 18 8- -+ +* ** *0 0- -, ,, ,( (BV B&  0 01G H- -. .3 3: :/ /- -, ,, ,2 2/ /. .. .* *BV B&  0 01G H- -. .3 3: :/ /- -, ,, ,2 2/ /. .. .* *BV B&  0 01G H- -. .3 3: :/ /- -, ,, ,2 2/ /. .. .* *<v <&  * *+; <' '( (- -4 4) )' '& && &, ,) )( (( ($ $AF A&  / /0E F, ,- -. ., ,+ ++ +1 1. .- -- -) )Cf C(  1 12I J, ,4 46 60 0. .- -- -3 30 0/ // /+ +f4v f4R  * *+; <  
  * %    / 	9 	)   .*<m>?IP  v{{#%F,,-  4 45 "6#:#:;  4 45  4 45  4 45  4 45 V../ f001 #F$<$<= !&"8"89  !6!67  4 45 @ $$:;  C 	\	A||F;<R5w|Q78 
 D 	\	A||F;<R5w|Q78 

( 1212;> N+ ' =)7
 9
 2
  
#=>
NO  GH
 **+?@
 G001 EF
 g445  !O 
 **+EF
 g445  !O 
 ;??:- ?:D
[)| \?O( \;Y L \=-# N \=-M7##% \7GZ-A-A \<w	JgN  s   F{! {!F{0{/F{0